map-transform 0.5.3 → 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.
Files changed (47) hide show
  1. package/dist/operations/apply.js +24 -8
  2. package/dist/operations/apply.js.map +1 -1
  3. package/dist/operations/getSet.js +10 -3
  4. package/dist/operations/getSet.js.map +1 -1
  5. package/dist/operations/iterate.js +7 -5
  6. package/dist/operations/iterate.js.map +1 -1
  7. package/dist/operations/props.js +31 -22
  8. package/dist/operations/props.js.map +1 -1
  9. package/dist/types.d.ts +6 -2
  10. package/package.json +6 -5
  11. package/coverage/tmp/coverage-25292-1690878108815-5.json +0 -1
  12. package/coverage/tmp/coverage-25292-1690878108845-3.json +0 -1
  13. package/coverage/tmp/coverage-25292-1690878108849-9.json +0 -1
  14. package/coverage/tmp/coverage-25292-1690878108857-8.json +0 -1
  15. package/coverage/tmp/coverage-25292-1690878108863-4.json +0 -1
  16. package/coverage/tmp/coverage-25292-1690878108864-10.json +0 -1
  17. package/coverage/tmp/coverage-25292-1690878108867-7.json +0 -1
  18. package/coverage/tmp/coverage-25292-1690878108870-2.json +0 -1
  19. package/coverage/tmp/coverage-25292-1690878108878-6.json +0 -1
  20. package/coverage/tmp/coverage-25292-1690878108899-1.json +0 -1
  21. package/coverage/tmp/coverage-25292-1690878109113-15.json +0 -1
  22. package/coverage/tmp/coverage-25292-1690878109117-11.json +0 -1
  23. package/coverage/tmp/coverage-25292-1690878109140-12.json +0 -1
  24. package/coverage/tmp/coverage-25292-1690878109145-13.json +0 -1
  25. package/coverage/tmp/coverage-25292-1690878109145-16.json +0 -1
  26. package/coverage/tmp/coverage-25292-1690878109147-14.json +0 -1
  27. package/coverage/tmp/coverage-25292-1690878109157-18.json +0 -1
  28. package/coverage/tmp/coverage-25292-1690878109157-19.json +0 -1
  29. package/coverage/tmp/coverage-25292-1690878109163-17.json +0 -1
  30. package/coverage/tmp/coverage-25292-1690878109180-20.json +0 -1
  31. package/coverage/tmp/coverage-25292-1690878109361-25.json +0 -1
  32. package/coverage/tmp/coverage-25292-1690878109373-27.json +0 -1
  33. package/coverage/tmp/coverage-25292-1690878109388-23.json +0 -1
  34. package/coverage/tmp/coverage-25292-1690878109402-26.json +0 -1
  35. package/coverage/tmp/coverage-25292-1690878109411-29.json +0 -1
  36. package/coverage/tmp/coverage-25292-1690878109425-22.json +0 -1
  37. package/coverage/tmp/coverage-25292-1690878109430-21.json +0 -1
  38. package/coverage/tmp/coverage-25292-1690878109431-28.json +0 -1
  39. package/coverage/tmp/coverage-25292-1690878109454-24.json +0 -1
  40. package/coverage/tmp/coverage-25292-1690878109518-30.json +0 -1
  41. package/coverage/tmp/coverage-25292-1690878109575-32.json +0 -1
  42. package/coverage/tmp/coverage-25292-1690878109586-34.json +0 -1
  43. package/coverage/tmp/coverage-25292-1690878109588-31.json +0 -1
  44. package/coverage/tmp/coverage-25292-1690878109588-33.json +0 -1
  45. package/coverage/tmp/coverage-25292-1690878109615-36.json +0 -1
  46. package/coverage/tmp/coverage-25292-1690878109617-35.json +0 -1
  47. package/coverage/tmp/coverage-25292-1690878109649-0.json +0 -1
@@ -1,25 +1,41 @@
1
1
  import { defToOperation } from '../utils/definitionHelpers.js';
2
2
  import { noopNext } from '../utils/stateHelpers.js';
3
- const extractPipeline = (pipelineId, { pipelines }) => (typeof pipelineId === 'string' || typeof pipelineId === 'symbol') &&
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 = extractPipeline(pipelineId, options);
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
- const fn = pipeline
18
- ? defToOperation(pipeline, options)(options)(noopNext)
19
- : undefined;
20
- return (next) => async (state) => {
21
- const nextState = await next(state);
22
- return fn ? fn(removeFlip(nextState)) : nextState;
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;AAEnD,MAAM,eAAe,GAAG,CAAC,UAA2B,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE,CAC9E,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC;IAChE,SAAS;IACT,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;IACvB,CAAC,CAAC,SAAS,CAAA;AAEf,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,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAErD,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;QAED,MAAM,EAAE,GAAG,QAAQ;YACjB,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YACtD,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACnC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
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 value = state.noDefaults && isNonvalue(thisValue, options.nonvalues)
119
+ const modifiedValue = doModifyGetValue(thisValue, nextState, options);
120
+ const value = state.noDefaults && isNonvalue(modifiedValue, options.nonvalues)
114
121
  ? undefined
115
122
  : isArr
116
- ? ensureArray(thisValue, options.nonvalues)
117
- : thisValue;
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
- const runIteration = iterateState(fn(options)(noopNext));
22
- return (next) => async function doIterate(state) {
23
- const nextState = await next(state);
24
- return setStateValue(nextState, await runIteration(nextState, getTargetFromState(nextState)));
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;QACvC,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,EAAE,EAAE,CACd,KAAK,UAAU,SAAS,CAAC,KAAK;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YAEnC,OAAO,aAAa,CAClB,SAAS,EACT,MAAM,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAC7D,CAAA;QACH,CAAC,CAAA;IACL,CAAC,CAAA;AACH,CAAC"}
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"}
@@ -25,9 +25,9 @@ function isWrongDirection(direction, options) {
25
25
  return () => false;
26
26
  }
27
27
  }
28
- function runOperationWithOriginalValue({ value }, options) {
28
+ function runOperationWithOriginalValue({ value }) {
29
29
  return async (state, fn) => {
30
- const nextState = await fn(options)(noopNext)(setStateValue(state, value));
30
+ const nextState = await fn(noopNext)(setStateValue(state, value));
31
31
  const target = state.target;
32
32
  const nextValue = getStateValue(nextState);
33
33
  const thisState = setTargetOnState(nextState, nextValue);
@@ -64,27 +64,35 @@ const createSetPipeline = (options) => function createSetPipeline([prop, pipelin
64
64
  const unslashedProp = removeSlash(prop);
65
65
  const onlyRev = prop !== unslashedProp;
66
66
  const operations = [defToOperation(pipeline, options), set(unslashedProp)];
67
- return onlyRev ? divide(plug(), operations) : pipe(operations);
67
+ return onlyRev
68
+ ? divide(plug(), operations)(options)
69
+ : pipe(operations)(options);
68
70
  };
69
- function modifyWithGivenPath(path, options, next) {
71
+ function modifyWithGivenPath(path, options) {
70
72
  if (path) {
71
- const fn = modify(path)(options)(next);
72
- return async (state, nextState) => await fn(setTargetOnState(state, getStateValue(nextState)));
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
+ };
73
78
  }
74
- return async (state, _nextState) => state;
79
+ return () => async (state, _nextState) => state;
75
80
  }
76
- const runOperations = (modifyFn, operations, options) => async (state) => {
77
- if (isNonvalueState(state, options.nonvalues)) {
78
- return state;
79
- }
80
- else {
81
- const run = runOperationWithOriginalValue(state, options);
82
- let nextState = state;
83
- for (const operation of operations) {
84
- 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;
85
86
  }
86
- return modifyFn(nextState, state);
87
- }
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
+ };
88
96
  };
89
97
  const setStateProps = (state, noDefaults, flip) => ({
90
98
  ...state,
@@ -98,13 +106,14 @@ export default function props(def) {
98
106
  }
99
107
  const modifyPath = def.$modify === true ? '.' : def.$modify || undefined;
100
108
  return (options) => {
101
- const operations = Object.entries(def)
109
+ const nextStateMappers = Object.entries(def)
102
110
  .filter(isRegularProp)
103
111
  .map(createSetPipeline(options));
112
+ const modifyFn = modifyWithGivenPath(modifyPath, options);
113
+ const runFn = runOperations(modifyFn, nextStateMappers, options);
114
+ const isWrongDirectionFn = isWrongDirection(def.$direction, options);
104
115
  return (next) => {
105
- const modifyFn = modifyWithGivenPath(modifyPath, options, noopNext);
106
- const run = runOperations(modifyFn, operations, options);
107
- const isWrongDirectionFn = isWrongDirection(def.$direction, options);
116
+ const run = runFn(noopNext);
108
117
  return async function doMutate(state) {
109
118
  const nextState = await next(state);
110
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>;
@@ -48,8 +49,11 @@ export interface DataMapperWithOptions {
48
49
  export interface StateMapper {
49
50
  (state: State): Promise<State>;
50
51
  }
52
+ export interface NextStateMapper {
53
+ (next: StateMapper): StateMapper;
54
+ }
51
55
  export interface Operation {
52
- (options: Options): (next: StateMapper) => StateMapper;
56
+ (options: Options): NextStateMapper;
53
57
  }
54
58
  export type TransformerProps = Record<string, unknown>;
55
59
  export interface Transformer<T = TransformerProps> {
@@ -94,7 +98,7 @@ export interface LookupOperation extends TransformerProps {
94
98
  }
95
99
  export type OperationObject = TransformOperation | FilterOperation | IfOperation | ApplyOperation | AltOperation | ConcatOperation | LookupOperation;
96
100
  export type Pipeline = (TransformObject | Operation | OperationObject | Path | Pipeline)[];
97
- export interface TransformObject extends Record<string, TransformDefinition | undefined | boolean> {
101
+ export interface TransformObject extends Record<string, unknown> {
98
102
  $iterate?: boolean;
99
103
  $modify?: boolean | Path;
100
104
  $noDefaults?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-transform",
3
- "version": "0.5.3",
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",
@@ -26,13 +26,14 @@
26
26
  }
27
27
  },
28
28
  "scripts": {
29
- "test": "npm run lint && npm run build && c8 --reporter=text-summary ava --config ./ava-dist.config.cjs",
29
+ "test": "c8 --reporter=text-summary ava --config ./ava-dist.config.cjs",
30
30
  "test:watch": "npm run dev",
31
31
  "dev": "ava --watch",
32
32
  "build": "tsc",
33
33
  "prepublish": "npm run build",
34
34
  "coverage": "c8 report",
35
- "lint": "eslint --ext .ts src"
35
+ "lint": "eslint --ext .ts src",
36
+ "verify": "npm run lint && npm run build && npm test"
36
37
  },
37
38
  "repository": {
38
39
  "type": "git",
@@ -48,12 +49,12 @@
48
49
  "dependencies": {
49
50
  "ajv": "^8.12.0",
50
51
  "deepmerge": "^4.3.1",
51
- "map-any": "^0.3.0"
52
+ "map-any": "^0.3.1"
52
53
  },
53
54
  "devDependencies": {
54
55
  "@integreat/ts-dev-setup": "^4.1.1",
55
56
  "@types/deep-freeze": "^0.1.2",
56
- "@types/sinon": "^10.0.15",
57
+ "@types/sinon": "^10.0.16",
57
58
  "deep-freeze": "0.0.1",
58
59
  "sinon": "^15.2.0"
59
60
  }