diff options
Diffstat (limited to 'utils/platforms/default/lib/array.js')
-rwxr-xr-x | utils/platforms/default/lib/array.js | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/utils/platforms/default/lib/array.js b/utils/platforms/default/lib/array.js deleted file mode 100755 index 445f4ac..0000000 --- a/utils/platforms/default/lib/array.js +++ /dev/null @@ -1,160 +0,0 @@ -// Array additions. - -// ES5 draft: -// http://www.ecma-international.org/publications/files/drafts/tc39-2009-025.pdf - -// ES5 15.4.3.2 -if (!Array.isArray) { - Array.isArray = function(obj) { - return obj && typeof obj === "object" && obj.constructor === Array; - }; -} - -// ES5 15.4.4.18 -if (!Array.prototype.forEach) { - Array.prototype.forEach = function(block) { - for (var i = 0; i < this.length; i++) - block(this[i]); - }; -} - -// ES5 15.4.4.19 -// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map -if (!Array.prototype.map) { - Array.prototype.map = function(fun /*, thisp*/) { - var len = this.length >>> 0; - if (typeof fun != "function") - throw new TypeError(); - - var res = new Array(len); - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { - if (i in this) - res[i] = fun.call(thisp, this[i], i, this); - } - - return res; - }; -} - -// filter -if (!Array.prototype.filter) { - Array.prototype.filter = function (block /*, thisp */) { - var values = []; - var thisp = arguments[1]; - for (var i = 0; i < this.length; i++) - if (block.call(thisp, this[i])) - values.push(this[i]); - return values; - }; -} - -// every -if (!Array.prototype.every) { - Array.prototype.every = function (block /*, thisp */) { - var thisp = arguments[1]; - for (var i = 0; i < this.length; i++) - if (!block.call(thisp, this[i])) - return false; - return true; - }; -} - -// some -if (!Array.prototype.some) { - Array.prototype.some = function (block /*, thisp */) { - var thisp = arguments[1]; - for (var i = 0; i < this.length; i++) - if (block.call(thisp, this[i])) - return true; - return false; - }; -} - -// reduce -// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce -if (!Array.prototype.reduce) { - Array.prototype.reduce = function(fun /*, initial*/) { - var len = this.length >>> 0; - if (typeof fun != "function") - throw new TypeError(); - - // no value to return if no initial value and an empty array - if (len == 0 && arguments.length == 1) - throw new TypeError(); - - var i = 0; - if (arguments.length >= 2) { - var rv = arguments[1]; - } else { - do { - if (i in this) { - rv = this[i++]; - break; - } - - // if array contains no values, no initial value to return - if (++i >= len) - throw new TypeError(); - } while (true); - } - - for (; i < len; i++) { - if (i in this) - rv = fun.call(null, rv, this[i], i, this); - } - - return rv; - }; -} - -// reduceRight -// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight -if (!Array.prototype.reduceRight) { - Array.prototype.reduceRight = function(fun /*, initial*/) { - var len = this.length >>> 0; - if (typeof fun != "function") - throw new TypeError(); - - // no value to return if no initial value, empty array - if (len == 0 && arguments.length == 1) - throw new TypeError(); - - var i = len - 1; - if (arguments.length >= 2) { - var rv = arguments[1]; - } else { - do { - if (i in this) { - rv = this[i--]; - break; - } - - // if array contains no values, no initial value to return - if (--i < 0) - throw new TypeError(); - } while (true); - } - - for (; i >= 0; i--) { - if (i in this) - rv = fun.call(null, rv, this[i], i, this); - } - - return rv; - }; -} - -/* binary */ - -// https://wiki.mozilla.org/ServerJS/Binary/B -if (!Array.prototype.toByteString) - Array.prototype.toByteString = function(charset) { - return new ByteString(this); - }; - -if (!Array.prototype.toByteArray) - Array.prototype.toByteArray = function(charset) { - return new ByteArray(this); - }; - |