// Starting with ProtoBuf.js 4.X we are no longer bundling any ES5 polyfills with the library. // It is now up to the user to provide these as needed. For reference, this is what we use: // ref: https://developer.mozilla.org/de/docs/JavaScript/Reference/Global_Objects/Object/create if (!Object.create) /** @expose */ Object.create = function (o) { if (arguments.length > 1) throw Error('illegal number of arguments'); function F() {} F.prototype = o; return new F(); }; // ref: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray if (!Array.isArray) /** @expose */ Array.isArray = function(o) { return Object.prototype.toString.call(o) === "[object Array]"; }; // ref: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach if (!Array.prototype.forEach) /** @expose */ Array.prototype.forEach = function(callback, thisArg) { var T, k; if (this == null) throw new TypeError('this is null or not defined'); var O = Object(this); var len = O.length >>> 0; if (typeof callback !== "function") throw new TypeError(callback + ' is not a function'); if (arguments.length > 1) T = thisArg; k = 0; while (k < len) { var kValue; if (k in O) kValue = O[k], callback.call(T, kValue, k, O); k++; } };