map-transform 0.5.3 → 0.5.4

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 (41) hide show
  1. package/dist/operations/props.js +10 -8
  2. package/dist/operations/props.js.map +1 -1
  3. package/dist/types.d.ts +5 -2
  4. package/package.json +4 -3
  5. package/coverage/tmp/coverage-25292-1690878108815-5.json +0 -1
  6. package/coverage/tmp/coverage-25292-1690878108845-3.json +0 -1
  7. package/coverage/tmp/coverage-25292-1690878108849-9.json +0 -1
  8. package/coverage/tmp/coverage-25292-1690878108857-8.json +0 -1
  9. package/coverage/tmp/coverage-25292-1690878108863-4.json +0 -1
  10. package/coverage/tmp/coverage-25292-1690878108864-10.json +0 -1
  11. package/coverage/tmp/coverage-25292-1690878108867-7.json +0 -1
  12. package/coverage/tmp/coverage-25292-1690878108870-2.json +0 -1
  13. package/coverage/tmp/coverage-25292-1690878108878-6.json +0 -1
  14. package/coverage/tmp/coverage-25292-1690878108899-1.json +0 -1
  15. package/coverage/tmp/coverage-25292-1690878109113-15.json +0 -1
  16. package/coverage/tmp/coverage-25292-1690878109117-11.json +0 -1
  17. package/coverage/tmp/coverage-25292-1690878109140-12.json +0 -1
  18. package/coverage/tmp/coverage-25292-1690878109145-13.json +0 -1
  19. package/coverage/tmp/coverage-25292-1690878109145-16.json +0 -1
  20. package/coverage/tmp/coverage-25292-1690878109147-14.json +0 -1
  21. package/coverage/tmp/coverage-25292-1690878109157-18.json +0 -1
  22. package/coverage/tmp/coverage-25292-1690878109157-19.json +0 -1
  23. package/coverage/tmp/coverage-25292-1690878109163-17.json +0 -1
  24. package/coverage/tmp/coverage-25292-1690878109180-20.json +0 -1
  25. package/coverage/tmp/coverage-25292-1690878109361-25.json +0 -1
  26. package/coverage/tmp/coverage-25292-1690878109373-27.json +0 -1
  27. package/coverage/tmp/coverage-25292-1690878109388-23.json +0 -1
  28. package/coverage/tmp/coverage-25292-1690878109402-26.json +0 -1
  29. package/coverage/tmp/coverage-25292-1690878109411-29.json +0 -1
  30. package/coverage/tmp/coverage-25292-1690878109425-22.json +0 -1
  31. package/coverage/tmp/coverage-25292-1690878109430-21.json +0 -1
  32. package/coverage/tmp/coverage-25292-1690878109431-28.json +0 -1
  33. package/coverage/tmp/coverage-25292-1690878109454-24.json +0 -1
  34. package/coverage/tmp/coverage-25292-1690878109518-30.json +0 -1
  35. package/coverage/tmp/coverage-25292-1690878109575-32.json +0 -1
  36. package/coverage/tmp/coverage-25292-1690878109586-34.json +0 -1
  37. package/coverage/tmp/coverage-25292-1690878109588-31.json +0 -1
  38. package/coverage/tmp/coverage-25292-1690878109588-33.json +0 -1
  39. package/coverage/tmp/coverage-25292-1690878109615-36.json +0 -1
  40. package/coverage/tmp/coverage-25292-1690878109617-35.json +0 -1
  41. package/coverage/tmp/coverage-25292-1690878109649-0.json +0 -1
@@ -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,7 +64,9 @@ 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
71
  function modifyWithGivenPath(path, options, next) {
70
72
  if (path) {
@@ -78,7 +80,7 @@ const runOperations = (modifyFn, operations, options) => async (state) => {
78
80
  return state;
79
81
  }
80
82
  else {
81
- const run = runOperationWithOriginalValue(state, options);
83
+ const run = runOperationWithOriginalValue(state);
82
84
  let nextState = state;
83
85
  for (const operation of operations) {
84
86
  nextState = await run(nextState, operation);
@@ -98,13 +100,13 @@ export default function props(def) {
98
100
  }
99
101
  const modifyPath = def.$modify === true ? '.' : def.$modify || undefined;
100
102
  return (options) => {
101
- const operations = Object.entries(def)
103
+ const nextStateMappers = Object.entries(def)
102
104
  .filter(isRegularProp)
103
105
  .map(createSetPipeline(options));
106
+ const modifyFn = modifyWithGivenPath(modifyPath, options, noopNext);
107
+ const run = runOperations(modifyFn, nextStateMappers, options);
108
+ const isWrongDirectionFn = isWrongDirection(def.$direction, options);
104
109
  return (next) => {
105
- const modifyFn = modifyWithGivenPath(modifyPath, options, noopNext);
106
- const run = runOperations(modifyFn, operations, options);
107
- const isWrongDirectionFn = isWrongDirection(def.$direction, options);
108
110
  return async function doMutate(state) {
109
111
  const nextState = await next(state);
110
112
  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":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAU5B,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,SAAS,aAAa,CACpB,KAAwB;IAExB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAA;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAkB,EAAE,OAAgB;IAC5D,IACE,SAAS,KAAK,KAAK;QACnB,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,EACpD;QAEA,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAA;KAC7B;SAAM,IACL,SAAS,KAAK,KAAK;QACnB,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,EACpD;QAEA,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA;KAC5B;SAAM;QAEL,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;KACnB;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,EAAE,KAAK,EAAS;IACrD,OAAO,KAAK,EAAE,KAAY,EAAE,EAAmB,EAAE,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAEjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAExD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;YAI3C,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;YAC7C,OAAO,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;SAC3C;aAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YAK3B,OAAO,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;SACxC;aAAM;YAEL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;AAEvD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;AAE9E,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,IACE,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;QACxB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAChC;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;KAC5B;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,SAAS,iBAAiB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAGzC;IAEC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC/B,QAAQ,GAAG;YACT,GAAG,QAAQ;YACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;SAC3C,CAAA;KACF;IAGD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,KAAK,aAAa,CAAA;IAGtC,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1E,OAAO,OAAO;QACZ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA;AAEH,SAAS,mBAAmB,CAC1B,IAAwB,EACxB,OAAgB,EAChB,IAAiB;IAEjB,IAAI,IAAI,EAAE;QACR,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,KAAK,EAAE,KAAY,EAAE,SAAgB,EAAE,EAAE,CAC9C,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;KAC9D;IAED,OAAO,KAAK,EAAE,KAAY,EAAE,UAAiB,EAAE,EAAE,CAAC,KAAK,CAAA;AACzD,CAAC;AAED,MAAM,aAAa,GACjB,CACE,QAA4D,EAC5D,UAA6B,EAC7B,OAAgB,EAChB,EAAE,CACJ,KAAK,EAAE,KAAY,EAAE,EAAE;IACrB,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,KAAK,CAAA;KACb;SAAM;QACL,MAAM,GAAG,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,SAAS,GAAU,KAAK,CAAA;QAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;SAC5C;QAED,OAAO,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAClC;AACH,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,UAAoB,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC;IAC7E,GAAG,KAAK;IACR,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK;IACnD,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK;IACjC,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,GAAoB;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,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;IAGD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IAExE,OAAO,CAAC,OAAO,EAAE,EAAE;QAEjB,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACzC,MAAM,CAAC,aAAa,CAAC;aACrB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnE,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC9D,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAGpE,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,KAAK,UAAU,QAAQ,CAAC,KAAK;gBAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnC,IACE,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;oBAC7C,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EACjC;oBACA,OAAO,SAAS,CAAA;iBACjB;gBAED,MAAM,UAAU,GAAG,aAAa,CAC9B,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CACrD,CAAA;gBACD,MAAM,SAAS,GACb,GAAG,CAAC,QAAQ,KAAK,IAAI;oBACnB,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;oBAC/D,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAA;gBAE3B,OAAO,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YAChD,CAAC,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -48,8 +48,11 @@ export interface DataMapperWithOptions {
48
48
  export interface StateMapper {
49
49
  (state: State): Promise<State>;
50
50
  }
51
+ export interface NextStateMapper {
52
+ (next: StateMapper): StateMapper;
53
+ }
51
54
  export interface Operation {
52
- (options: Options): (next: StateMapper) => StateMapper;
55
+ (options: Options): NextStateMapper;
53
56
  }
54
57
  export type TransformerProps = Record<string, unknown>;
55
58
  export interface Transformer<T = TransformerProps> {
@@ -94,7 +97,7 @@ export interface LookupOperation extends TransformerProps {
94
97
  }
95
98
  export type OperationObject = TransformOperation | FilterOperation | IfOperation | ApplyOperation | AltOperation | ConcatOperation | LookupOperation;
96
99
  export type Pipeline = (TransformObject | Operation | OperationObject | Path | Pipeline)[];
97
- export interface TransformObject extends Record<string, TransformDefinition | undefined | boolean> {
100
+ export interface TransformObject extends Record<string, unknown> {
98
101
  $iterate?: boolean;
99
102
  $modify?: boolean | Path;
100
103
  $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.4",
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",