map-transform 1.0.7 → 1.0.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.
package/README.md CHANGED
@@ -1371,6 +1371,7 @@ will honor the [flipped mode](#flipping-a-transform-object).
1371
1371
 
1372
1372
  `lookup` will take the value in the pipeline and replace it with the first
1373
1373
  object in the `arrayPath` array that has a value in `propPath` matching it.
1374
+ `arrayPath` may be a pipeline, but `propPath` can only be a dot notation path.
1374
1375
 
1375
1376
  When `matchSeveral` is `true`, all matches – not only the first – will be
1376
1377
  returned. Default is `false`.
@@ -1736,7 +1737,9 @@ const def21b = [
1736
1737
  The `sort` transformer will sort the array at the given `path`, in the direction
1737
1738
  given by `asc`. The default direction is ascending (`asc` is `true` by default).
1738
1739
 
1739
- When no `path` is given, the sort is performed on the array in pipeline.
1740
+ When no `path` is given, the sort is performed on the array in pipeline. Note
1741
+ that `path` needs to be a dot notation path when specified, it cannot be a full
1742
+ pipeline.
1740
1743
 
1741
1744
  Example:
1742
1745
 
@@ -1,12 +1,17 @@
1
1
  import { getStateValue, setStateValue } from '../utils/stateHelpers.js';
2
- async function filterValue(value, filterFn, state) {
3
- if (Array.isArray(value)) {
4
- const results = await Promise.all(value.map((val) => filterFn(val, state)));
5
- return value.filter((_v, index) => results[index]);
2
+ async function filterValue(values, filterFn, state) {
3
+ if (Array.isArray(values)) {
4
+ const results = [];
5
+ for (const value of values) {
6
+ if (await filterFn(value, state)) {
7
+ results.push(value);
8
+ }
9
+ }
10
+ return results;
6
11
  }
7
12
  else {
8
- const result = await filterFn(value, state);
9
- return result ? value : undefined;
13
+ const result = await filterFn(values, state);
14
+ return result ? values : undefined;
10
15
  }
11
16
  }
12
17
  export default function filter(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAIvE,KAAK,UAAU,WAAW,CACxB,KAAc,EACd,QAAwD,EACxD,KAAY;IAEZ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;KACnD;SAAM;QACL,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;KAClC;AACH,CAAC;AAMD,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,EAAsD;IAEtD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;SAC1C;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;QAEjC,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACnC,OAAO,aAAa,CAClB,SAAS,EACT,MAAM,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,CACtE,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAIvE,KAAK,UAAU,WAAW,CACxB,MAAe,EACf,QAAwD,EACxD,KAAY;IAEZ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACpB;SACF;QACD,OAAO,OAAO,CAAA;KACf;SAAM;QACL,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;KACnC;AACH,CAAC;AAMD,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,EAAsD;IAEtD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;SAC1C;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;QAEjC,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACnC,OAAO,aAAa,CAClB,SAAS,EACT,MAAM,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,CACtE,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -2,15 +2,18 @@ import { pushContext, getStateValue, setStateValue, getTargetFromState, setTarge
2
2
  import { defToOperation } from '../utils/definitionHelpers.js';
3
3
  import { indexOfIfArray } from '../utils/array.js';
4
4
  import { noopNext } from '../utils/stateHelpers.js';
5
+ const runIterationStep = async (fn, state, value, index, target) => getStateValue(await fn(setTargetOnState({ ...state, index, value }, indexOfIfArray(target, index))));
5
6
  export const iterateState = (fn) => async (state, target) => {
6
- const value = getStateValue(state);
7
- if (Array.isArray(value)) {
8
- const nextState = pushContext(state, value);
9
- return Promise.all(value.map(async (item, index) => getStateValue(await fn(setTargetOnState({ ...nextState, index, value: item }, indexOfIfArray(target, index))))));
7
+ const values = getStateValue(state);
8
+ if (!Array.isArray(values)) {
9
+ return await runIterationStep(fn, state, values, 0, target);
10
10
  }
11
- else {
12
- return getStateValue(await fn(setTargetOnState({ ...state, index: 0, value }, indexOfIfArray(target, 0))));
11
+ const nextState = pushContext(state, values);
12
+ const nextValue = [];
13
+ for (const [index, value] of values.entries()) {
14
+ nextValue.push(await runIterationStep(fn, nextState, value, index, target));
13
15
  }
16
+ return nextValue;
14
17
  };
15
18
  export default function iterate(def) {
16
19
  if (!def || (typeof def === 'object' && Object.keys(def).length === 0)) {
@@ -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,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"}
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,gBAAgB,GAAG,KAAK,EAC5B,EAAe,EACf,KAAY,EACZ,KAAc,EACd,KAAa,EACb,MAAe,EACf,EAAE,CACF,aAAa,CACX,MAAM,EAAE,CACN,gBAAgB,CACd,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAC1B,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAC9B,CACF,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAAe,EAAE,EAAE,CAAC,KAAK,EAAE,KAAY,EAAE,MAAe,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAE1B,OAAO,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAC5D;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAc,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;QAE7C,SAAS,CAAC,IAAI,CACZ,MAAM,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAC5D,CAAA;KACF;IACD,OAAO,SAAS,CAAA;AAClB,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"}
@@ -16,6 +16,9 @@ const matchInArray = (getArray, match, getProp) => (state) => {
16
16
  };
17
17
  export function lookup({ arrayPath, propPath, matchSeveral = false, flip = false, }) {
18
18
  return (options) => {
19
+ if (typeof propPath !== 'string' && propPath !== undefined) {
20
+ throw new TypeError("The 'lookup' operation does not allow `path` (the prop path) to be a pipeline");
21
+ }
19
22
  const getter = pathGetter(propPath);
20
23
  const matchFn = matchInArray(defToOperation(arrayPath, options), matchSeveral ? findAllMatches : findOneMatch, getter);
21
24
  const extractProp = (state) => async (value) => getter(value, state);
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/operations/lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/operations/lookup.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,10 @@ export default function merge(...defs) {
36
36
  return setStateValue(nextState, undefined);
37
37
  }
38
38
  else {
39
- const states = await Promise.all(pipelines.map((pipeline) => pipeline(nextState)));
39
+ const states = [];
40
+ for (const pipeline of pipelines) {
41
+ states.push(await pipeline(nextState));
42
+ }
40
43
  return states.reduce(mergeStates);
41
44
  }
42
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operations/merge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,UAAU,aAAa,CAC3B,MAAW,EACX,MAAW;IAEX,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAE9B,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAO,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;gBACjD,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;KACX;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,SAAgB;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAA;IAE5D,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,GAAG,IAA2B;IAC1D,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;SACpE;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAC5C,CAAA;QAED,OAAO,KAAK,WAAW,KAAK;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;gBACjD,OAAO,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC3C;iBAAM;gBACL,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CACjD,CAAA;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;aAClC;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operations/merge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,UAAU,aAAa,CAC3B,MAAW,EACX,MAAW;IAEX,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAE9B,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAO,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;gBACjD,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;KACX;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,SAAgB;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAA;IAE5D,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,GAAG,IAA2B;IAC1D,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;SACpE;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAC5C,CAAA;QAED,OAAO,KAAK,WAAW,KAAK;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;gBACjD,OAAO,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC3C;iBAAM;gBACL,MAAM,MAAM,GAAG,EAAE,CAAA;gBACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAChC,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;iBACvC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;aAClC;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -3,6 +3,9 @@ const extractPath = (path) => typeof path === 'string' ? path : path.path;
3
3
  const transformer = function get(props) {
4
4
  return () => {
5
5
  const path = extractPath(props) || '.';
6
+ if (typeof path !== 'string' && path !== undefined) {
7
+ throw new TypeError("The 'get' transformer does not allow `path` to be a pipeline");
8
+ }
6
9
  const mapper = pathGetter(path);
7
10
  return (data, state) => mapper(data, state);
8
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/transformers/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAOpD,MAAM,WAAW,GAAG,CAAC,IAAoB,EAAE,EAAE,CAC3C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;AAE7C,MAAM,WAAW,GAAgC,SAAS,GAAG,CAAC,KAAK;IACjE,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA;QACtC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/transformers/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAOpD,MAAM,WAAW,GAAG,CAAC,IAAoB,EAAE,EAAE,CAC3C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;AAE7C,MAAM,WAAW,GAAgC,SAAS,GAAG,CAAC,KAAK;IACjE,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA;QACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE;YAClD,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAA;SACF;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -20,7 +20,10 @@ const transformer = function logical({ path = '.', operator = 'AND', }) {
20
20
  return obj;
21
21
  }
22
22
  else {
23
- const values = await Promise.all(getFns.map((fn) => fn(data, state)));
23
+ const values = [];
24
+ for (const getFn of getFns) {
25
+ values.push(await getFn(data, state));
26
+ }
24
27
  return values.reduce(logicalOp);
25
28
  }
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../src/transformers/logical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAS/C,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE,CAC1C,QAAQ,KAAK,IAAI;IACf,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;AAE1D,MAAM,WAAW,GAA4B,SAAS,OAAO,CAAC,EAC5D,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,GACjB;IACC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAE1E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAExC,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,GAAG,EAAE;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3B,IAAI,GAAY,CAAA;gBAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;iBAClE;gBACD,OAAO,GAAG,CAAA;aACX;iBAAM;gBACL,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;gBACrE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAChC;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../src/transformers/logical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAS/C,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE,CAC1C,QAAQ,KAAK,IAAI;IACf,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;AAG1D,MAAM,WAAW,GAA4B,SAAS,OAAO,CAAC,EAC5D,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,GACjB;IACC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAE1E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAExC,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,GAAG,EAAE;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3B,IAAI,GAAY,CAAA;gBAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;iBAClE;gBACD,OAAO,GAAG,CAAA;aACX;iBAAM;gBACL,MAAM,MAAM,GAAG,EAAE,CAAA;gBACjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;iBACtC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAChC;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -7,10 +7,15 @@ function mergeTransformer({ path }, flip) {
7
7
  return (options) => {
8
8
  const getFns = ensureArray(path).map((path) => defToDataMapper(path, options));
9
9
  return async function mergePipelines(data, state) {
10
- const values = (await Promise.all(getFns.map((fn) => fn(data, flipState(state, flip)))))
10
+ const values = [];
11
+ for (const fn of getFns) {
12
+ values.push(await fn(data, flipState(state, flip)));
13
+ }
14
+ return Object.fromEntries(values
11
15
  .flat()
12
- .filter(isObject);
13
- return Object.fromEntries(values.flatMap(Object.entries).sort(undefinedFirst));
16
+ .filter(isObject)
17
+ .flatMap(Object.entries)
18
+ .sort(undefinedFirst));
14
19
  };
15
20
  };
16
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/transformers/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAapD,MAAM,cAAc,GAAG,CACrB,CAAC,EAAE,EAAE,CAAC,CAAoB,EAC1B,CAAC,EAAE,EAAE,CAAC,CAAoB,EAC1B,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAMxE,SAAS,gBAAgB,CACvB,EAAE,IAAI,EAAS,EACf,IAAa;IAEb,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC/B,CAAA;QAED,OAAO,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,KAAK;YAC9C,MAAM,MAAM,GAAG,CACb,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACxE;iBACE,IAAI,EAAE;iBACN,MAAM,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CACpD,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAOD,MAAM,CAAC,MAAM,KAAK,GAA4B,SAAS,KAAK,CAAC,KAAY;IACvE,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvC,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,QAAQ,GAA4B,SAAS,QAAQ,CAChE,KAAY;IAEZ,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/transformers/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAapD,MAAM,cAAc,GAAG,CACrB,CAAC,EAAE,EAAE,CAAC,CAAoB,EAC1B,CAAC,EAAE,EAAE,CAAC,CAAoB,EAC1B,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAMxE,SAAS,gBAAgB,CACvB,EAAE,IAAI,EAAS,EACf,IAAa;IAEb,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC/B,CAAA;QAED,OAAO,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,KAAK;YAC9C,MAAM,MAAM,GAAG,EAAE,CAAA;YACjB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE;gBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;aACpD;YACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM;iBACH,IAAI,EAAE;iBACN,MAAM,CAAC,QAAQ,CAAC;iBAChB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;iBACvB,IAAI,CAAC,cAAc,CAAC,CACxB,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAOD,MAAM,CAAC,MAAM,KAAK,GAA4B,SAAS,KAAK,CAAC,KAAY;IACvE,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvC,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,QAAQ,GAA4B,SAAS,QAAQ,CAChE,KAAY;IAEZ,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA"}
@@ -24,6 +24,9 @@ function fetchSortValue(getFn, state) {
24
24
  const transformer = function sort(props) {
25
25
  return () => {
26
26
  const { path, asc } = props || {};
27
+ if (typeof path !== 'string' && path !== undefined) {
28
+ throw new TypeError("The 'sort' transformer does not allow `path` to be a pipeline");
29
+ }
27
30
  const direction = asc === false ? -1 : 1;
28
31
  const getFn = path ? pathGetter(path) : (value) => value;
29
32
  return (data, state) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/transformers/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAgBpD,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,SAAiB,EAAE,EAAE,CACjE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAA;AAErB,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,SAAiB,EAAE,EAAE,CACjE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;AAElD,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,EAAE,CACpC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAY,EAAE,CAAC,CAAC,CAAY;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAClD,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;KACvC;SAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE;QACjD,OAAO,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;KAC3D;SAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;QACzE,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAC9C;SAAM;QACL,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAEH,SAAS,cAAc,CAAC,KAA0B,EAAE,KAAY;IAC9D,OAAO,SAAS,cAAc,CAAC,IAAa;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACjC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC,CAAA;AACH,CAAC;AAED,MAAM,WAAW,GAAuB,SAAS,IAAI,CAAC,KAAK;IACzD,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAA;QACjC,MAAM,SAAS,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAA;QAEjE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAE3C,OAAO,IAAI,CAAA;aACZ;YAGD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YAExD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/transformers/sort.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-transform",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Map and transform objects with mapping definitions",
5
5
  "author": "Kjell-Morten Bratsberg Thorsen <kjellmorten@integreat.io>",
6
6
  "license": "ISC",