map-transform 0.4.0-alpha.8 → 0.4.0-beta.0
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 +186 -40
- package/dist/functions/compare.d.ts +2 -1
- package/dist/functions/compare.js +26 -5
- package/dist/functions/compare.js.map +1 -1
- package/dist/functions/explode.js +4 -3
- package/dist/functions/explode.js.map +1 -1
- package/dist/functions/index.d.ts +4 -0
- package/dist/functions/index.js +4 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/indexFn.d.ts +2 -0
- package/dist/functions/indexFn.js +9 -0
- package/dist/functions/indexFn.js.map +1 -0
- package/dist/functions/joinSplit.d.ts +4 -4
- package/dist/functions/joinSplit.js +12 -4
- package/dist/functions/joinSplit.js.map +1 -1
- package/dist/functions/map.js +5 -4
- package/dist/functions/map.js.map +1 -1
- package/dist/functions/not.js +1 -1
- package/dist/functions/not.js.map +1 -1
- package/dist/functions/sort.d.ts +7 -0
- package/dist/functions/sort.js +33 -0
- package/dist/functions/sort.js.map +1 -0
- package/dist/functions/validate.js +2 -2
- package/dist/functions/validate.js.map +1 -1
- package/dist/functions/value.js +2 -2
- package/dist/functions/value.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/operations/alt.d.ts +1 -1
- package/dist/operations/alt.js +28 -6
- package/dist/operations/alt.js.map +1 -1
- package/dist/operations/apply.js +10 -5
- package/dist/operations/apply.js.map +1 -1
- package/dist/operations/concat.js +9 -5
- package/dist/operations/concat.js.map +1 -1
- package/dist/operations/directionals.js +7 -6
- package/dist/operations/directionals.js.map +1 -1
- package/dist/operations/filter.js +5 -6
- package/dist/operations/filter.js.map +1 -1
- package/dist/operations/fixed.js +2 -4
- package/dist/operations/fixed.js.map +1 -1
- package/dist/operations/getSet.d.ts +3 -3
- package/dist/operations/getSet.js +139 -30
- package/dist/operations/getSet.js.map +1 -1
- package/dist/operations/ifelse.d.ts +1 -1
- package/dist/operations/ifelse.js +21 -10
- package/dist/operations/ifelse.js.map +1 -1
- package/dist/operations/iterate.d.ts +2 -1
- package/dist/operations/iterate.js +14 -10
- package/dist/operations/iterate.js.map +1 -1
- package/dist/operations/logical.d.ts +3 -0
- package/dist/operations/logical.js +17 -0
- package/dist/operations/logical.js.map +1 -0
- package/dist/operations/lookup.js +9 -5
- package/dist/operations/lookup.js.map +1 -1
- package/dist/operations/merge.js +9 -7
- package/dist/operations/merge.js.map +1 -1
- package/dist/operations/modify.js +13 -6
- package/dist/operations/modify.js.map +1 -1
- package/dist/operations/pipe.js +18 -17
- package/dist/operations/pipe.js.map +1 -1
- package/dist/operations/plug.js +1 -1
- package/dist/operations/plug.js.map +1 -1
- package/dist/operations/props.d.ts +2 -0
- package/dist/operations/props.js +114 -0
- package/dist/operations/props.js.map +1 -0
- package/dist/operations/root.js +3 -5
- package/dist/operations/root.js.map +1 -1
- package/dist/operations/transform.js +4 -2
- package/dist/operations/transform.js.map +1 -1
- package/dist/operations/value.js +2 -4
- package/dist/operations/value.js.map +1 -1
- package/dist/types.d.ts +39 -12
- package/dist/utils/array.d.ts +1 -0
- package/dist/utils/array.js +3 -1
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/definitionHelpers.d.ts +3 -1
- package/dist/utils/definitionHelpers.js +72 -17
- package/dist/utils/definitionHelpers.js.map +1 -1
- package/dist/utils/escape.d.ts +2 -0
- package/dist/utils/escape.js +8 -0
- package/dist/utils/escape.js.map +1 -0
- package/dist/utils/is.d.ts +2 -0
- package/dist/utils/is.js +5 -1
- package/dist/utils/is.js.map +1 -1
- package/dist/utils/pathGetter.js +12 -3
- package/dist/utils/pathGetter.js.map +1 -1
- package/dist/utils/pathSetter.d.ts +1 -0
- package/dist/utils/pathSetter.js +16 -6
- package/dist/utils/pathSetter.js.map +1 -1
- package/dist/utils/stateHelpers.d.ts +30 -6
- package/dist/utils/stateHelpers.js +30 -14
- package/dist/utils/stateHelpers.js.map +1 -1
- package/dist/utils/xor.d.ts +1 -0
- package/dist/utils/xor.js +7 -0
- package/dist/utils/xor.js.map +1 -0
- package/package.json +6 -6
- package/ava-dist.config.cjs +0 -3
- package/ava.config.cjs +0 -5
- package/dist/functions/join.d.ts +0 -7
- package/dist/functions/join.js +0 -12
- package/dist/functions/join.js.map +0 -1
- package/dist/operations/mutate.d.ts +0 -2
- package/dist/operations/mutate.js +0 -80
- package/dist/operations/mutate.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -11,24 +11,22 @@ export interface ValueFunction {
|
|
|
11
11
|
export interface Operands {
|
|
12
12
|
[key: string]: any | ValueFunction;
|
|
13
13
|
}
|
|
14
|
-
export interface Context {
|
|
15
|
-
rev: boolean;
|
|
16
|
-
onlyMappedValues: boolean;
|
|
17
|
-
}
|
|
18
14
|
export interface DataMapper {
|
|
19
|
-
(data: unknown,
|
|
15
|
+
(data: unknown, state: State): any;
|
|
20
16
|
}
|
|
21
17
|
export interface CustomFunction<T = Operands> {
|
|
22
18
|
(operands: T, options: Options): DataMapper;
|
|
23
19
|
}
|
|
24
20
|
export interface State {
|
|
25
|
-
|
|
26
|
-
context: unknown;
|
|
27
|
-
target?: unknown;
|
|
21
|
+
context: unknown[];
|
|
28
22
|
value: unknown;
|
|
23
|
+
target?: unknown;
|
|
29
24
|
rev?: boolean;
|
|
25
|
+
flip?: boolean;
|
|
30
26
|
onlyMapped?: boolean;
|
|
31
27
|
arr?: boolean;
|
|
28
|
+
iterate?: boolean;
|
|
29
|
+
index?: number;
|
|
32
30
|
}
|
|
33
31
|
export interface Options {
|
|
34
32
|
functions?: {
|
|
@@ -38,7 +36,7 @@ export interface Options {
|
|
|
38
36
|
[key: string]: MapDefinition;
|
|
39
37
|
};
|
|
40
38
|
dictionaries?: Dictionaries;
|
|
41
|
-
|
|
39
|
+
noneValues?: unknown[];
|
|
42
40
|
fwdAlias?: string;
|
|
43
41
|
revAlias?: string;
|
|
44
42
|
}
|
|
@@ -51,23 +49,46 @@ export interface FilterObject extends Operands {
|
|
|
51
49
|
$filter: string;
|
|
52
50
|
$direction?: string;
|
|
53
51
|
}
|
|
52
|
+
export interface IfObject extends Operands {
|
|
53
|
+
$if: MapDefinition;
|
|
54
|
+
$direction?: string;
|
|
55
|
+
}
|
|
54
56
|
export interface ApplyObject extends Operands {
|
|
55
57
|
$apply: string;
|
|
56
58
|
$iterate?: boolean;
|
|
57
59
|
$direction?: string;
|
|
58
60
|
}
|
|
59
61
|
export interface AltObject extends Operands {
|
|
60
|
-
$alt:
|
|
62
|
+
$alt: MapDefinition[];
|
|
63
|
+
$iterate?: boolean;
|
|
64
|
+
$direction?: string;
|
|
65
|
+
undefined?: unknown[];
|
|
66
|
+
}
|
|
67
|
+
export interface ValueObject extends Operands {
|
|
68
|
+
$value: string;
|
|
61
69
|
$iterate?: boolean;
|
|
62
70
|
$direction?: string;
|
|
63
71
|
}
|
|
64
|
-
export
|
|
72
|
+
export interface AndObject extends Operands {
|
|
73
|
+
$and: MapDefinition[];
|
|
74
|
+
}
|
|
75
|
+
export interface OrObject extends Operands {
|
|
76
|
+
$or: MapDefinition[];
|
|
77
|
+
}
|
|
78
|
+
export interface ConcatObject extends Operands {
|
|
79
|
+
$concat: MapDefinition[];
|
|
80
|
+
}
|
|
81
|
+
export interface LookupObject extends Operands {
|
|
82
|
+
$lookup: Path;
|
|
83
|
+
path: Path;
|
|
84
|
+
}
|
|
85
|
+
export declare type OperationObject = TransformObject | FilterObject | IfObject | ApplyObject | AltObject | ValueObject | AndObject | OrObject | ConcatObject | LookupObject;
|
|
65
86
|
export interface StateMapper {
|
|
66
87
|
(state: State): State;
|
|
67
88
|
getTarget?: (state: State) => unknown;
|
|
68
89
|
}
|
|
69
90
|
export interface Operation {
|
|
70
|
-
(options: Options): StateMapper;
|
|
91
|
+
(options: Options): (next: StateMapper) => StateMapper;
|
|
71
92
|
}
|
|
72
93
|
export interface MapFunction {
|
|
73
94
|
(options: Options): (state: State) => State;
|
|
@@ -77,11 +98,17 @@ export declare type MapPipe = (MapObject | Operation | OperationObject | Path |
|
|
|
77
98
|
export interface MapObject {
|
|
78
99
|
[key: string]: MapDefinition | undefined | boolean;
|
|
79
100
|
$iterate?: boolean;
|
|
101
|
+
$modify?: boolean | Path;
|
|
80
102
|
$flip?: boolean;
|
|
81
103
|
$transform?: undefined;
|
|
82
104
|
$filter?: undefined;
|
|
105
|
+
$if?: undefined;
|
|
83
106
|
$apply?: undefined;
|
|
107
|
+
$valud?: undefined;
|
|
84
108
|
$alt?: undefined;
|
|
109
|
+
$and?: undefined;
|
|
110
|
+
$or?: undefined;
|
|
111
|
+
$concat?: undefined;
|
|
85
112
|
}
|
|
86
113
|
export declare type MapDefinition = MapObject | Operation | OperationObject | MapPipe | Path | null;
|
|
87
114
|
export interface MapTransformWithOnlyMappedValues {
|
package/dist/utils/array.d.ts
CHANGED
package/dist/utils/array.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cloneAsArray = exports.ensureArray = void 0;
|
|
3
|
+
exports.indexOfIfArray = exports.cloneAsArray = exports.ensureArray = void 0;
|
|
4
4
|
const ensureArray = (value) => Array.isArray(value)
|
|
5
5
|
? value
|
|
6
6
|
: value === undefined || value === null
|
|
@@ -9,4 +9,6 @@ const ensureArray = (value) => Array.isArray(value)
|
|
|
9
9
|
exports.ensureArray = ensureArray;
|
|
10
10
|
const cloneAsArray = (value) => (0, exports.ensureArray)(value).slice();
|
|
11
11
|
exports.cloneAsArray = cloneAsArray;
|
|
12
|
+
const indexOfIfArray = (arr, index) => Array.isArray(arr) && typeof index === 'number' ? arr[index] : arr;
|
|
13
|
+
exports.indexOfIfArray = indexOfIfArray;
|
|
12
14
|
//# sourceMappingURL=array.js.map
|
package/dist/utils/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AALA,QAAA,WAAW,eAKX;AAEN,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;AAA7D,QAAA,YAAY,gBAAiD"}
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AALA,QAAA,WAAW,eAKX;AAEN,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;AAA7D,QAAA,YAAY,gBAAiD;AAEnE,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,KAAc,EAAE,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AADvD,QAAA,cAAc,kBACyC"}
|
|
@@ -5,4 +5,6 @@ export declare const isPath: (def: unknown) => def is string;
|
|
|
5
5
|
export declare const isMapObject: (def: unknown) => def is MapObject;
|
|
6
6
|
export declare const isMapPipe: (def: unknown) => def is MapPipe;
|
|
7
7
|
export declare const isOperation: (def: unknown) => def is Operation;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const isMapDefinition: (def: unknown) => def is MapDefinition;
|
|
9
|
+
export declare const operationsFromDef: (def?: MapDefinition) => Operation[] | Operation;
|
|
10
|
+
export declare function operationFromDef(def?: MapDefinition): Operation;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.operationFromDef = exports.operationsFromDef = exports.isMapDefinition = exports.isOperation = exports.isMapPipe = exports.isMapObject = exports.isPath = exports.hasOperationProps = exports.isOperationType = void 0;
|
|
4
4
|
const functional_1 = require("./functional");
|
|
5
5
|
const is_1 = require("./is");
|
|
6
6
|
const getSet_1 = require("../operations/getSet");
|
|
7
|
-
const
|
|
7
|
+
const props_1 = require("../operations/props");
|
|
8
8
|
const iterate_1 = require("../operations/iterate");
|
|
9
|
-
const pipe_1 = require("../operations/pipe");
|
|
10
9
|
const transform_1 = require("../operations/transform");
|
|
11
10
|
const filter_1 = require("../operations/filter");
|
|
11
|
+
const ifelse_1 = require("../operations/ifelse");
|
|
12
12
|
const apply_1 = require("../operations/apply");
|
|
13
13
|
const alt_1 = require("../operations/alt");
|
|
14
14
|
const directionals_1 = require("../operations/directionals");
|
|
15
|
-
const
|
|
15
|
+
const logical_1 = require("../operations/logical");
|
|
16
|
+
const concat_1 = require("../operations/concat");
|
|
17
|
+
const lookup_1 = require("../operations/lookup");
|
|
18
|
+
const pipe_1 = require("../operations/pipe");
|
|
19
|
+
const escape_1 = require("./escape");
|
|
16
20
|
const transformDefFromValue = ({ $value: value, ...def }) => ({
|
|
17
21
|
...def,
|
|
18
22
|
$transform: 'value',
|
|
@@ -22,9 +26,14 @@ const isOperationType = (def, prop) => def[prop] !== undefined;
|
|
|
22
26
|
exports.isOperationType = isOperationType;
|
|
23
27
|
const hasOperationProps = (def) => (0, exports.isOperationType)(def, '$transform') ||
|
|
24
28
|
(0, exports.isOperationType)(def, '$filter') ||
|
|
29
|
+
(0, exports.isOperationType)(def, '$if') ||
|
|
25
30
|
(0, exports.isOperationType)(def, '$apply') ||
|
|
26
31
|
(0, exports.isOperationType)(def, '$alt') ||
|
|
27
|
-
(0, exports.isOperationType)(def, '$value')
|
|
32
|
+
(0, exports.isOperationType)(def, '$value') ||
|
|
33
|
+
(0, exports.isOperationType)(def, '$and') ||
|
|
34
|
+
(0, exports.isOperationType)(def, '$or') ||
|
|
35
|
+
(0, exports.isOperationType)(def, '$concat') ||
|
|
36
|
+
(0, exports.isOperationType)(def, '$lookup');
|
|
28
37
|
exports.hasOperationProps = hasOperationProps;
|
|
29
38
|
const isPath = (def) => typeof def === 'string';
|
|
30
39
|
exports.isPath = isPath;
|
|
@@ -34,33 +43,59 @@ const isMapPipe = (def) => Array.isArray(def);
|
|
|
34
43
|
exports.isMapPipe = isMapPipe;
|
|
35
44
|
const isOperation = (def) => typeof def === 'function';
|
|
36
45
|
exports.isOperation = isOperation;
|
|
46
|
+
const isMapDefinition = (def) => (0, exports.isPath)(def) || (0, is_1.isObject)(def) || (0, exports.isMapPipe)(def) || (0, exports.isOperation)(def);
|
|
47
|
+
exports.isMapDefinition = isMapDefinition;
|
|
37
48
|
const iterateIf = (fn, should) => should ? (0, iterate_1.default)(fn) : fn;
|
|
38
49
|
const wrapFromDefinition = (fn, def) => {
|
|
39
50
|
const fnIterated = iterateIf(fn, def.$iterate === true);
|
|
40
|
-
return (options) => {
|
|
51
|
+
return (options) => (next) => {
|
|
41
52
|
const dir = def.$direction;
|
|
42
53
|
if (typeof dir === 'string') {
|
|
43
54
|
if (dir === 'rev' || dir === options.revAlias) {
|
|
44
|
-
return (0, directionals_1.rev)(fnIterated)(options);
|
|
55
|
+
return (0, directionals_1.rev)(fnIterated)(options)(next);
|
|
45
56
|
}
|
|
46
57
|
else if (dir === 'fwd' || dir === options.fwdAlias) {
|
|
47
|
-
return (0, directionals_1.fwd)(fnIterated)(options);
|
|
58
|
+
return (0, directionals_1.fwd)(fnIterated)(options)(next);
|
|
48
59
|
}
|
|
49
60
|
}
|
|
50
|
-
return fnIterated
|
|
61
|
+
return Array.isArray(fnIterated)
|
|
62
|
+
? (0, pipe_1.default)(fnIterated)(options)(next)
|
|
63
|
+
: fnIterated(options)(next);
|
|
51
64
|
};
|
|
52
65
|
};
|
|
53
|
-
const createOperation = (operationFn, fnProp, def) => (options) => {
|
|
66
|
+
const createOperation = (operationFn, fnProp, def) => (options) => (next) => {
|
|
54
67
|
const { [fnProp]: fnId, ...operands } = def;
|
|
55
68
|
const fn = options.functions && options.functions[fnId];
|
|
56
69
|
return typeof fn === 'function'
|
|
57
|
-
? wrapFromDefinition(operationFn(fn(operands, options)), def)(options)
|
|
58
|
-
:
|
|
70
|
+
? wrapFromDefinition(operationFn(fn(operands, options)), def)(options)(next)
|
|
71
|
+
: (state) => next(state);
|
|
72
|
+
};
|
|
73
|
+
const setNoneValuesOnOptions = (options, noneValues) => Array.isArray(noneValues)
|
|
74
|
+
? { ...options, noneValues: noneValues.map(escape_1.unescapeValue) }
|
|
75
|
+
: options;
|
|
76
|
+
const createAltOperation = (operationFn, def) => (options) => (next) => {
|
|
77
|
+
const { $alt: defs, $undefined: noneValues } = def;
|
|
78
|
+
return Array.isArray(defs)
|
|
79
|
+
? wrapFromDefinition(operationFn(...defs), def)(setNoneValuesOnOptions(options, noneValues))(next)
|
|
80
|
+
: (state) => next(state);
|
|
81
|
+
};
|
|
82
|
+
const createIfOperation = (def) => (options) => (next) => {
|
|
83
|
+
const { $if: conditionPipeline, then: thenPipeline, else: elsePipeline, } = def;
|
|
84
|
+
return wrapFromDefinition((0, ifelse_1.default)(conditionPipeline, thenPipeline, elsePipeline), def)(options)(next);
|
|
59
85
|
};
|
|
60
86
|
const createApplyOperation = (operationFn, def) => {
|
|
61
87
|
const pipelineId = def.$apply;
|
|
62
88
|
return wrapFromDefinition(operationFn(pipelineId), def);
|
|
63
89
|
};
|
|
90
|
+
const createPipelineOperation = (operationFn, fnProp, def) => {
|
|
91
|
+
const pipelines = def[fnProp];
|
|
92
|
+
return operationFn(...pipelines);
|
|
93
|
+
};
|
|
94
|
+
const createLookupOperation = (operationFn, def) => {
|
|
95
|
+
const arrayPath = def.$lookup;
|
|
96
|
+
const propPath = def.path;
|
|
97
|
+
return wrapFromDefinition(operationFn(arrayPath, propPath), def);
|
|
98
|
+
};
|
|
64
99
|
const operationFromObject = (def) => {
|
|
65
100
|
if ((0, exports.isOperationType)(def, '$transform')) {
|
|
66
101
|
return createOperation(transform_1.default, '$transform', def);
|
|
@@ -71,18 +106,33 @@ const operationFromObject = (def) => {
|
|
|
71
106
|
else if ((0, exports.isOperationType)(def, '$filter')) {
|
|
72
107
|
return createOperation(filter_1.default, '$filter', def);
|
|
73
108
|
}
|
|
109
|
+
else if ((0, exports.isOperationType)(def, '$if')) {
|
|
110
|
+
return createIfOperation(def);
|
|
111
|
+
}
|
|
74
112
|
else if ((0, exports.isOperationType)(def, '$apply')) {
|
|
75
113
|
return createApplyOperation(apply_1.default, def);
|
|
76
114
|
}
|
|
77
115
|
else if ((0, exports.isOperationType)(def, '$alt')) {
|
|
78
|
-
return
|
|
116
|
+
return createAltOperation(alt_1.default, def);
|
|
117
|
+
}
|
|
118
|
+
else if ((0, exports.isOperationType)(def, '$and')) {
|
|
119
|
+
return createPipelineOperation(logical_1.and, '$and', def);
|
|
120
|
+
}
|
|
121
|
+
else if ((0, exports.isOperationType)(def, '$or')) {
|
|
122
|
+
return createPipelineOperation(logical_1.or, '$or', def);
|
|
123
|
+
}
|
|
124
|
+
else if ((0, exports.isOperationType)(def, '$concat')) {
|
|
125
|
+
return createPipelineOperation(concat_1.default, '$concat', def);
|
|
126
|
+
}
|
|
127
|
+
else if ((0, exports.isOperationType)(def, '$lookup')) {
|
|
128
|
+
return createLookupOperation(lookup_1.default, def);
|
|
79
129
|
}
|
|
80
130
|
else {
|
|
81
|
-
return (0,
|
|
131
|
+
return (0, props_1.default)(def);
|
|
82
132
|
}
|
|
83
133
|
};
|
|
84
|
-
const
|
|
85
|
-
? (
|
|
134
|
+
const operationsFromDef = (def) => Array.isArray(def)
|
|
135
|
+
? def.flatMap(exports.operationsFromDef)
|
|
86
136
|
: (0, is_1.isObject)(def)
|
|
87
137
|
? operationFromObject(def)
|
|
88
138
|
: (0, exports.isPath)(def)
|
|
@@ -90,5 +140,10 @@ const mapFunctionFromDef = (def) => (0, exports.isMapPipe)(def)
|
|
|
90
140
|
: (0, exports.isOperation)(def)
|
|
91
141
|
? def
|
|
92
142
|
: (_options) => functional_1.identity;
|
|
93
|
-
exports.
|
|
143
|
+
exports.operationsFromDef = operationsFromDef;
|
|
144
|
+
function operationFromDef(def) {
|
|
145
|
+
const operations = (0, exports.operationsFromDef)(def);
|
|
146
|
+
return Array.isArray(operations) ? (0, pipe_1.default)(operations) : operations;
|
|
147
|
+
}
|
|
148
|
+
exports.operationFromDef = operationFromDef;
|
|
94
149
|
//# sourceMappingURL=definitionHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unescapeValue = exports.escapeValue = void 0;
|
|
4
|
+
const escapeValue = (value) => value === undefined ? '**undefined**' : value;
|
|
5
|
+
exports.escapeValue = escapeValue;
|
|
6
|
+
const unescapeValue = (value) => value === '**undefined**' ? undefined : value;
|
|
7
|
+
exports.unescapeValue = unescapeValue;
|
|
8
|
+
//# sourceMappingURL=escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../../src/utils/escape.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAA;AADlC,QAAA,WAAW,eACuB;AAExC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE,CAC9C,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;AADlC,QAAA,aAAa,iBACqB"}
|
package/dist/utils/is.d.ts
CHANGED
package/dist/utils/is.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isObject = void 0;
|
|
3
|
+
exports.isArrayPath = exports.isPath = exports.isObject = void 0;
|
|
4
4
|
const isObject = (value) => Object.prototype.toString.call(value) === '[object Object]';
|
|
5
5
|
exports.isObject = isObject;
|
|
6
|
+
const isPath = (value) => typeof value === 'string';
|
|
7
|
+
exports.isPath = isPath;
|
|
8
|
+
const isArrayPath = (value) => (0, exports.isPath)(value) && value.endsWith('[]');
|
|
9
|
+
exports.isArrayPath = isArrayPath;
|
|
6
10
|
//# sourceMappingURL=is.js.map
|
package/dist/utils/is.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.js","sourceRoot":"","sources":["../../src/utils/is.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"is.js","sourceRoot":"","sources":["../../src/utils/is.ts"],"names":[],"mappings":";;;AAEO,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAA;AADhD,QAAA,QAAQ,YACwC;AAEtD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ,CAAA;AADd,QAAA,MAAM,UACQ;AAEpB,MAAM,WAAW,GAAG,CAAC,KAAc,EAAiB,EAAE,CAC3D,IAAA,cAAM,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAD1B,QAAA,WAAW,eACe"}
|
package/dist/utils/pathGetter.js
CHANGED
|
@@ -4,11 +4,11 @@ const definitionHelpers_1 = require("./definitionHelpers");
|
|
|
4
4
|
const is_1 = require("./is");
|
|
5
5
|
const array_1 = require("./array");
|
|
6
6
|
const functional_1 = require("./functional");
|
|
7
|
+
const pathSetter_1 = require("./pathSetter");
|
|
7
8
|
const numberOrString = (val) => {
|
|
8
9
|
const num = Number.parseInt(val, 10);
|
|
9
10
|
return Number.isNaN(num) ? val : num;
|
|
10
11
|
};
|
|
11
|
-
const split = (str) => str.split(/\[|]?\.|]/).filter((str) => str !== '');
|
|
12
12
|
const getProp = (prop) => (object) => (0, is_1.isObject)(object) ? object[prop] : undefined;
|
|
13
13
|
const getArrayIndex = (index) => (arr) => Array.isArray(arr) ? arr[index] : undefined;
|
|
14
14
|
const getObjectOrArray = (fn) => (object) => Array.isArray(object) ? object.flatMap(fn) : fn(object);
|
|
@@ -18,11 +18,20 @@ function createGetter(part) {
|
|
|
18
18
|
? getArrayIndex(prop)
|
|
19
19
|
: getObjectOrArray(getProp(prop));
|
|
20
20
|
}
|
|
21
|
+
const removeBrackets = (value) => value[0] === '[' && value[value.length - 1] === ']'
|
|
22
|
+
? value.slice(1, value.length - 1)
|
|
23
|
+
: value;
|
|
21
24
|
function pathGetter(path) {
|
|
22
25
|
if ((0, definitionHelpers_1.isPath)(path)) {
|
|
23
|
-
const
|
|
26
|
+
const parts = [...(0, pathSetter_1.pathSplitter)(path)];
|
|
27
|
+
const getters = parts
|
|
28
|
+
.map(removeBrackets)
|
|
29
|
+
.filter((str) => str !== '')
|
|
30
|
+
.map(createGetter);
|
|
24
31
|
const fn = getters.length === 0 ? functional_1.identity : (0, functional_1.pipe)(...getters);
|
|
25
|
-
return
|
|
32
|
+
return parts.some((part) => part === '[]')
|
|
33
|
+
? (value) => (0, array_1.ensureArray)(fn(value))
|
|
34
|
+
: fn;
|
|
26
35
|
}
|
|
27
36
|
return functional_1.identity;
|
|
28
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathGetter.js","sourceRoot":"","sources":["../../src/utils/pathGetter.ts"],"names":[],"mappings":";;AAEA,2DAA4C;AAC5C,6BAA+B;AAC/B,mCAAqC;AACrC,6CAA6C;
|
|
1
|
+
{"version":3,"file":"pathGetter.js","sourceRoot":"","sources":["../../src/utils/pathGetter.ts"],"names":[],"mappings":";;AAEA,2DAA4C;AAC5C,6BAA+B;AAC/B,mCAAqC;AACrC,6CAA6C;AAC7C,6CAA2C;AAM3C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAmB,EAAE;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CACpD,IAAA,aAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE7C,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE,CACxD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE7C,MAAM,gBAAgB,GACpB,CAAC,EAAgC,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CACxD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAE3D,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CACvC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;IACjD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,KAAK,CAAA;AAQX,SAAwB,UAAU,CAAC,IAAiB;IAClD,IAAI,IAAA,0BAAM,EAAC,IAAI,CAAC,EAAE;QAChB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAA,yBAAY,EAAC,IAAI,CAAC,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,KAAK;aAClB,GAAG,CAAC,cAAc,CAAC;aACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;aAC3B,GAAG,CAAC,YAAY,CAAC,CAAA;QACpB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAQ,CAAC,CAAC,CAAC,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,CAAA;QAE7D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,EAAE,CAAA;KACP;IACD,OAAO,qBAAQ,CAAA;AACjB,CAAC;AAdD,6BAcC"}
|
|
@@ -2,4 +2,5 @@ import { Path } from '../types';
|
|
|
2
2
|
export interface Setter {
|
|
3
3
|
(value: unknown, target: unknown): unknown;
|
|
4
4
|
}
|
|
5
|
+
export declare const pathSplitter: (path: Path, markAfterOpen?: boolean) => Generator<string, void, unknown>;
|
|
5
6
|
export default function pathSetter(path: Path): Setter;
|
package/dist/utils/pathSetter.js
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pathSplitter = void 0;
|
|
3
4
|
const functional_1 = require("./functional");
|
|
4
5
|
const is_1 = require("./is");
|
|
5
6
|
const array_1 = require("./array");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const removeEscaping = (value) => value.replace('\\[', '[');
|
|
8
|
+
const preparePathPart = (part, isAfterOpenArray) => removeEscaping(isAfterOpenArray ? `]${part}` : part);
|
|
9
|
+
const pathSplitter = function* (path, markAfterOpen = false) {
|
|
10
|
+
const regEx = /[^[\].]+|\[\w*]/g;
|
|
9
11
|
let match;
|
|
10
12
|
let isAfterOpenArray = false;
|
|
13
|
+
let prev = '';
|
|
11
14
|
do {
|
|
12
15
|
match = regEx.exec(path);
|
|
13
16
|
if (match) {
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
if (match[0].endsWith('\\')) {
|
|
18
|
+
prev = match[0];
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
yield preparePathPart(prev + match[0], markAfterOpen && isAfterOpenArray);
|
|
22
|
+
prev = '';
|
|
23
|
+
isAfterOpenArray = match[0] === '[]';
|
|
24
|
+
}
|
|
16
25
|
}
|
|
17
26
|
} while (match !== null);
|
|
18
27
|
};
|
|
28
|
+
exports.pathSplitter = pathSplitter;
|
|
19
29
|
const createObjectSetter = (prop, next) => function setOnObject(value, target) {
|
|
20
30
|
const obj = (0, is_1.isObject)(target) ? target : {};
|
|
21
31
|
return {
|
|
@@ -55,7 +65,7 @@ function createSetter(prop, next) {
|
|
|
55
65
|
}
|
|
56
66
|
}
|
|
57
67
|
function pathSetter(path) {
|
|
58
|
-
return [...pathSplitter(path)].reduceRight((next, part) => createSetter(part, next), functional_1.identity);
|
|
68
|
+
return [...(0, exports.pathSplitter)(path, true)].reduceRight((next, part) => createSetter(part, next), functional_1.identity);
|
|
59
69
|
}
|
|
60
70
|
exports.default = pathSetter;
|
|
61
71
|
//# sourceMappingURL=pathSetter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathSetter.js","sourceRoot":"","sources":["../../src/utils/pathSetter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pathSetter.js","sourceRoot":"","sources":["../../src/utils/pathSetter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
import { State
|
|
2
|
-
export declare const setStateValue: (state: State, value: unknown) => State;
|
|
1
|
+
import { State } from '../types';
|
|
2
|
+
export declare const setStateValue: (state: State, value: unknown, shouldPushContext?: boolean) => State;
|
|
3
3
|
export declare const getStateValue: (state: State) => any;
|
|
4
|
-
export declare const setValueFromState: (state: State, { value }: State) => State;
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
4
|
+
export declare const setValueFromState: (state: State, { value, context }: State, shouldSetContext?: boolean) => State;
|
|
5
|
+
export declare const getRootFromState: (state: State) => unknown;
|
|
6
|
+
export declare const getTargetFromState: (state: State) => unknown;
|
|
7
|
+
export declare function setTargetOnState(state: State, target: unknown): State;
|
|
8
|
+
export declare const getLastContext: (state: State) => unknown;
|
|
9
|
+
export declare const pushContext: (state: State, nextContext: unknown) => {
|
|
10
|
+
context: unknown[];
|
|
11
|
+
value: unknown;
|
|
12
|
+
target?: unknown;
|
|
13
|
+
rev?: boolean | undefined;
|
|
14
|
+
flip?: boolean | undefined;
|
|
15
|
+
onlyMapped?: boolean | undefined;
|
|
16
|
+
arr?: boolean | undefined;
|
|
17
|
+
iterate?: boolean | undefined;
|
|
18
|
+
index?: number | undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare const removeLastContext: (state: State) => {
|
|
21
|
+
context: unknown[];
|
|
22
|
+
value: unknown;
|
|
23
|
+
target?: unknown;
|
|
24
|
+
rev?: boolean | undefined;
|
|
25
|
+
flip?: boolean | undefined;
|
|
26
|
+
onlyMapped?: boolean | undefined;
|
|
27
|
+
arr?: boolean | undefined;
|
|
28
|
+
iterate?: boolean | undefined;
|
|
29
|
+
index?: number | undefined;
|
|
30
|
+
};
|
|
7
31
|
export declare const populateState: ({ rev, onlyMapped }: Partial<State>) => (data: unknown) => State;
|
|
8
|
-
export declare const
|
|
32
|
+
export declare const isNoneValueState: (state: State, noneValues?: unknown[]) => boolean;
|
|
@@ -1,36 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const setStateValue = (state, value) => ({
|
|
3
|
+
exports.isNoneValueState = exports.populateState = exports.removeLastContext = exports.pushContext = exports.getLastContext = exports.setTargetOnState = exports.getTargetFromState = exports.getRootFromState = exports.setValueFromState = exports.getStateValue = exports.setStateValue = void 0;
|
|
4
|
+
const setStateValue = (state, value, shouldPushContext = false) => ({
|
|
5
5
|
...state,
|
|
6
|
+
context: shouldPushContext && state.value !== undefined
|
|
7
|
+
? [...state.context, state.value]
|
|
8
|
+
: state.context,
|
|
6
9
|
value,
|
|
7
10
|
});
|
|
8
11
|
exports.setStateValue = setStateValue;
|
|
9
12
|
const getStateValue = (state) => state.value;
|
|
10
13
|
exports.getStateValue = getStateValue;
|
|
11
|
-
const setValueFromState = (state, { value }) => ({
|
|
14
|
+
const setValueFromState = (state, { value, context }, shouldSetContext = false) => ({
|
|
12
15
|
...state,
|
|
13
16
|
value,
|
|
17
|
+
context: shouldSetContext ? context : state.context,
|
|
14
18
|
});
|
|
15
19
|
exports.setValueFromState = setValueFromState;
|
|
16
|
-
const
|
|
20
|
+
const getRootFromState = (state) => state.context.length === 0 ? state.value : state.context[0];
|
|
21
|
+
exports.getRootFromState = getRootFromState;
|
|
22
|
+
const getTargetFromState = (state) => state.target;
|
|
23
|
+
exports.getTargetFromState = getTargetFromState;
|
|
24
|
+
function setTargetOnState(state, target) {
|
|
25
|
+
return {
|
|
26
|
+
...state,
|
|
27
|
+
target,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.setTargetOnState = setTargetOnState;
|
|
31
|
+
const getLastContext = (state) => state.context[state.context.length - 1];
|
|
32
|
+
exports.getLastContext = getLastContext;
|
|
33
|
+
const pushContext = (state, nextContext) => ({
|
|
17
34
|
...state,
|
|
18
|
-
|
|
35
|
+
context: [...state.context, nextContext],
|
|
19
36
|
});
|
|
20
|
-
exports.
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
37
|
+
exports.pushContext = pushContext;
|
|
38
|
+
const removeLastContext = (state) => ({
|
|
39
|
+
...state,
|
|
40
|
+
context: state.context.slice(0, -1),
|
|
24
41
|
});
|
|
25
|
-
exports.
|
|
42
|
+
exports.removeLastContext = removeLastContext;
|
|
26
43
|
const populateState = ({ rev = false, onlyMapped = false }) => (data) => ({
|
|
27
|
-
|
|
28
|
-
context: data,
|
|
44
|
+
context: [],
|
|
29
45
|
value: data,
|
|
30
46
|
rev,
|
|
31
47
|
onlyMapped,
|
|
32
48
|
});
|
|
33
49
|
exports.populateState = populateState;
|
|
34
|
-
const
|
|
35
|
-
exports.
|
|
50
|
+
const isNoneValueState = (state, noneValues = [undefined]) => noneValues.includes(state.value);
|
|
51
|
+
exports.isNoneValueState = isNoneValueState;
|
|
36
52
|
//# sourceMappingURL=stateHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,KAAc,EACd,iBAAiB,GAAG,KAAK,EAClB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,OAAO,EACL,iBAAiB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO;IACnB,KAAK;CACN,CAAC,CAAA;AAXW,QAAA,aAAa,iBAWxB;AACK,MAAM,aAAa,GAAG,CAAC,KAAY,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;AAAlD,QAAA,aAAa,iBAAqC;AAExD,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,EAAE,KAAK,EAAE,OAAO,EAAS,EACzB,gBAAgB,GAAG,KAAK,EACjB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,KAAK;IACL,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;CACpD,CAAC,CAAA;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AADhD,QAAA,gBAAgB,oBACgC;AAEtD,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAA;AAAnD,QAAA,kBAAkB,sBAAiC;AAEhE,SAAgB,gBAAgB,CAAC,KAAY,EAAE,MAAe;IAC5D,OAAO;QACL,GAAG,KAAK;QACR,MAAM;KACP,CAAA;AACH,CAAC;AALD,4CAKC;AAEM,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAD5B,QAAA,cAAc,kBACc;AAElC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC;IAClE,GAAG,KAAK;IACR,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;CACzC,CAAC,CAAA;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,KAAK;IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpC,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GACxB,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE,CACxD,CAAC,IAAa,EAAS,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IACX,GAAG;IACH,UAAU;CACX,CAAC,CAAA;AAPS,QAAA,aAAa,iBAOtB;AAEG,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,aAAwB,CAAC,SAAS,CAAC,EACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAHxB,QAAA,gBAAgB,oBAGQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function xor(a?: boolean, b?: boolean): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xor.js","sourceRoot":"","sources":["../../src/utils/xor.ts"],"names":[],"mappings":";;AAAA,SAAwB,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK;IAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAFD,sBAEC"}
|