map-transform 1.0.2 → 1.0.3
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 +4 -0
- package/SECURITY.md +5 -3
- package/dist/types.d.ts +8 -1
- package/dist/utils/definitionHelpers.js +29 -16
- package/dist/utils/definitionHelpers.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1095,6 +1095,8 @@ details.
|
|
|
1095
1095
|
Note that `concatRev` does not have an operation object notation, but `concat`
|
|
1096
1096
|
will honor the [flipped mode](#flipping-a-transform-object).
|
|
1097
1097
|
|
|
1098
|
+
`concatRev` is also available as an operation object with `$concatRev`.
|
|
1099
|
+
|
|
1098
1100
|
#### `merge(pipeline, pipeline, ...)` operation
|
|
1099
1101
|
|
|
1100
1102
|
`merge` will run all given pipelines and deep merge their results. Conflicts are
|
|
@@ -1363,6 +1365,8 @@ for more on how it works, just reverse the directions.
|
|
|
1363
1365
|
Note that `lookdown` does not have an operation object notation, but `lookup`
|
|
1364
1366
|
will honor the [flipped mode](#flipping-a-transform-object).
|
|
1365
1367
|
|
|
1368
|
+
`lookdown` is also available as an operation object with `$lookdown`.
|
|
1369
|
+
|
|
1366
1370
|
#### `lookup({ arrayPath, propPath, matchSeveral })` operation
|
|
1367
1371
|
|
|
1368
1372
|
`lookup` will take the value in the pipeline and replace it with the first
|
package/SECURITY.md
CHANGED
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
| Version | Supported |
|
|
6
6
|
| ------- | ------------------ |
|
|
7
|
-
| 0.
|
|
8
|
-
| 0
|
|
7
|
+
| 1.0.x | :white_check_mark: |
|
|
8
|
+
| < 1.0 | :x: |
|
|
9
9
|
|
|
10
10
|
## Reporting a Vulnerability
|
|
11
11
|
|
|
12
|
-
We welcome vulnerabilty reports. Please
|
|
12
|
+
We welcome vulnerabilty reports. Please
|
|
13
|
+
[open an issue](https://github.com/integreat-io/map-transform/issues/new) and
|
|
14
|
+
describe what you've find.
|
package/dist/types.d.ts
CHANGED
|
@@ -93,11 +93,18 @@ export interface AltOperation extends TransformerProps {
|
|
|
93
93
|
export interface ConcatOperation extends TransformerProps {
|
|
94
94
|
$concat: TransformDefinition[];
|
|
95
95
|
}
|
|
96
|
+
export interface ConcatRevOperation extends TransformerProps {
|
|
97
|
+
$concatRev: TransformDefinition[];
|
|
98
|
+
}
|
|
96
99
|
export interface LookupOperation extends TransformerProps {
|
|
97
100
|
$lookup: Path;
|
|
98
101
|
path: Path;
|
|
99
102
|
}
|
|
100
|
-
export
|
|
103
|
+
export interface LookdownOperation extends TransformerProps {
|
|
104
|
+
$lookdown: Path;
|
|
105
|
+
path: Path;
|
|
106
|
+
}
|
|
107
|
+
export type OperationObject = TransformOperation | FilterOperation | IfOperation | ApplyOperation | AltOperation | ConcatOperation | ConcatRevOperation | LookupOperation | LookdownOperation;
|
|
101
108
|
export type Pipeline = (TransformObject | Operation | OperationObject | Path | Pipeline)[];
|
|
102
109
|
export interface TransformObject extends Record<string, unknown> {
|
|
103
110
|
$iterate?: boolean;
|
|
@@ -11,8 +11,8 @@ import ifelse from '../operations/ifelse.js';
|
|
|
11
11
|
import apply from '../operations/apply.js';
|
|
12
12
|
import alt from '../operations/alt.js';
|
|
13
13
|
import { fwd, rev } from '../operations/directionals.js';
|
|
14
|
-
import { concat } from '../operations/concat.js';
|
|
15
|
-
import { lookup } from '../operations/lookup.js';
|
|
14
|
+
import { concat, concatRev } from '../operations/concat.js';
|
|
15
|
+
import { lookup, lookdown } from '../operations/lookup.js';
|
|
16
16
|
import pipe from '../operations/pipe.js';
|
|
17
17
|
import { unescapeValue } from './escape.js';
|
|
18
18
|
import { ensureArray } from './array.js';
|
|
@@ -27,26 +27,33 @@ const nonOperatorKeys = [
|
|
|
27
27
|
const isOperatorKey = (key) => key[0] === '$' && !nonOperatorKeys.includes(key);
|
|
28
28
|
const isOperationObject = (def) => isObject(def) && Object.keys(def).filter(isOperatorKey).length > 0;
|
|
29
29
|
export const isOperationType = (def, prop) => def.hasOwnProperty(prop);
|
|
30
|
+
const pipeIfArray = (operations) => (Array.isArray(operations) ? pipe(operations) : operations);
|
|
30
31
|
export const isPath = (def) => typeof def === 'string';
|
|
31
32
|
export const isTransformObject = (def) => isObject(def) && !isOperationObject(def);
|
|
32
33
|
export const isPipeline = (def) => Array.isArray(def);
|
|
33
34
|
export const isOperation = (def) => typeof def === 'function';
|
|
34
35
|
export const isTransformDefinition = (def) => isPath(def) || isObject(def) || isPipeline(def) || isOperation(def);
|
|
35
|
-
|
|
36
|
-
const
|
|
36
|
+
const wrapInNoDefaults = (fn) => (options) => (next) => {
|
|
37
|
+
const stateMapper = fn(options)(next);
|
|
38
|
+
return async (state) => {
|
|
39
|
+
const stateWithNoDefaults = { ...state, noDefaults: true };
|
|
40
|
+
return stateMapper(stateWithNoDefaults);
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
function wrapFromDefinition(ops, def) {
|
|
44
|
+
const opsWithNoDefaults = def.$noDefaults === true ? wrapInNoDefaults(pipeIfArray(ops)) : ops;
|
|
45
|
+
const fn = def.$iterate === true ? iterate(opsWithNoDefaults) : opsWithNoDefaults;
|
|
37
46
|
return (options) => {
|
|
38
47
|
const dir = def.$direction;
|
|
39
48
|
if (typeof dir === 'string') {
|
|
40
49
|
if (dir === 'rev' || dir === options.revAlias) {
|
|
41
|
-
return rev(
|
|
50
|
+
return rev(fn)(options);
|
|
42
51
|
}
|
|
43
52
|
else if (dir === 'fwd' || dir === options.fwdAlias) {
|
|
44
|
-
return fwd(
|
|
53
|
+
return fwd(fn)(options);
|
|
45
54
|
}
|
|
46
55
|
}
|
|
47
|
-
return Array.isArray(
|
|
48
|
-
? pipe(fnIterated, true)(options)
|
|
49
|
-
: fnIterated(options);
|
|
56
|
+
return Array.isArray(fn) ? pipe(fn, true)(options) : fn(options);
|
|
50
57
|
};
|
|
51
58
|
}
|
|
52
59
|
const humanizeOperatorName = (operatorProp) => `${operatorProp[1].toUpperCase()}${operatorProp.slice(2)}`;
|
|
@@ -82,12 +89,12 @@ function createApplyOperation(operationFn, def) {
|
|
|
82
89
|
const pipelineId = def.$apply;
|
|
83
90
|
return wrapFromDefinition(operationFn(pipelineId), def);
|
|
84
91
|
}
|
|
85
|
-
function
|
|
86
|
-
const pipelines = ensureArray(
|
|
92
|
+
function createConcatOperation(operationFn, pipeline) {
|
|
93
|
+
const pipelines = ensureArray(pipeline);
|
|
87
94
|
return operationFn(...pipelines);
|
|
88
95
|
}
|
|
89
|
-
function createLookupOperation(operationFn, def) {
|
|
90
|
-
const {
|
|
96
|
+
function createLookupOperation(operationFn, def, arrayPath) {
|
|
97
|
+
const { path: propPath, ...props } = def;
|
|
91
98
|
return wrapFromDefinition(operationFn({ ...props, arrayPath, propPath }), def);
|
|
92
99
|
}
|
|
93
100
|
function operationFromObject(defRaw, options) {
|
|
@@ -109,10 +116,16 @@ function operationFromObject(defRaw, options) {
|
|
|
109
116
|
return createAltOperation(alt, def);
|
|
110
117
|
}
|
|
111
118
|
else if (isOperationType(def, '$concat')) {
|
|
112
|
-
return
|
|
119
|
+
return createConcatOperation(concat, def.$concat);
|
|
120
|
+
}
|
|
121
|
+
else if (isOperationType(def, '$concatRev')) {
|
|
122
|
+
return createConcatOperation(concatRev, def.$concatRev);
|
|
113
123
|
}
|
|
114
124
|
else if (isOperationType(def, '$lookup')) {
|
|
115
|
-
return createLookupOperation(lookup, def);
|
|
125
|
+
return createLookupOperation(lookup, def, def.$lookup);
|
|
126
|
+
}
|
|
127
|
+
else if (isOperationType(def, '$lookdown')) {
|
|
128
|
+
return createLookupOperation(lookdown, def, def.$lookdown);
|
|
116
129
|
}
|
|
117
130
|
else {
|
|
118
131
|
return () => () => async (value) => value;
|
|
@@ -133,7 +146,7 @@ export const defToOperations = (def, options) => isPipeline(def)
|
|
|
133
146
|
: () => () => async (value) => value;
|
|
134
147
|
export function defToOperation(def, options) {
|
|
135
148
|
const operations = isPipeline(def) ? def : defToOperations(def, options);
|
|
136
|
-
return
|
|
149
|
+
return pipeIfArray(operations);
|
|
137
150
|
}
|
|
138
151
|
export function operationToDataMapper(operation, options) {
|
|
139
152
|
const fn = operation(options)(noopNext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,qBAAqB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAC1C,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAC5C,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAC5C,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAC1C,OAAO,GAAG,MAAM,sBAAsB,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"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"}
|