inline-loops.macro
Advanced tools
Comparing version 2.0.0-beta.3 to 2.0.0
@@ -72,3 +72,3 @@ "use strict"; | ||
injectedBody: body.node.body, | ||
logic: t.identifier('undefined') | ||
returned: t.identifier('undefined') | ||
}; | ||
@@ -79,3 +79,3 @@ } | ||
injectedBody: body.node.body, | ||
logic: returnValue | ||
returned: returnValue | ||
}; | ||
@@ -90,6 +90,6 @@ } | ||
local.contents.push(localFn); | ||
var _logic = t.callExpression(localFnName, (0, _utils.getCachedFnArgs)(local, isReduce)); | ||
var _returned = t.callExpression(localFnName, (0, _utils.getCachedFnArgs)(local, isReduce)); | ||
return { | ||
injectedBody: [], | ||
logic: _logic | ||
returned: _returned | ||
}; | ||
@@ -100,6 +100,6 @@ } | ||
injectedBody: body.node, | ||
logic: undefined | ||
returned: undefined | ||
} : { | ||
injectedBody: [], | ||
logic: body.node | ||
returned: body.node | ||
}; | ||
@@ -111,9 +111,9 @@ } | ||
injectedBody: injectedBody, | ||
logic: undefined | ||
returned: undefined | ||
}; | ||
} | ||
var logic = t.callExpression(handler.node, (0, _utils.getCachedFnArgs)(local, isReduce)); | ||
var returned = t.callExpression(handler.node, (0, _utils.getCachedFnArgs)(local, isReduce)); | ||
return { | ||
injectedBody: [], | ||
logic: logic | ||
returned: returned | ||
}; | ||
@@ -226,3 +226,3 @@ } | ||
injectedBody = _getInjectedBodyAndLo.injectedBody, | ||
logic = _getInjectedBodyAndLo.logic; | ||
returned = _getInjectedBodyAndLo.returned; | ||
var result = path.scope.generateUidIdentifier('result'); | ||
@@ -240,3 +240,3 @@ var determination = path.scope.generateUidIdentifier('determination'); | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -253,3 +253,3 @@ }); | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -265,3 +265,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -277,3 +277,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -289,3 +289,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -301,3 +301,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -336,3 +336,3 @@ }); | ||
injectedBody = _getInjectedBodyAndLo2.injectedBody, | ||
logic = _getInjectedBodyAndLo2.logic; | ||
returned = _getInjectedBodyAndLo2.returned; | ||
var result = path.scope.generateUidIdentifier('result'); | ||
@@ -350,3 +350,3 @@ var match = path.scope.generateUidIdentifier('match'); | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -363,3 +363,3 @@ }); | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -375,3 +375,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -387,3 +387,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -399,3 +399,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -411,3 +411,3 @@ }); | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
VALUE: local.value | ||
@@ -450,3 +450,3 @@ }); | ||
injectedBody = _getInjectedBodyAndLo3.injectedBody, | ||
logic = _getInjectedBodyAndLo3.logic; | ||
returned = _getInjectedBodyAndLo3.returned; | ||
var loop; | ||
@@ -460,3 +460,3 @@ switch (type) { | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULTS: localResults, | ||
@@ -472,3 +472,3 @@ VALUE: local.value | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULT: result, | ||
@@ -485,3 +485,3 @@ RESULTS: localResults, | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULT: result, | ||
@@ -507,3 +507,3 @@ RESULTS: localResults, | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULTS: localResults, | ||
@@ -518,3 +518,3 @@ VALUE: local.value | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULT: result, | ||
@@ -530,3 +530,3 @@ RESULTS: localResults, | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULT: result, | ||
@@ -550,4 +550,3 @@ RESULTS: localResults, | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RESULT: result, | ||
RETURNED: returned, | ||
RESULTS: localResults, | ||
@@ -562,3 +561,3 @@ VALUE: local.value | ||
KEY: local.key, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
RESULT: result, | ||
@@ -609,3 +608,3 @@ RESULTS: localResults, | ||
injectedBody = _getInjectedBodyAndLo4.injectedBody, | ||
logic = _getInjectedBodyAndLo4.logic; | ||
returned = _getInjectedBodyAndLo4.returned; | ||
var initial; | ||
@@ -631,3 +630,3 @@ if (type === 'right') { | ||
LENGTH: local.length, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
START: start, | ||
@@ -644,3 +643,3 @@ VALUE: local.value | ||
INITIAL: initial, | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
START: start, | ||
@@ -660,3 +659,3 @@ VALUE: local.value | ||
INITIAL: initialValue ? initial : t.identifier('undefined'), | ||
LOGIC: logic, | ||
RETURNED: returned, | ||
SKIP: skip, | ||
@@ -663,0 +662,0 @@ SHOULD_SKIP: shouldSkip, |
@@ -12,16 +12,16 @@ "use strict"; | ||
var template = _ref.template; | ||
var every = template(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n }\n"]))); | ||
var everyObject = template(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n\t}\n"]))); | ||
var everyRight = template(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n }\n"]))); | ||
var filter = template(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = [];\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n RESULTS.push(VALUE);\n }\n }\n"]))); | ||
var filterObject = template(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = {};\n let RESULT,\n VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n RESULTS[KEY] = VALUE;\n }\n }\n"]))); | ||
var filterRight = template(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = [];\n let RESULT,\n VALUE;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n RESULTS.push(VALUE);\n }\n }\n"]))); | ||
var find = template(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findObject = template(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findLast = template(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findIndex = template(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var findKey = template(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var findLastIndex = template(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var flatMap = template(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n let RESULTS = [];\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n RESULTS = RESULTS.concat(RESULT);\n }\n"]))); | ||
var flatMapRight = template(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n let RESULTS = [];\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n RESULTS = RESULTS.concat(RESULT);\n }\n"]))); | ||
var every = template(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n }\n"]))); | ||
var everyObject = template(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n\t}\n"]))); | ||
var everyRight = template(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = true;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (!RESULT) {\n DETERMINATION = false;\n break;\n }\n }\n"]))); | ||
var filter = template(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = [];\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n RESULTS.push(VALUE);\n }\n }\n"]))); | ||
var filterObject = template(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = {};\n let RESULT,\n VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n RESULTS[KEY] = VALUE;\n }\n }\n"]))); | ||
var filterRight = template(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = [];\n let RESULT,\n VALUE;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n RESULTS.push(VALUE);\n }\n }\n"]))); | ||
var find = template(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findObject = template(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findLast = template(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = VALUE;\n break;\n }\n }\n"]))); | ||
var findIndex = template(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var findKey = template(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var findLastIndex = template(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n let MATCH = -1;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n MATCH = KEY;\n break;\n }\n }\n"]))); | ||
var flatMap = template(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n let RESULTS = [];\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n RESULTS = RESULTS.concat(RESULT);\n }\n"]))); | ||
var flatMapRight = template(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n let RESULTS = [];\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n RESULTS = RESULTS.concat(RESULT);\n }\n"]))); | ||
var forEach = template(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n }\n"]))); | ||
@@ -32,12 +32,12 @@ var forEachObject = template(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n let VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n }\n"]))); | ||
var iife = template(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n (() => {\n BODY\n })();\n"]))); | ||
var map = template(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n const LENGTH = COLLECTION.length;\n const RESULTS = Array(LENGTH);\n\tfor (let KEY = 0, VALUE; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[KEY] = LOGIC;\n }\n"]))); | ||
var mapObject = template(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = {};\n let VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[KEY] = LOGIC;\n }\n"]))); | ||
var mapRight = template(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n const LENGTH = COLLECTION.length;\n let KEY = LENGTH;\n const RESULTS = Array(LENGTH);\n for (let VALUE; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[LENGTH - KEY - 1] = LOGIC;\n }\n"]))); | ||
var map = template(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n const LENGTH = COLLECTION.length;\n const RESULTS = Array(LENGTH);\n\tfor (let KEY = 0, VALUE; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[KEY] = RETURNED;\n }\n"]))); | ||
var mapObject = template(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n const RESULTS = {};\n let VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[KEY] = RETURNED;\n }\n"]))); | ||
var mapRight = template(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n const LENGTH = COLLECTION.length;\n let KEY = LENGTH;\n const RESULTS = Array(LENGTH);\n for (let VALUE; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULTS[LENGTH - KEY - 1] = RETURNED;\n }\n"]))); | ||
var nthLastItem = template(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n COLLECTION[COLLECTION.length - COUNT]\n"]))); | ||
var reduce = template(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n let ACCUMULATED = INITIAL;\n for (let KEY = START, LENGTH = COLLECTION.length, VALUE; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n ACCUMULATED = LOGIC;\n }\n"]))); | ||
var reduceObject = template(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n let SKIP = SHOULD_SKIP,\n ACCUMULATED = INITIAL,\n VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n\n if (SKIP) {\n ACCUMULATED = VALUE;\n SKIP = false;\n continue;\n }\n\n BODY\n ACCUMULATED = LOGIC;\n }\n"]))); | ||
var reduceRight = template(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n let ACCUMULATED = INITIAL;\n for (let KEY = COLLECTION.length - START, VALUE; --KEY >= START;) {\n VALUE = COLLECTION[KEY];\n BODY\n ACCUMULATED = LOGIC;\n }\n"]))); | ||
var some = template(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = false;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
var someObject = template(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = false,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
var someRight = template(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n const DETERMINATION = false;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = LOGIC;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
var reduce = template(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n let ACCUMULATED = INITIAL;\n for (let KEY = START, LENGTH = COLLECTION.length, VALUE; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n ACCUMULATED = RETURNED;\n }\n"]))); | ||
var reduceObject = template(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n let SKIP = SHOULD_SKIP,\n ACCUMULATED = INITIAL,\n VALUE;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n\n if (SKIP) {\n ACCUMULATED = VALUE;\n SKIP = false;\n continue;\n }\n\n BODY\n ACCUMULATED = RETURNED;\n }\n"]))); | ||
var reduceRight = template(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n let ACCUMULATED = INITIAL;\n for (let KEY = COLLECTION.length - START, VALUE; --KEY >= START;) {\n VALUE = COLLECTION[KEY];\n BODY\n ACCUMULATED = RETURNED;\n }\n"]))); | ||
var some = template(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = false;\n for (let KEY = 0, LENGTH = COLLECTION.length, VALUE, RESULT; KEY < LENGTH; ++KEY) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
var someObject = template(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n let DETERMINATION = false,\n VALUE,\n RESULT;\n for (const KEY in COLLECTION) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
var someRight = template(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n const DETERMINATION = false;\n for (let KEY = COLLECTION.length, VALUE, RESULT; --KEY >= 0;) {\n VALUE = COLLECTION[KEY];\n BODY\n RESULT = RETURNED;\n\n if (RESULT) {\n DETERMINATION = true;\n break;\n }\n }\n"]))); | ||
return { | ||
@@ -44,0 +44,0 @@ every: every, |
@@ -61,3 +61,3 @@ { | ||
"typings": "./index.d.ts", | ||
"version": "2.0.0-beta.3" | ||
"version": "2.0.0" | ||
} |
@@ -18,3 +18,3 @@ # inline-loops.macro | ||
- [`*Object` methods do not perform `hasOwnProperty` check](#object-methods-do-not-perform-hasownproperty-check) | ||
- [`find*` methods](#find-methods) | ||
- [`find*` methods differ in naming convention](#find-methods-differ-in-naming-convention) | ||
- [Development](#development) | ||
@@ -202,20 +202,31 @@ | ||
That means if you are cranking every last ounce of performance out of this macro, you may want to get cozy with ternaries. | ||
If there is a bailout of an anonymous callback function, that function is stored in the same scope and used in the loop: | ||
```js | ||
import { map } from 'inline-loops.macro'; | ||
// this will bail out to storing the function and calling it in the loop | ||
const deopted = map(array, (value) => { | ||
if (value % 2 === 0) { | ||
return 'even'; | ||
const result = map([1, 2, 3], (value) => { | ||
if (value === 2) { | ||
return 82; | ||
} | ||
return 'odd'; | ||
return value; | ||
}); | ||
// this will inline the operation and avoid function calls | ||
const inlined = map(array, (value) => (value % 2 === 0 ? 'even' : 'odd')); | ||
// transforms to | ||
const _collection = [1, 2, 3]; | ||
const _fn = (_value) => { | ||
if (_value === 2) { | ||
return 82; | ||
} | ||
return _value; | ||
}; | ||
const _length = _collection.length; | ||
const _results = Array(_length); | ||
for (let _key = 0, _value; _key < _length; ++_key) { | ||
_value = _collection[_key]; | ||
_results[_key] = _fn(_value, _key, _collection); | ||
} | ||
const result = _results; | ||
``` | ||
Note that in bailout scenarios that are used in a closure, the transform will wrap itself in an IIFE to avoid memory leaks from retaining the injected variables. | ||
## Gotchas | ||
@@ -255,3 +266,3 @@ | ||
### `find*` methods | ||
### `find*` methods differ in naming convention | ||
@@ -273,3 +284,3 @@ Most of the operations follow the same naming conventions: | ||
The reason for `findLast` / `findLastIndex` instead of `findRight` / `findIndexRight` is because unlike all the other right-direction methods, those are part of the ES spec. Additionally, the reason for `findIndex` vs `findKey` is semantic, as objects have keys and arrays have indices. | ||
The reason for `findLast` / `findLastIndex` instead of `findRight` / `findIndexRight` is because unlike all the other right-direction methods, those methods are part of the ES spec ([`findLast`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast) / [`findLastIndex`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex)). The reason that`findKey` is used for object values instead of something like `findIndexObject` is because semantically objects have keys instead of indices. | ||
@@ -276,0 +287,0 @@ ## Development |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
68736
0
297
1272