map-transform 0.4.0-alpha.2 → 0.4.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +206 -46
- package/dist/functions/compare.d.ts +2 -1
- package/dist/functions/compare.js +26 -5
- package/dist/functions/compare.js.map +1 -1
- package/dist/functions/explode.d.ts +2 -1
- package/dist/functions/explode.js +12 -4
- package/dist/functions/explode.js.map +1 -1
- package/dist/functions/index.d.ts +6 -1
- package/dist/functions/index.js +6 -1
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/joinSplit.js +4 -5
- package/dist/functions/joinSplit.js.map +1 -1
- package/dist/functions/logical.d.ts +7 -0
- package/dist/functions/logical.js +24 -0
- package/dist/functions/logical.js.map +1 -0
- package/dist/functions/map.js +5 -4
- package/dist/functions/map.js.map +1 -1
- package/dist/functions/not.js +1 -1
- package/dist/functions/not.js.map +1 -1
- package/dist/functions/sort.d.ts +7 -0
- package/dist/functions/sort.js +33 -0
- package/dist/functions/sort.js.map +1 -0
- package/dist/functions/template.js +7 -5
- package/dist/functions/template.js.map +1 -1
- package/dist/functions/validate.js +2 -2
- package/dist/functions/validate.js.map +1 -1
- package/dist/functions/value.js +2 -2
- package/dist/functions/value.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/dist/operations/alt.d.ts +1 -1
- package/dist/operations/alt.js +25 -6
- package/dist/operations/alt.js.map +1 -1
- package/dist/operations/apply.js +3 -4
- package/dist/operations/apply.js.map +1 -1
- package/dist/operations/concat.js +9 -5
- package/dist/operations/concat.js.map +1 -1
- package/dist/operations/directionals.js +7 -6
- package/dist/operations/directionals.js.map +1 -1
- package/dist/operations/filter.js +10 -9
- package/dist/operations/filter.js.map +1 -1
- package/dist/operations/fixed.js +1 -1
- package/dist/operations/fixed.js.map +1 -1
- package/dist/operations/getSet.d.ts +3 -3
- package/dist/operations/getSet.js +135 -25
- package/dist/operations/getSet.js.map +1 -1
- package/dist/operations/ifelse.d.ts +1 -1
- package/dist/operations/ifelse.js +21 -8
- package/dist/operations/ifelse.js.map +1 -1
- package/dist/operations/iterate.d.ts +2 -1
- package/dist/operations/iterate.js +14 -12
- package/dist/operations/iterate.js.map +1 -1
- package/dist/operations/logical.d.ts +3 -0
- package/dist/operations/logical.js +17 -0
- package/dist/operations/logical.js.map +1 -0
- package/dist/operations/lookup.js +9 -5
- package/dist/operations/lookup.js.map +1 -1
- package/dist/operations/merge.d.ts +1 -0
- package/dist/operations/merge.js +34 -9
- package/dist/operations/merge.js.map +1 -1
- package/dist/operations/modify.d.ts +1 -1
- package/dist/operations/modify.js +11 -8
- package/dist/operations/modify.js.map +1 -1
- package/dist/operations/pipe.js +18 -10
- package/dist/operations/pipe.js.map +1 -1
- package/dist/operations/plug.js +1 -1
- package/dist/operations/plug.js.map +1 -1
- package/dist/operations/props.d.ts +2 -0
- package/dist/operations/props.js +112 -0
- package/dist/operations/props.js.map +1 -0
- package/dist/operations/root.js +3 -4
- package/dist/operations/root.js.map +1 -1
- package/dist/operations/transform.js +6 -4
- package/dist/operations/transform.js.map +1 -1
- package/dist/operations/value.js +1 -1
- package/dist/operations/value.js.map +1 -1
- package/dist/types.d.ts +42 -13
- package/dist/utils/array.d.ts +3 -0
- package/dist/utils/array.js +14 -0
- package/dist/utils/array.js.map +1 -0
- package/dist/utils/definitionHelpers.d.ts +3 -1
- package/dist/utils/definitionHelpers.js +95 -24
- package/dist/utils/definitionHelpers.js.map +1 -1
- package/dist/utils/escape.d.ts +2 -0
- package/dist/utils/escape.js +8 -0
- package/dist/utils/escape.js.map +1 -0
- package/dist/utils/functional.d.ts +1 -0
- package/dist/utils/functional.js +3 -1
- package/dist/utils/functional.js.map +1 -1
- package/dist/utils/is.d.ts +2 -0
- package/dist/utils/is.js +5 -1
- package/dist/utils/is.js.map +1 -1
- package/dist/utils/pathGetter.d.ts +4 -2
- package/dist/utils/pathGetter.js +24 -19
- package/dist/utils/pathGetter.js.map +1 -1
- package/dist/utils/pathSetter.d.ts +5 -3
- package/dist/utils/pathSetter.js +48 -43
- package/dist/utils/pathSetter.js.map +1 -1
- package/dist/utils/stateHelpers.d.ts +19 -6
- package/dist/utils/stateHelpers.js +28 -12
- package/dist/utils/stateHelpers.js.map +1 -1
- package/dist/utils/xor.d.ts +1 -0
- package/dist/utils/xor.js +7 -0
- package/dist/utils/xor.js.map +1 -0
- package/package.json +8 -10
- package/dist/functions/join.d.ts +0 -7
- package/dist/functions/join.js +0 -12
- package/dist/functions/join.js.map +0 -1
- package/dist/operations/mutate.d.ts +0 -2
- package/dist/operations/mutate.js +0 -55
- package/dist/operations/mutate.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const pathGetter_1 = require("../utils/pathGetter");
|
|
4
|
+
const pathSetter_1 = require("../utils/pathSetter");
|
|
5
|
+
function compare({ path = '.', operator = 'AND', }) {
|
|
6
|
+
const pathArr = [].concat(path);
|
|
7
|
+
const getFns = pathArr.map(pathGetter_1.default);
|
|
8
|
+
const setFns = pathArr.map(pathSetter_1.default);
|
|
9
|
+
const logicalOp = operator === 'OR'
|
|
10
|
+
? (a, b) => Boolean(a) || Boolean(b)
|
|
11
|
+
: (a, b) => Boolean(a) && Boolean(b);
|
|
12
|
+
return (data, { rev }) => {
|
|
13
|
+
if (rev) {
|
|
14
|
+
const value = Boolean(data);
|
|
15
|
+
return setFns.reduce((obj, setFn) => setFn(value, obj), undefined);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const values = getFns.map((fn) => fn(data));
|
|
19
|
+
return values.reduce(logicalOp);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
exports.default = compare;
|
|
24
|
+
//# sourceMappingURL=logical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logical.js","sourceRoot":"","sources":["../../src/functions/logical.ts"],"names":[],"mappings":";;AACA,oDAAwC;AACxC,oDAAwC;AAOxC,SAAwB,OAAO,CAAC,EAC9B,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,GACA;IAChB,MAAM,OAAO,GAAI,EAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAClC,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IAE1D,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAY,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAC1C,SAAS,CACV,CAAA;SACF;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;SAChC;IACH,CAAC,CAAA;AACH,CAAC;AAxBD,0BAwBC"}
|
package/dist/functions/map.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const mapAny = require("map-any");
|
|
4
|
+
const escape_1 = require("../utils/escape");
|
|
4
5
|
const isSupportedValue = (data) => ['string', 'number', 'boolean'].includes(typeof data) ||
|
|
5
6
|
data === null ||
|
|
6
7
|
data === undefined;
|
|
@@ -33,10 +34,10 @@ function map(operands, options) {
|
|
|
33
34
|
if (!dictionary) {
|
|
34
35
|
return () => undefined;
|
|
35
36
|
}
|
|
36
|
-
return (data,
|
|
37
|
-
const { rev } =
|
|
38
|
-
const match = translate(data, dictionary, rev);
|
|
39
|
-
return match === '*' ? data : match;
|
|
37
|
+
return (data, state) => {
|
|
38
|
+
const { rev = false } = state;
|
|
39
|
+
const match = translate((0, escape_1.escapeValue)(data), dictionary, rev);
|
|
40
|
+
return match === '*' ? data : (0, escape_1.unescapeValue)(match);
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
exports.default = map;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/functions/map.ts"],"names":[],"mappings":";;AAAA,kCAAkC;
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/functions/map.ts"],"names":[],"mappings":";;AAAA,kCAAkC;AAClC,4CAA4D;AAO5D,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAA2B,EAAE,CAClE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC;IACrD,IAAI,KAAK,IAAI;IACb,IAAI,KAAK,SAAS,CAAA;AAEpB,SAAS,cAAc,CACrB,KAAsB,EACtB,UAAsB,EACtB,SAAgB;IAGhB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,CAAA;IAClE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,UAAsB,EAAE,GAAY;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAU,CAAA;IACtC,OAAO,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE;YACxC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YAC5D,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;SACnD;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,IAAI,CAAC,CAAA;AACV,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAgC,EAChC,YAA2B;IAE3B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,OAAO,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,CAAA;KAChD;SAAM;QACL,OAAO,UAAU,CAAA;KAClB;AACH,CAAC;AAED,SAAwB,GAAG,CACzB,QAAkB,EAClB,OAAyC;IAEzC,MAAM,UAAU,GAAG,iBAAiB,CAClC,QAAQ,CAAC,UAAU,EACnB,OAAO,IAAI,OAAO,CAAC,YAAY,CAChC,CAAA;IACD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;KACvB;IACD,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3D,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAhBD,sBAgBC"}
|
package/dist/functions/not.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../src/functions/not.ts"],"names":[],"mappings":";;AAEA,SAAwB,GAAG,CAAC,EAAc;IACxC,OAAO,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../src/functions/not.ts"],"names":[],"mappings":";;AAEA,SAAwB,GAAG,CAAC,EAAc;IACxC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC5C,CAAC;AAFD,sBAEC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const pathGetter_1 = require("../utils/pathGetter");
|
|
4
|
+
const functional_1 = require("../utils/functional");
|
|
5
|
+
const compare = (direction, getFn) => function compare(valueA, valueB) {
|
|
6
|
+
const a = getFn(valueA);
|
|
7
|
+
const b = getFn(valueB);
|
|
8
|
+
if (typeof a === 'number' && typeof b === 'number') {
|
|
9
|
+
return (a - b) * direction;
|
|
10
|
+
}
|
|
11
|
+
else if (a instanceof Date && b instanceof Date) {
|
|
12
|
+
return (a.getTime() - b.getTime()) * direction;
|
|
13
|
+
}
|
|
14
|
+
else if (a === undefined || a === null || b === undefined || b === null) {
|
|
15
|
+
return a === undefined || a === null ? 1 : -1;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const strA = String(a);
|
|
19
|
+
const strB = String(b);
|
|
20
|
+
return strA === strB ? 0 : strA > strB ? 1 * direction : -1 * direction;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
function template(operands) {
|
|
24
|
+
const direction = operands?.asc === false ? -1 : 1;
|
|
25
|
+
const getFn = operands?.path ? (0, pathGetter_1.default)(operands.path) : functional_1.identity;
|
|
26
|
+
return (data) => {
|
|
27
|
+
return Array.isArray(data)
|
|
28
|
+
? data.slice().sort(compare(direction, getFn))
|
|
29
|
+
: data;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.default = template;
|
|
33
|
+
//# sourceMappingURL=sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/functions/sort.ts"],"names":[],"mappings":";;AACA,oDAAwC;AACxC,oDAA8C;AAO9C,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAiC,EAAE,EAAE,CACvE,SAAS,OAAO,CAAC,MAAe,EAAE,MAAe;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAClD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAA;KAC3B;SAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE;QACjD,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;KAC/C;SAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;QACzE,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAC9C;SAAM;QACL,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;KACxE;AACH,CAAC,CAAA;AAEH,SAAwB,QAAQ,CAAC,QAAkB;IACjD,MAAM,SAAS,GAAG,QAAQ,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,oBAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAQ,CAAA;IAE/D,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAA;IACV,CAAC,CAAA;AACH,CAAC;AATD,2BASC"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const Mustache = require("mustache");
|
|
4
4
|
const mapAny = require("map-any");
|
|
5
5
|
const pathGetter_1 = require("../utils/pathGetter");
|
|
6
6
|
const extractOperands = (operands) => typeof operands === 'string' ? { template: operands } : operands;
|
|
7
|
+
function parseAndCreateGenerator(templateStr) {
|
|
8
|
+
Mustache.parse(templateStr);
|
|
9
|
+
return (data) => mapAny((data) => Mustache.render(templateStr, data), data);
|
|
10
|
+
}
|
|
7
11
|
function template(operands) {
|
|
8
12
|
const { template: templateStr, templatePath } = extractOperands(operands);
|
|
9
13
|
if (typeof templateStr === 'string') {
|
|
10
|
-
|
|
11
|
-
return (data) => mapAny((data) => generate(data), data);
|
|
14
|
+
return parseAndCreateGenerator(templateStr);
|
|
12
15
|
}
|
|
13
16
|
else if (typeof templatePath === 'string') {
|
|
14
17
|
const getFn = (0, pathGetter_1.default)(templatePath);
|
|
15
18
|
return (data) => {
|
|
16
19
|
const templateStr = getFn(data);
|
|
17
20
|
if (typeof templateStr === 'string') {
|
|
18
|
-
|
|
19
|
-
return mapAny((data) => generate(data), data);
|
|
21
|
+
return parseAndCreateGenerator(templateStr)(data);
|
|
20
22
|
}
|
|
21
23
|
return undefined;
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/functions/template.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/functions/template.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AACrC,kCAAkC;AAClC,oDAAwC;AAQxC,MAAM,eAAe,GAAG,CAAC,QAA2B,EAAE,EAAE,CACtD,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AAElE,SAAS,uBAAuB,CAAC,WAAmB;IAClD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC3B,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;AACvE,CAAC;AAED,SAAwB,QAAQ,CAAC,QAA2B;IAC1D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAEzE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QAEnC,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAA;KAC5C;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QAG3C,MAAM,KAAK,GAAG,IAAA,oBAAM,EAAC,YAAY,CAAC,CAAA;QAClC,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACnC,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAA;aAClD;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;KACF;IAED,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;AACxB,CAAC;AApBD,2BAoBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const ajv_1 = require("ajv");
|
|
4
4
|
const pathGetter_1 = require("../utils/pathGetter");
|
|
5
|
-
const ajv = new
|
|
5
|
+
const ajv = new ajv_1.default();
|
|
6
6
|
function validate(path, schema) {
|
|
7
7
|
const getFn = (0, pathGetter_1.default)(path);
|
|
8
8
|
const validate = ajv.compile(schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/functions/validate.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/functions/validate.ts"],"names":[],"mappings":";;AAAA,6BAAqB;AAErB,oDAAwC;AAExC,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAA;AAErB,SAAwB,QAAQ,CAC9B,IAAU,EACV,MAAyC;IAEzC,MAAM,KAAK,GAAG,IAAA,oBAAM,EAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAY,CAAA;AACnD,CAAC;AARD,2BAQC"}
|
package/dist/functions/value.js
CHANGED
|
@@ -9,12 +9,12 @@ const extractValue = (value) => {
|
|
|
9
9
|
exports.extractValue = extractValue;
|
|
10
10
|
function value(operands) {
|
|
11
11
|
const value = (0, exports.extractValue)(operands);
|
|
12
|
-
return (_data,
|
|
12
|
+
return (_data, state) => (state.onlyMapped ? undefined : value);
|
|
13
13
|
}
|
|
14
14
|
exports.value = value;
|
|
15
15
|
function fixed(operands) {
|
|
16
16
|
const value = (0, exports.extractValue)(operands);
|
|
17
|
-
return (_data,
|
|
17
|
+
return (_data, _state) => value;
|
|
18
18
|
}
|
|
19
19
|
exports.fixed = fixed;
|
|
20
20
|
//# sourceMappingURL=value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/functions/value.ts"],"names":[],"mappings":";;;AAOA,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAEtC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAO,EAAE;IAClD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAClD,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB;AAED,SAAgB,KAAK,CAAC,QAAiB;IACrC,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/functions/value.ts"],"names":[],"mappings":";;;AAOA,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAEtC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAO,EAAE;IAClD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAClD,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB;AAED,SAAgB,KAAK,CAAC,QAAiB;IACrC,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK,CAAC,QAAiB;IACrC,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAA;AACjC,CAAC;AAHD,sBAGC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,5 +19,7 @@ export { fwd, rev, divide } from './operations/directionals';
|
|
|
19
19
|
export { default as merge } from './operations/merge';
|
|
20
20
|
export { default as modify } from './operations/modify';
|
|
21
21
|
export { iterate, functions };
|
|
22
|
-
export { CustomFunction, DataMapper, MapDefinition, MapObject, MapPipe, MapTransform, Dictionary, Dictionaries, } from './types';
|
|
22
|
+
export { CustomFunction, DataMapper, MapDefinition, MapObject, MapPipe, MapTransform, Dictionary, Dictionaries, OperationObject, TransformObject, FilterObject, ApplyObject, AltObject, } from './types';
|
|
23
|
+
export { default as pathGetter } from './utils/pathGetter';
|
|
24
|
+
export { default as pathSetter } from './utils/pathSetter';
|
|
23
25
|
export declare function mapTransform(def: MapDefinition, options?: Options): MapTransform;
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapTransform = exports.functions = exports.iterate = exports.modify = exports.merge = exports.divide = exports.rev = exports.fwd = exports.ifelse = exports.filter = exports.transform = exports.lookup = exports.plug = exports.not = exports.validate = exports.concat = exports.fixed = exports.value = exports.apply = exports.alt = exports.root = exports.set = exports.get = void 0;
|
|
4
|
-
const ramda_1 = require("ramda");
|
|
3
|
+
exports.mapTransform = exports.pathSetter = exports.pathGetter = exports.functions = exports.iterate = exports.modify = exports.merge = exports.divide = exports.rev = exports.fwd = exports.ifelse = exports.filter = exports.transform = exports.lookup = exports.plug = exports.not = exports.validate = exports.concat = exports.fixed = exports.value = exports.apply = exports.alt = exports.root = exports.set = exports.get = void 0;
|
|
5
4
|
const definitionHelpers_1 = require("./utils/definitionHelpers");
|
|
6
5
|
const stateHelpers_1 = require("./utils/stateHelpers");
|
|
7
6
|
const functions_1 = require("./functions");
|
|
8
7
|
exports.functions = functions_1.default;
|
|
9
8
|
const iterate_1 = require("./operations/iterate");
|
|
10
9
|
exports.iterate = iterate_1.default;
|
|
10
|
+
const functional_1 = require("./utils/functional");
|
|
11
11
|
var getSet_1 = require("./operations/getSet");
|
|
12
12
|
Object.defineProperty(exports, "get", { enumerable: true, get: function () { return getSet_1.get; } });
|
|
13
13
|
Object.defineProperty(exports, "set", { enumerable: true, get: function () { return getSet_1.set; } });
|
|
@@ -45,9 +45,13 @@ var merge_1 = require("./operations/merge");
|
|
|
45
45
|
Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return merge_1.default; } });
|
|
46
46
|
var modify_1 = require("./operations/modify");
|
|
47
47
|
Object.defineProperty(exports, "modify", { enumerable: true, get: function () { return modify_1.default; } });
|
|
48
|
+
var pathGetter_1 = require("./utils/pathGetter");
|
|
49
|
+
Object.defineProperty(exports, "pathGetter", { enumerable: true, get: function () { return pathGetter_1.default; } });
|
|
50
|
+
var pathSetter_1 = require("./utils/pathSetter");
|
|
51
|
+
Object.defineProperty(exports, "pathSetter", { enumerable: true, get: function () { return pathSetter_1.default; } });
|
|
48
52
|
const composeMapFunction = (mapFn, initialState) => {
|
|
49
|
-
const
|
|
50
|
-
return (data) =>
|
|
53
|
+
const createState = (0, stateHelpers_1.populateState)(initialState);
|
|
54
|
+
return (data) => data === undefined ? undefined : (0, stateHelpers_1.getStateValue)(mapFn(createState(data)));
|
|
51
55
|
};
|
|
52
56
|
const mergeOptions = (options) => ({
|
|
53
57
|
...options,
|
|
@@ -56,10 +60,9 @@ const mergeOptions = (options) => ({
|
|
|
56
60
|
...(options.functions || {}),
|
|
57
61
|
},
|
|
58
62
|
});
|
|
59
|
-
const createRootMapper = (def) => (0, definitionHelpers_1.isMapObject)(def) ? (0, iterate_1.default)(def) : (0, definitionHelpers_1.mapFunctionFromDef)(def);
|
|
60
63
|
function mapTransform(def, options = {}) {
|
|
61
64
|
const completeOptions = mergeOptions(options);
|
|
62
|
-
const mapFn =
|
|
65
|
+
const mapFn = (0, definitionHelpers_1.operationFromDef)(def)(completeOptions)(functional_1.identity);
|
|
63
66
|
return Object.assign(composeMapFunction(mapFn, {}), {
|
|
64
67
|
onlyMappedValues: composeMapFunction(mapFn, { onlyMapped: true }),
|
|
65
68
|
rev: Object.assign(composeMapFunction(mapFn, { rev: true }), {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iEAA4D;AAC5D,uDAAmE;AACnE,2CAAmC;AAqBjB,oBArBX,mBAAS,CAqBW;AApB3B,kDAA0C;AAoBjC,kBApBF,iBAAO,CAoBE;AAnBhB,mDAA6C;AAE7C,8CAA8C;AAArC,6FAAA,GAAG,OAAA;AAAE,6FAAA,GAAG,OAAA;AACjB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,wCAAiD;AAAxC,0FAAA,OAAO,OAAO;AACvB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,iDAA0D;AAAjD,oGAAA,OAAO,OAAY;AAC5B,uCAAgD;AAAvC,0FAAA,OAAO,OAAO;AACvB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,oDAA6D;AAApD,sGAAA,OAAO,OAAa;AAC7B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,0DAA4D;AAAnD,mGAAA,GAAG,OAAA;AAAE,mGAAA,GAAG,OAAA;AAAE,sGAAA,MAAM,OAAA;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAiB1B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAC9B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAE9B,MAAM,kBAAkB,GAAG,CACzB,KAAkB,EAClB,YAA4B,EAC5B,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA;IAE/C,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,SAAS,EAAE;QACT,GAAG,mBAAS;QACZ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B;CACF,CAAC,CAAA;AAEF,SAAgB,YAAY,CAC1B,GAAkB,EAClB,UAAmB,EAAE;IAErB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,qBAAQ,CAAC,CAAA;IAE9D,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QAClD,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE;gBAC1C,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC"}
|
package/dist/operations/alt.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Operation, MapDefinition } from '../types';
|
|
2
|
-
export default function alt(
|
|
2
|
+
export default function alt(...defs: MapDefinition[]): Operation[];
|
package/dist/operations/alt.js
CHANGED
|
@@ -2,13 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const stateHelpers_1 = require("../utils/stateHelpers");
|
|
4
4
|
const definitionHelpers_1 = require("../utils/definitionHelpers");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const functional_1 = require("../utils/functional");
|
|
6
|
+
const runAlt = (isOneMode) => function runAlt(operation, index) {
|
|
7
|
+
return (options) => (next) => (state) => {
|
|
8
|
+
const nextState = next(state);
|
|
9
|
+
const { noneValues } = options;
|
|
10
|
+
const isFirst = !isOneMode && index === 0;
|
|
11
|
+
if (isFirst) {
|
|
12
|
+
const thisState = operation(options)(functional_1.identity)(nextState);
|
|
13
|
+
return (0, stateHelpers_1.isNoneValueState)(thisState, noneValues)
|
|
14
|
+
? { ...thisState, context: [...nextState.context, nextState.value] }
|
|
15
|
+
: thisState;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
if ((0, stateHelpers_1.isNoneValueState)(nextState, noneValues)) {
|
|
19
|
+
return operation(options)(functional_1.identity)((0, stateHelpers_1.removeLastContext)((0, stateHelpers_1.setStateValue)(nextState, (0, stateHelpers_1.getLastContext)(nextState))));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return nextState;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
11
25
|
};
|
|
26
|
+
};
|
|
27
|
+
function alt(...defs) {
|
|
28
|
+
const altOperations = defs.map((def) => (0, definitionHelpers_1.operationFromDef)(def));
|
|
29
|
+
const isOneMode = altOperations.length === 1;
|
|
30
|
+
return altOperations.map(runAlt(isOneMode));
|
|
12
31
|
}
|
|
13
32
|
exports.default = alt;
|
|
14
33
|
//# sourceMappingURL=alt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alt.js","sourceRoot":"","sources":["../../src/operations/alt.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"alt.js","sourceRoot":"","sources":["../../src/operations/alt.ts"],"names":[],"mappings":";;AACA,wDAK8B;AAC9B,kEAA6D;AAC7D,oDAA8C;AAE9C,MAAM,MAAM,GAAG,CAAC,SAAkB,EAAE,EAAE,CACpC,SAAS,MAAM,CAAC,SAAoB,EAAE,KAAa;IACjD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,OAAO,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,CAAA;QAEzC,IAAI,OAAO,EAAE;YACX,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,qBAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,IAAA,+BAAgB,EAAC,SAAS,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;gBACpE,CAAC,CAAC,SAAS,CAAA;SACd;aAAM;YACL,IAAI,IAAA,+BAAgB,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE;gBAC3C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,qBAAQ,CAAC,CACjC,IAAA,gCAAiB,EACf,IAAA,4BAAa,EAAC,SAAS,EAAE,IAAA,6BAAc,EAAC,SAAS,CAAC,CAAC,CACpD,CACF,CAAA;aACF;iBAAM;gBACL,OAAO,SAAS,CAAA;aACjB;SACF;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEH,SAAwB,GAAG,CAAC,GAAG,IAAqB;IAElD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAA;IAK5C,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;AAC7C,CAAC;AATD,sBASC"}
|
package/dist/operations/apply.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const definitionHelpers_1 = require("../utils/definitionHelpers");
|
|
4
|
-
const stateHelpers_1 = require("../utils/stateHelpers");
|
|
5
4
|
const extractPipeline = (pipelineId, { pipelines }) => pipelineId && pipelines ? pipelines[pipelineId] : undefined;
|
|
6
5
|
function apply(pipelineId) {
|
|
7
|
-
return (options) => {
|
|
6
|
+
return (options) => (next) => {
|
|
8
7
|
const pipeline = extractPipeline(pipelineId, options);
|
|
9
8
|
return pipeline
|
|
10
|
-
? (0, definitionHelpers_1.
|
|
11
|
-
: (state) => (
|
|
9
|
+
? (0, definitionHelpers_1.operationFromDef)(pipeline)(options)(next)
|
|
10
|
+
: (state) => next(state);
|
|
12
11
|
};
|
|
13
12
|
}
|
|
14
13
|
exports.default = apply;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":";;AACA,kEAA6D;AAE7D,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE,CACrE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE7D,SAAwB,KAAK,CAAC,UAAkB;IAC9C,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,QAAQ;YACb,CAAC,CAAC,IAAA,oCAAgB,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAC3C,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC;AAPD,wBAOC"}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const stateHelpers_1 = require("../utils/stateHelpers");
|
|
4
4
|
const definitionHelpers_1 = require("../utils/definitionHelpers");
|
|
5
|
+
const functional_1 = require("../utils/functional");
|
|
5
6
|
const merge = (left, right) => Array.isArray(right) ? [...left, ...right] : [...left, right];
|
|
6
7
|
function concat(...defs) {
|
|
7
|
-
return (options) => {
|
|
8
|
-
const fns = defs.map((def) => (0, definitionHelpers_1.
|
|
9
|
-
return (state)
|
|
10
|
-
|
|
11
|
-
.
|
|
8
|
+
return (options) => (next) => {
|
|
9
|
+
const fns = defs.map((def) => (0, definitionHelpers_1.operationFromDef)(def)(options)(functional_1.identity));
|
|
10
|
+
return function doConcat(state) {
|
|
11
|
+
const nextState = next(state);
|
|
12
|
+
return (0, stateHelpers_1.setStateValue)(nextState, fns
|
|
13
|
+
.reduce((value, fn) => merge(value, (0, stateHelpers_1.getStateValue)(fn(nextState))), [])
|
|
14
|
+
.filter((val) => val !== undefined));
|
|
15
|
+
};
|
|
12
16
|
};
|
|
13
17
|
}
|
|
14
18
|
exports.default = concat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../src/operations/concat.ts"],"names":[],"mappings":";;AACA,wDAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../src/operations/concat.ts"],"names":[],"mappings":";;AACA,wDAAoE;AACpE,kEAA6D;AAC7D,oDAA8C;AAE9C,MAAM,KAAK,GAAG,CAAO,IAAS,EAAE,KAAc,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAA;AAE/D,SAAwB,MAAM,CAAC,GAAG,IAAqB;IACrD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAQ,CAAC,CAAC,CAAA;QAEvE,OAAO,SAAS,QAAQ,CAAC,KAAK;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAO,IAAA,4BAAa,EAClB,SAAS,EACT,GAAG;iBACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAA,4BAAa,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EACzD,EAAe,CAChB;iBACA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CACtC,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAjBD,yBAiBC"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.divide = exports.rev = exports.fwd = void 0;
|
|
4
4
|
const definitionHelpers_1 = require("../utils/definitionHelpers");
|
|
5
|
+
const xor_1 = require("../utils/xor");
|
|
5
6
|
const applyInDirection = (def, rev) => {
|
|
6
|
-
return (options) => {
|
|
7
|
-
const fn = (0, definitionHelpers_1.
|
|
8
|
-
return (state) => ((
|
|
7
|
+
return (options) => (next) => {
|
|
8
|
+
const fn = (0, definitionHelpers_1.operationFromDef)(def)(options)(next);
|
|
9
|
+
return (state) => ((0, xor_1.default)(rev, !state.rev) ? fn(state) : next(state));
|
|
9
10
|
};
|
|
10
11
|
};
|
|
11
12
|
function fwd(def) {
|
|
@@ -17,9 +18,9 @@ function rev(def) {
|
|
|
17
18
|
}
|
|
18
19
|
exports.rev = rev;
|
|
19
20
|
function divide(fwdDef, revDef) {
|
|
20
|
-
return (options) => {
|
|
21
|
-
const fwdFn = (0, definitionHelpers_1.
|
|
22
|
-
const revFn = (0, definitionHelpers_1.
|
|
21
|
+
return (options) => (next) => {
|
|
22
|
+
const fwdFn = (0, definitionHelpers_1.operationFromDef)(fwdDef)(options)(next);
|
|
23
|
+
const revFn = (0, definitionHelpers_1.operationFromDef)(revDef)(options)(next);
|
|
23
24
|
return (state) => (state.rev ? revFn(state) : fwdFn(state));
|
|
24
25
|
};
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directionals.js","sourceRoot":"","sources":["../../src/operations/directionals.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"directionals.js","sourceRoot":"","sources":["../../src/operations/directionals.ts"],"names":[],"mappings":";;;AACA,kEAA6D;AAC7D,sCAA8B;AAE9B,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAE,GAAY,EAAa,EAAE;IACvE,OAAO,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,aAAG,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACpE,CAAC,CAAA;AACH,CAAC,CAAA;AAED,SAAgB,GAAG,CAAC,GAAkB;IACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG,CAAC,GAAkB;IACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAFD,kBAEC;AAED,SAAgB,MAAM,CACpB,MAAqB,EACrB,MAAqB;IAErB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;QACrD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAA;AACH,CAAC;AATD,wBASC"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const ramda_1 = require("ramda");
|
|
4
3
|
const stateHelpers_1 = require("../utils/stateHelpers");
|
|
4
|
+
const filterValue = (value, filterFn) => Array.isArray(value)
|
|
5
|
+
? value.filter(filterFn)
|
|
6
|
+
: filterFn(value)
|
|
7
|
+
? value
|
|
8
|
+
: undefined;
|
|
5
9
|
function filter(fn) {
|
|
6
|
-
return (_options) => {
|
|
10
|
+
return (_options) => (next) => {
|
|
7
11
|
if (typeof fn !== 'function') {
|
|
8
|
-
return
|
|
12
|
+
return (state) => next(state);
|
|
9
13
|
}
|
|
10
14
|
return (state) => {
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
return
|
|
14
|
-
...state,
|
|
15
|
-
value: runFilter(state),
|
|
16
|
-
};
|
|
15
|
+
const nextState = next(state);
|
|
16
|
+
const filterFn = (data) => !!fn(data, nextState);
|
|
17
|
+
return (0, stateHelpers_1.setStateValue)(nextState, filterValue((0, stateHelpers_1.getStateValue)(nextState), filterFn));
|
|
17
18
|
};
|
|
18
19
|
};
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":";;AACA,wDAAoE;AAEpE,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,QAAoC,EAAE,EAAE,CAC3E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;IACxB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAA;AAEf,SAAwB,MAAM,CAAC,EAAc;IAC3C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC9B;QAED,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YACzD,OAAO,IAAA,4BAAa,EAClB,SAAS,EACT,WAAW,CAAC,IAAA,4BAAa,EAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAChD,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAfD,yBAeC"}
|
package/dist/operations/fixed.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed.js","sourceRoot":"","sources":["../../src/operations/fixed.ts"],"names":[],"mappings":";;AACA,8CAAiD;AAEjD,SAAwB,KAAK,CAAC,GAA4B;IACxD,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fixed.js","sourceRoot":"","sources":["../../src/operations/fixed.ts"],"names":[],"mappings":";;AACA,8CAAiD;AAEjD,SAAwB,KAAK,CAAC,GAA4B;IACxD,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,KAAK;QACR,KAAK,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC;KACzB,CAAC,CAAA;AACJ,CAAC;AALD,wBAKC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const get: (path: Path) => Operation;
|
|
3
|
-
export declare const set: (path: Path) => Operation;
|
|
1
|
+
import { Path, Operation } from '../types';
|
|
2
|
+
export declare const get: (path: Path) => Operation[];
|
|
3
|
+
export declare const set: (path: Path) => Operation[];
|