diff --git a/src/external/nacl-fast.js b/src/external/nacl-fast.js index cb88475..a37ac0c 100644 --- a/src/external/nacl-fast.js +++ b/src/external/nacl-fast.js @@ -3,41 +3,44 @@ // polyfill for TypedArray.prototype.slice() -Uint8Array.prototype.slice = function(start, end) { - var len = this.length; - var relativeStart = start; - var k = (relativeStart < 0) ? max(len + relativeStart, 0) : Math.min(relativeStart, len); - var relativeEnd = (end === undefined) ? len : end; - var final = (relativeEnd < 0) ? max(len + relativeEnd, 0) : Math.min(relativeEnd, len); - var count = final - k; - var c = this.constructor; - var a = new c(count); - var n = 0; - while (k < final) { - a[n] = JSON.parse(JSON.stringify(this[k])); - k++; - n++; +if (!Uint8Array.prototype.slice) { + Uint8Array.prototype.slice = function(start, end) { + var len = this.length; + var relativeStart = start; + var k = (relativeStart < 0) ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); + var relativeEnd = (end === undefined) ? len : end; + var final = (relativeEnd < 0) ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len); + var count = final - k; + var c = this.constructor; + var a = new c(count); + var n = 0; + while (k < final) { + a[n] = JSON.parse(JSON.stringify(this[k])); + k++; + n++; + } + return a; } - return a; } - -Float64Array.prototype.slice = function(start, end) { - var len = this.length; - var relativeStart = start; - var k = (relativeStart < 0) ? max(len + relativeStart, 0) : Math.min(relativeStart, len); - var relativeEnd = (end === undefined) ? len : end; - var final = (relativeEnd < 0) ? max(len + relativeEnd, 0) : Math.min(relativeEnd, len); - var count = final - k; - var c = this.constructor; - var a = new c(count); - var n = 0; - while (k < final) { - a[n] = JSON.parse(JSON.stringify(this[k])); - k++; - n++; +if (!Float64Array.prototype.slice) { + Float64Array.prototype.slice = function(start, end) { + var len = this.length; + var relativeStart = start; + var k = (relativeStart < 0) ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); + var relativeEnd = (end === undefined) ? len : end; + var final = (relativeEnd < 0) ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len); + var count = final - k; + var c = this.constructor; + var a = new c(count); + var n = 0; + while (k < final) { + a[n] = JSON.parse(JSON.stringify(this[k])); + k++; + n++; + } + return a; } - return a; } // Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.