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

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 (72) hide show
  1. package/NEXT.md +123 -0
  2. package/README.md +187 -52
  3. package/WRITING_PIPELINES.md +279 -106
  4. package/dist/legacy/createPathMapper.d.ts +4 -0
  5. package/dist/legacy/createPathMapper.js +21 -2
  6. package/dist/legacy/createPathMapper.js.map +1 -1
  7. package/dist/legacy/operations/lookup.js +2 -2
  8. package/dist/legacy/operations/lookup.js.map +1 -1
  9. package/dist/legacy/transformers/bucket.js +2 -1
  10. package/dist/legacy/transformers/bucket.js.map +1 -1
  11. package/dist/legacy/transformers/compare.js +3 -3
  12. package/dist/legacy/transformers/compare.js.map +1 -1
  13. package/dist/legacy/transformers/get.js +2 -2
  14. package/dist/legacy/transformers/get.js.map +1 -1
  15. package/dist/legacy/transformers/project.js +2 -2
  16. package/dist/legacy/transformers/project.js.map +1 -1
  17. package/dist/legacy/transformers/sort.js +2 -2
  18. package/dist/legacy/transformers/sort.js.map +1 -1
  19. package/dist/mapTransform.d.ts +1 -0
  20. package/dist/mapTransform.js +14 -22
  21. package/dist/mapTransform.js.map +1 -1
  22. package/dist/prep/alt.js +6 -0
  23. package/dist/prep/alt.js.map +1 -1
  24. package/dist/prep/apply.js +15 -3
  25. package/dist/prep/apply.js.map +1 -1
  26. package/dist/prep/array.js +6 -0
  27. package/dist/prep/array.js.map +1 -1
  28. package/dist/prep/filter.js +4 -1
  29. package/dist/prep/filter.js.map +1 -1
  30. package/dist/prep/index.d.ts +1 -1
  31. package/dist/prep/index.js +33 -12
  32. package/dist/prep/index.js.map +1 -1
  33. package/dist/prep/iterate.d.ts +1 -1
  34. package/dist/prep/iterate.js +2 -1
  35. package/dist/prep/iterate.js.map +1 -1
  36. package/dist/prep/mutation.js +17 -6
  37. package/dist/prep/mutation.js.map +1 -1
  38. package/dist/prep/path.js +3 -9
  39. package/dist/prep/path.js.map +1 -1
  40. package/dist/prep/transform.d.ts +1 -0
  41. package/dist/prep/transform.js +5 -4
  42. package/dist/prep/transform.js.map +1 -1
  43. package/dist/prepareOptions.d.ts +9 -0
  44. package/dist/prepareOptions.js +24 -0
  45. package/dist/prepareOptions.js.map +1 -0
  46. package/dist/run/alt.js +7 -5
  47. package/dist/run/alt.js.map +1 -1
  48. package/dist/run/index.d.ts +0 -5
  49. package/dist/run/index.js +33 -27
  50. package/dist/run/index.js.map +1 -1
  51. package/dist/run/iterate.js +2 -22
  52. package/dist/run/iterate.js.map +1 -1
  53. package/dist/run/mutation.d.ts +2 -1
  54. package/dist/run/mutation.js +2 -2
  55. package/dist/run/mutation.js.map +1 -1
  56. package/dist/run/path.d.ts +2 -1
  57. package/dist/run/path.js +11 -6
  58. package/dist/run/path.js.map +1 -1
  59. package/dist/run/resolveParentSets.d.ts +2 -0
  60. package/dist/run/resolveParentSets.js +46 -0
  61. package/dist/run/resolveParentSets.js.map +1 -0
  62. package/dist/run/transform.d.ts +3 -1
  63. package/dist/run/transform.js +9 -1
  64. package/dist/run/transform.js.map +1 -1
  65. package/dist/state.d.ts +2 -0
  66. package/dist/state.js +2 -0
  67. package/dist/state.js.map +1 -1
  68. package/dist/typesNext.d.ts +1 -1
  69. package/dist/utils/is.d.ts +1 -0
  70. package/dist/utils/is.js +1 -0
  71. package/dist/utils/is.js.map +1 -1
  72. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/prep/mutation.ts"],"names":[],"mappings":"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"}
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,9 @@
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 default function prepareOptions(options: Options): Options;
9
+ export declare function createInternalOptions(options: Options, mode: Mode, transformers: Record<string, Transformer | AsyncTransformer>): InternalOptions;
@@ -0,0 +1,24 @@
1
+ const preparedOptions = new WeakMap();
2
+ const createPreparedPipelines = () => ({
3
+ sync: new Map(),
4
+ async: new Map(),
5
+ });
6
+ export default function prepareOptions(options) {
7
+ if (preparedOptions.has(options)) {
8
+ return options;
9
+ }
10
+ const prepared = { ...options };
11
+ preparedOptions.set(prepared, createPreparedPipelines());
12
+ return prepared;
13
+ }
14
+ export function createInternalOptions(options, mode, transformers) {
15
+ const prepared = preparedOptions.get(options) ?? createPreparedPipelines();
16
+ const internalOptions = {
17
+ ...options,
18
+ transformers: { ...transformers, ...options.transformers },
19
+ preparedPipelines: mode === 'sync' ? prepared.sync : prepared.async,
20
+ };
21
+ preparedOptions.set(internalOptions, prepared);
22
+ return internalOptions;
23
+ }
24
+ //# 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;AAOF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAgB;IACrD,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;IAC/B,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAA;IACxD,OAAO,QAAQ,CAAA;AACjB,CAAC;AASD,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,IAAU,EACV,YAA4D;IAE5D,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,uBAAuB,EAAE,CAAA;IAC1E,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"}
@@ -1,4 +1,5 @@
1
1
  import State from '../state.js';
2
2
  import type { PreppedPipeline } from './index.js';
3
3
  export declare const calculateIndex: (index: number, arr: unknown[]) => number;
4
- export default function runPathStep(value: unknown, pipeline: PreppedPipeline, step: string, index: number, targets: unknown[], state: State, isRev: boolean): [unknown, number, boolean?];
4
+ export declare const extractPathStep: (step: string, isRev: boolean) => [string, boolean];
5
+ export default function runPathStep(value: unknown, pipeline: PreppedPipeline, step: string, index: number, state: State, isRev: boolean): [unknown, number, boolean?];
package/dist/run/path.js CHANGED
@@ -58,25 +58,30 @@ function getNextSetArrayOrSetIndex(pipeline, currentIndex, isRev) {
58
58
  }
59
59
  return index < currentIndex ? pipeline.length : index;
60
60
  }
61
- const extractPathStep = (step, isRev) => step[0] === '>' ? [step.slice(1), !isRev] : [step, isRev];
62
- export default function runPathStep(value, pipeline, step, index, targets, state, isRev) {
61
+ export const extractPathStep = (step, isRev) => step[0] === '>' ? [step.slice(1), !isRev] : [step, isRev];
62
+ export default function runPathStep(value, pipeline, step, index, state, isRev) {
63
63
  const [path, isSet] = extractPathStep(step, isRev);
64
+ const targets = state.targetContext;
64
65
  if (path === '[]') {
65
66
  if (!isSet || !Array.isArray(value)) {
66
67
  return [ensureArrayIfDefaultsAreAllowed(value, state), index];
67
68
  }
68
69
  }
69
70
  else if (path === '^') {
70
- return [state.context.pop(), index];
71
+ return [isSet ? value : state.context.pop(), index];
71
72
  }
72
73
  else if (path === '^^' || path === '^^^') {
73
74
  if (isSet) {
74
- return [state.target, pipeline.length];
75
+ return [value, index];
75
76
  }
76
77
  else {
77
78
  const next = path === '^^^'
78
- ? (state.root !== undefined ? state.root : value)
79
- : (state.context.length === 0 ? value : state.context[0]);
79
+ ? state.root !== undefined
80
+ ? state.root
81
+ : value
82
+ : state.context.length === 0
83
+ ? value
84
+ : state.context[0];
80
85
  state.context = [];
81
86
  return [next, index];
82
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/run/path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/run/path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { PreppedPipeline } from './index.js';
2
+ export default function resolveParentSets(pipeline: PreppedPipeline, isRev: boolean, depth: number): [PreppedPipeline, number | undefined];
@@ -0,0 +1,46 @@
1
+ import { extractPathStep } from './path.js';
2
+ const isLevelPath = (path) => path !== '.' && path !== '...' && path !== '|';
3
+ export default function resolveParentSets(pipeline, isRev, depth) {
4
+ let cancel = 0;
5
+ let toRoot = false;
6
+ const removed = new Set();
7
+ for (let index = 0; index < pipeline.length; index++) {
8
+ const step = pipeline[index];
9
+ if (typeof step !== 'string') {
10
+ continue;
11
+ }
12
+ const [path, isSet] = extractPathStep(step, isRev);
13
+ if (!isSet) {
14
+ continue;
15
+ }
16
+ if (path === '^') {
17
+ cancel++;
18
+ removed.add(index);
19
+ }
20
+ else if (path === '^^' || path === '^^^') {
21
+ toRoot = true;
22
+ removed.add(index);
23
+ }
24
+ else if (toRoot) {
25
+ removed.add(index);
26
+ }
27
+ else if (cancel > 0 && isLevelPath(path)) {
28
+ cancel--;
29
+ removed.add(index);
30
+ }
31
+ }
32
+ if (removed.size === 0) {
33
+ return [pipeline, undefined];
34
+ }
35
+ const level = toRoot
36
+ ? depth > 0
37
+ ? 0
38
+ : undefined
39
+ : cancel > 0
40
+ ? depth - cancel >= 0
41
+ ? depth - cancel
42
+ : -1
43
+ : undefined;
44
+ return [pipeline.filter((_, index) => !removed.has(index)), level];
45
+ }
46
+ //# sourceMappingURL=resolveParentSets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveParentSets.js","sourceRoot":"","sources":["../../src/run/resolveParentSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAK3C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACnC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAA;AAehD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,QAAyB,EACzB,KAAc,EACd,KAAa;IAEb,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,CAAA;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,GAAG,IAAI,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAA;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,MAAM;QAClB,CAAC,CAAC,KAAK,GAAG,CAAC;YACT,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,MAAM,GAAG,CAAC;YACV,CAAC,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC;gBACnB,CAAC,CAAC,KAAK,GAAG,MAAM;gBAChB,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACpE,CAAC"}
@@ -3,6 +3,8 @@ import type { OperationStepBase } from './index.js';
3
3
  import type { DataMapperWithState, AsyncDataMapperWithState } from '../typesNext.js';
4
4
  export interface TransformStep extends OperationStepBase {
5
5
  type: 'transform';
6
+ id: string | symbol;
6
7
  fn: DataMapperWithState | AsyncDataMapperWithState;
7
8
  }
8
- export default function runTransformStep(value: unknown, { fn }: TransformStep, state: State): unknown;
9
+ export default function runTransformStep(value: unknown, { id, fn }: TransformStep, state: State): unknown;
10
+ export declare function runTransformStepAsync(value: unknown, { fn }: TransformStep, state: State): unknown;
@@ -1,4 +1,12 @@
1
- export default function runTransformStep(value, { fn }, state) {
1
+ import { isPromise } from '../utils/is.js';
2
+ export default function runTransformStep(value, { id, fn }, state) {
3
+ const ret = fn(value, state);
4
+ if (isPromise(ret)) {
5
+ throw new Error(`Transformer '${String(id)}' returned a promise. You cannot use async transformers when running MapTransform synchronously`);
6
+ }
7
+ return ret;
8
+ }
9
+ export function runTransformStepAsync(value, { fn }, state) {
2
10
  return fn(value, state);
3
11
  }
4
12
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,KAAc,EACd,EAAE,EAAE,EAAiB,EACrB,KAAY;IAEZ,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoB1C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,KAAc,EACd,EAAE,EAAE,EAAE,EAAE,EAAiB,EACzB,KAAY;IAEZ,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,EAAE,CAAC,iGAAiG,CAC5H,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAOD,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,EAAE,EAAE,EAAiB,EACrB,KAAY;IAEZ,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
package/dist/state.d.ts CHANGED
@@ -4,6 +4,7 @@ export interface InitialState {
4
4
  root?: unknown;
5
5
  context?: unknown[];
6
6
  target?: unknown;
7
+ targetContext?: unknown[];
7
8
  nonvalues?: unknown[];
8
9
  pipelines?: Map<string | symbol, PreppedPipeline>;
9
10
  rev?: boolean;
@@ -16,6 +17,7 @@ export default class State {
16
17
  root: unknown;
17
18
  context: unknown[];
18
19
  target: unknown;
20
+ targetContext: unknown[];
19
21
  nonvalues: unknown[];
20
22
  pipelines: Map<string | symbol, PreppedPipeline>;
21
23
  rev: boolean;