@extendscript/aes.patch.array.every
Advanced tools
+63
| /* | ||
| https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every | ||
| */ | ||
| if (!Array.prototype.every) { | ||
| Array.prototype.every = function(callback, thisArg) { | ||
| var T, k; | ||
| if (this === void 0 || this === null) { | ||
| throw new TypeError('Array.prototype.every called on null or undefined'); | ||
| } | ||
| // 1. Let O be the result of calling ToObject passing the this | ||
| // value as the argument. | ||
| var O = Object(this); | ||
| // 2. Let lenValue be the result of calling the Get internal method | ||
| // of O with the argument "length". | ||
| // 3. Let len be ToUint32(lenValue). | ||
| var len = O.length >>> 0; | ||
| // 4. If IsCallable(callback) is false, throw a TypeError exception. | ||
| if (callback.__class__ !== 'Function') { | ||
| throw new TypeError(callback + ' is not a function'); | ||
| } | ||
| // 5. If thisArg was supplied, let T be thisArg; else let T be undefined. | ||
| T = (arguments.length > 1) ? thisArg : void 0; | ||
| // 6. Let k be 0. | ||
| k = 0; | ||
| // 7. Repeat, while k < len | ||
| while (k < len) { | ||
| var kValue; | ||
| // a. Let Pk be ToString(k). | ||
| // This is implicit for LHS operands of the in operator | ||
| // b. Let kPresent be the result of calling the HasProperty internal | ||
| // method of O with argument Pk. | ||
| // This step can be combined with c | ||
| // c. If kPresent is true, then | ||
| if (k in O) { | ||
| // i. Let kValue be the result of calling the Get internal method | ||
| // of O with argument Pk. | ||
| kValue = O[k]; | ||
| // ii. Let testResult be the result of calling the Call internal method | ||
| // of callback with T as the this value and argument list | ||
| // containing kValue, k, and O. | ||
| var testResult = callback.call(T, kValue, k, O); | ||
| // iii. If ToBoolean(testResult) is false, return false. | ||
| if (!testResult) { | ||
| return false; | ||
| } | ||
| } | ||
| k++; | ||
| } | ||
| return true; | ||
| }; | ||
| } |
+3
-3
| { | ||
| "name": "@extendscript/aes.patch.array.every", | ||
| "version": "1.0.0", | ||
| "version": "2.0.0", | ||
| "description": "The `every()` method tests whether all elements in the array pass the test implemented by the provided function.", | ||
| "main": "array.every.js", | ||
| "main": "every.js", | ||
| "scripts": { | ||
@@ -29,4 +29,4 @@ "node-env": "curl https://raw.githubusercontent.com/ES-Collection/build-node-venv/master/build-node-venv.sh > ./.bnv.sh && chmod +x ./.bnv.sh && ./.bnv.sh && rm ./.bnv.sh", | ||
| "minimist": "^1.2.0", | ||
| "tap-es": "git+https://github.com/ExtendScript/tap-es.git" | ||
| "@extendscript/tap-es": ">=1.0.5" | ||
| } | ||
| } |
+4
-0
@@ -9,2 +9,6 @@ # array.every | ||
| ## Install | ||
| npm install @extendscript/aes.patch.array.every | ||
| ## Test | ||
@@ -11,0 +15,0 @@ |
+1
-1
| var argv = require('minimist')(process.argv.slice(2)); // Remove nodePath, scriptpath | ||
| var tapes = require("tap-es"), targets = argv._, d = require('path').resolve(__dirname); | ||
| var tapes = require("@extendscript/tap-es"), targets = argv._, d = require('path').resolve(__dirname); | ||
@@ -4,0 +4,0 @@ tapes.reportDuration(false); |
+1
-1
@@ -1,2 +0,2 @@ | ||
| #include '../array.every.js' | ||
| #include '../every.js' | ||
@@ -3,0 +3,0 @@ function isBigEnough(element, index, array) { |
| /* | ||
| https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every | ||
| */ | ||
| if (!Array.prototype.every) { | ||
| Array.prototype.every = function(callback, thisArg) { | ||
| var T, k; | ||
| if (this === void 0 || this === null) { | ||
| throw new TypeError('Array.prototype.every called on null or undefined'); | ||
| } | ||
| // 1. Let O be the result of calling ToObject passing the this | ||
| // value as the argument. | ||
| var O = Object(this); | ||
| // 2. Let lenValue be the result of calling the Get internal method | ||
| // of O with the argument "length". | ||
| // 3. Let len be ToUint32(lenValue). | ||
| var len = O.length >>> 0; | ||
| // 4. If IsCallable(callback) is false, throw a TypeError exception. | ||
| if (callback.__class__ !== 'Function') { | ||
| throw new TypeError(callback + ' is not a function'); | ||
| } | ||
| // 5. If thisArg was supplied, let T be thisArg; else let T be undefined. | ||
| T = (arguments.length > 1) ? thisArg : void 0; | ||
| // 6. Let k be 0. | ||
| k = 0; | ||
| // 7. Repeat, while k < len | ||
| while (k < len) { | ||
| var kValue; | ||
| // a. Let Pk be ToString(k). | ||
| // This is implicit for LHS operands of the in operator | ||
| // b. Let kPresent be the result of calling the HasProperty internal | ||
| // method of O with argument Pk. | ||
| // This step can be combined with c | ||
| // c. If kPresent is true, then | ||
| if (k in O) { | ||
| // i. Let kValue be the result of calling the Get internal method | ||
| // of O with argument Pk. | ||
| kValue = O[k]; | ||
| // ii. Let testResult be the result of calling the Call internal method | ||
| // of callback with T as the this value and argument list | ||
| // containing kValue, k, and O. | ||
| var testResult = callback.call(T, kValue, k, O); | ||
| // iii. If ToBoolean(testResult) is false, return false. | ||
| if (!testResult) { | ||
| return false; | ||
| } | ||
| } | ||
| k++; | ||
| } | ||
| return true; | ||
| }; | ||
| } |
4505
0.94%20
25%