map-transform 0.4.0-alpha.20 → 0.4.0-alpha.21
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 +39 -30
- package/dist/functions/compare.js +8 -3
- package/dist/functions/compare.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/operations/alt.d.ts +1 -1
- package/dist/operations/alt.js +24 -8
- package/dist/operations/alt.js.map +1 -1
- package/dist/operations/apply.js +4 -2
- 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 +5 -6
- 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 -4
- package/dist/operations/getSet.js +136 -32
- package/dist/operations/getSet.js.map +1 -1
- package/dist/operations/ifelse.js +14 -8
- package/dist/operations/ifelse.js.map +1 -1
- package/dist/operations/iterate.d.ts +2 -1
- package/dist/operations/iterate.js +14 -10
- package/dist/operations/iterate.js.map +1 -1
- package/dist/operations/logical.js +6 -6
- package/dist/operations/logical.js.map +1 -1
- package/dist/operations/lookup.js +9 -5
- package/dist/operations/lookup.js.map +1 -1
- package/dist/operations/merge.js +9 -7
- package/dist/operations/merge.js.map +1 -1
- package/dist/operations/modify.js +9 -6
- package/dist/operations/modify.js.map +1 -1
- package/dist/operations/pipe.js +14 -16
- 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 -5
- package/dist/operations/root.js.map +1 -1
- package/dist/operations/transform.js +3 -1
- 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 +13 -8
- package/dist/utils/array.d.ts +1 -0
- package/dist/utils/array.js +3 -1
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/definitionHelpers.d.ts +3 -1
- package/dist/utils/definitionHelpers.js +46 -24
- package/dist/utils/definitionHelpers.js.map +1 -1
- package/dist/utils/stateHelpers.d.ts +18 -5
- package/dist/utils/stateHelpers.js +26 -10
- 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 +1 -1
- 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 -111
- package/dist/operations/mutate.js.map +0 -1
package/dist/utils/array.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cloneAsArray = exports.ensureArray = void 0;
|
|
3
|
+
exports.indexOfIfArray = exports.cloneAsArray = exports.ensureArray = void 0;
|
|
4
4
|
const ensureArray = (value) => Array.isArray(value)
|
|
5
5
|
? value
|
|
6
6
|
: value === undefined || value === null
|
|
@@ -9,4 +9,6 @@ const ensureArray = (value) => Array.isArray(value)
|
|
|
9
9
|
exports.ensureArray = ensureArray;
|
|
10
10
|
const cloneAsArray = (value) => (0, exports.ensureArray)(value).slice();
|
|
11
11
|
exports.cloneAsArray = cloneAsArray;
|
|
12
|
+
const indexOfIfArray = (arr, index) => Array.isArray(arr) && typeof index === 'number' ? arr[index] : arr;
|
|
13
|
+
exports.indexOfIfArray = indexOfIfArray;
|
|
12
14
|
//# sourceMappingURL=array.js.map
|
package/dist/utils/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AALA,QAAA,WAAW,eAKX;AAEN,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;AAA7D,QAAA,YAAY,gBAAiD"}
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AALA,QAAA,WAAW,eAKX;AAEN,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;AAA7D,QAAA,YAAY,gBAAiD;AAEnE,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,KAAc,EAAE,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AADvD,QAAA,cAAc,kBACyC"}
|
|
@@ -5,4 +5,6 @@ export declare const isPath: (def: unknown) => def is string;
|
|
|
5
5
|
export declare const isMapObject: (def: unknown) => def is MapObject;
|
|
6
6
|
export declare const isMapPipe: (def: unknown) => def is MapPipe;
|
|
7
7
|
export declare const isOperation: (def: unknown) => def is Operation;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const isMapDefinition: (def: unknown) => def is MapDefinition;
|
|
9
|
+
export declare const operationsFromDef: (def?: MapDefinition | undefined) => Operation[] | Operation;
|
|
10
|
+
export declare function operationFromDef(def?: MapDefinition): Operation;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.operationFromDef = exports.operationsFromDef = exports.isMapDefinition = exports.isOperation = exports.isMapPipe = exports.isMapObject = exports.isPath = exports.hasOperationProps = exports.isOperationType = void 0;
|
|
4
4
|
const functional_1 = require("./functional");
|
|
5
5
|
const is_1 = require("./is");
|
|
6
6
|
const getSet_1 = require("../operations/getSet");
|
|
7
|
-
const
|
|
7
|
+
const props_1 = require("../operations/props");
|
|
8
8
|
const iterate_1 = require("../operations/iterate");
|
|
9
|
-
const pipe_1 = require("../operations/pipe");
|
|
10
9
|
const transform_1 = require("../operations/transform");
|
|
11
10
|
const filter_1 = require("../operations/filter");
|
|
12
11
|
const ifelse_1 = require("../operations/ifelse");
|
|
@@ -15,6 +14,9 @@ const alt_1 = require("../operations/alt");
|
|
|
15
14
|
const directionals_1 = require("../operations/directionals");
|
|
16
15
|
const logical_1 = require("../operations/logical");
|
|
17
16
|
const concat_1 = require("../operations/concat");
|
|
17
|
+
const lookup_1 = require("../operations/lookup");
|
|
18
|
+
const pipe_1 = require("../operations/pipe");
|
|
19
|
+
const escape_1 = require("./escape");
|
|
18
20
|
const transformDefFromValue = ({ $value: value, ...def }) => ({
|
|
19
21
|
...def,
|
|
20
22
|
$transform: 'value',
|
|
@@ -30,7 +32,8 @@ const hasOperationProps = (def) => (0, exports.isOperationType)(def, '$transform
|
|
|
30
32
|
(0, exports.isOperationType)(def, '$value') ||
|
|
31
33
|
(0, exports.isOperationType)(def, '$and') ||
|
|
32
34
|
(0, exports.isOperationType)(def, '$or') ||
|
|
33
|
-
(0, exports.isOperationType)(def, '$concat')
|
|
35
|
+
(0, exports.isOperationType)(def, '$concat') ||
|
|
36
|
+
(0, exports.isOperationType)(def, '$lookup');
|
|
34
37
|
exports.hasOperationProps = hasOperationProps;
|
|
35
38
|
const isPath = (def) => typeof def === 'string';
|
|
36
39
|
exports.isPath = isPath;
|
|
@@ -40,39 +43,45 @@ const isMapPipe = (def) => Array.isArray(def);
|
|
|
40
43
|
exports.isMapPipe = isMapPipe;
|
|
41
44
|
const isOperation = (def) => typeof def === 'function';
|
|
42
45
|
exports.isOperation = isOperation;
|
|
46
|
+
const isMapDefinition = (def) => (0, exports.isPath)(def) || (0, is_1.isObject)(def) || (0, exports.isMapPipe)(def) || (0, exports.isOperation)(def);
|
|
47
|
+
exports.isMapDefinition = isMapDefinition;
|
|
43
48
|
const iterateIf = (fn, should) => should ? (0, iterate_1.default)(fn) : fn;
|
|
44
49
|
const wrapFromDefinition = (fn, def) => {
|
|
45
50
|
const fnIterated = iterateIf(fn, def.$iterate === true);
|
|
46
|
-
return (options) => {
|
|
51
|
+
return (options) => (next) => {
|
|
47
52
|
const dir = def.$direction;
|
|
48
53
|
if (typeof dir === 'string') {
|
|
49
54
|
if (dir === 'rev' || dir === options.revAlias) {
|
|
50
|
-
return (0, directionals_1.rev)(fnIterated)(options);
|
|
55
|
+
return (0, directionals_1.rev)(fnIterated)(options)(next);
|
|
51
56
|
}
|
|
52
57
|
else if (dir === 'fwd' || dir === options.fwdAlias) {
|
|
53
|
-
return (0, directionals_1.fwd)(fnIterated)(options);
|
|
58
|
+
return (0, directionals_1.fwd)(fnIterated)(options)(next);
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
|
-
return fnIterated
|
|
61
|
+
return Array.isArray(fnIterated)
|
|
62
|
+
? (0, pipe_1.default)(fnIterated)(options)(next)
|
|
63
|
+
: fnIterated(options)(next);
|
|
57
64
|
};
|
|
58
65
|
};
|
|
59
|
-
const createOperation = (operationFn, fnProp, def) => (options) => {
|
|
66
|
+
const createOperation = (operationFn, fnProp, def) => (options) => (next) => {
|
|
60
67
|
const { [fnProp]: fnId, ...operands } = def;
|
|
61
68
|
const fn = options.functions && options.functions[fnId];
|
|
62
69
|
return typeof fn === 'function'
|
|
63
|
-
? wrapFromDefinition(operationFn(fn(operands, options)), def)(options)
|
|
64
|
-
:
|
|
70
|
+
? wrapFromDefinition(operationFn(fn(operands, options)), def)(options)(next)
|
|
71
|
+
: (state) => next(state);
|
|
65
72
|
};
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
const setNoneValuesOnOptions = (options, noneValues) => Array.isArray(noneValues)
|
|
74
|
+
? { ...options, noneValues: noneValues.map(escape_1.unescapeValue) }
|
|
75
|
+
: options;
|
|
76
|
+
const createAltOperation = (operationFn, def) => (options) => (next) => {
|
|
77
|
+
const { $alt: defs, $undefined: noneValues } = def;
|
|
78
|
+
return Array.isArray(defs)
|
|
79
|
+
? wrapFromDefinition(operationFn(...defs), def)(setNoneValuesOnOptions(options, noneValues))(next)
|
|
80
|
+
: (state) => next(state);
|
|
72
81
|
};
|
|
73
|
-
const createIfOperation = (def) => (options) => {
|
|
74
|
-
const { $if: conditionPipeline, then: thenPipeline, else: elsePipeline } = def;
|
|
75
|
-
return wrapFromDefinition((0, ifelse_1.default)(conditionPipeline, thenPipeline, elsePipeline), def)(options);
|
|
82
|
+
const createIfOperation = (def) => (options) => (next) => {
|
|
83
|
+
const { $if: conditionPipeline, then: thenPipeline, else: elsePipeline, } = def;
|
|
84
|
+
return wrapFromDefinition((0, ifelse_1.default)(conditionPipeline, thenPipeline, elsePipeline), def)(options)(next);
|
|
76
85
|
};
|
|
77
86
|
const createApplyOperation = (operationFn, def) => {
|
|
78
87
|
const pipelineId = def.$apply;
|
|
@@ -82,6 +91,11 @@ const createPipelineOperation = (operationFn, fnProp, def) => {
|
|
|
82
91
|
const pipelines = def[fnProp];
|
|
83
92
|
return operationFn(...pipelines);
|
|
84
93
|
};
|
|
94
|
+
const createLookupOperation = (operationFn, def) => {
|
|
95
|
+
const arrayPath = def.$lookup;
|
|
96
|
+
const propPath = def.path;
|
|
97
|
+
return wrapFromDefinition(operationFn(arrayPath, propPath), def);
|
|
98
|
+
};
|
|
85
99
|
const operationFromObject = (def) => {
|
|
86
100
|
if ((0, exports.isOperationType)(def, '$transform')) {
|
|
87
101
|
return createOperation(transform_1.default, '$transform', def);
|
|
@@ -110,12 +124,15 @@ const operationFromObject = (def) => {
|
|
|
110
124
|
else if ((0, exports.isOperationType)(def, '$concat')) {
|
|
111
125
|
return createPipelineOperation(concat_1.default, '$concat', def);
|
|
112
126
|
}
|
|
127
|
+
else if ((0, exports.isOperationType)(def, '$lookup')) {
|
|
128
|
+
return createLookupOperation(lookup_1.default, def);
|
|
129
|
+
}
|
|
113
130
|
else {
|
|
114
|
-
return (0,
|
|
131
|
+
return (0, props_1.default)(def);
|
|
115
132
|
}
|
|
116
133
|
};
|
|
117
|
-
const
|
|
118
|
-
? (
|
|
134
|
+
const operationsFromDef = (def) => Array.isArray(def)
|
|
135
|
+
? def.flatMap(exports.operationsFromDef)
|
|
119
136
|
: (0, is_1.isObject)(def)
|
|
120
137
|
? operationFromObject(def)
|
|
121
138
|
: (0, exports.isPath)(def)
|
|
@@ -123,5 +140,10 @@ const mapFunctionFromDef = (def) => (0, exports.isMapPipe)(def)
|
|
|
123
140
|
: (0, exports.isOperation)(def)
|
|
124
141
|
? def
|
|
125
142
|
: (_options) => functional_1.identity;
|
|
126
|
-
exports.
|
|
143
|
+
exports.operationsFromDef = operationsFromDef;
|
|
144
|
+
function operationFromDef(def) {
|
|
145
|
+
const operations = (0, exports.operationsFromDef)(def);
|
|
146
|
+
return Array.isArray(operations) ? (0, pipe_1.default)(operations) : operations;
|
|
147
|
+
}
|
|
148
|
+
exports.operationFromDef = operationFromDef;
|
|
127
149
|
//# sourceMappingURL=definitionHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import { State
|
|
2
|
-
export declare const setStateValue: (state: State, value: unknown) => State;
|
|
1
|
+
import { State } from '../types';
|
|
2
|
+
export declare const setStateValue: (state: State, value: unknown, shouldPushContext?: boolean) => State;
|
|
3
3
|
export declare const getStateValue: (state: State) => any;
|
|
4
|
-
export declare const setValueFromState: (state: State, { value }: State) => State;
|
|
5
|
-
export declare const
|
|
4
|
+
export declare const setValueFromState: (state: State, { value, context }: State, shouldSetContext?: boolean) => State;
|
|
5
|
+
export declare const getRootFromState: (state: State) => unknown;
|
|
6
|
+
export declare const getTargetFromState: (state: State) => unknown;
|
|
7
|
+
export declare function setTargetOnState(state: State, target: unknown): State;
|
|
8
|
+
export declare const getLastContext: (state: State) => unknown;
|
|
9
|
+
export declare const removeLastContext: (state: State) => {
|
|
10
|
+
context: unknown[];
|
|
11
|
+
value: unknown;
|
|
12
|
+
target?: unknown;
|
|
13
|
+
rev?: boolean | undefined;
|
|
14
|
+
flip?: boolean | undefined;
|
|
15
|
+
onlyMapped?: boolean | undefined;
|
|
16
|
+
arr?: boolean | undefined;
|
|
17
|
+
iterate?: boolean | undefined;
|
|
18
|
+
};
|
|
6
19
|
export declare const populateState: ({ rev, onlyMapped }: Partial<State>) => (data: unknown) => State;
|
|
7
|
-
export declare const
|
|
20
|
+
export declare const isNoneValueState: (state: State, noneValues?: unknown[]) => boolean;
|
|
@@ -1,31 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const setStateValue = (state, value) => ({
|
|
3
|
+
exports.isNoneValueState = exports.populateState = exports.removeLastContext = exports.getLastContext = exports.setTargetOnState = exports.getTargetFromState = exports.getRootFromState = exports.setValueFromState = exports.getStateValue = exports.setStateValue = void 0;
|
|
4
|
+
const setStateValue = (state, value, shouldPushContext = false) => ({
|
|
5
5
|
...state,
|
|
6
|
+
context: shouldPushContext && state.value !== undefined
|
|
7
|
+
? [...state.context, state.value]
|
|
8
|
+
: state.context,
|
|
6
9
|
value,
|
|
7
10
|
});
|
|
8
11
|
exports.setStateValue = setStateValue;
|
|
9
12
|
const getStateValue = (state) => state.value;
|
|
10
13
|
exports.getStateValue = getStateValue;
|
|
11
|
-
const setValueFromState = (state, { value }) => ({
|
|
14
|
+
const setValueFromState = (state, { value, context }, shouldSetContext = false) => ({
|
|
12
15
|
...state,
|
|
13
16
|
value,
|
|
17
|
+
context: shouldSetContext ? context : state.context,
|
|
14
18
|
});
|
|
15
19
|
exports.setValueFromState = setValueFromState;
|
|
16
|
-
const
|
|
20
|
+
const getRootFromState = (state) => state.context.length === 0 ? state.value : state.context[0];
|
|
21
|
+
exports.getRootFromState = getRootFromState;
|
|
22
|
+
const getTargetFromState = (state) => state.target;
|
|
23
|
+
exports.getTargetFromState = getTargetFromState;
|
|
24
|
+
function setTargetOnState(state, target) {
|
|
25
|
+
return {
|
|
26
|
+
...state,
|
|
27
|
+
target,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.setTargetOnState = setTargetOnState;
|
|
31
|
+
const getLastContext = (state) => state.context[state.context.length - 1];
|
|
32
|
+
exports.getLastContext = getLastContext;
|
|
33
|
+
const removeLastContext = (state) => ({
|
|
17
34
|
...state,
|
|
18
|
-
|
|
35
|
+
context: state.context.slice(0, -1),
|
|
19
36
|
});
|
|
20
|
-
exports.
|
|
37
|
+
exports.removeLastContext = removeLastContext;
|
|
21
38
|
const populateState = ({ rev = false, onlyMapped = false }) => (data) => ({
|
|
22
|
-
|
|
23
|
-
context: data,
|
|
39
|
+
context: [],
|
|
24
40
|
value: data,
|
|
25
41
|
rev,
|
|
26
42
|
onlyMapped,
|
|
27
43
|
});
|
|
28
44
|
exports.populateState = populateState;
|
|
29
|
-
const
|
|
30
|
-
exports.
|
|
45
|
+
const isNoneValueState = (state, noneValues = [undefined]) => noneValues.includes(state.value);
|
|
46
|
+
exports.isNoneValueState = isNoneValueState;
|
|
31
47
|
//# sourceMappingURL=stateHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,KAAc,EACd,iBAAiB,GAAG,KAAK,EAClB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,OAAO,EACL,iBAAiB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO;IACnB,KAAK;CACN,CAAC,CAAA;AAXW,QAAA,aAAa,iBAWxB;AACK,MAAM,aAAa,GAAG,CAAC,KAAY,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;AAAlD,QAAA,aAAa,iBAAqC;AAExD,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,EAAE,KAAK,EAAE,OAAO,EAAS,EACzB,gBAAgB,GAAG,KAAK,EACjB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,KAAK;IACL,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;CACpD,CAAC,CAAA;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AADhD,QAAA,gBAAgB,oBACgC;AAEtD,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAA;AAAnD,QAAA,kBAAkB,sBAAiC;AAEhE,SAAgB,gBAAgB,CAAC,KAAY,EAAE,MAAe;IAC5D,OAAO;QACL,GAAG,KAAK;QACR,MAAM;KACP,CAAA;AACH,CAAC;AALD,4CAKC;AAEM,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAD5B,QAAA,cAAc,kBACc;AAElC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,KAAK;IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpC,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GACxB,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE,CACxD,CAAC,IAAa,EAAS,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IACX,GAAG;IACH,UAAU;CACX,CAAC,CAAA;AAPS,QAAA,aAAa,iBAOtB;AAEG,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,aAAwB,CAAC,SAAS,CAAC,EACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAHxB,QAAA,gBAAgB,oBAGQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function xor(a?: boolean, b?: boolean): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xor.js","sourceRoot":"","sources":["../../src/utils/xor.ts"],"names":[],"mappings":";;AAAA,SAAwB,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK;IAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAFD,sBAEC"}
|
package/package.json
CHANGED
package/dist/functions/join.d.ts
DELETED
package/dist/functions/join.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const pathGetter_1 = require("../utils/pathGetter");
|
|
4
|
-
function join({ path = [], sep = ' ' }) {
|
|
5
|
-
const getFns = [].concat(path).map(pathGetter_1.default);
|
|
6
|
-
return (data) => {
|
|
7
|
-
const values = getFns.map((fn) => fn(data));
|
|
8
|
-
return values.filter((value) => typeof value !== 'undefined').join(sep);
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
exports.default = join;
|
|
12
|
-
//# sourceMappingURL=join.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const stateHelpers_1 = require("../utils/stateHelpers");
|
|
4
|
-
const getSet_1 = require("./getSet");
|
|
5
|
-
const directionals_1 = require("./directionals");
|
|
6
|
-
const iterate_1 = require("./iterate");
|
|
7
|
-
const plug_1 = require("./plug");
|
|
8
|
-
const definitionHelpers_1 = require("../utils/definitionHelpers");
|
|
9
|
-
const array_1 = require("../utils/array");
|
|
10
|
-
const is_1 = require("../utils/is");
|
|
11
|
-
const setIfPath = (map) => (typeof map === 'string' ? (0, getSet_1.set)(map) : map);
|
|
12
|
-
const flipIfNeeded = (pipe, shouldFlip) => {
|
|
13
|
-
const pipeline = shouldFlip ? pipe.slice().reverse().map(setIfPath) : pipe;
|
|
14
|
-
return pipeline;
|
|
15
|
-
};
|
|
16
|
-
const shouldIterate = (def, path) => ((0, definitionHelpers_1.isMapObject)(def) && def.$iterate === true) || (0, is_1.isArrayPath)(path);
|
|
17
|
-
const shouldModify = (def) => (0, definitionHelpers_1.isMapObject)(def) && !!def.$modify;
|
|
18
|
-
const extractModifyPath = (def) => shouldModify(def)
|
|
19
|
-
? def.$modify === true
|
|
20
|
-
? '.'
|
|
21
|
-
: def.$modify || undefined
|
|
22
|
-
: undefined;
|
|
23
|
-
const extractRealPath = (path) => {
|
|
24
|
-
const [realPath, index] = path.split('/');
|
|
25
|
-
return [realPath, index !== undefined];
|
|
26
|
-
};
|
|
27
|
-
const setTargetOnState = (state, target) => ({
|
|
28
|
-
...state,
|
|
29
|
-
target,
|
|
30
|
-
});
|
|
31
|
-
const runWithTarget = (options, state) => (prevState, operation) => operation(options)(setTargetOnState(state, prevState?.value));
|
|
32
|
-
const revertTarget = ({ target, ...state }, originalState) => originalState.target ? setTargetOnState(state, originalState.target) : state;
|
|
33
|
-
function modifyStateValue(prevStateValue, nextState) {
|
|
34
|
-
const nextStateValue = (0, stateHelpers_1.getStateValue)(nextState);
|
|
35
|
-
if ((0, is_1.isObject)(prevStateValue) && (0, is_1.isObject)(nextStateValue)) {
|
|
36
|
-
return (0, stateHelpers_1.setStateValue)(nextState, {
|
|
37
|
-
...prevStateValue,
|
|
38
|
-
...nextStateValue,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return nextState;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const run = (operations, modifySourcePath) => function (options) {
|
|
46
|
-
const shouldSkip = (0, stateHelpers_1.shouldSkipMutation)(options);
|
|
47
|
-
return function runMutation(state) {
|
|
48
|
-
if (shouldSkip(state)) {
|
|
49
|
-
return (0, stateHelpers_1.setStateValue)(state, undefined);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
const nextState = revertTarget(operations.reduce(runWithTarget(options, state), undefined) || state, state);
|
|
53
|
-
return modifySourcePath
|
|
54
|
-
? modifyStateValue((0, getSet_1.getValueFromState)(modifySourcePath)(state), nextState)
|
|
55
|
-
: nextState;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
const objectToMapFunction = (objectDef, shouldFlip, parentPath = '') => Object.entries(objectDef)
|
|
60
|
-
.flatMap(([path, def]) => {
|
|
61
|
-
if (!def || path.startsWith('$')) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
const [realPath, revOnly] = extractRealPath(path);
|
|
65
|
-
const nextPath = [parentPath, realPath].filter(Boolean).join('.');
|
|
66
|
-
if ((0, definitionHelpers_1.isMapObject)(def) &&
|
|
67
|
-
!shouldIterate(def, nextPath) &&
|
|
68
|
-
!shouldModify(def)) {
|
|
69
|
-
return objectToMapFunction(def, shouldFlip, nextPath);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
const subPipeline = (0, definitionHelpers_1.isMapObject)(def)
|
|
73
|
-
? [runAndIterate(def, shouldFlip, nextPath)]
|
|
74
|
-
: flipIfNeeded((0, array_1.ensureArray)(def), shouldFlip);
|
|
75
|
-
const pipeline = (0, definitionHelpers_1.mapFunctionFromDef)([
|
|
76
|
-
shouldFlip ? nextPath : null,
|
|
77
|
-
...subPipeline,
|
|
78
|
-
shouldFlip ? null : (0, getSet_1.set)(nextPath),
|
|
79
|
-
]);
|
|
80
|
-
return revOnly ? (0, directionals_1.divide)((0, plug_1.default)(), pipeline) : pipeline;
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
.filter((pipeline) => !!pipeline);
|
|
84
|
-
function runAndIterate(def, shouldFlip, nextPath = '') {
|
|
85
|
-
const operations = objectToMapFunction(def, shouldFlip);
|
|
86
|
-
const modifySourcePath = extractModifyPath(def);
|
|
87
|
-
return shouldIterate(def, nextPath)
|
|
88
|
-
? (0, iterate_1.default)(run(operations, modifySourcePath))
|
|
89
|
-
: run(operations, modifySourcePath);
|
|
90
|
-
}
|
|
91
|
-
function mutate(def) {
|
|
92
|
-
if (Object.keys(def).length === 0) {
|
|
93
|
-
return (_options) => (state) => (0, stateHelpers_1.setStateValue)(state, undefined);
|
|
94
|
-
}
|
|
95
|
-
const shouldFlip = def.$flip === true;
|
|
96
|
-
const runMutation = runAndIterate(def, shouldFlip);
|
|
97
|
-
return function mutateFn(options) {
|
|
98
|
-
const dir = def.$direction;
|
|
99
|
-
if (typeof dir === 'string') {
|
|
100
|
-
if (dir === 'fwd' || dir === options.fwdAlias) {
|
|
101
|
-
return (state) => !state.rev ? runMutation(options)(state) : state;
|
|
102
|
-
}
|
|
103
|
-
else if (dir === 'rev' || dir === options.revAlias) {
|
|
104
|
-
return (state) => state.rev ? runMutation(options)(state) : state;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return runMutation(options);
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
exports.default = mutate;
|
|
111
|
-
//# sourceMappingURL=mutate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/operations/mutate.ts"],"names":[],"mappings":"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"}
|