map-transform 0.3.11 → 0.4.0-alpha.3
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/LICENSE +1 -1
- package/README.md +573 -98
- package/dist/functions/compare.d.ts +6 -5
- package/dist/functions/compare.js +21 -16
- package/dist/functions/compare.js.map +1 -1
- package/dist/functions/explode.d.ts +6 -0
- package/dist/functions/explode.js +45 -0
- package/dist/functions/explode.js.map +1 -0
- package/dist/functions/get.d.ts +2 -2
- package/dist/functions/get.js +4 -2
- package/dist/functions/get.js.map +1 -1
- package/dist/functions/index.d.ts +13 -3
- package/dist/functions/index.js +14 -4
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/join.d.ts +2 -2
- package/dist/functions/join.js +1 -1
- package/dist/functions/join.js.map +1 -1
- package/dist/functions/joinSplit.d.ts +8 -0
- package/dist/functions/joinSplit.js +33 -0
- package/dist/functions/joinSplit.js.map +1 -0
- package/dist/functions/logical.d.ts +7 -0
- package/dist/functions/logical.js +28 -0
- package/dist/functions/logical.js.map +1 -0
- package/dist/functions/map.d.ts +8 -0
- package/dist/functions/map.js +43 -0
- package/dist/functions/map.js.map +1 -0
- package/dist/functions/not.d.ts +2 -2
- package/dist/functions/not.js.map +1 -1
- package/dist/functions/template.d.ts +7 -0
- package/dist/functions/template.js +27 -0
- package/dist/functions/template.js.map +1 -0
- package/dist/functions/validate.d.ts +2 -2
- package/dist/functions/validate.js +1 -1
- package/dist/functions/validate.js.map +1 -1
- package/dist/functions/value.d.ts +4 -0
- package/dist/functions/value.js +20 -0
- package/dist/functions/value.js.map +1 -0
- package/dist/index.d.ts +8 -7
- package/dist/index.js +45 -27
- package/dist/index.js.map +1 -1
- package/dist/operations/alt.js +4 -9
- package/dist/operations/alt.js.map +1 -1
- package/dist/operations/apply.d.ts +2 -0
- package/dist/operations/apply.js +15 -0
- package/dist/operations/apply.js.map +1 -0
- package/dist/operations/concat.js +4 -4
- package/dist/operations/concat.js.map +1 -1
- package/dist/operations/directionals.d.ts +1 -1
- package/dist/operations/directionals.js +6 -5
- package/dist/operations/directionals.js.map +1 -1
- package/dist/operations/filter.d.ts +2 -2
- package/dist/operations/filter.js +6 -3
- package/dist/operations/filter.js.map +1 -1
- package/dist/operations/fixed.d.ts +2 -2
- package/dist/operations/fixed.js +5 -1
- package/dist/operations/fixed.js.map +1 -1
- package/dist/operations/getSet.d.ts +3 -3
- package/dist/operations/getSet.js +18 -24
- package/dist/operations/getSet.js.map +1 -1
- package/dist/operations/ifelse.d.ts +2 -0
- package/dist/operations/ifelse.js +18 -0
- package/dist/operations/ifelse.js.map +1 -0
- package/dist/operations/iterate.d.ts +2 -0
- package/dist/operations/iterate.js +23 -0
- package/dist/operations/iterate.js.map +1 -0
- package/dist/operations/lookup.js +3 -3
- package/dist/operations/lookup.js.map +1 -1
- package/dist/operations/merge.d.ts +2 -0
- package/dist/operations/merge.js +20 -0
- package/dist/operations/merge.js.map +1 -0
- package/dist/operations/modify.d.ts +2 -0
- package/dist/operations/modify.js +18 -0
- package/dist/operations/modify.js.map +1 -0
- package/dist/operations/mutate.js +48 -8
- package/dist/operations/mutate.js.map +1 -1
- package/dist/operations/pipe.js +9 -5
- 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/root.js +2 -2
- package/dist/operations/root.js.map +1 -1
- package/dist/operations/transform.js +2 -2
- package/dist/operations/transform.js.map +1 -1
- package/dist/operations/value.d.ts +2 -2
- package/dist/operations/value.js +5 -1
- package/dist/operations/value.js.map +1 -1
- package/dist/types.d.ts +46 -21
- package/dist/utils/definitionHelpers.d.ts +8 -9
- package/dist/utils/definitionHelpers.js +60 -42
- package/dist/utils/definitionHelpers.js.map +1 -1
- package/dist/utils/functional.d.ts +2 -0
- package/dist/utils/functional.js +8 -0
- package/dist/utils/functional.js.map +1 -0
- package/dist/utils/is.d.ts +1 -0
- package/dist/utils/is.js +6 -0
- package/dist/utils/is.js.map +1 -0
- package/dist/utils/pathGetter.d.ts +2 -2
- package/dist/utils/pathGetter.js +23 -9
- package/dist/utils/pathGetter.js.map +1 -1
- package/dist/utils/pathSetter.d.ts +3 -3
- package/dist/utils/pathSetter.js +19 -21
- package/dist/utils/pathSetter.js.map +1 -1
- package/dist/utils/stateHelpers.d.ts +7 -36
- package/dist/utils/stateHelpers.js +21 -10
- package/dist/utils/stateHelpers.js.map +1 -1
- package/package.json +18 -56
- package/dist/functions/alt.d.ts +0 -6
- package/dist/functions/alt.js +0 -10
- package/dist/functions/alt.js.map +0 -1
- package/dist/utils/objectToMapFunction.d.ts +0 -2
- package/dist/utils/objectToMapFunction.js +0 -34
- package/dist/utils/objectToMapFunction.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
interface
|
|
3
|
-
path?:
|
|
1
|
+
import { Operands, Path, DataMapper } from '../types';
|
|
2
|
+
interface CompareOperands extends Operands {
|
|
3
|
+
path?: Path;
|
|
4
4
|
operator?: string;
|
|
5
|
-
match?:
|
|
5
|
+
match?: unknown;
|
|
6
|
+
matchPath?: Path;
|
|
6
7
|
}
|
|
7
|
-
export default function compare({ path, operator, match }:
|
|
8
|
+
export default function compare({ path, operator, match, matchPath, }: CompareOperands): DataMapper;
|
|
8
9
|
export {};
|
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const pathGetter_1 = require("../utils/pathGetter");
|
|
4
|
-
const not = (comparer) => (value) => !comparer(value);
|
|
5
|
-
const compareArrayOrValue = (comparer) => (value) =>
|
|
6
|
-
|
|
4
|
+
const not = (comparer) => (value, match) => !comparer(value, match);
|
|
5
|
+
const compareArrayOrValue = (comparer) => (value, match) => Array.isArray(value)
|
|
6
|
+
? value.some((value) => comparer(value, match))
|
|
7
|
+
: comparer(value, match);
|
|
7
8
|
const isNumeric = (value) => typeof value === 'number';
|
|
8
|
-
|
|
9
|
+
const compareArrayOrValueNumeric = (comparer) => compareArrayOrValue((value, match) => isNumeric(value) && isNumeric(match) && comparer(value, match));
|
|
10
|
+
const compareEqual = compareArrayOrValue((value, match) => value === match);
|
|
11
|
+
function createComparer(operator) {
|
|
9
12
|
switch (operator) {
|
|
10
13
|
case '=':
|
|
11
|
-
return compareEqual
|
|
14
|
+
return compareEqual;
|
|
12
15
|
case '!=':
|
|
13
|
-
return not(compareEqual
|
|
16
|
+
return not(compareEqual);
|
|
14
17
|
case '>':
|
|
15
|
-
return
|
|
18
|
+
return compareArrayOrValueNumeric((value, match) => value > match);
|
|
16
19
|
case '>=':
|
|
17
|
-
return
|
|
20
|
+
return compareArrayOrValueNumeric((value, match) => value >= match);
|
|
18
21
|
case '<':
|
|
19
|
-
return
|
|
22
|
+
return compareArrayOrValueNumeric((value, match) => value < match);
|
|
20
23
|
case '<=':
|
|
21
|
-
return
|
|
24
|
+
return compareArrayOrValueNumeric((value, match) => value <= match);
|
|
22
25
|
default:
|
|
23
|
-
return (_value) => false;
|
|
26
|
+
return (_value, _match) => false;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
|
-
function compare({ path = '.', operator = '=', match }) {
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
+
function compare({ path = '.', operator = '=', match, matchPath, }) {
|
|
30
|
+
const getValue = (0, pathGetter_1.default)(path);
|
|
31
|
+
const getMatch = matchPath ? (0, pathGetter_1.default)(matchPath) : () => match;
|
|
32
|
+
const comparer = createComparer(operator);
|
|
29
33
|
return (data) => {
|
|
30
|
-
const value =
|
|
31
|
-
|
|
34
|
+
const value = getValue(data);
|
|
35
|
+
const match = getMatch(data);
|
|
36
|
+
return comparer(value, match);
|
|
32
37
|
};
|
|
33
38
|
}
|
|
34
39
|
exports.default = compare;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/functions/compare.ts"],"names":[],"mappings":";;AACA,oDAAwC;
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/functions/compare.ts"],"names":[],"mappings":";;AACA,oDAAwC;AAiBxC,MAAM,GAAG,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE,CACrE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzB,MAAM,mBAAmB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAClD,KAAc,EACd,KAAc,EACd,EAAE,CACF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE5B,MAAM,SAAS,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAA;AAEhF,MAAM,0BAA0B,GAAG,CAAC,QAAyB,EAAE,EAAE,CAC/D,mBAAmB,CACjB,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE,CACjC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CACjE,CAAA;AAEH,MAAM,YAAY,GAAG,mBAAmB,CACtC,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CACpD,CAAA;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,QAAQ,QAAQ,EAAE;QAChB,KAAK,GAAG;YACN,OAAO,YAAY,CAAA;QACrB,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,YAAY,CAAC,CAAA;QAC1B,KAAK,GAAG;YACN,OAAO,0BAA0B,CAC/B,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAChD,CAAA;QACH,KAAK,IAAI;YACP,OAAO,0BAA0B,CAC/B,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CACjD,CAAA;QACH,KAAK,GAAG;YACN,OAAO,0BAA0B,CAC/B,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAChD,CAAA;QACH,KAAK,IAAI;YACP,OAAO,0BAA0B,CAC/B,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CACjD,CAAA;QACH;YACE,OAAO,CAAC,MAAe,EAAE,MAAe,EAAE,EAAE,CAAC,KAAK,CAAA;KACrD;AACH,CAAC;AAED,SAAwB,OAAO,CAAC,EAC9B,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,GAAG,EACd,KAAK,EACL,SAAS,GACO;IAChB,MAAM,QAAQ,GAAG,IAAA,oBAAM,EAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAA;IAE5D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IAEzC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5B,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC,CAAA;AACH,CAAC;AAhBD,0BAgBC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const is_1 = require("../utils/is");
|
|
4
|
+
const isExplodedArray = (data) => data.every((item) => (0, is_1.isObject)(item) && typeof item.key === 'number');
|
|
5
|
+
const setValueOnKey = (target, keyValue) => {
|
|
6
|
+
if ((0, is_1.isObject)(keyValue)) {
|
|
7
|
+
const { key, value } = keyValue;
|
|
8
|
+
if (Array.isArray(target)) {
|
|
9
|
+
target[key] = value;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
target[String(key)] = value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return target;
|
|
16
|
+
};
|
|
17
|
+
function doImplode(data) {
|
|
18
|
+
if (Array.isArray(data)) {
|
|
19
|
+
return data.reduce(setValueOnKey, isExplodedArray(data)
|
|
20
|
+
? []
|
|
21
|
+
: {});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function doExplode(data) {
|
|
28
|
+
if ((0, is_1.isObject)(data)) {
|
|
29
|
+
return Object.entries(data).map(([key, value]) => ({
|
|
30
|
+
key,
|
|
31
|
+
value,
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
else if (Array.isArray(data)) {
|
|
35
|
+
return data.map((value, key) => ({ key, value }));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function explode() {
|
|
42
|
+
return (data, context) => (context.rev ? doImplode(data) : doExplode(data));
|
|
43
|
+
}
|
|
44
|
+
exports.default = explode;
|
|
45
|
+
//# sourceMappingURL=explode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explode.js","sourceRoot":"","sources":["../../src/functions/explode.ts"],"names":[],"mappings":";;AAEA,oCAAsC;AAOtC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAE,EAAE,CAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAA;AAEtE,MAAM,aAAa,GAAG,CACpB,MAA2C,EAC3C,QAAiB,EACjB,EAAE;IACF,IAAI,IAAA,aAAQ,EAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,MAAM,CAAC,GAAa,CAAC,GAAG,KAAK,CAAA;SAC9B;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;SAC5B;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC,MAAM,CAChB,aAAa,EACb,eAAe,CAAC,IAAI,CAAC;YACnB,CAAC,CAAE,EAAgB;YACnB,CAAC,CAAE,EAA8B,CACpC,CAAA;KACF;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,EAAE;QAClB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAoB,EAAE,EAAE,CAAC,CAAC;YACpE,GAAG;YACH,KAAK;SACN,CAAC,CAAC,CAAA;KACJ;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;KACnE;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAED,SAAwB,OAAO;IAC7B,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAC7E,CAAC;AAFD,0BAEC"}
|
package/dist/functions/get.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Operands,
|
|
1
|
+
import { Operands, DataMapper } from '../types';
|
|
2
2
|
interface Options extends Operands {
|
|
3
3
|
path?: string;
|
|
4
4
|
}
|
|
5
|
-
export default function get(
|
|
5
|
+
export default function get(options: Options | string): DataMapper;
|
|
6
6
|
export {};
|
package/dist/functions/get.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const pathGetter_1 = require("../utils/pathGetter");
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const extractPath = (path) => typeof path === 'string' ? path : path.path;
|
|
5
|
+
function get(options) {
|
|
6
|
+
const path = extractPath(options) || '.';
|
|
7
|
+
const getFn = (0, pathGetter_1.default)(path);
|
|
6
8
|
return (data) => getFn(data);
|
|
7
9
|
}
|
|
8
10
|
exports.default = get;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/functions/get.ts"],"names":[],"mappings":";;AACA,oDAAwC;AAMxC,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/functions/get.ts"],"names":[],"mappings":";;AACA,oDAAwC;AAMxC,MAAM,WAAW,GAAG,CAAC,IAAsB,EAAE,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;AAE7C,SAAwB,GAAG,CAAC,OAAyB;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,CAAA;IACxC,MAAM,KAAK,GAAG,IAAA,oBAAM,EAAC,IAAI,CAAC,CAAA;IAE1B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AALD,sBAKC"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { value, fixed } from './value';
|
|
2
2
|
import compare from './compare';
|
|
3
|
+
import explode from './explode';
|
|
3
4
|
import get from './get';
|
|
4
|
-
import join from './
|
|
5
|
+
import { join, split } from './joinSplit';
|
|
6
|
+
import logical from './logical';
|
|
7
|
+
import map from './map';
|
|
8
|
+
import template from './template';
|
|
5
9
|
declare const _default: {
|
|
6
|
-
alt: typeof alt;
|
|
7
10
|
compare: typeof compare;
|
|
11
|
+
explode: typeof explode;
|
|
12
|
+
fixed: typeof fixed;
|
|
8
13
|
get: typeof get;
|
|
9
14
|
join: typeof join;
|
|
15
|
+
logical: typeof logical;
|
|
16
|
+
map: typeof map;
|
|
17
|
+
split: typeof split;
|
|
18
|
+
template: typeof template;
|
|
19
|
+
value: typeof value;
|
|
10
20
|
};
|
|
11
21
|
export default _default;
|
package/dist/functions/index.js
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const value_1 = require("./value");
|
|
4
4
|
const compare_1 = require("./compare");
|
|
5
|
+
const explode_1 = require("./explode");
|
|
5
6
|
const get_1 = require("./get");
|
|
6
|
-
const
|
|
7
|
+
const joinSplit_1 = require("./joinSplit");
|
|
8
|
+
const logical_1 = require("./logical");
|
|
9
|
+
const map_1 = require("./map");
|
|
10
|
+
const template_1 = require("./template");
|
|
7
11
|
exports.default = {
|
|
8
|
-
alt: alt_1.default,
|
|
9
12
|
compare: compare_1.default,
|
|
13
|
+
explode: explode_1.default,
|
|
14
|
+
fixed: value_1.fixed,
|
|
10
15
|
get: get_1.default,
|
|
11
|
-
join:
|
|
16
|
+
join: joinSplit_1.join,
|
|
17
|
+
logical: logical_1.default,
|
|
18
|
+
map: map_1.default,
|
|
19
|
+
split: joinSplit_1.split,
|
|
20
|
+
template: template_1.default,
|
|
21
|
+
value: value_1.value,
|
|
12
22
|
};
|
|
13
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;AAAA,+BAAuB;AACvB,uCAA+B;AAC/B,+BAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AACtC,uCAA+B;AAC/B,uCAA+B;AAC/B,+BAAuB;AACvB,2CAAyC;AACzC,uCAA+B;AAC/B,+BAAuB;AACvB,yCAAiC;AAEjC,kBAAe;IACb,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,KAAK,EAAL,aAAK;IACL,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,gBAAI;IACJ,OAAO,EAAP,iBAAO;IACP,GAAG,EAAH,aAAG;IACH,KAAK,EAAL,iBAAK;IACL,QAAQ,EAAR,kBAAQ;IACR,KAAK,EAAL,aAAK;CACN,CAAA"}
|
package/dist/functions/join.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Operands, DataMapper } from '../types';
|
|
2
2
|
interface Options extends Operands {
|
|
3
3
|
path?: string | string[];
|
|
4
4
|
sep?: string;
|
|
5
5
|
}
|
|
6
|
-
export default function join({ path, sep }: Options):
|
|
6
|
+
export default function join({ path, sep }: Options): DataMapper;
|
|
7
7
|
export {};
|
package/dist/functions/join.js
CHANGED
|
@@ -5,7 +5,7 @@ function join({ path = [], sep = ' ' }) {
|
|
|
5
5
|
const getFns = [].concat(path).map(pathGetter_1.default);
|
|
6
6
|
return (data) => {
|
|
7
7
|
const values = getFns.map((fn) => fn(data));
|
|
8
|
-
return values.filter(value => typeof value !== 'undefined').join(sep);
|
|
8
|
+
return values.filter((value) => typeof value !== 'undefined').join(sep);
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
exports.default = join;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/functions/join.ts"],"names":[],"mappings":";;AACA,oDAAwC;AAOxC,SAAwB,IAAI,
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/functions/join.ts"],"names":[],"mappings":";;AACA,oDAAwC;AAOxC,SAAwB,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAW;IAC5D,MAAM,MAAM,GAAI,EAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAExD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzE,CAAC,CAAA;AACH,CAAC;AAPD,uBAOC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Operands, DataMapper } from '../types';
|
|
2
|
+
interface Options extends Operands {
|
|
3
|
+
path?: string | string[];
|
|
4
|
+
sep?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function join(options: Options): DataMapper;
|
|
7
|
+
export declare function split(options: Options): DataMapper;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.split = exports.join = void 0;
|
|
4
|
+
const pathGetter_1 = require("../utils/pathGetter");
|
|
5
|
+
const pathSetter_1 = require("../utils/pathSetter");
|
|
6
|
+
function joinSplit({ path = [], sep = ' ' }, split) {
|
|
7
|
+
const pathArr = [].concat(path);
|
|
8
|
+
const getFns = pathArr.map(pathGetter_1.default);
|
|
9
|
+
const setFns = pathArr.map(pathSetter_1.default);
|
|
10
|
+
return (data, { rev }) => {
|
|
11
|
+
if (split ? !rev : rev) {
|
|
12
|
+
const values = typeof data === 'string' ? data.split(sep) : [];
|
|
13
|
+
let ret = {};
|
|
14
|
+
setFns.forEach((setFn, index) => {
|
|
15
|
+
ret = setFn(values[index], ret);
|
|
16
|
+
});
|
|
17
|
+
return ret;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const values = getFns.map((fn) => fn(data));
|
|
21
|
+
return values.filter((value) => value !== undefined).join(sep);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function join(options) {
|
|
26
|
+
return joinSplit(options, false);
|
|
27
|
+
}
|
|
28
|
+
exports.join = join;
|
|
29
|
+
function split(options) {
|
|
30
|
+
return joinSplit(options, true);
|
|
31
|
+
}
|
|
32
|
+
exports.split = split;
|
|
33
|
+
//# sourceMappingURL=joinSplit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinSplit.js","sourceRoot":"","sources":["../../src/functions/joinSplit.ts"],"names":[],"mappings":";;;AACA,oDAAwC;AACxC,oDAAwC;AAOxC,SAAS,SAAS,CAChB,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAW,EACjC,KAAc;IAEd,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;IAElC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9D,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAE9B,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,CAAA;SACX;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,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC/D;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,OAAgB;IACnC,OAAO,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAC,OAAgB;IACpC,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
let ret = {};
|
|
15
|
+
const value = Boolean(data);
|
|
16
|
+
setFns.forEach((setFn) => {
|
|
17
|
+
ret = setFn(value, ret);
|
|
18
|
+
});
|
|
19
|
+
return ret;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const values = getFns.map((fn) => fn(data));
|
|
23
|
+
return values.reduce(logicalOp);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.default = compare;
|
|
28
|
+
//# 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,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,CAAA;SACX;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;AAzBD,0BAyBC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mapAny = require("map-any");
|
|
4
|
+
const isSupportedValue = (data) => ['string', 'number', 'boolean'].includes(typeof data) ||
|
|
5
|
+
data === null ||
|
|
6
|
+
data === undefined;
|
|
7
|
+
function findFirstMatch(value, dictionary, direction) {
|
|
8
|
+
const match = dictionary.find((dict) => dict[direction] === value);
|
|
9
|
+
return match ? match[1 - direction] : undefined;
|
|
10
|
+
}
|
|
11
|
+
function translate(data, dictionary, rev) {
|
|
12
|
+
const direction = Number(rev);
|
|
13
|
+
return mapAny((data) => {
|
|
14
|
+
const value = isSupportedValue(data) ? data : undefined;
|
|
15
|
+
const match = findFirstMatch(value, dictionary, direction);
|
|
16
|
+
if (match === undefined || match === '*') {
|
|
17
|
+
const starMatch = findFirstMatch('*', dictionary, direction);
|
|
18
|
+
return starMatch === undefined ? match : starMatch;
|
|
19
|
+
}
|
|
20
|
+
return match;
|
|
21
|
+
}, data);
|
|
22
|
+
}
|
|
23
|
+
function extractDictionary(dictionary, dictionaries) {
|
|
24
|
+
if (typeof dictionary === 'string') {
|
|
25
|
+
return dictionaries && dictionaries[dictionary];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return dictionary;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function map(operands, options) {
|
|
32
|
+
const dictionary = extractDictionary(operands.dictionary, options && options.dictionaries);
|
|
33
|
+
if (!dictionary) {
|
|
34
|
+
return () => undefined;
|
|
35
|
+
}
|
|
36
|
+
return (data, context) => {
|
|
37
|
+
const { rev } = context;
|
|
38
|
+
const match = translate(data, dictionary, rev);
|
|
39
|
+
return match === '*' ? data : match;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
exports.default = map;
|
|
43
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/functions/map.ts"],"names":[],"mappings":";;AAAA,kCAAkC;AAOlC,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,OAAO,EAAE,EAAE;QACvB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;QACvB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAC9C,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IACrC,CAAC,CAAA;AACH,CAAC;AAhBD,sBAgBC"}
|
package/dist/functions/not.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DataMapper
|
|
2
|
-
export default function not(fn: DataMapper
|
|
1
|
+
import { DataMapper } from '../types';
|
|
2
|
+
export default function not(fn: DataMapper): DataMapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../src/functions/not.ts"],"names":[],"mappings":";;AAEA,SAAwB,GAAG,
|
|
1
|
+
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../src/functions/not.ts"],"names":[],"mappings":";;AAEA,SAAwB,GAAG,CAAC,EAAc;IACxC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC;AAFD,sBAEC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Handlebars = require("handlebars");
|
|
4
|
+
const mapAny = require("map-any");
|
|
5
|
+
const pathGetter_1 = require("../utils/pathGetter");
|
|
6
|
+
const extractOperands = (operands) => typeof operands === 'string' ? { template: operands } : operands;
|
|
7
|
+
function template(operands) {
|
|
8
|
+
const { template: templateStr, templatePath } = extractOperands(operands);
|
|
9
|
+
if (typeof templateStr === 'string') {
|
|
10
|
+
const generate = Handlebars.compile(templateStr);
|
|
11
|
+
return (data) => mapAny((data) => generate(data), data);
|
|
12
|
+
}
|
|
13
|
+
else if (typeof templatePath === 'string') {
|
|
14
|
+
const getFn = (0, pathGetter_1.default)(templatePath);
|
|
15
|
+
return (data) => {
|
|
16
|
+
const templateStr = getFn(data);
|
|
17
|
+
if (typeof templateStr === 'string') {
|
|
18
|
+
const generate = Handlebars.compile(templateStr);
|
|
19
|
+
return mapAny((data) => generate(data), data);
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return () => undefined;
|
|
25
|
+
}
|
|
26
|
+
exports.default = template;
|
|
27
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/functions/template.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,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,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,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;KACjE;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,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;gBAChD,OAAO,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;aACvD;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;KACF;IAED,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;AACxB,CAAC;AAtBD,2BAsBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Path,
|
|
2
|
-
export default function validate(path: Path, schema:
|
|
1
|
+
import { Path, DataMapper } from '../types';
|
|
2
|
+
export default function validate(path: Path, schema: Record<string, unknown> | boolean): DataMapper;
|
|
@@ -4,7 +4,7 @@ const Ajv = require("ajv");
|
|
|
4
4
|
const pathGetter_1 = require("../utils/pathGetter");
|
|
5
5
|
const ajv = new Ajv();
|
|
6
6
|
function validate(path, schema) {
|
|
7
|
-
const getFn = pathGetter_1.default(path);
|
|
7
|
+
const getFn = (0, pathGetter_1.default)(path);
|
|
8
8
|
const validate = ajv.compile(schema);
|
|
9
9
|
return (data) => validate(getFn(data));
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/functions/validate.ts"],"names":[],"mappings":";;AAAA,2BAA2B;AAE3B,oDAAwC;AAExC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;AAErB,SAAwB,QAAQ,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/functions/validate.ts"],"names":[],"mappings":";;AAAA,2BAA2B;AAE3B,oDAAwC;AAExC,MAAM,GAAG,GAAG,IAAI,GAAG,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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fixed = exports.value = exports.extractValue = void 0;
|
|
4
|
+
const isOptions = (value) => typeof value === 'object' && value !== null;
|
|
5
|
+
const extractValue = (value) => {
|
|
6
|
+
const val = isOptions(value) ? value.value : value;
|
|
7
|
+
return typeof val === 'function' ? val() : val;
|
|
8
|
+
};
|
|
9
|
+
exports.extractValue = extractValue;
|
|
10
|
+
function value(operands) {
|
|
11
|
+
const value = (0, exports.extractValue)(operands);
|
|
12
|
+
return (_data, context) => (context.onlyMappedValues ? undefined : value);
|
|
13
|
+
}
|
|
14
|
+
exports.value = value;
|
|
15
|
+
function fixed(operands) {
|
|
16
|
+
const value = (0, exports.extractValue)(operands);
|
|
17
|
+
return (_data, _context) => value;
|
|
18
|
+
}
|
|
19
|
+
exports.fixed = fixed;
|
|
20
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -0,0 +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,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC3E,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK,CAAC,QAAiB;IACrC,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAA;AACnC,CAAC;AAHD,sBAGC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { MapDefinition, MapTransform, Options } from './types';
|
|
2
|
+
import functions from './functions';
|
|
3
|
+
import iterate from './operations/iterate';
|
|
2
4
|
export { get, set } from './operations/getSet';
|
|
3
5
|
export { default as root } from './operations/root';
|
|
4
6
|
export { default as alt } from './operations/alt';
|
|
7
|
+
export { default as apply } from './operations/apply';
|
|
5
8
|
export { default as value } from './operations/value';
|
|
6
9
|
export { default as fixed } from './operations/fixed';
|
|
7
10
|
export { default as concat } from './operations/concat';
|
|
@@ -11,12 +14,10 @@ export { default as plug } from './operations/plug';
|
|
|
11
14
|
export { default as lookup } from './operations/lookup';
|
|
12
15
|
export { default as transform } from './operations/transform';
|
|
13
16
|
export { default as filter } from './operations/filter';
|
|
17
|
+
export { default as ifelse } from './operations/ifelse';
|
|
14
18
|
export { fwd, rev, divide } from './operations/directionals';
|
|
15
|
-
export {
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
get: typeof import("./functions/get").default;
|
|
20
|
-
join: typeof import("./functions/join").default;
|
|
21
|
-
};
|
|
19
|
+
export { default as merge } from './operations/merge';
|
|
20
|
+
export { default as modify } from './operations/modify';
|
|
21
|
+
export { iterate, functions };
|
|
22
|
+
export { CustomFunction, DataMapper, MapDefinition, MapObject, MapPipe, MapTransform, Dictionary, Dictionaries, } from './types';
|
|
22
23
|
export declare function mapTransform(def: MapDefinition, options?: Options): MapTransform;
|