map-transform 1.6.0-rc.7 → 1.6.0-rc.9

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 (82) hide show
  1. package/NEXT.md +123 -0
  2. package/README.md +190 -71
  3. package/WRITING_PIPELINES.md +279 -106
  4. package/dist/index.d.ts +0 -1
  5. package/dist/index.js +0 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/internalOptions.d.ts +9 -0
  8. package/dist/internalOptions.js +21 -0
  9. package/dist/internalOptions.js.map +1 -0
  10. package/dist/legacy/createPathMapper.d.ts +4 -0
  11. package/dist/legacy/createPathMapper.js +21 -2
  12. package/dist/legacy/createPathMapper.js.map +1 -1
  13. package/dist/legacy/operations/lookup.js +2 -2
  14. package/dist/legacy/operations/lookup.js.map +1 -1
  15. package/dist/legacy/transformers/bucket.js +2 -1
  16. package/dist/legacy/transformers/bucket.js.map +1 -1
  17. package/dist/legacy/transformers/compare.js +3 -3
  18. package/dist/legacy/transformers/compare.js.map +1 -1
  19. package/dist/legacy/transformers/get.js +2 -2
  20. package/dist/legacy/transformers/get.js.map +1 -1
  21. package/dist/legacy/transformers/index.d.ts +1 -1
  22. package/dist/legacy/transformers/project.js +2 -2
  23. package/dist/legacy/transformers/project.js.map +1 -1
  24. package/dist/legacy/transformers/sort.js +2 -2
  25. package/dist/legacy/transformers/sort.js.map +1 -1
  26. package/dist/legacy/types.d.ts +17 -6
  27. package/dist/legacy/utils/prepareOptions.js +17 -10
  28. package/dist/legacy/utils/prepareOptions.js.map +1 -1
  29. package/dist/mapTransform.d.ts +3 -3
  30. package/dist/mapTransform.js +16 -25
  31. package/dist/mapTransform.js.map +1 -1
  32. package/dist/prep/alt.js +6 -0
  33. package/dist/prep/alt.js.map +1 -1
  34. package/dist/prep/apply.js +16 -3
  35. package/dist/prep/apply.js.map +1 -1
  36. package/dist/prep/array.js +6 -0
  37. package/dist/prep/array.js.map +1 -1
  38. package/dist/prep/filter.js +4 -1
  39. package/dist/prep/filter.js.map +1 -1
  40. package/dist/prep/index.d.ts +0 -1
  41. package/dist/prep/index.js +33 -12
  42. package/dist/prep/index.js.map +1 -1
  43. package/dist/prep/iterate.d.ts +1 -1
  44. package/dist/prep/iterate.js +2 -1
  45. package/dist/prep/iterate.js.map +1 -1
  46. package/dist/prep/mutation.js +17 -6
  47. package/dist/prep/mutation.js.map +1 -1
  48. package/dist/prep/path.js +3 -9
  49. package/dist/prep/path.js.map +1 -1
  50. package/dist/prep/transform.d.ts +1 -0
  51. package/dist/prep/transform.js +5 -4
  52. package/dist/prep/transform.js.map +1 -1
  53. package/dist/prepareOptions.d.ts +8 -0
  54. package/dist/prepareOptions.js +20 -0
  55. package/dist/prepareOptions.js.map +1 -0
  56. package/dist/run/alt.js +7 -5
  57. package/dist/run/alt.js.map +1 -1
  58. package/dist/run/index.d.ts +0 -5
  59. package/dist/run/index.js +33 -27
  60. package/dist/run/index.js.map +1 -1
  61. package/dist/run/iterate.js +2 -22
  62. package/dist/run/iterate.js.map +1 -1
  63. package/dist/run/mutation.d.ts +2 -1
  64. package/dist/run/mutation.js +2 -2
  65. package/dist/run/mutation.js.map +1 -1
  66. package/dist/run/path.d.ts +2 -1
  67. package/dist/run/path.js +11 -6
  68. package/dist/run/path.js.map +1 -1
  69. package/dist/run/resolveParentSets.d.ts +2 -0
  70. package/dist/run/resolveParentSets.js +46 -0
  71. package/dist/run/resolveParentSets.js.map +1 -0
  72. package/dist/run/transform.d.ts +3 -1
  73. package/dist/run/transform.js +9 -1
  74. package/dist/run/transform.js.map +1 -1
  75. package/dist/state.d.ts +2 -0
  76. package/dist/state.js +2 -0
  77. package/dist/state.js.map +1 -1
  78. package/dist/typesNext.d.ts +17 -5
  79. package/dist/utils/is.d.ts +1 -0
  80. package/dist/utils/is.js +1 -0
  81. package/dist/utils/is.js.map +1 -1
  82. package/package.json +2 -2
@@ -7,7 +7,6 @@ export type TransformDefinition = Step | Pipeline | null;
7
7
  export interface Options {
8
8
  transformers?: Record<string | symbol, Transformer | AsyncTransformer>;
9
9
  pipelines?: Record<string | symbol, TransformDefinition>;
10
- neededPipelineIds?: Set<string | symbol>;
11
10
  dictionaries?: Dictionaries;
12
11
  nonvalues?: unknown[];
13
12
  fwdAlias?: string;
@@ -10,13 +10,24 @@ import prepareTransformStep from './transform.js';
10
10
  import prepareValueStep from './value.js';
11
11
  import modifyOperation from './modifyOperation.js';
12
12
  import { isNotNullOrUndefined } from '../utils/is.js';
13
+ import { unescapeValue } from '../utils/escape.js';
14
+ const operationKeys = [
15
+ '$transform',
16
+ '$value',
17
+ '$apply',
18
+ '$alt',
19
+ '$array',
20
+ '$if',
21
+ '$filter',
22
+ '$iterate',
23
+ ];
24
+ const isOperationKey = (key) => operationKeys.includes(key);
13
25
  const isAltOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$alt');
14
26
  const isApplyOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$apply');
15
27
  const isArrayOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$array');
16
28
  const isFilterOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$filter');
17
29
  const isIfOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$if');
18
- const isIterateOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$iterate') &&
19
- typeof step.$iterate !== 'boolean';
30
+ const isIterateOperation = (step) => isNotNullOrUndefined(step.$iterate) && typeof step.$iterate !== 'boolean';
20
31
  const isTransformOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$transform');
21
32
  const isValueOperation = (step) => Object.prototype.hasOwnProperty.call(step, '$value');
22
33
  function getDir(dir, options) {
@@ -31,20 +42,21 @@ function getDir(dir, options) {
31
42
  return 0;
32
43
  }
33
44
  function extractStepProps({ $iterate, $direction, $nonvalues, $noDefaults: noDefaults, $undefined, ...step }, options) {
34
- const it = $iterate === true;
45
+ const it = typeof $iterate === 'boolean' ? $iterate : undefined;
46
+ if ($iterate && typeof $iterate !== 'boolean') {
47
+ step.$iterate = $iterate;
48
+ }
35
49
  const dir = getDir($direction, options);
36
- const nonvalues = Array.isArray($nonvalues)
50
+ const rawNonvalues = Array.isArray($nonvalues)
37
51
  ? $nonvalues
38
52
  : Array.isArray($undefined)
39
53
  ? $undefined
40
54
  : undefined;
41
- if ($iterate && typeof $iterate !== 'boolean') {
42
- step.$iterate = $iterate;
43
- }
44
- return it || dir || noDefaults !== undefined || nonvalues
55
+ const nonvalues = rawNonvalues?.map(unescapeValue);
56
+ return it !== undefined || dir || noDefaults !== undefined || nonvalues
45
57
  ? [
46
58
  {
47
- ...(it && { it }),
59
+ ...(it !== undefined && { it }),
48
60
  ...(dir && { dir }),
49
61
  ...(typeof noDefaults === 'boolean' && { noDefaults }),
50
62
  ...(nonvalues && { nonvalues }),
@@ -83,6 +95,17 @@ function prepareOperation(operation, options) {
83
95
  return prepareMutationStep(operation, options);
84
96
  }
85
97
  }
98
+ function validateObjectStep(operation) {
99
+ const keys = Object.keys(operation).filter(isOperationKey);
100
+ if (keys.length > 1) {
101
+ throw new Error(`Cannot define more than one operation on the same object: Was ${keys.join(', ')}`);
102
+ }
103
+ }
104
+ function prepareObjectStep(step, options) {
105
+ const [props, operation] = extractStepProps(step, options);
106
+ validateObjectStep(operation);
107
+ return setStepProps(prepareOperation(operation, options), props);
108
+ }
86
109
  const prepareStep = (options) => function prepareStep(step) {
87
110
  if (Array.isArray(step)) {
88
111
  return preparePipeline(step, options);
@@ -94,9 +117,7 @@ const prepareStep = (options) => function prepareStep(step) {
94
117
  throw new Error('Operation functions are not supported anymore');
95
118
  }
96
119
  else if (step) {
97
- const [props, operation] = extractStepProps(modifyOperation(step, options), options);
98
- const operationObject = prepareOperation(operation, options);
99
- return setStepProps(operationObject, props);
120
+ return prepareObjectStep(modifyOperation(step, options), options);
100
121
  }
101
122
  else {
102
123
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prep/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prep/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Options } from './index.js';
2
2
  import type { IterateStep } from '../run/iterate.js';
3
3
  import type { IterateOperation } from '../typesNext.js';
4
- export default function prepareArrayStep({ $iterate: pipeline }: IterateOperation, options: Options): IterateStep | undefined;
4
+ export default function prepareIterateStep({ $iterate: pipeline }: IterateOperation, options: Options): IterateStep | undefined;
@@ -1,8 +1,9 @@
1
1
  import preparePipeline from './index.js';
2
- export default function prepareArrayStep({ $iterate: pipeline }, options) {
2
+ export default function prepareIterateStep({ $iterate: pipeline }, options) {
3
3
  if (pipeline && (!Array.isArray(pipeline) || pipeline.length > 0)) {
4
4
  return {
5
5
  type: 'iterate',
6
+ it: true,
6
7
  pipeline: preparePipeline(pipeline, options),
7
8
  };
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/prep/iterate.ts"],"names":[],"mappings":"AAAA,OAAO,eAA4B,MAAM,YAAY,CAAA;AAIrD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EAAE,QAAQ,EAAE,QAAQ,EAAoB,EACxC,OAAgB;IAEhB,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC7C,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/prep/iterate.ts"],"names":[],"mappings":"AAAA,OAAO,eAA4B,MAAM,YAAY,CAAA;AAIrD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,EAAE,QAAQ,EAAE,QAAQ,EAAoB,EACxC,OAAgB;IAEhB,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC7C,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
@@ -31,9 +31,6 @@ function prepProp(setPath, pipeline, options) {
31
31
  if (isUnknownDollarProp(setPath) || !pipeline) {
32
32
  return undefined;
33
33
  }
34
- if (setPath.endsWith('[]') && isObject(pipeline)) {
35
- pipeline = { ...pipeline, $iterate: true };
36
- }
37
34
  if (setPath.includes('/')) {
38
35
  if (isSlashed(setPath)) {
39
36
  setPath = removeSlash(setPath);
@@ -51,17 +48,31 @@ const pipelineHasModify = (pipeline) => pipeline.some(pathIsModify);
51
48
  const sortModifyLast = (a, b) => Number(pipelineHasModify(a)) - Number(pipelineHasModify(b));
52
49
  const hasModifyInBothDirections = (pipeline) => pipeline.some((path) => path === '...') &&
53
50
  pipeline.some((path) => path === '>...');
54
- const isPipelineWithEffect = (pipeline) => !!pipeline && !hasModifyInBothDirections(pipeline);
51
+ function splitModifyInBothDirections(pipeline) {
52
+ if (!pipeline) {
53
+ return [];
54
+ }
55
+ else if (hasModifyInBothDirections(pipeline)) {
56
+ return [
57
+ pipeline.filter((path) => path !== '...'),
58
+ pipeline.filter((path) => path !== '>...'),
59
+ ];
60
+ }
61
+ else {
62
+ return [pipeline];
63
+ }
64
+ }
55
65
  export default function prepareMutationStep({ $flip: flip = false, $alwaysApply: always = false, ...props }, options) {
56
66
  const pipelines = Object.entries(props)
57
67
  .map(([setPath, pipeline]) => prepProp(setPath, pipeline, options))
58
- .filter(isPipelineWithEffect)
68
+ .flatMap(splitModifyInBothDirections)
59
69
  .sort(sortModifyLast);
60
- if (pipelines.length === 1 && pipelineHasModify(pipelines[0])) {
70
+ if (pipelines.length > 0 && pipelines.every(pipelineHasModify)) {
61
71
  return undefined;
62
72
  }
63
73
  return {
64
74
  type: 'mutation',
75
+ it: true,
65
76
  ...(flip && { flip }),
66
77
  ...(always && { always }),
67
78
  pipelines,
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/prep/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,YAA8C,MAAM,YAAY,CAAA;AACvE,OAAO,eAAe,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,MAAM,YAAY,GAAG,eAAe,CAAA;AACpC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAElE,MAAM,0BAA0B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;AAInE,SAAS,oBAAoB,CAAC,QAAyB;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IACE,QAAQ,CAAC,SAAS,CAAC;YACnB,0BAA0B,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EACnD,CAAC;YAID,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YAGN,OAAO,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAE,EAAE,CACzC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;AAMvC,SAAS,QAAQ,CACf,OAAe,EACf,QAAuC,EACvC,OAAgB;IAEhB,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;YAEtC,QAAQ,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,CAAC;YAEN,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAEvB,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;YAE9B,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QACpC,CAAC;QAGD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,oBAAoB,CAAC;QAC1B,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;QAClC,GAAG,eAAe,CAAC,IAAI,OAAO,EAAE,CAAC;KAClC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,CAAA;AAC7E,MAAM,iBAAiB,GAAG,CAAC,QAAyB,EAAE,EAAE,CACtD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAE7B,MAAM,cAAc,GAAG,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE,CAChE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D,MAAM,yBAAyB,GAAG,CAAC,QAAyB,EAAE,EAAE,CAC9D,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;AAE1C,MAAM,oBAAoB,GAAG,CAC3B,QAA0B,EACG,EAAE,CAC/B,CAAC,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;AASpD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,EACE,KAAK,EAAE,IAAI,GAAG,KAAK,EACnB,YAAY,EAAE,MAAM,GAAG,KAAK,EAC5B,GAAG,KAAK,EACO,EACjB,OAAgB;IAEhB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC3B,QAAQ,CAAC,OAAO,EAAE,QAA+B,EAAE,OAAO,CAAC,CAC5D;SACA,MAAM,CAAC,oBAAoB,CAAC;SAC5B,IAAI,CAAC,cAAc,CAAC,CAAA;IAGvB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS;KACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/prep/mutation.ts"],"names":[],"mappings":"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"}
package/dist/prep/path.js CHANGED
@@ -14,15 +14,9 @@ function splitPart(part) {
14
14
  if (part === '$modify') {
15
15
  return ['...'];
16
16
  }
17
- else if (part[0] === '^' && part.length > 1) {
18
- if (part === '^^^') {
19
- return ['^^^'];
20
- }
21
- const rest = part.slice(part[1] === '^' ? 2 : 1);
22
- return [
23
- '^^',
24
- ...splitPart(rest),
25
- ];
17
+ else if (part.startsWith('^^') && part !== '^^' && part !== '^^^') {
18
+ const prefix = part.startsWith('^^^') ? '^^^' : '^^';
19
+ return [prefix, ...splitPart(part.slice(prefix.length))];
26
20
  }
27
21
  else {
28
22
  const indexOfBracket = part.indexOf('[');
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/prep/path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/prep/path.ts"],"names":[],"mappings":"AAIA,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAExC,KAAK,EAAE,CAAA;QACT,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AAEH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAEpE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACpD,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;YAC/D,OAAO;gBACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,qBAAqB,GAAG,CAAC,CAAC;gBACrD,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;aACpD,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,QAAQ,CAAA;AAC5B,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAEhE,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,EAAE,CACxC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAExC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAU;IAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI;aACR,KAAK,CAAC,CAAC,CAAC;aACR,KAAK,CAAC,GAAG,CAAC;aACV,OAAO,CAAC,SAAS,CAAC;aAClB,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;aACzB,OAAO,EAAE,CAAA;IACd,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC,IAAI,CAAC;aAC5B,KAAK,CAAC,GAAG,CAAC;aACV,OAAO,CAAC,SAAS,CAAC;aAClB,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { TransformStep } from '../run/transform.js';
2
2
  import type { TransformOperation } from '../typesNext.js';
3
3
  import type { Options } from './index.js';
4
+ export declare const createTransformerFunctionError: (opName: string) => Error;
4
5
  export default function prepareTransformStep({ $transform: id, ...props }: TransformOperation, options: Options, opName?: string): TransformStep;
@@ -1,9 +1,10 @@
1
+ export const createTransformerFunctionError = (opName) => new Error(`${opName} operation was given a transformer function. Register the transformer in options and give its id instead`);
1
2
  function prepareFn(id, props, options, opName) {
2
3
  if (!id) {
3
4
  throw new Error(`${opName} operation is missing transformer id`);
4
5
  }
5
6
  if (typeof id === 'function') {
6
- return id(options);
7
+ throw createTransformerFunctionError(opName);
7
8
  }
8
9
  if (typeof id !== 'string' && typeof id !== 'symbol') {
9
10
  throw new Error(`${opName} operation was given a transformer id that is not a string or symbol`);
@@ -15,10 +16,10 @@ function prepareFn(id, props, options, opName) {
15
16
  if (typeof fn !== 'function') {
16
17
  throw new Error(`Transformer '${String(id)}' was not found for ${opName.toLowerCase()} operation`);
17
18
  }
18
- return fn(props)(options);
19
+ return { id, fn: fn(props)(options) };
19
20
  }
20
21
  export default function prepareTransformStep({ $transform: id, ...props }, options, opName = 'Transform') {
21
- const fn = prepareFn(id, props, options, opName);
22
- return { type: 'transform', fn };
22
+ const { id: transformerId, fn } = prepareFn(id, props, options, opName);
23
+ return { type: 'transform', id: transformerId, fn };
23
24
  }
24
25
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/prep/transform.ts"],"names":[],"mappings":"AAQA,SAAS,SAAS,CAChB,EAKQ,EACR,KAA8B,EAC9B,OAAgB,EAChB,MAAc;IAEd,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAE7B,OAAO,EAAE,CAAC,OAAkB,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,sEAAsE,CAChF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,EAAE,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,6BAA6B,CACnG,CAAA;IACH,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IACnC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,EAAE,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,YAAY,CAClF,CAAA;IACH,CAAC;IAGD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,OAAkB,CAAC,CAAA;AACtC,CAAC;AASD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAsB,EAChD,OAAgB,EAChB,MAAM,GAAG,WAAW;IAEpB,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/prep/transform.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,MAAc,EAAE,EAAE,CAC/D,IAAI,KAAK,CACP,GAAG,MAAM,0GAA0G,CACpH,CAAA;AAEH,SAAS,SAAS,CAChB,EAA0B,EAC1B,KAA8B,EAC9B,OAAgB,EAChB,MAAc;IAEd,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,8BAA8B,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,sEAAsE,CAChF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,EAAE,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,6BAA6B,CACnG,CAAA;IACH,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IACnC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,EAAE,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,YAAY,CAClF,CAAA;IACH,CAAC;IAGD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAkB,CAAC,EAAE,CAAA;AAClD,CAAC;AASD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAsB,EAChD,OAAgB,EAChB,MAAM,GAAG,WAAW;IAEpB,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;AACrD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Options } from './prep/index.js';
2
+ import type { PreppedPipeline } from './run/index.js';
3
+ import type { Transformer, AsyncTransformer } from './typesNext.js';
4
+ export type Mode = 'sync' | 'async';
5
+ export interface InternalOptions extends Options {
6
+ preparedPipelines: Map<string | symbol, PreppedPipeline>;
7
+ }
8
+ export declare function createInternalOptions(options: Options, mode: Mode, transformers: Record<string, Transformer | AsyncTransformer>): InternalOptions;
@@ -0,0 +1,20 @@
1
+ const preparedOptions = new WeakMap();
2
+ const createPreparedPipelines = () => ({
3
+ sync: new Map(),
4
+ async: new Map(),
5
+ });
6
+ export function createInternalOptions(options, mode, transformers) {
7
+ let prepared = preparedOptions.get(options);
8
+ if (!prepared) {
9
+ prepared = createPreparedPipelines();
10
+ preparedOptions.set(options, prepared);
11
+ }
12
+ const internalOptions = {
13
+ ...options,
14
+ transformers: { ...transformers, ...options.transformers },
15
+ preparedPipelines: mode === 'sync' ? prepared.sync : prepared.async,
16
+ };
17
+ preparedOptions.set(internalOptions, prepared);
18
+ return internalOptions;
19
+ }
20
+ //# sourceMappingURL=prepareOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareOptions.js","sourceRoot":"","sources":["../src/prepareOptions.ts"],"names":[],"mappings":"AAWA,MAAM,eAAe,GAAG,IAAI,OAAO,EAA8B,CAAA;AAEjE,MAAM,uBAAuB,GAAG,GAAsB,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,IAAI,GAAG,EAAE;IACf,KAAK,EAAE,IAAI,GAAG,EAAE;CACjB,CAAC,CAAA;AAUF,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,IAAU,EACV,YAA4D;IAE5D,IAAI,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,uBAAuB,EAAE,CAAA;QACpC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IACD,MAAM,eAAe,GAAG;QACtB,GAAG,OAAO;QACV,YAAY,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;QAC1D,iBAAiB,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;KACpE,CAAA;IACD,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAC9C,OAAO,eAAe,CAAA;AACxB,CAAC"}
package/dist/run/alt.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import State from '../state.js';
2
- import runPipeline, { runPipelineAsync, runOneLevel, runOneLevelAsync, } from './index.js';
2
+ import runPipeline, { runPipelineAsync, runOneLevel, runOneLevelAsync, hasSetSteps, } from './index.js';
3
3
  import { runIterator, runIteratorAsync } from '../utils/iterator.js';
4
4
  import { isNonvalue } from '../utils/is.js';
5
5
  const isUntouchedValue = (value, nextValue, pipeline) => value === nextValue && pipeline.length > 0;
@@ -11,21 +11,23 @@ function* getWithAltPipelines(value, pipelines, state, isAsync = false) {
11
11
  : runOneLevel(value, pipeline, nextState);
12
12
  if (!isUntouchedValue(value, next, pipeline) &&
13
13
  (!isNonvalue(next, state.nonvalues) || index === pipelines.length - 1)) {
14
- state.context = nextState.context;
15
14
  return next;
16
15
  }
17
16
  }
18
- state.context.push(value);
19
17
  return undefined;
20
18
  }
21
19
  const shouldUseDefault = (value, pipelines, state) => pipelines.length > 1 && isNonvalue(value, state.nonvalues);
22
20
  function* getDefaultValue(pipelines, state, isAsync = false) {
23
- const defaultPipelines = pipelines.slice(1).reverse();
21
+ const defaultPipelines = pipelines
22
+ .slice(1)
23
+ .filter((pipeline) => !hasSetSteps(pipeline, true))
24
+ .reverse();
24
25
  for (const pipeline of defaultPipelines) {
25
26
  const value = yield isAsync
26
27
  ? runPipelineAsync(undefined, pipeline, state)
27
28
  : runPipeline(undefined, pipeline, state);
28
- if (!isUntouchedValue(undefined, value, pipeline) && !isNonvalue(value)) {
29
+ if (!isUntouchedValue(undefined, value, pipeline) &&
30
+ !isNonvalue(value, state.nonvalues)) {
29
31
  return value;
30
32
  }
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alt.js","sourceRoot":"","sources":["../../src/run/alt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alt.js","sourceRoot":"","sources":["../../src/run/alt.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,6 @@ export interface OperationStepBase extends StepProps {
21
21
  export type OperationStep = AltStep | ApplyStep | ArrayStep | FilterStep | IfStep | IterateStep | MutationStep | TransformStep | ValueStep;
22
22
  export type PreppedStep = Path | OperationStep;
23
23
  export type PreppedPipeline = PreppedStep[];
24
- export interface PreppedOptions {
25
- pipelines: Map<string | symbol, PreppedPipeline>;
26
- nonvalues?: unknown[];
27
- modifyOperationObject: (operation: Record<string, unknown>) => Record<string, unknown>;
28
- }
29
24
  export declare const hasSetSteps: (pipeline: PreppedPipeline, isRev: boolean) => boolean;
30
25
  export declare function runOneLevel(value: unknown, pipeline: PreppedPipeline, state: State): unknown;
31
26
  export declare function runOneLevelAsync(value: unknown, pipeline: PreppedPipeline, state: State): Promise<unknown>;
package/dist/run/index.js CHANGED
@@ -6,9 +6,10 @@ import runFilterStep, { runFilterStepAsync } from './filter.js';
6
6
  import runIfStep, { runIfStepAsync } from './if.js';
7
7
  import runIterateStep, { runIterateStepAsync, } from './iterate.js';
8
8
  import runMutationStep, { runMutationStepAsync, } from './mutation.js';
9
- import runTransformStep from './transform.js';
9
+ import runTransformStep, { runTransformStepAsync, } from './transform.js';
10
10
  import runValueStep from './value.js';
11
11
  import runPath from './path.js';
12
+ import resolveParentSets from './resolveParentSets.js';
12
13
  import unwindTarget from './unwindTarget.js';
13
14
  import { runIterator, runIteratorAsync } from '../utils/iterator.js';
14
15
  import { isObject } from '../utils/is.js';
@@ -33,7 +34,7 @@ const asyncStepFunctions = {
33
34
  if: runIfStepAsync,
34
35
  iterate: runIterateStepAsync,
35
36
  mutation: runMutationStepAsync,
36
- transform: runTransformStep,
37
+ transform: runTransformStepAsync,
37
38
  value: runValueStep,
38
39
  };
39
40
  const isOperationObject = (step) => isObject(step) && typeof step.type === 'string';
@@ -81,23 +82,34 @@ function* iterateOverArray(value, target, state, processor) {
81
82
  }
82
83
  function* runOneLevelGen(value, pipeline, state, stepFunctions, runOneLevel) {
83
84
  const isRev = state.isRev;
84
- const targets = unwindTarget(state.target, pipeline, isRev);
85
+ const { targetContext } = state;
86
+ const depth = targetContext.length;
87
+ const [steps, parentLevel] = resolveParentSets(pipeline, isRev, depth);
88
+ const baseTarget = parentLevel === undefined
89
+ ? state.target
90
+ : parentLevel >= 0
91
+ ? targetContext[parentLevel]
92
+ : undefined;
93
+ const hasTargets = hasSetSteps(steps, isRev);
94
+ targetContext.push(...unwindTarget(baseTarget, steps, isRev));
85
95
  let next = value;
86
96
  let index = 0;
87
97
  let doIterate;
88
- while (index < pipeline.length) {
89
- const step = pipeline[index++];
98
+ while (index < steps.length) {
99
+ const step = steps[index++];
90
100
  if (typeof step === 'string') {
91
101
  const prevIndex = index;
92
- [next, index, doIterate] = runPath(next, pipeline, step, index, targets, handOffState(state, next), isRev);
102
+ [next, index, doIterate] = runPath(next, steps, step, index, handOffState(state, next), isRev);
93
103
  if (doIterate && Array.isArray(next)) {
94
- const subPipeline = pipeline.slice(prevIndex - 1, index);
104
+ const subPipeline = steps.slice(prevIndex - 1, index);
95
105
  const target = hasSetSteps(subPipeline, isRev)
96
- ? targets.pop()
106
+ ? targetContext.pop()
97
107
  : undefined;
98
108
  const targetArr = ensureArray(target, state.nonvalues);
99
109
  const processor = (item, state) => runOneLevel(item, subPipeline, state);
110
+ targetContext.push(target);
100
111
  const arr = yield* iterateOverArray(next, targetArr, state, processor);
112
+ targetContext.pop();
101
113
  next = arr.flat();
102
114
  state.context.pop();
103
115
  }
@@ -105,19 +117,30 @@ function* runOneLevelGen(value, pipeline, state, stepFunctions, runOneLevel) {
105
117
  else if (isOperationObject(step)) {
106
118
  if (shouldRun(step, state.rev)) {
107
119
  const runner = getRunnerForStep(step, stepFunctions);
120
+ const contextDepth = state.context.length;
108
121
  if (shouldIterate(next, step)) {
109
122
  state.context.push(next);
123
+ targetContext.push(undefined);
110
124
  const processor = (item, state, index) => runStep(runner, item, step, state, index);
111
125
  next = yield* iterateOverArray(next, [], state, processor);
126
+ targetContext.pop();
112
127
  state.context.pop();
113
128
  }
114
129
  else {
115
130
  next = yield runStep(runner, next, step, state);
116
131
  }
132
+ state.context.length = contextDepth;
117
133
  }
118
134
  }
119
135
  }
120
- return next;
136
+ targetContext.length = depth;
137
+ if (parentLevel === undefined) {
138
+ return next;
139
+ }
140
+ else if (parentLevel >= 0 && hasTargets) {
141
+ targetContext[parentLevel] = next;
142
+ }
143
+ return state.target;
121
144
  }
122
145
  export function runOneLevel(value, pipeline, state) {
123
146
  const it = runOneLevelGen(value, pipeline, state, syncStepFunctions, runOneLevel);
@@ -127,24 +150,7 @@ export async function runOneLevelAsync(value, pipeline, state) {
127
150
  const it = runOneLevelGen(value, pipeline, state, asyncStepFunctions, runOneLevelAsync);
128
151
  return runIteratorAsync(it);
129
152
  }
130
- function adjustPipelineToDirection(pipeline, state) {
131
- const isRev = state.isRev;
132
- const directedPipeline = isRev ? [...pipeline].reverse() : pipeline;
133
- const steps = [];
134
- let skipCount = 0;
135
- for (const step of directedPipeline) {
136
- if (isRev ? step === '^' : step === '>^') {
137
- skipCount++;
138
- }
139
- else if (skipCount > 0) {
140
- skipCount--;
141
- }
142
- else {
143
- steps.push(step);
144
- }
145
- }
146
- return steps;
147
- }
153
+ const adjustPipelineToDirection = (pipeline, state) => state.isRev ? [...pipeline].reverse() : pipeline;
148
154
  export default function runPipeline(value, pipeline, initialState) {
149
155
  const state = new State(initialState, value);
150
156
  return runOneLevel(value, adjustPipelineToDirection(pipeline, state), state);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,8 @@
1
1
  import runPipeline, { runPipelineAsync } from './index.js';
2
- import { runIterator, runIteratorAsync } from '../utils/iterator.js';
3
- function* applyPipeline(data, pipeline, state, isAsync = false) {
4
- if (Array.isArray(data)) {
5
- const values = [];
6
- for (const item of data) {
7
- const result = yield isAsync
8
- ? runPipelineAsync(item, pipeline, state)
9
- : runPipeline(item, pipeline, state);
10
- values.push(result);
11
- }
12
- return values;
13
- }
14
- else {
15
- return yield isAsync
16
- ? runPipelineAsync(data, pipeline, state)
17
- : runPipeline(data, pipeline, state);
18
- }
19
- }
20
2
  export default function runIterateStep(value, { pipeline }, state) {
21
- const it = applyPipeline(value, pipeline, state);
22
- return runIterator(it);
3
+ return runPipeline(value, pipeline, state);
23
4
  }
24
5
  export async function runIterateStepAsync(value, { pipeline }, state) {
25
- const it = applyPipeline(value, pipeline, state, true);
26
- return runIteratorAsync(it);
6
+ return await runPipelineAsync(value, pipeline, state);
27
7
  }
28
8
  //# sourceMappingURL=iterate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/run/iterate.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAYpE,QAAQ,CAAC,CAAC,aAAa,CACrB,IAAa,EACb,QAAyB,EACzB,KAAY,EACZ,OAAO,GAAG,KAAK;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,EAAE,CAAA;QAGjB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,OAAO;gBAC1B,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;gBACzC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QAGD,OAAO,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,OAAO;YAClB,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;YACzC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAKD,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAc,EACd,EAAE,QAAQ,EAAe,EACzB,KAAY;IAEZ,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChD,OAAO,WAAW,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,EAAE,QAAQ,EAAe,EACzB,KAAY;IAEZ,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtD,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/run/iterate.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAa1D,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAc,EACd,EAAE,QAAQ,EAAe,EACzB,KAAY;IAEZ,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC5C,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,EAAE,QAAQ,EAAe,EACzB,KAAY;IAEZ,OAAO,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AACvD,CAAC"}
@@ -2,10 +2,11 @@ import { PreppedPipeline, OperationStepBase } from './index.js';
2
2
  import type State from '../state.js';
3
3
  export interface MutationStep extends OperationStepBase {
4
4
  type: 'mutation';
5
+ it: boolean;
5
6
  flip?: boolean;
6
7
  noDefaults?: boolean;
7
8
  always?: boolean;
8
9
  pipelines: PreppedPipeline[];
9
10
  }
10
11
  export default function runMutationStep(value: unknown, { pipelines, flip, always }: MutationStep, state: State): unknown;
11
- export declare function runMutationStepAsync(value: unknown, { pipelines, flip }: MutationStep, state: State): Promise<unknown>;
12
+ export declare function runMutationStepAsync(value: unknown, { pipelines, flip, always }: MutationStep, state: State): Promise<unknown>;
@@ -11,8 +11,8 @@ export default function runMutationStep(value, { pipelines, flip, always }, stat
11
11
  }
12
12
  return pipelines.reduce((target, pipeline) => runPipeline(value, pipeline, handOffState(state, target, flip)), state.noDefaults ? undefined : {});
13
13
  }
14
- export async function runMutationStepAsync(value, { pipelines, flip }, state) {
15
- if (isNonvalue(value, state.nonvalues)) {
14
+ export async function runMutationStepAsync(value, { pipelines, flip, always }, state) {
15
+ if (!always && isNonvalue(value, state.nonvalues)) {
16
16
  return undefined;
17
17
  }
18
18
  let next = state.noDefaults ? undefined : {};
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/run/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAClB,gBAAgB,GAGjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAW3C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,MAAe,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC;IACvE,GAAG,KAAK;IACR,MAAM;IACN,IAAI,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;CACpD,CAAC,CAAA;AAOF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAAc,EACd,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAgB,EACzC,KAAY;IAGZ,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACnB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EACjE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAc,CAC/C,CAAA;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,EAAE,SAAS,EAAE,IAAI,EAAgB,EACjC,KAAY;IAGZ,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,IAAI,IAAI,GAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,GAAG,MAAM,gBAAgB,CAC3B,KAAK,EACL,QAAQ,EACR,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAChC,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/run/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAClB,gBAAgB,GAGjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAY3C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,MAAe,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC;IACvE,GAAG,KAAK;IACR,MAAM;IACN,IAAI,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;CACpD,CAAC,CAAA;AAOF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAAc,EACd,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAgB,EACzC,KAAY;IAGZ,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACnB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EACjE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAc,CAC/C,CAAA;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAgB,EACzC,KAAY;IAGZ,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,IAAI,IAAI,GAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,GAAG,MAAM,gBAAgB,CAC3B,KAAK,EACL,QAAQ,EACR,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAChC,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}