map-transform 0.5.4 → 0.5.5
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/dist/operations/apply.js +24 -8
- package/dist/operations/apply.js.map +1 -1
- package/dist/operations/getSet.js +10 -3
- package/dist/operations/getSet.js.map +1 -1
- package/dist/operations/iterate.js +7 -5
- package/dist/operations/iterate.js.map +1 -1
- package/dist/operations/props.js +24 -17
- package/dist/operations/props.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +3 -3
package/dist/operations/apply.js
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
import { defToOperation } from '../utils/definitionHelpers.js';
|
|
2
2
|
import { noopNext } from '../utils/stateHelpers.js';
|
|
3
|
-
const
|
|
3
|
+
const getPipeline = (pipelineId, { pipelines }) => (typeof pipelineId === 'string' || typeof pipelineId === 'symbol') &&
|
|
4
4
|
pipelines
|
|
5
5
|
? pipelines[pipelineId]
|
|
6
6
|
: undefined;
|
|
7
|
+
function setPipeline(id, operation, options) {
|
|
8
|
+
if (options.pipelines) {
|
|
9
|
+
options.pipelines[id] = operation;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
7
12
|
const removeFlip = ({ flip, ...state }) => state;
|
|
8
13
|
export default function apply(pipelineId) {
|
|
9
14
|
return (options) => {
|
|
10
|
-
const pipeline =
|
|
15
|
+
const pipeline = getPipeline(pipelineId, options);
|
|
11
16
|
if (!pipeline) {
|
|
12
17
|
const message = pipelineId
|
|
13
18
|
? `Failed to apply pipeline '${String(pipelineId)}'. Unknown pipeline`
|
|
14
19
|
: 'Failed to apply pipeline. No id provided';
|
|
15
20
|
throw new Error(message);
|
|
16
21
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
if (typeof pipeline !== 'function' && pipeline) {
|
|
23
|
+
setPipeline(pipelineId, () => () => noopNext, options);
|
|
24
|
+
const operation = defToOperation(pipeline, options)(options);
|
|
25
|
+
setPipeline(pipelineId, () => operation, options);
|
|
26
|
+
}
|
|
27
|
+
return (next) => {
|
|
28
|
+
const operation = getPipeline(pipelineId, options);
|
|
29
|
+
const fn = typeof operation === 'function'
|
|
30
|
+
? operation(options)(noopNext)
|
|
31
|
+
: undefined;
|
|
32
|
+
if (fn) {
|
|
33
|
+
setPipeline(pipelineId, () => () => fn, options);
|
|
34
|
+
}
|
|
35
|
+
return async (state) => {
|
|
36
|
+
const nextState = await next(state);
|
|
37
|
+
return fn ? fn(removeFlip(nextState)) : nextState;
|
|
38
|
+
};
|
|
23
39
|
};
|
|
24
40
|
};
|
|
25
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAKnD,MAAM,WAAW,GAAG,CAAC,UAA2B,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE,CAC1E,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC;IAClE,SAAS;IACP,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;IACvB,CAAC,CAAC,SAAS,CAAA;AAEf,SAAS,WAAW,CAClB,EAAmB,EACnB,SAAoB,EACpB,OAAgB;IAEhB,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;KAClC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAS,EAAE,EAAE,CAAC,KAAK,CAAA;AAEvD,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,UAA2B;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEjD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,OAAO,GAAG,UAAU;gBACxB,CAAC,CAAC,6BAA6B,MAAM,CAAC,UAAU,CAAC,qBAAqB;gBACtE,CAAC,CAAC,0CAA0C,CAAA;YAC9C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;SACzB;QAOD,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,EAAE;YAC9C,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;YAC5D,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;SAClD;QAED,OAAO,CAAC,IAAI,EAAE,EAAE;YAEd,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,EAAE,GACN,OAAO,SAAS,KAAK,UAAU;gBAC7B,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,SAAS,CAAA;YACf,IAAI,EAAE,EAAE;gBACN,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;aACjD;YAED,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,CAAC,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -81,6 +81,12 @@ function getSetParentOrRoot(path, isSet) {
|
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
+
function doModifyGetValue(value, state, options) {
|
|
85
|
+
const { modifyGetValue } = options;
|
|
86
|
+
return typeof modifyGetValue === 'function'
|
|
87
|
+
? modifyGetValue(value, state, options)
|
|
88
|
+
: value;
|
|
89
|
+
}
|
|
84
90
|
function getSet(isSet = false) {
|
|
85
91
|
return (path) => {
|
|
86
92
|
if (typeof path === 'string' && path[0] === '^') {
|
|
@@ -110,11 +116,12 @@ function getSet(isSet = false) {
|
|
|
110
116
|
else {
|
|
111
117
|
const nextState = await next(state);
|
|
112
118
|
const thisValue = getSetFn(getStateValue(nextState), false);
|
|
113
|
-
const
|
|
119
|
+
const modifiedValue = doModifyGetValue(thisValue, nextState, options);
|
|
120
|
+
const value = state.noDefaults && isNonvalue(modifiedValue, options.nonvalues)
|
|
114
121
|
? undefined
|
|
115
122
|
: isArr
|
|
116
|
-
? ensureArray(
|
|
117
|
-
:
|
|
123
|
+
? ensureArray(modifiedValue, options.nonvalues)
|
|
124
|
+
: modifiedValue;
|
|
118
125
|
return setStateValue(nextState, value, true);
|
|
119
126
|
}
|
|
120
127
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSet.js","sourceRoot":"","sources":["../../src/operations/getSet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getSet.js","sourceRoot":"","sources":["../../src/operations/getSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,11 +17,13 @@ export default function iterate(def) {
|
|
|
17
17
|
return (_options) => (next) => async (state) => setStateValue(await next(state), undefined);
|
|
18
18
|
}
|
|
19
19
|
return (options) => {
|
|
20
|
-
const fn = defToOperation(def, options);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const fn = defToOperation(def, options)(options);
|
|
21
|
+
return (next) => {
|
|
22
|
+
const runIteration = iterateState(fn(noopNext));
|
|
23
|
+
return async function doIterate(state) {
|
|
24
|
+
const nextState = await next(state);
|
|
25
|
+
return setStateValue(nextState, await runIteration(nextState, getTargetFromState(nextState)));
|
|
26
|
+
};
|
|
25
27
|
};
|
|
26
28
|
};
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/operations/iterate.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAAe,EAAE,EAAE,CAAC,KAAK,EAAE,KAAY,EAAE,MAAe,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,aAAa,CACX,MAAM,EAAE,CACN,gBAAgB,CACd,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAC9B,CACF,CACF,CACF,CACF,CAAA;KACF;SAAM;QACL,OAAO,aAAa,CAClB,MAAM,EAAE,CACN,gBAAgB,CACd,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAC7B,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAC1B,CACF,CACF,CAAA;KACF;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,GAAwB;IACtD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QACtE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7C,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;KAC9C;IACD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/operations/iterate.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAAe,EAAE,EAAE,CAAC,KAAK,EAAE,KAAY,EAAE,MAAe,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,aAAa,CACX,MAAM,EAAE,CACN,gBAAgB,CACd,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAC9B,CACF,CACF,CACF,CACF,CAAA;KACF;SAAM;QACL,OAAO,aAAa,CAClB,MAAM,EAAE,CACN,gBAAgB,CACd,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAC7B,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAC1B,CACF,CACF,CAAA;KACF;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,GAAwB;IACtD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QACtE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7C,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;KAC9C;IACD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC/C,OAAO,KAAK,UAAU,SAAS,CAAC,KAAK;gBACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;gBAEnC,OAAO,aAAa,CAClB,SAAS,EACT,MAAM,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAC7D,CAAA;YACH,CAAC,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|
package/dist/operations/props.js
CHANGED
|
@@ -68,25 +68,31 @@ const createSetPipeline = (options) => function createSetPipeline([prop, pipelin
|
|
|
68
68
|
? divide(plug(), operations)(options)
|
|
69
69
|
: pipe(operations)(options);
|
|
70
70
|
};
|
|
71
|
-
function modifyWithGivenPath(path, options
|
|
71
|
+
function modifyWithGivenPath(path, options) {
|
|
72
72
|
if (path) {
|
|
73
|
-
const
|
|
74
|
-
return
|
|
73
|
+
const modifyFn = modify(path)(options);
|
|
74
|
+
return (next) => {
|
|
75
|
+
const fn = modifyFn(next);
|
|
76
|
+
return async (state, nextState) => await fn(setTargetOnState(state, getStateValue(nextState)));
|
|
77
|
+
};
|
|
75
78
|
}
|
|
76
|
-
return async (state, _nextState) => state;
|
|
79
|
+
return () => async (state, _nextState) => state;
|
|
77
80
|
}
|
|
78
|
-
const runOperations = (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const run = runOperationWithOriginalValue(state);
|
|
84
|
-
let nextState = state;
|
|
85
|
-
for (const operation of operations) {
|
|
86
|
-
nextState = await run(nextState, operation);
|
|
81
|
+
const runOperations = (fn, operations, options) => (next) => {
|
|
82
|
+
const modifyFn = fn(next);
|
|
83
|
+
return async (state) => {
|
|
84
|
+
if (isNonvalueState(state, options.nonvalues)) {
|
|
85
|
+
return state;
|
|
87
86
|
}
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
else {
|
|
88
|
+
const run = runOperationWithOriginalValue(state);
|
|
89
|
+
let nextState = state;
|
|
90
|
+
for (const operation of operations) {
|
|
91
|
+
nextState = await run(nextState, operation);
|
|
92
|
+
}
|
|
93
|
+
return modifyFn(nextState, state);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
90
96
|
};
|
|
91
97
|
const setStateProps = (state, noDefaults, flip) => ({
|
|
92
98
|
...state,
|
|
@@ -103,10 +109,11 @@ export default function props(def) {
|
|
|
103
109
|
const nextStateMappers = Object.entries(def)
|
|
104
110
|
.filter(isRegularProp)
|
|
105
111
|
.map(createSetPipeline(options));
|
|
106
|
-
const modifyFn = modifyWithGivenPath(modifyPath, options
|
|
107
|
-
const
|
|
112
|
+
const modifyFn = modifyWithGivenPath(modifyPath, options);
|
|
113
|
+
const runFn = runOperations(modifyFn, nextStateMappers, options);
|
|
108
114
|
const isWrongDirectionFn = isWrongDirection(def.$direction, options);
|
|
109
115
|
return (next) => {
|
|
116
|
+
const run = runFn(noopNext);
|
|
110
117
|
return async function doMutate(state) {
|
|
111
118
|
const nextState = await next(state);
|
|
112
119
|
if (isNonvalueState(nextState, options.nonvalues) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/operations/props.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/operations/props.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export interface Options {
|
|
|
29
29
|
fwdAlias?: string;
|
|
30
30
|
revAlias?: string;
|
|
31
31
|
modifyOperationObject?: (operation: Record<string, unknown>) => Record<string, unknown>;
|
|
32
|
+
modifyGetValue?: (value: unknown, state: State, options: Options) => unknown;
|
|
32
33
|
}
|
|
33
34
|
export interface DataMapper<T extends InitialState | undefined = State> {
|
|
34
35
|
(data: unknown, state?: T): Promise<unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "map-transform",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "Map and transform objects with mapping definitions",
|
|
5
5
|
"author": "Kjell-Morten Bratsberg Thorsen <kjellmorten@integreat.io>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"ajv": "^8.12.0",
|
|
51
51
|
"deepmerge": "^4.3.1",
|
|
52
|
-
"map-any": "^0.3.
|
|
52
|
+
"map-any": "^0.3.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@integreat/ts-dev-setup": "^4.1.1",
|
|
56
56
|
"@types/deep-freeze": "^0.1.2",
|
|
57
|
-
"@types/sinon": "^10.0.
|
|
57
|
+
"@types/sinon": "^10.0.16",
|
|
58
58
|
"deep-freeze": "0.0.1",
|
|
59
59
|
"sinon": "^15.2.0"
|
|
60
60
|
}
|