map-transform 0.4.0-alpha.15 → 0.4.0-alpha.18

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
@@ -590,7 +590,7 @@ const def31 = [
590
590
  Defining an if operation as an object:
591
591
 
592
592
  ```javascript
593
- import { mapTransform, ifelse } from 'map-transform'
593
+ import { mapTransform } from 'map-transform'
594
594
 
595
595
  const def31b = [
596
596
  'members'
@@ -645,6 +645,9 @@ When an id is passed to the apply operation as `pipelinedId`, the pipeline will
645
645
  be applied in the place of the apply operation and executed as if it was part of
646
646
  the pipeline definition in the first place.
647
647
 
648
+ When no pipeline is provided, e.g. because the id is unknown, no pipeline will
649
+ be applied and the data will pass through untouched.
650
+
648
651
  ```javascript
649
652
  import { mapTransform, apply, transform } from 'map-transform'
650
653
 
@@ -1054,6 +1057,44 @@ mapper.rev(mappedData)
1054
1057
  // --> { content: { meta: { authors: ['user1', 'user3'] } } }
1055
1058
  ```
1056
1059
 
1060
+ #### `and(pipeline, pipeline, ...)` operation
1061
+
1062
+ Will run all provided pipelines, force their return values to boolean, according
1063
+ to JavaScript rules, and return `true` if they are all `true`, otherwise
1064
+ `false`.
1065
+
1066
+ Typically used together with [`ifelse` operation](#ifelseconditionFn-truePipeline-falsePipeline-operation),
1067
+ to support AND logic:
1068
+
1069
+ ```javascript
1070
+ const def36 = [
1071
+ {
1072
+ $if: { $and: ['active', 'authorized'] },
1073
+ then: 'content',
1074
+ else: { $value: undefined },
1075
+ },
1076
+ ]
1077
+ ```
1078
+
1079
+ #### `or(pipeline, pipeline, ...)` operation
1080
+
1081
+ Will run all provided pipelines, force their return values to boolean, according
1082
+ to JavaScript rules, and return `true` if any of the are `true`, otherwise
1083
+ `false`.
1084
+
1085
+ Typically used together with [`ifelse` operation](#ifelseconditionFn-truePipeline-falsePipeline-operation),
1086
+ to support OR logic:
1087
+
1088
+ ```javascript
1089
+ const def37 = [
1090
+ {
1091
+ $if: { $or: ['active', 'draft'] },
1092
+ then: 'content',
1093
+ else: { $value: undefined },
1094
+ },
1095
+ ]
1096
+ ```
1097
+
1057
1098
  #### `compare({ path, operator, match, matchPath, not })` function
1058
1099
 
1059
1100
  This is a helper function intended for use with the `filter()` operation. You
package/dist/index.d.ts CHANGED
@@ -20,4 +20,6 @@ export { default as merge } from './operations/merge';
20
20
  export { default as modify } from './operations/modify';
21
21
  export { iterate, functions };
22
22
  export { CustomFunction, DataMapper, MapDefinition, MapObject, MapPipe, MapTransform, Dictionary, Dictionaries, OperationObject, TransformObject, FilterObject, ApplyObject, AltObject, } from './types';
23
+ export { default as pathGetter } from './utils/pathGetter';
24
+ export { default as pathSetter } from './utils/pathSetter';
23
25
  export declare function mapTransform(def: MapDefinition, options?: Options): MapTransform;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapTransform = exports.functions = exports.iterate = exports.modify = exports.merge = exports.divide = exports.rev = exports.fwd = exports.ifelse = exports.filter = exports.transform = exports.lookup = exports.plug = exports.not = exports.validate = exports.concat = exports.fixed = exports.value = exports.apply = exports.alt = exports.root = exports.set = exports.get = void 0;
3
+ exports.mapTransform = exports.pathSetter = exports.pathGetter = exports.functions = exports.iterate = exports.modify = exports.merge = exports.divide = exports.rev = exports.fwd = exports.ifelse = exports.filter = exports.transform = exports.lookup = exports.plug = exports.not = exports.validate = exports.concat = exports.fixed = exports.value = exports.apply = exports.alt = exports.root = exports.set = exports.get = void 0;
4
4
  const definitionHelpers_1 = require("./utils/definitionHelpers");
5
5
  const stateHelpers_1 = require("./utils/stateHelpers");
6
6
  const functions_1 = require("./functions");
@@ -44,6 +44,10 @@ var merge_1 = require("./operations/merge");
44
44
  Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return merge_1.default; } });
45
45
  var modify_1 = require("./operations/modify");
46
46
  Object.defineProperty(exports, "modify", { enumerable: true, get: function () { return modify_1.default; } });
47
+ var pathGetter_1 = require("./utils/pathGetter");
48
+ Object.defineProperty(exports, "pathGetter", { enumerable: true, get: function () { return pathGetter_1.default; } });
49
+ var pathSetter_1 = require("./utils/pathSetter");
50
+ Object.defineProperty(exports, "pathSetter", { enumerable: true, get: function () { return pathSetter_1.default; } });
47
51
  const composeMapFunction = (mapFn, initialState) => {
48
52
  const createState = (0, stateHelpers_1.populateState)(initialState);
49
53
  return (data) => data === undefined ? undefined : (0, stateHelpers_1.getStateValue)(mapFn(createState(data)));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iEAA8D;AAC9D,uDAAmE;AACnE,2CAAmC;AAoBjB,oBApBX,mBAAS,CAoBW;AAnB3B,kDAA0C;AAmBjC,kBAnBF,iBAAO,CAmBE;AAjBhB,8CAA8C;AAArC,6FAAA,GAAG,OAAA;AAAE,6FAAA,GAAG,OAAA;AACjB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,wCAAiD;AAAxC,0FAAA,OAAO,OAAO;AACvB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,iDAA0D;AAAjD,oGAAA,OAAO,OAAY;AAC5B,uCAAgD;AAAvC,0FAAA,OAAO,OAAO;AACvB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,oDAA6D;AAApD,sGAAA,OAAO,OAAa;AAC7B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,0DAA4D;AAAnD,mGAAA,GAAG,OAAA;AAAE,mGAAA,GAAG,OAAA;AAAE,sGAAA,MAAM,OAAA;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAkB1B,MAAM,kBAAkB,GAAG,CACzB,KAAkB,EAClB,YAA4B,EAC5B,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA;IAE/C,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,SAAS,EAAE;QACT,GAAG,mBAAS;QACZ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B;CACF,CAAC,CAAA;AAEF,SAAgB,YAAY,CAC1B,GAAkB,EAClB,UAAmB,EAAE;IAErB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,sCAAkB,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAA;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QAClD,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE;gBAC1C,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iEAA8D;AAC9D,uDAAmE;AACnE,2CAAmC;AAoBjB,oBApBX,mBAAS,CAoBW;AAnB3B,kDAA0C;AAmBjC,kBAnBF,iBAAO,CAmBE;AAjBhB,8CAA8C;AAArC,6FAAA,GAAG,OAAA;AAAE,6FAAA,GAAG,OAAA;AACjB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,wCAAiD;AAAxC,0FAAA,OAAO,OAAO;AACvB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,iDAA0D;AAAjD,oGAAA,OAAO,OAAY;AAC5B,uCAAgD;AAAvC,0FAAA,OAAO,OAAO;AACvB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,oDAA6D;AAApD,sGAAA,OAAO,OAAa;AAC7B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,0DAA4D;AAAnD,mGAAA,GAAG,OAAA;AAAE,mGAAA,GAAG,OAAA;AAAE,sGAAA,MAAM,OAAA;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAiB1B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAC9B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAE9B,MAAM,kBAAkB,GAAG,CACzB,KAAkB,EAClB,YAA4B,EAC5B,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA;IAE/C,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,SAAS,EAAE;QACT,GAAG,mBAAS;QACZ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B;CACF,CAAC,CAAA;AAEF,SAAgB,YAAY,CAC1B,GAAkB,EAClB,UAAmB,EAAE;IAErB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,sCAAkB,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAA;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QAClD,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE;gBAC1C,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC"}
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const definitionHelpers_1 = require("../utils/definitionHelpers");
4
- const stateHelpers_1 = require("../utils/stateHelpers");
5
4
  const extractPipeline = (pipelineId, { pipelines }) => pipelineId && pipelines ? pipelines[pipelineId] : undefined;
6
5
  function apply(pipelineId) {
7
6
  return (options) => {
8
7
  const pipeline = extractPipeline(pipelineId, options);
9
- return pipeline
10
- ? (0, definitionHelpers_1.mapFunctionFromDef)(pipeline)(options)
11
- : (state) => (0, stateHelpers_1.setStateValue)(state, undefined);
8
+ return pipeline ? (0, definitionHelpers_1.mapFunctionFromDef)(pipeline)(options) : (state) => state;
12
9
  };
13
10
  }
14
11
  exports.default = apply;
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":";;AACA,kEAA+D;AAC/D,wDAAqD;AAErD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE,CACrE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE7D,SAAwB,KAAK,CAAC,UAAkB;IAC9C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,QAAQ;YACb,CAAC,CAAC,IAAA,sCAAkB,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,4BAAa,EAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC,CAAA;AACH,CAAC;AAPD,wBAOC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/operations/apply.ts"],"names":[],"mappings":";;AACA,kEAA+D;AAE/D,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE,CACrE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE7D,SAAwB,KAAK,CAAC,UAAkB;IAC9C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,sCAAkB,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAA;IAC5E,CAAC,CAAA;AACH,CAAC;AALD,wBAKC"}
@@ -16,7 +16,7 @@ function default_1(conditionDef, trueDef, falseDef) {
16
16
  const runTrue = trueFn(options);
17
17
  const runFalse = falseFn(options);
18
18
  return (state) => {
19
- const bool = !!(0, stateHelpers_1.getStateValue)(runCondition(state));
19
+ const bool = (0, stateHelpers_1.getStateValue)(runCondition(state));
20
20
  return bool ? runTrue(state) : runFalse(state);
21
21
  };
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ifelse.js","sourceRoot":"","sources":["../../src/operations/ifelse.ts"],"names":[],"mappings":";;AACA,wDAAoE;AACpE,kEAA+D;AAE/D,mBACE,YAAwC,EACxC,OAAuB,EACvB,QAAwB;IAExB,MAAM,OAAO,GAAG,IAAA,sCAAkB,EAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,OAAO,CAAA;KACf;IACD,MAAM,WAAW,GACf,OAAO,YAAY,KAAK,UAAU;QAChC,CAAC,CAAC,GAAG,EAAE,CACH,CAAC,KAAY,EAAS,EAAE,CACtB,IAAA,4BAAa,EACX,KAAK,EACJ,YAA2B,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAC1D;QACP,CAAC,CAAC,IAAA,sCAAkB,EAAC,YAAY,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,IAAA,sCAAkB,EAAC,OAAO,CAAC,CAAA;IAE1C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAEjC,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,CAAC,CAAC,IAAA,4BAAa,EAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;YACjD,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA9BD,4BA8BC"}
1
+ {"version":3,"file":"ifelse.js","sourceRoot":"","sources":["../../src/operations/ifelse.ts"],"names":[],"mappings":";;AACA,wDAAoE;AACpE,kEAA+D;AAE/D,mBACE,YAAwC,EACxC,OAAuB,EACvB,QAAwB;IAExB,MAAM,OAAO,GAAG,IAAA,sCAAkB,EAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,OAAO,CAAA;KACf;IACD,MAAM,WAAW,GACf,OAAO,YAAY,KAAK,UAAU;QAChC,CAAC,CAAC,GAAG,EAAE,CACH,CAAC,KAAY,EAAS,EAAE,CACtB,IAAA,4BAAa,EACX,KAAK,EACJ,YAA2B,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAC1D;QACP,CAAC,CAAC,IAAA,sCAAkB,EAAC,YAAY,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,IAAA,sCAAkB,EAAC,OAAO,CAAC,CAAA;IAE1C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAEjC,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA9BD,4BA8BC"}
@@ -0,0 +1,3 @@
1
+ import { MapDefinition, Operation } from '../types';
2
+ export declare const and: (...pipelines: MapDefinition[]) => Operation;
3
+ export declare const or: (...pipelines: MapDefinition[]) => Operation;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.or = exports.and = void 0;
4
+ const stateHelpers_1 = require("../utils/stateHelpers");
5
+ const definitionHelpers_1 = require("../utils/definitionHelpers");
6
+ const prepareLogical = (logicFn) => function logical(...pipelines) {
7
+ const fns = pipelines.map(definitionHelpers_1.mapFunctionFromDef);
8
+ return (options) => {
9
+ return (state) => {
10
+ const values = fns.map((fn) => (0, stateHelpers_1.getStateValue)(fn(options)(state)));
11
+ return (0, stateHelpers_1.setStateValue)(state, values.reduce((a, b) => logicFn(Boolean(a), Boolean(b))));
12
+ };
13
+ };
14
+ };
15
+ exports.and = prepareLogical((a, b) => a && b);
16
+ exports.or = prepareLogical((a, b) => a || b);
17
+ //# sourceMappingURL=logical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../src/operations/logical.ts"],"names":[],"mappings":";;;AACA,wDAAoE;AACpE,kEAA+D;AAI/D,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC1C,SAAS,OAAO,CAAC,GAAG,SAA0B;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sCAAkB,CAAC,CAAA;IAE7C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,4BAAa,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACjE,OAAO,IAAA,4BAAa,EAClB,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEU,QAAA,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACtC,QAAA,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -61,7 +61,18 @@ export interface AltObject extends Operands {
61
61
  $iterate?: boolean;
62
62
  $direction?: string;
63
63
  }
64
- export declare type OperationObject = TransformObject | FilterObject | IfObject | ApplyObject | AltObject;
64
+ export interface ValueObject extends Operands {
65
+ $value: string;
66
+ $iterate?: boolean;
67
+ $direction?: string;
68
+ }
69
+ export interface AndObject extends Operands {
70
+ $and: MapDefinition[];
71
+ }
72
+ export interface OrObject extends Operands {
73
+ $or: MapDefinition[];
74
+ }
75
+ export declare type OperationObject = TransformObject | FilterObject | IfObject | ApplyObject | AltObject | ValueObject | AndObject | OrObject;
65
76
  export interface StateMapper {
66
77
  (state: State): State;
67
78
  getTarget?: (state: State) => unknown;
@@ -83,7 +94,10 @@ export interface MapObject {
83
94
  $filter?: undefined;
84
95
  $if?: undefined;
85
96
  $apply?: undefined;
97
+ $valud?: undefined;
86
98
  $alt?: undefined;
99
+ $and?: undefined;
100
+ $or?: undefined;
87
101
  }
88
102
  export declare type MapDefinition = MapObject | Operation | OperationObject | MapPipe | Path | null;
89
103
  export interface MapTransformWithOnlyMappedValues {
@@ -13,6 +13,7 @@ const ifelse_1 = require("../operations/ifelse");
13
13
  const apply_1 = require("../operations/apply");
14
14
  const alt_1 = require("../operations/alt");
15
15
  const directionals_1 = require("../operations/directionals");
16
+ const logical_1 = require("../operations/logical");
16
17
  const altOperation = (fn) => (0, alt_1.default)((0, transform_1.default)(fn));
17
18
  const transformDefFromValue = ({ $value: value, ...def }) => ({
18
19
  ...def,
@@ -26,7 +27,9 @@ const hasOperationProps = (def) => (0, exports.isOperationType)(def, '$transform
26
27
  (0, exports.isOperationType)(def, '$if') ||
27
28
  (0, exports.isOperationType)(def, '$apply') ||
28
29
  (0, exports.isOperationType)(def, '$alt') ||
29
- (0, exports.isOperationType)(def, '$value');
30
+ (0, exports.isOperationType)(def, '$value') ||
31
+ (0, exports.isOperationType)(def, '$and') ||
32
+ (0, exports.isOperationType)(def, '$or');
30
33
  exports.hasOperationProps = hasOperationProps;
31
34
  const isPath = (def) => typeof def === 'string';
32
35
  exports.isPath = isPath;
@@ -67,6 +70,10 @@ const createApplyOperation = (operationFn, def) => {
67
70
  const pipelineId = def.$apply;
68
71
  return wrapFromDefinition(operationFn(pipelineId), def);
69
72
  };
73
+ const createLogicalOperation = (operationFn, fnProp, def) => {
74
+ const pipelines = def[fnProp];
75
+ return operationFn(...pipelines);
76
+ };
70
77
  const operationFromObject = (def) => {
71
78
  if ((0, exports.isOperationType)(def, '$transform')) {
72
79
  return createOperation(transform_1.default, '$transform', def);
@@ -86,6 +93,12 @@ const operationFromObject = (def) => {
86
93
  else if ((0, exports.isOperationType)(def, '$alt')) {
87
94
  return createOperation(altOperation, '$alt', def);
88
95
  }
96
+ else if ((0, exports.isOperationType)(def, '$and')) {
97
+ return createLogicalOperation(logical_1.and, '$and', def);
98
+ }
99
+ else if ((0, exports.isOperationType)(def, '$or')) {
100
+ return createLogicalOperation(logical_1.or, '$or', def);
101
+ }
89
102
  else {
90
103
  return (0, mutate_1.default)(def);
91
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitionHelpers.js","sourceRoot":"","sources":["../../src/utils/definitionHelpers.ts"],"names":[],"mappings":"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"}
@@ -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 getters = split(path).map(createGetter);
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 path.includes('[]') ? (value) => (0, array_1.ensureArray)(fn(value)) : fn;
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;AAM7C,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,KAAK,GAAG,CAAC,GAAS,EAAY,EAAE,CACpC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;AAEpD,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;AAQD,SAAwB,UAAU,CAAC,IAAiB;IAClD,IAAI,IAAA,0BAAM,EAAC,IAAI,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAQ,CAAC,CAAC,CAAC,IAAA,iBAAI,EAAC,GAAG,OAAO,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;KACpE;IACD,OAAO,qBAAQ,CAAA;AACjB,CAAC;AARD,6BAQC"}
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;
@@ -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 preparePathPart = (part, isAfterOpenArray) => isAfterOpenArray ? `]${part}` : part;
7
- const pathSplitter = function* (path) {
8
- const regEx = /([^[\].]+|\[\w*])/g;
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
- yield preparePathPart(match[0], isAfterOpenArray);
15
- isAfterOpenArray = match[0] === '[]';
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":"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"}
1
+ {"version":3,"file":"pathSetter.js","sourceRoot":"","sources":["../../src/utils/pathSetter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-transform",
3
- "version": "0.4.0-alpha.15",
3
+ "version": "0.4.0-alpha.18",
4
4
  "description": "Map and transform objects with mapping definitions",
5
5
  "author": "Kjell-Morten Bratsberg Thorsen <post@kjellmorten.no>",
6
6
  "license": "ISC",