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
package/dist/utils/pathSetter.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeExisting = void 0;
|
|
3
4
|
const ramda_1 = require("ramda");
|
|
5
|
+
const functional_1 = require("./functional");
|
|
4
6
|
const preparePathPart = (part, isAfterOpenArray) => isAfterOpenArray ? `]${part}` : part;
|
|
5
7
|
const pathSplitter = function* (path) {
|
|
6
8
|
const regEx = /([^[\].]+|\[\w*])/g;
|
|
@@ -15,8 +17,10 @@ const pathSplitter = function* (path) {
|
|
|
15
17
|
} while (match !== null);
|
|
16
18
|
};
|
|
17
19
|
const split = (path) => [...pathSplitter(path)];
|
|
18
|
-
const setOnObject = (prop) => (value) => ({
|
|
19
|
-
|
|
20
|
+
const setOnObject = (prop) => (value) => ({
|
|
21
|
+
[prop]: value,
|
|
22
|
+
});
|
|
23
|
+
const setOnOpenArray = (value) => Array.isArray(value) ? value : typeof value === 'undefined' ? [] : [value];
|
|
20
24
|
const setOnArrayIndex = (index, value) => {
|
|
21
25
|
const arr = [];
|
|
22
26
|
arr[index] = value;
|
|
@@ -37,31 +41,25 @@ const setter = (prop) => {
|
|
|
37
41
|
return setOnObject(prop);
|
|
38
42
|
}
|
|
39
43
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, left);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
: right
|
|
51
|
-
: Array.isArray(right)
|
|
52
|
-
? mergeArrays(ensureArray(left), right)
|
|
53
|
-
: isObject(right)
|
|
54
|
-
? ramda_1.mergeDeepWith(mergeExisting, left, right)
|
|
55
|
-
: right;
|
|
44
|
+
function mergeExisting(left, right) {
|
|
45
|
+
if (Array.isArray(right)) {
|
|
46
|
+
return right.reduce((arr, value, index) => {
|
|
47
|
+
arr[index] = (0, ramda_1.mergeDeepWith)(mergeExisting, left[index], value);
|
|
48
|
+
return arr;
|
|
49
|
+
}, left);
|
|
50
|
+
}
|
|
51
|
+
return right;
|
|
52
|
+
}
|
|
53
|
+
exports.mergeExisting = mergeExisting;
|
|
56
54
|
function pathSetter(path) {
|
|
57
55
|
const setters = split(path).map(setter);
|
|
58
56
|
if (setters.length === 0) {
|
|
59
57
|
return ramda_1.identity;
|
|
60
58
|
}
|
|
61
|
-
const setterFn =
|
|
62
|
-
return (value, object) => {
|
|
59
|
+
const setterFn = (0, functional_1.compose)(...setters);
|
|
60
|
+
return (value, object = null) => {
|
|
63
61
|
const data = setterFn(value);
|
|
64
|
-
return
|
|
62
|
+
return object ? (0, ramda_1.mergeDeepWith)(mergeExisting, object, data) : data;
|
|
65
63
|
};
|
|
66
64
|
}
|
|
67
65
|
exports.default = pathSetter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathSetter.js","sourceRoot":"","sources":["../../src/utils/pathSetter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pathSetter.js","sourceRoot":"","sources":["../../src/utils/pathSetter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,7 @@
|
|
|
1
|
-
import { State,
|
|
2
|
-
export declare const setStateValue: (state: State, value:
|
|
3
|
-
export declare const getStateValue: (state: State) =>
|
|
4
|
-
export declare const setValueFromState: (state: State, { value }: State) =>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
rev?: boolean | undefined;
|
|
9
|
-
onlyMapped?: boolean | undefined;
|
|
10
|
-
arr?: boolean | undefined;
|
|
11
|
-
};
|
|
12
|
-
export declare const liftState: (state: State) => {
|
|
13
|
-
context: Data;
|
|
14
|
-
value: undefined;
|
|
15
|
-
arr: boolean;
|
|
16
|
-
root: Data;
|
|
17
|
-
rev?: boolean | undefined;
|
|
18
|
-
onlyMapped?: boolean | undefined;
|
|
19
|
-
};
|
|
20
|
-
export declare const lowerState: (state: State) => {
|
|
21
|
-
value: Data;
|
|
22
|
-
root: Data;
|
|
23
|
-
context: Data;
|
|
24
|
-
rev?: boolean | undefined;
|
|
25
|
-
onlyMapped?: boolean | undefined;
|
|
26
|
-
arr?: boolean | undefined;
|
|
27
|
-
};
|
|
28
|
-
export declare const contextFromState: ({ rev, onlyMapped }: State) => {
|
|
29
|
-
rev: boolean;
|
|
30
|
-
onlyMappedValues: boolean;
|
|
31
|
-
};
|
|
32
|
-
export declare const pipeMapFns: (fns: StateMapper[]) => (state: State) => State;
|
|
33
|
-
export declare const populateState: ({ rev, onlyMapped }: {
|
|
34
|
-
rev?: boolean | undefined;
|
|
35
|
-
onlyMapped?: boolean | undefined;
|
|
36
|
-
}) => (data: Data) => State;
|
|
1
|
+
import { State, Options, Context } from '../types';
|
|
2
|
+
export declare const setStateValue: (state: State, value: unknown) => State;
|
|
3
|
+
export declare const getStateValue: (state: State) => any;
|
|
4
|
+
export declare const setValueFromState: (state: State, { value }: State) => State;
|
|
5
|
+
export declare const contextFromState: ({ rev, onlyMapped, }: State) => Context;
|
|
6
|
+
export declare const populateState: ({ rev, onlyMapped, }: Partial<State>) => (data: unknown) => State;
|
|
7
|
+
export declare const shouldSkipMutation: ({ mutateNull }: Options) => (state: State) => boolean;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.
|
|
3
|
+
exports.shouldSkipMutation = exports.populateState = exports.contextFromState = exports.setValueFromState = exports.getStateValue = exports.setStateValue = void 0;
|
|
4
|
+
const setStateValue = (state, value) => ({
|
|
5
|
+
...state,
|
|
6
|
+
value,
|
|
7
|
+
});
|
|
8
|
+
exports.setStateValue = setStateValue;
|
|
9
|
+
const getStateValue = (state) => state.value;
|
|
10
|
+
exports.getStateValue = getStateValue;
|
|
11
|
+
const setValueFromState = (state, { value }) => ({
|
|
12
|
+
...state,
|
|
13
|
+
value,
|
|
14
|
+
});
|
|
15
|
+
exports.setValueFromState = setValueFromState;
|
|
16
|
+
const contextFromState = ({ rev = false, onlyMapped = false, }) => ({
|
|
9
17
|
rev,
|
|
10
|
-
onlyMappedValues: onlyMapped
|
|
18
|
+
onlyMappedValues: onlyMapped,
|
|
11
19
|
});
|
|
12
|
-
exports.
|
|
13
|
-
|
|
20
|
+
exports.contextFromState = contextFromState;
|
|
21
|
+
const populateState = ({ rev = false, onlyMapped = false, }) => (data) => ({
|
|
14
22
|
root: data,
|
|
15
23
|
context: data,
|
|
16
24
|
value: data,
|
|
17
25
|
rev,
|
|
18
|
-
onlyMapped
|
|
26
|
+
onlyMapped,
|
|
19
27
|
});
|
|
28
|
+
exports.populateState = populateState;
|
|
29
|
+
const shouldSkipMutation = ({ mutateNull = true }) => (state) => state.value === undefined || (!mutateNull && state.value === null);
|
|
30
|
+
exports.shouldSkipMutation = shouldSkipMutation;
|
|
20
31
|
//# sourceMappingURL=stateHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,KAAc,EAAS,EAAE,CAAC,CAAC;IACrE,GAAG,KAAK;IACR,KAAK;CACN,CAAC,CAAA;AAHW,QAAA,aAAa,iBAGxB;AACK,MAAM,aAAa,GAAG,CAAC,KAAY,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;AAAlD,QAAA,aAAa,iBAAqC;AAExD,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,KAAK,EAAS,EAAS,EAAE,CAAC,CAAC;IAC3E,GAAG,KAAK;IACR,KAAK;CACN,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,EAC/B,GAAG,GAAG,KAAK,EACX,UAAU,GAAG,KAAK,GACZ,EAAW,EAAE,CAAC,CAAC;IACrB,GAAG;IACH,gBAAgB,EAAE,UAAU;CAC7B,CAAC,CAAA;AANW,QAAA,gBAAgB,oBAM3B;AAEK,MAAM,aAAa,GAAG,CAAC,EAC5B,GAAG,GAAG,KAAK,EACX,UAAU,GAAG,KAAK,GACH,EAAE,EAAE,CAAC,CAAC,IAAa,EAAS,EAAE,CAAC,CAAC;IAC/C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;IACX,GAAG;IACH,UAAU;CACX,CAAC,CAAA;AATW,QAAA,aAAa,iBASxB;AAEK,MAAM,kBAAkB,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,EAAW,EAAE,EAAE,CAAC,CACpE,KAAY,EACH,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;AAFnE,QAAA,kBAAkB,sBAEiD"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "map-transform",
|
|
3
|
-
"version": "0.3
|
|
3
|
+
"version": "0.4.0-alpha.3",
|
|
4
4
|
"description": "Map and transform objects with mapping definitions",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
5
|
"author": "Kjell-Morten Bratsberg Thorsen <post@kjellmorten.no>",
|
|
8
6
|
"license": "ISC",
|
|
9
7
|
"keywords": [
|
|
@@ -13,80 +11,44 @@
|
|
|
13
11
|
"object",
|
|
14
12
|
"path"
|
|
15
13
|
],
|
|
14
|
+
"main": "dist/index.js",
|
|
15
|
+
"types": "dist/index.d.ts",
|
|
16
16
|
"scripts": {
|
|
17
|
-
"
|
|
18
|
-
"test": "nyc --reporter=text-summary ava dist/**/*.test.js",
|
|
19
|
-
"test:watch": "npm run dev",
|
|
17
|
+
"test": "npm run lint && npm run build && nyc --reporter=text-summary ava --config ./ava-dist.config.js",
|
|
20
18
|
"test:inspect": "node --inspect node_modules/ava/profile.js",
|
|
19
|
+
"test:watch": "npm run dev",
|
|
21
20
|
"dev": "ava --watch",
|
|
22
21
|
"build": "tsc",
|
|
23
|
-
"
|
|
22
|
+
"prepublish": "npm run build",
|
|
24
23
|
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
|
25
|
-
"nyc:report": "nyc report",
|
|
26
|
-
"lint": "
|
|
27
|
-
},
|
|
28
|
-
"ava": {
|
|
29
|
-
"compileEnhancements": false,
|
|
30
|
-
"extensions": [
|
|
31
|
-
"ts"
|
|
32
|
-
],
|
|
33
|
-
"require": [
|
|
34
|
-
"ts-node/register/transpile-only"
|
|
35
|
-
],
|
|
36
|
-
"files": [
|
|
37
|
-
"src/**/*.test.ts"
|
|
38
|
-
],
|
|
39
|
-
"sources": [
|
|
40
|
-
"src/**/!(*.test).ts"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"nyc": {
|
|
44
|
-
"extension": [
|
|
45
|
-
".ts",
|
|
46
|
-
".js"
|
|
47
|
-
],
|
|
48
|
-
"include": [
|
|
49
|
-
"**/!(*.test).js",
|
|
50
|
-
"**/!(*.test|*.d).ts"
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
"prettier": {
|
|
54
|
-
"semi": false,
|
|
55
|
-
"singleQuote": true,
|
|
56
|
-
"jsxSingleQuote": true
|
|
24
|
+
"nyc:report": "nyc report --reporter=text --reporter=html",
|
|
25
|
+
"lint": "eslint --ext .ts src"
|
|
57
26
|
},
|
|
58
27
|
"repository": {
|
|
59
28
|
"type": "git",
|
|
60
29
|
"url": "git+https://github.com/integreat-io/map-transform.git"
|
|
61
30
|
},
|
|
62
31
|
"engines": {
|
|
63
|
-
"node": ">=
|
|
64
|
-
"npm": ">= 5.4"
|
|
32
|
+
"node": ">= 14"
|
|
65
33
|
},
|
|
66
34
|
"bugs": {
|
|
67
35
|
"url": "https://github.com/integreat-io/map-transform/issues"
|
|
68
36
|
},
|
|
69
37
|
"homepage": "https://github.com/integreat-io/map-transform#readme",
|
|
70
38
|
"dependencies": {
|
|
71
|
-
"@types/
|
|
72
|
-
"
|
|
39
|
+
"@types/lodash.merge": "^4.6.6",
|
|
40
|
+
"@types/ramda": "^0.27.45",
|
|
41
|
+
"ajv": "^6.12.6",
|
|
42
|
+
"handlebars": "^4.7.7",
|
|
43
|
+
"lodash.merge": "^4.6.2",
|
|
73
44
|
"map-any": "^0.2.1",
|
|
74
|
-
"ramda": "^0.27.
|
|
45
|
+
"ramda": "^0.27.1"
|
|
75
46
|
},
|
|
76
47
|
"devDependencies": {
|
|
48
|
+
"@integreat/ts-dev-setup": "^2.1.0",
|
|
77
49
|
"@types/deep-freeze": "^0.1.2",
|
|
78
|
-
"@types/sinon": "^
|
|
79
|
-
"ava": "^2.4.0",
|
|
80
|
-
"coveralls": "^3.0.9",
|
|
50
|
+
"@types/sinon": "^9.0.11",
|
|
81
51
|
"deep-freeze": "0.0.1",
|
|
82
|
-
"
|
|
83
|
-
"prettier": "^1.19.1",
|
|
84
|
-
"sinon": "^8.1.1",
|
|
85
|
-
"ts-node": "^8.6.2",
|
|
86
|
-
"tslint": "^6.0.0",
|
|
87
|
-
"tslint-config-prettier": "^1.18.0",
|
|
88
|
-
"tslint-config-security": "^1.16.0",
|
|
89
|
-
"tslint-config-standard": "^9.0.0",
|
|
90
|
-
"typescript": "^3.7.5"
|
|
52
|
+
"sinon": "^9.2.4"
|
|
91
53
|
}
|
|
92
54
|
}
|
package/dist/functions/alt.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Data, Operands, Context } from '../types';
|
|
2
|
-
interface Options extends Operands {
|
|
3
|
-
value?: Data;
|
|
4
|
-
}
|
|
5
|
-
export default function alt({ value }: Options): (data: Data, context?: Context | undefined) => string | number | boolean | object | null | undefined;
|
|
6
|
-
export {};
|
package/dist/functions/alt.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function alt({ value }) {
|
|
4
|
-
return (data, context) => {
|
|
5
|
-
const { onlyMappedValues = false } = context || {};
|
|
6
|
-
return typeof data === 'undefined' && !onlyMappedValues ? value : data;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
exports.default = alt;
|
|
10
|
-
//# sourceMappingURL=alt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alt.js","sourceRoot":"","sources":["../../src/functions/alt.ts"],"names":[],"mappings":";;AAOA,SAAwB,GAAG,CAAC,EAAE,KAAK,EAAW;IAC5C,OAAO,CAAC,IAAU,EAAE,OAAiB,EAAE,EAAE;QACvC,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAClD,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,CAAC,CAAA;AACH,CAAC;AALD,sBAKC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const ramda_1 = require("ramda");
|
|
4
|
-
const stateHelpers_1 = require("./stateHelpers");
|
|
5
|
-
const getSet_1 = require("../operations/getSet");
|
|
6
|
-
const directionals_1 = require("../operations/directionals");
|
|
7
|
-
const pipe_1 = require("../operations/pipe");
|
|
8
|
-
const definitionHelpers_1 = require("./definitionHelpers");
|
|
9
|
-
const pathSetter_1 = require("./pathSetter");
|
|
10
|
-
const appendToPath = (path, fragment) => [...path, fragment];
|
|
11
|
-
const runAndMergeState = (fn) => (options) => (state) => {
|
|
12
|
-
const nextState = fn(options)(stateHelpers_1.lowerState(state));
|
|
13
|
-
return stateHelpers_1.setStateValue(state, pathSetter_1.merge(state.value, nextState.value));
|
|
14
|
-
};
|
|
15
|
-
const concatToArray = (existing, setFn) => (Array.isArray(existing) ? [...existing, setFn] : [existing, setFn]);
|
|
16
|
-
function pipeWithSetPath(existing, options, pathArray) {
|
|
17
|
-
const [path, index] = pathArray.join('.').split('/');
|
|
18
|
-
const fn = runAndMergeState(pipe_1.default(concatToArray(existing, getSet_1.set(path))));
|
|
19
|
-
return index === undefined ? [fn(options)] : [directionals_1.rev(fn)(options)];
|
|
20
|
-
}
|
|
21
|
-
const extractSetFns = (def, options, path = []) => definitionHelpers_1.isMapObject(def)
|
|
22
|
-
? Object.keys(def).reduce((sets, key) => [
|
|
23
|
-
...sets,
|
|
24
|
-
...extractSetFns(def[key], options, appendToPath(path, key))
|
|
25
|
-
], [])
|
|
26
|
-
: def === null || def === undefined
|
|
27
|
-
? []
|
|
28
|
-
: pipeWithSetPath(def, options, path);
|
|
29
|
-
function objectToMapFunction(def, options) {
|
|
30
|
-
const fns = extractSetFns(def, options);
|
|
31
|
-
return ramda_1.compose(stateHelpers_1.pipeMapFns(fns), stateHelpers_1.liftState);
|
|
32
|
-
}
|
|
33
|
-
exports.default = objectToMapFunction;
|
|
34
|
-
//# sourceMappingURL=objectToMapFunction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectToMapFunction.js","sourceRoot":"","sources":["../../src/utils/objectToMapFunction.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAY/B,iDAKuB;AACvB,iDAA0C;AAC1C,6DAAgD;AAChD,6CAAqC;AACrC,2DAAiD;AACjD,6CAAoC;AAEpC,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAA;AAE9E,MAAM,gBAAgB,GAAG,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,CAChE,KAAY,EACL,EAAE;IACT,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,yBAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,OAAO,4BAAa,CAAC,KAAK,EAAE,kBAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CACpB,QAAsD,EACtD,KAAgB,EAChB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;AAEzE,SAAS,eAAe,CACtB,QAAsD,EACtD,OAAgB,EAChB,SAAiB;IAEjB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,EAAE,GAAG,gBAAgB,CAAC,cAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,aAAa,GAAG,CACpB,GAA8B,EAC9B,OAAgB,EAChB,OAAiB,EAAE,EACJ,EAAE,CACjB,+BAAW,CAAC,GAAG,CAAC;IACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACrB,CAAC,IAAmB,EAAE,GAAW,EAAE,EAAE,CAAC;QACpC,GAAG,IAAI;QACP,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC7D,EACD,EAAE,CACH;IACH,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AAEzC,SAAwB,mBAAmB,CAAC,GAAc,EAAE,OAAgB;IAC1E,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,OAAO,eAAO,CAAC,yBAAU,CAAC,GAAG,CAAC,EAAE,wBAAS,CAAC,CAAA;AAC5C,CAAC;AAHD,sCAGC"}
|