map-transform 1.6.0-rc.8 → 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.
- package/README.md +10 -26
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/internalOptions.d.ts +9 -0
- package/dist/internalOptions.js +21 -0
- package/dist/internalOptions.js.map +1 -0
- package/dist/legacy/transformers/index.d.ts +1 -1
- package/dist/legacy/types.d.ts +17 -6
- package/dist/legacy/utils/prepareOptions.js +17 -10
- package/dist/legacy/utils/prepareOptions.js.map +1 -1
- package/dist/mapTransform.d.ts +3 -4
- package/dist/mapTransform.js +4 -5
- package/dist/mapTransform.js.map +1 -1
- package/dist/prep/apply.js +3 -2
- package/dist/prep/apply.js.map +1 -1
- package/dist/prep/index.d.ts +0 -1
- package/dist/prep/index.js.map +1 -1
- package/dist/prepareOptions.d.ts +0 -1
- package/dist/prepareOptions.js +5 -9
- package/dist/prepareOptions.js.map +1 -1
- package/dist/typesNext.d.ts +16 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -176,32 +176,16 @@ await mapTransform(def)(source, { target }) // We're reusing `def` from the prev
|
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
Finally, if you're using the same `options` across several `mapTransform` calls,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// ...
|
|
191
|
-
|
|
192
|
-
await mapTransform(def2, preppedOptions)(source)
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Most of the preparations are still done just-in-time, but when it's done once,
|
|
196
|
-
it won't happen again on the next call. `prepareOptions` is idempotent, so
|
|
197
|
-
passing already prepared options to `mapTransform` -- or calling
|
|
198
|
-
`prepareOptions` on them again -- costs nothing.
|
|
199
|
-
|
|
200
|
-
`map-transform/next` exports its own `prepareOptions` alongside `mapTransform`.
|
|
201
|
-
Options prepared with one API cannot be handed to the other. Note that the sync
|
|
202
|
-
`mapTransform()` and the async `mapTransformAsync()` cache their prepared
|
|
203
|
-
pipelines separately, so mixing both on the same prepared options will prepare
|
|
204
|
-
each pipeline twice.
|
|
179
|
+
pass the same options object each time. Calls with the same options object share
|
|
180
|
+
prepared pipelines automatically, so a pipeline is only prepared once. Changing
|
|
181
|
+
pipeline definitions on the options object after it has been used is not
|
|
182
|
+
supported.
|
|
183
|
+
|
|
184
|
+
`map-transform/next` works the same way. Like in the legacy API, the default
|
|
185
|
+
export is async, and it is also exported as `mapTransformAsync()`, with
|
|
186
|
+
`mapTransformSync()` as its sync counterpart. Note that `mapTransformSync()` and
|
|
187
|
+
the async `mapTransformAsync()` cache their prepared pipelines separately, so
|
|
188
|
+
mixing both on the same options object will prepare each pipeline twice.
|
|
205
189
|
|
|
206
190
|
> [!NOTE] We are preparing for an upcoming 2.0 version, which will include
|
|
207
191
|
> breaking changes.
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,5 @@ export { default as root } from './legacy/operations/root.js';
|
|
|
13
13
|
export { default as transform } from './legacy/operations/transform.js';
|
|
14
14
|
export { default as iterate } from './legacy/operations/iterate.js';
|
|
15
15
|
export { default as transformers } from './legacy/transformers/index.js';
|
|
16
|
-
export { prepareOptions } from './legacy/utils/prepareOptions.js';
|
|
17
16
|
export { pathGetter, pathSetter } from './legacy/createPathMapper.js';
|
|
18
17
|
export { default } from './legacy/index.js';
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,6 @@ export { default as root } from './legacy/operations/root.js';
|
|
|
13
13
|
export { default as transform } from './legacy/operations/transform.js';
|
|
14
14
|
export { default as iterate } from './legacy/operations/iterate.js';
|
|
15
15
|
export { default as transformers } from './legacy/transformers/index.js';
|
|
16
|
-
export { prepareOptions } from './legacy/utils/prepareOptions.js';
|
|
17
16
|
export { pathGetter, pathSetter } from './legacy/createPathMapper.js';
|
|
18
17
|
export { default } from './legacy/index.js';
|
|
19
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAEtE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAExD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAExE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAEtE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAExD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -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 declare const isInternalOptions: (options: Options) => options is InternalOptions;
|
|
9
|
+
export declare function createInternalOptions(options: Options, mode: Mode, transformers: Record<string, Transformer | AsyncTransformer>): InternalOptions;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const preparedOptions = new WeakMap();
|
|
2
|
+
export const isInternalOptions = (options) => 'preparedPipelines' in options && options.preparedPipelines instanceof Map;
|
|
3
|
+
const createPreparedPipelines = () => ({
|
|
4
|
+
sync: new Map(),
|
|
5
|
+
async: new Map(),
|
|
6
|
+
});
|
|
7
|
+
export function createInternalOptions(options, mode, transformers) {
|
|
8
|
+
let prepared = preparedOptions.get(options);
|
|
9
|
+
if (!prepared) {
|
|
10
|
+
prepared = createPreparedPipelines();
|
|
11
|
+
preparedOptions.set(options, prepared);
|
|
12
|
+
}
|
|
13
|
+
const internalOptions = {
|
|
14
|
+
...options,
|
|
15
|
+
transformers: { ...transformers, ...options.transformers },
|
|
16
|
+
preparedPipelines: mode === 'sync' ? prepared.sync : prepared.async,
|
|
17
|
+
};
|
|
18
|
+
preparedOptions.set(internalOptions, prepared);
|
|
19
|
+
return internalOptions;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=internalOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalOptions.js","sourceRoot":"","sources":["../src/internalOptions.ts"],"names":[],"mappings":"AAWA,MAAM,eAAe,GAAG,IAAI,OAAO,EAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EACY,EAAE,CAC9B,mBAAmB,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,YAAY,GAAG,CAAA;AAE5E,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"}
|
|
@@ -11,7 +11,7 @@ declare const _default: {
|
|
|
11
11
|
map: import("../types.js").Transformer<import("./map.js").Props>;
|
|
12
12
|
merge: import("../types.js").AsyncTransformer<import("./merge.js").Props>;
|
|
13
13
|
mergeRev: import("../types.js").AsyncTransformer<import("./merge.js").Props>;
|
|
14
|
-
not: import("../types.js").AsyncTransformer<import("../types.js").
|
|
14
|
+
not: import("../types.js").AsyncTransformer<((options: import("../types.js").Options) => import("../types.js").AsyncDataMapperWithState) | ((options: import("../types.js").Options) => import("../types.js").DataMapperWithState) | import("./not.js").Props>;
|
|
15
15
|
project: import("../types.js").Transformer<import("./project.js").Props>;
|
|
16
16
|
sort: import("../types.js").Transformer<import("./sort.js").Props>;
|
|
17
17
|
value: import("../types.js").Transformer<unknown>;
|
package/dist/legacy/types.d.ts
CHANGED
|
@@ -19,24 +19,34 @@ export interface State extends InitialState {
|
|
|
19
19
|
export interface Options {
|
|
20
20
|
transformers?: Record<string | symbol, Transformer | AsyncTransformer>;
|
|
21
21
|
pipelines?: Record<string | symbol, TransformDefinition>;
|
|
22
|
-
neededPipelineIds?: Set<string | symbol>;
|
|
23
22
|
dictionaries?: Dictionaries;
|
|
24
23
|
nonvalues?: unknown[];
|
|
25
24
|
fwdAlias?: string;
|
|
26
25
|
revAlias?: string;
|
|
27
26
|
modifyOperationObject?: (operation: Record<string, unknown>) => Record<string, unknown>;
|
|
28
27
|
modifyGetValue?: (value: unknown, state: State, options: Options) => unknown;
|
|
29
|
-
preparedPipelines?: Map<string | symbol, Operation>;
|
|
30
28
|
}
|
|
31
29
|
export interface InternalOptions extends Options {
|
|
32
30
|
neededPipelineIds: Set<string | symbol>;
|
|
33
31
|
preparedPipelines: Map<string | symbol, Operation>;
|
|
34
32
|
}
|
|
35
33
|
export type DataMapper<T extends InitialState | undefined = State> = (data: unknown, state?: T) => Promise<unknown>;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export type
|
|
34
|
+
interface AsyncDataMapperWithStateMethod {
|
|
35
|
+
mapper(data: unknown, state: State): Promise<unknown>;
|
|
36
|
+
}
|
|
37
|
+
export type AsyncDataMapperWithState = AsyncDataMapperWithStateMethod['mapper'];
|
|
38
|
+
interface DataMapperWithStateMethod {
|
|
39
|
+
mapper(data: unknown, state: State): unknown;
|
|
40
|
+
}
|
|
41
|
+
export type DataMapperWithState = DataMapperWithStateMethod['mapper'];
|
|
42
|
+
interface AsyncDataMapperWithOptionsMethod {
|
|
43
|
+
mapper(options: Options): AsyncDataMapperWithState;
|
|
44
|
+
}
|
|
45
|
+
export type AsyncDataMapperWithOptions = AsyncDataMapperWithOptionsMethod['mapper'];
|
|
46
|
+
interface DataMapperWithOptionsMethod {
|
|
47
|
+
mapper(options: Options): DataMapperWithState;
|
|
48
|
+
}
|
|
49
|
+
export type DataMapperWithOptions = DataMapperWithOptionsMethod['mapper'];
|
|
40
50
|
export type StateMapper = (state: State) => Promise<State>;
|
|
41
51
|
export type NextStateMapper = (next: StateMapper) => StateMapper;
|
|
42
52
|
export type Operation = (options: Options) => NextStateMapper;
|
|
@@ -112,3 +122,4 @@ export interface MutationObject extends Record<string, unknown> {
|
|
|
112
122
|
}
|
|
113
123
|
export type TransformObject = MutationObject;
|
|
114
124
|
export type TransformDefinition = MutationObject | Operation | OperationObject | Pipeline | Path | null;
|
|
125
|
+
export {};
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import transformers from '../transformers/index.js';
|
|
2
|
+
import { toInternalOptions } from './internalOptions.js';
|
|
2
3
|
export { getPreparedPipeline, preparePipelines } from './preparedPipelines.js';
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const pipelineCaches = new WeakMap();
|
|
5
|
+
function getPipelineCache(options) {
|
|
6
|
+
const cached = pipelineCaches.get(options);
|
|
7
|
+
if (cached) {
|
|
8
|
+
return cached;
|
|
7
9
|
}
|
|
10
|
+
const { neededPipelineIds, preparedPipelines } = toInternalOptions({
|
|
11
|
+
...options,
|
|
12
|
+
});
|
|
13
|
+
const cache = { neededPipelineIds, preparedPipelines };
|
|
14
|
+
pipelineCaches.set(options, cache);
|
|
15
|
+
return cache;
|
|
16
|
+
}
|
|
17
|
+
export function prepareOptions(options) {
|
|
18
|
+
const cache = getPipelineCache(options);
|
|
8
19
|
const preppedOptions = {
|
|
9
20
|
...options,
|
|
10
21
|
transformers: { ...transformers, ...options.transformers },
|
|
11
22
|
nonvalues: options.nonvalues ?? [undefined],
|
|
12
|
-
|
|
13
|
-
preparedPipelines: options.preparedPipelines ?? new Map(),
|
|
23
|
+
...cache,
|
|
14
24
|
};
|
|
15
|
-
|
|
16
|
-
value: true,
|
|
17
|
-
enumerable: false,
|
|
18
|
-
});
|
|
25
|
+
pipelineCaches.set(preppedOptions, cache);
|
|
19
26
|
return preppedOptions;
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=prepareOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareOptions.js","sourceRoot":"","sources":["../../../src/legacy/utils/prepareOptions.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"prepareOptions.js","sourceRoot":"","sources":["../../../src/legacy/utils/prepareOptions.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAO9E,MAAM,cAAc,GAAG,IAAI,OAAO,EAA0B,CAAA;AAE5D,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAAC;QACjE,GAAG,OAAO;KACX,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA;IACtD,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,cAAc,GAAG;QACrB,GAAG,OAAO;QACV,YAAY,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;QAC1D,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC;QAC3C,GAAG,KAAK;KACT,CAAA;IACD,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACzC,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
package/dist/mapTransform.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { TransformDefinition, Options } from './prep/index.js';
|
|
2
2
|
import { sync as syncTransformers, async as asyncTransformers } from './transformers/index.js';
|
|
3
3
|
import State from './state.js';
|
|
4
|
-
export { syncTransformers, asyncTransformers, State };
|
|
4
|
+
export { syncTransformers, asyncTransformers, State, mapTransformAsync };
|
|
5
5
|
export { pathGetter, pathSetter } from './createPathMapper.js';
|
|
6
|
-
export { default as prepareOptions } from './prepareOptions.js';
|
|
7
6
|
export interface InitialState {
|
|
8
7
|
context?: unknown[];
|
|
9
8
|
target?: unknown;
|
|
10
9
|
rev?: boolean;
|
|
11
10
|
noDefaults?: boolean;
|
|
12
11
|
}
|
|
13
|
-
export
|
|
14
|
-
export
|
|
12
|
+
export declare function mapTransformSync(def: TransformDefinition, options?: Options): (data: unknown, state?: InitialState) => unknown;
|
|
13
|
+
export default function mapTransformAsync(def: TransformDefinition, options?: Options): (data: unknown, state?: InitialState) => Promise<unknown>;
|
package/dist/mapTransform.js
CHANGED
|
@@ -2,10 +2,9 @@ import preparePipeline from './prep/index.js';
|
|
|
2
2
|
import runPipeline, { runPipelineAsync } from './run/index.js';
|
|
3
3
|
import { sync as syncTransformers, async as asyncTransformers, } from './transformers/index.js';
|
|
4
4
|
import State from './state.js';
|
|
5
|
-
import { createInternalOptions } from './
|
|
6
|
-
export { syncTransformers, asyncTransformers, State };
|
|
5
|
+
import { createInternalOptions } from './internalOptions.js';
|
|
6
|
+
export { syncTransformers, asyncTransformers, State, mapTransformAsync };
|
|
7
7
|
export { pathGetter, pathSetter } from './createPathMapper.js';
|
|
8
|
-
export { default as prepareOptions } from './prepareOptions.js';
|
|
9
8
|
function createTransformFunction(pipeline, stateProps) {
|
|
10
9
|
return (value, state) => runPipeline(value, pipeline, { ...state, ...stateProps });
|
|
11
10
|
}
|
|
@@ -23,11 +22,11 @@ function preparePipelinesAndStateProps(def, options, transformers, mode) {
|
|
|
23
22
|
},
|
|
24
23
|
];
|
|
25
24
|
}
|
|
26
|
-
export
|
|
25
|
+
export function mapTransformSync(def, options = {}) {
|
|
27
26
|
const [pipeline, stateProps] = preparePipelinesAndStateProps(def, options, syncTransformers, 'sync');
|
|
28
27
|
return createTransformFunction(pipeline, stateProps);
|
|
29
28
|
}
|
|
30
|
-
export function mapTransformAsync(def, options = {}) {
|
|
29
|
+
export default function mapTransformAsync(def, options = {}) {
|
|
31
30
|
const [pipeline, stateProps] = preparePipelinesAndStateProps(def, options, asyncTransformers, 'async');
|
|
32
31
|
return createTransformFunctionAsync(pipeline, stateProps);
|
|
33
32
|
}
|
package/dist/mapTransform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapTransform.js","sourceRoot":"","sources":["../src/mapTransform.ts"],"names":[],"mappings":"AAAA,OAAO,eAAiD,MAAM,iBAAiB,CAAA;AAC/E,OAAO,WAAW,EAAE,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,IAAI,IAAI,gBAAgB,EACxB,KAAK,IAAI,iBAAiB,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mapTransform.js","sourceRoot":"","sources":["../src/mapTransform.ts"],"names":[],"mappings":"AAAA,OAAO,eAAiD,MAAM,iBAAiB,CAAA;AAC/E,OAAO,WAAW,EAAE,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,IAAI,IAAI,gBAAgB,EACxB,KAAK,IAAI,iBAAiB,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAI5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAW9D,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,UAA0B;IAE1B,OAAO,CAAC,KAAc,EAAE,KAAsB,EAAE,EAAE,CAChD,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;AAC7D,CAAC;AAID,SAAS,4BAA4B,CACnC,QAAyB,EACzB,UAA0B;IAE1B,OAAO,KAAK,EAAE,KAAc,EAAE,KAAsB,EAAE,EAAE,CACtD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,6BAA6B,CACpC,GAAwB,EACxB,OAAgB,EAChB,YAA4D,EAC5D,IAAU;IAEV,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IACtD,OAAO;QACL,QAAQ;QACR;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,eAAe,CAAC,iBAAiB;SAC7C;KACF,CAAA;AACH,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAC9B,GAAwB,EACxB,UAAmB,EAAE;IAErB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,6BAA6B,CAC1D,GAAG,EACH,OAAO,EACP,gBAAgB,EAChB,MAAM,CACP,CAAA;IACD,OAAO,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AACtD,CAAC;AAUD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,GAAwB,EACxB,UAAmB,EAAE;IAErB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,6BAA6B,CAC1D,GAAG,EACH,OAAO,EACP,iBAAiB,EACjB,OAAO,CACR,CAAA;IACD,OAAO,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC3D,CAAC"}
|
package/dist/prep/apply.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import preparePipeline from './index.js';
|
|
2
|
+
import { isInternalOptions } from '../internalOptions.js';
|
|
2
3
|
export default function prepareApplyStep({ $apply: id }, options) {
|
|
3
4
|
if (!id) {
|
|
4
5
|
throw new Error('Failed to apply pipeline. No id provided');
|
|
@@ -12,10 +13,10 @@ export default function prepareApplyStep({ $apply: id }, options) {
|
|
|
12
13
|
if (!Object.prototype.hasOwnProperty.call(options.pipelines, id)) {
|
|
13
14
|
throw new Error(`Failed to apply pipeline '${String(id)}'. Unknown pipeline`);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
if (!preparedPipelines) {
|
|
16
|
+
if (!isInternalOptions(options)) {
|
|
17
17
|
throw new Error(`Failed to apply pipeline '${String(id)}'. Options have no prepared pipelines Map`);
|
|
18
18
|
}
|
|
19
|
+
const { preparedPipelines } = options;
|
|
19
20
|
if (!preparedPipelines.has(id)) {
|
|
20
21
|
const pipeline = [];
|
|
21
22
|
preparedPipelines.set(id, pipeline);
|
package/dist/prep/apply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/prep/apply.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/prep/apply.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAMzD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EAAE,MAAM,EAAE,EAAE,EAAkB,EAC9B,OAAgB;IAEhB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAC7D,CAAA;IACH,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,CAAC,2CAA2C,CACnF,CAAA;IACH,CAAC;IACD,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;IAErC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAoB,EAAE,CAAA;QACpC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACnC,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AAC9B,CAAC"}
|
package/dist/prep/index.d.ts
CHANGED
|
@@ -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
|
-
preparedPipelines?: Map<string | symbol, PreppedPipeline>;
|
|
11
10
|
dictionaries?: Dictionaries;
|
|
12
11
|
nonvalues?: unknown[];
|
|
13
12
|
fwdAlias?: string;
|
package/dist/prep/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prep/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,UAAU,CAAA;AACrC,OAAO,gBAAgB,MAAM,YAAY,CAAA;AACzC,OAAO,gBAAgB,MAAM,YAAY,CAAA;AACzC,OAAO,iBAAiB,MAAM,aAAa,CAAA;AAC3C,OAAO,aAAa,MAAM,SAAS,CAAA;AACnC,OAAO,kBAAkB,MAAM,cAAc,CAAA;AAC7C,OAAO,mBAAmB,MAAM,eAAe,CAAA;AAC/C,OAAO,eAAe,MAAM,WAAW,CAAA;AACvC,OAAO,oBAAoB,MAAM,gBAAgB,CAAA;AACjD,OAAO,gBAAgB,MAAM,YAAY,CAAA;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prep/index.ts"],"names":[],"mappings":"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"}
|
package/dist/prepareOptions.d.ts
CHANGED
|
@@ -5,5 +5,4 @@ export type Mode = 'sync' | 'async';
|
|
|
5
5
|
export interface InternalOptions extends Options {
|
|
6
6
|
preparedPipelines: Map<string | symbol, PreppedPipeline>;
|
|
7
7
|
}
|
|
8
|
-
export default function prepareOptions(options: Options): Options;
|
|
9
8
|
export declare function createInternalOptions(options: Options, mode: Mode, transformers: Record<string, Transformer | AsyncTransformer>): InternalOptions;
|
package/dist/prepareOptions.js
CHANGED
|
@@ -3,16 +3,12 @@ const createPreparedPipelines = () => ({
|
|
|
3
3
|
sync: new Map(),
|
|
4
4
|
async: new Map(),
|
|
5
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
6
|
export function createInternalOptions(options, mode, transformers) {
|
|
15
|
-
|
|
7
|
+
let prepared = preparedOptions.get(options);
|
|
8
|
+
if (!prepared) {
|
|
9
|
+
prepared = createPreparedPipelines();
|
|
10
|
+
preparedOptions.set(options, prepared);
|
|
11
|
+
}
|
|
16
12
|
const internalOptions = {
|
|
17
13
|
...options,
|
|
18
14
|
transformers: { ...transformers, ...options.transformers },
|
|
@@ -1 +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;
|
|
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/typesNext.d.ts
CHANGED
|
@@ -9,10 +9,22 @@ export type Dictionaries = Record<string, Dictionary>;
|
|
|
9
9
|
export type AsyncDataMapper<T extends InitialState | undefined = State> = (data: unknown, state?: T) => Promise<unknown>;
|
|
10
10
|
export type SyncDataMapper<T extends InitialState | undefined = State> = (data: unknown, state?: T) => unknown;
|
|
11
11
|
export type DataMapper<T extends InitialState | undefined = State> = AsyncDataMapper<T> | SyncDataMapper<T>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export type
|
|
12
|
+
interface AsyncDataMapperWithStateMethod {
|
|
13
|
+
mapper(data: unknown, state: State): Promise<unknown>;
|
|
14
|
+
}
|
|
15
|
+
export type AsyncDataMapperWithState = AsyncDataMapperWithStateMethod['mapper'];
|
|
16
|
+
interface DataMapperWithStateMethod {
|
|
17
|
+
mapper(data: unknown, state: State): unknown;
|
|
18
|
+
}
|
|
19
|
+
export type DataMapperWithState = DataMapperWithStateMethod['mapper'];
|
|
20
|
+
interface AsyncDataMapperWithOptionsMethod {
|
|
21
|
+
mapper(options: Options): AsyncDataMapperWithState;
|
|
22
|
+
}
|
|
23
|
+
export type AsyncDataMapperWithOptions = AsyncDataMapperWithOptionsMethod['mapper'];
|
|
24
|
+
interface DataMapperWithOptionsMethod {
|
|
25
|
+
mapper(options: Options): DataMapperWithState;
|
|
26
|
+
}
|
|
27
|
+
export type DataMapperWithOptions = DataMapperWithOptionsMethod['mapper'];
|
|
16
28
|
export type StateMapper = (state: State) => Promise<State>;
|
|
17
29
|
export type NextStateMapper = (next: StateMapper) => StateMapper;
|
|
18
30
|
export type Operation = (options: Options) => NextStateMapper;
|
package/package.json
CHANGED