map-transform 0.3.12 → 0.4.0-alpha.11

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.
Files changed (121) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +641 -98
  3. package/dist/functions/compare.d.ts +7 -5
  4. package/dist/functions/compare.js +27 -16
  5. package/dist/functions/compare.js.map +1 -1
  6. package/dist/functions/explode.d.ts +7 -0
  7. package/dist/functions/explode.js +53 -0
  8. package/dist/functions/explode.js.map +1 -0
  9. package/dist/functions/get.d.ts +2 -2
  10. package/dist/functions/get.js +4 -2
  11. package/dist/functions/get.js.map +1 -1
  12. package/dist/functions/index.d.ts +16 -5
  13. package/dist/functions/index.js +17 -6
  14. package/dist/functions/index.js.map +1 -1
  15. package/dist/functions/join.d.ts +2 -2
  16. package/dist/functions/join.js +1 -1
  17. package/dist/functions/join.js.map +1 -1
  18. package/dist/functions/joinSplit.d.ts +8 -0
  19. package/dist/functions/joinSplit.js +32 -0
  20. package/dist/functions/joinSplit.js.map +1 -0
  21. package/dist/functions/logical.d.ts +7 -0
  22. package/dist/functions/logical.js +24 -0
  23. package/dist/functions/logical.js.map +1 -0
  24. package/dist/functions/map.d.ts +8 -0
  25. package/dist/functions/map.js +43 -0
  26. package/dist/functions/map.js.map +1 -0
  27. package/dist/functions/not.d.ts +2 -2
  28. package/dist/functions/not.js.map +1 -1
  29. package/dist/functions/sort.d.ts +7 -0
  30. package/dist/functions/sort.js +33 -0
  31. package/dist/functions/sort.js.map +1 -0
  32. package/dist/functions/template.d.ts +7 -0
  33. package/dist/functions/template.js +29 -0
  34. package/dist/functions/template.js.map +1 -0
  35. package/dist/functions/validate.d.ts +2 -2
  36. package/dist/functions/validate.js +3 -3
  37. package/dist/functions/validate.js.map +1 -1
  38. package/dist/functions/value.d.ts +4 -0
  39. package/dist/functions/value.js +20 -0
  40. package/dist/functions/value.js.map +1 -0
  41. package/dist/index.d.ts +8 -8
  42. package/dist/index.js +28 -13
  43. package/dist/index.js.map +1 -1
  44. package/dist/operations/alt.js +4 -9
  45. package/dist/operations/alt.js.map +1 -1
  46. package/dist/operations/apply.d.ts +2 -0
  47. package/dist/operations/apply.js +15 -0
  48. package/dist/operations/apply.js.map +1 -0
  49. package/dist/operations/concat.js +5 -5
  50. package/dist/operations/concat.js.map +1 -1
  51. package/dist/operations/directionals.d.ts +1 -1
  52. package/dist/operations/directionals.js +5 -5
  53. package/dist/operations/directionals.js.map +1 -1
  54. package/dist/operations/filter.d.ts +2 -2
  55. package/dist/operations/filter.js +10 -5
  56. package/dist/operations/filter.js.map +1 -1
  57. package/dist/operations/fixed.d.ts +2 -2
  58. package/dist/operations/fixed.js +5 -1
  59. package/dist/operations/fixed.js.map +1 -1
  60. package/dist/operations/getSet.d.ts +2 -1
  61. package/dist/operations/getSet.js +24 -25
  62. package/dist/operations/getSet.js.map +1 -1
  63. package/dist/operations/ifelse.d.ts +2 -0
  64. package/dist/operations/ifelse.js +20 -0
  65. package/dist/operations/ifelse.js.map +1 -0
  66. package/dist/operations/iterate.d.ts +2 -0
  67. package/dist/operations/iterate.js +21 -0
  68. package/dist/operations/iterate.js.map +1 -0
  69. package/dist/operations/lookup.js +3 -3
  70. package/dist/operations/lookup.js.map +1 -1
  71. package/dist/operations/merge.d.ts +3 -0
  72. package/dist/operations/merge.js +43 -0
  73. package/dist/operations/merge.js.map +1 -0
  74. package/dist/operations/modify.d.ts +2 -0
  75. package/dist/operations/modify.js +18 -0
  76. package/dist/operations/modify.js.map +1 -0
  77. package/dist/operations/mutate.js +84 -7
  78. package/dist/operations/mutate.js.map +1 -1
  79. package/dist/operations/pipe.js +19 -5
  80. package/dist/operations/pipe.js.map +1 -1
  81. package/dist/operations/plug.js +1 -1
  82. package/dist/operations/plug.js.map +1 -1
  83. package/dist/operations/root.js +3 -2
  84. package/dist/operations/root.js.map +1 -1
  85. package/dist/operations/transform.js +4 -4
  86. package/dist/operations/transform.js.map +1 -1
  87. package/dist/operations/value.d.ts +2 -2
  88. package/dist/operations/value.js +5 -1
  89. package/dist/operations/value.js.map +1 -1
  90. package/dist/types.d.ts +52 -23
  91. package/dist/utils/array.d.ts +2 -0
  92. package/dist/utils/array.js +12 -0
  93. package/dist/utils/array.js.map +1 -0
  94. package/dist/utils/definitionHelpers.d.ts +7 -8
  95. package/dist/utils/definitionHelpers.js +80 -47
  96. package/dist/utils/definitionHelpers.js.map +1 -1
  97. package/dist/utils/functional.d.ts +3 -0
  98. package/dist/utils/functional.js +10 -0
  99. package/dist/utils/functional.js.map +1 -0
  100. package/dist/utils/is.d.ts +3 -0
  101. package/dist/utils/is.js +10 -0
  102. package/dist/utils/is.js.map +1 -0
  103. package/dist/utils/pathGetter.d.ts +5 -3
  104. package/dist/utils/pathGetter.js +21 -11
  105. package/dist/utils/pathGetter.js.map +1 -1
  106. package/dist/utils/pathSetter.d.ts +5 -4
  107. package/dist/utils/pathSetter.js +36 -44
  108. package/dist/utils/pathSetter.js.map +1 -1
  109. package/dist/utils/stateHelpers.d.ts +8 -36
  110. package/dist/utils/stateHelpers.js +26 -11
  111. package/dist/utils/stateHelpers.js.map +1 -1
  112. package/package.json +16 -56
  113. package/dist/functions/alt.d.ts +0 -6
  114. package/dist/functions/alt.js +0 -10
  115. package/dist/functions/alt.js.map +0 -1
  116. package/dist/functions/exclude.d.ts +0 -7
  117. package/dist/functions/exclude.js +0 -16
  118. package/dist/functions/exclude.js.map +0 -1
  119. package/dist/utils/objectToMapFunction.d.ts +0 -2
  120. package/dist/utils/objectToMapFunction.js +0 -34
  121. package/dist/utils/objectToMapFunction.js.map +0 -1
@@ -1,14 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const mapAny = require("map-any");
4
3
  const stateHelpers_1 = require("../utils/stateHelpers");
5
- const objectToMapFunction_1 = require("../utils/objectToMapFunction");
4
+ const getSet_1 = require("./getSet");
5
+ const directionals_1 = require("./directionals");
6
+ const iterate_1 = require("./iterate");
7
+ const plug_1 = require("./plug");
8
+ const definitionHelpers_1 = require("../utils/definitionHelpers");
9
+ const array_1 = require("../utils/array");
10
+ const is_1 = require("../utils/is");
11
+ const setIfPath = (map) => (typeof map === 'string' ? (0, getSet_1.set)(map) : map);
12
+ const flipIfNeeded = (pipe, shouldFlip) => {
13
+ const pipeline = shouldFlip ? pipe.slice().reverse().map(setIfPath) : pipe;
14
+ return pipeline;
15
+ };
16
+ const shouldIterate = (def, path) => ((0, definitionHelpers_1.isMapObject)(def) && def['$iterate'] === true) || (0, is_1.isArrayPath)(path);
17
+ const shouldModify = (def) => (0, definitionHelpers_1.isMapObject)(def) && def['$modify'] === true;
18
+ const extractRealPath = (path) => {
19
+ const [realPath, index] = path.split('/');
20
+ return [realPath, index !== undefined];
21
+ };
22
+ const setTargetOnState = (state, target) => ({
23
+ ...state,
24
+ target,
25
+ });
26
+ const runWithTarget = (options, state) => (prevState, operation) => operation(options)(setTargetOnState(state, prevState?.value));
27
+ const revertTarget = ({ target, ...state }, originalState) => originalState.target ? setTargetOnState(state, originalState.target) : state;
28
+ const run = (operations, doModify, path) => function (options) {
29
+ const shouldSkip = (0, stateHelpers_1.shouldSkipMutation)(options);
30
+ return (state) => {
31
+ const prevState = doModify
32
+ ? (0, stateHelpers_1.setStateValue)(state, (0, getSet_1.getValueFromState)(path)(state))
33
+ : undefined;
34
+ return shouldSkip(state)
35
+ ? (0, stateHelpers_1.setStateValue)(state, undefined)
36
+ : revertTarget(operations.reduce(runWithTarget(options, state), prevState) ||
37
+ state, state);
38
+ };
39
+ };
40
+ const objectToMapFunction = (objectDef, shouldFlip, parentPath = '') => Object.entries(objectDef)
41
+ .flatMap(([path, def]) => {
42
+ if (!def || path.startsWith('$')) {
43
+ return null;
44
+ }
45
+ const [realPath, revOnly] = extractRealPath(path);
46
+ const nextPath = [parentPath, realPath].filter(Boolean).join('.');
47
+ if ((0, definitionHelpers_1.isMapObject)(def) &&
48
+ !shouldIterate(def, nextPath) &&
49
+ !shouldModify(def)) {
50
+ return objectToMapFunction(def, shouldFlip, nextPath);
51
+ }
52
+ else {
53
+ const subPipeline = (0, definitionHelpers_1.isMapObject)(def)
54
+ ? [runAndIterate(def, shouldFlip, nextPath)]
55
+ : flipIfNeeded((0, array_1.ensureArray)(def), shouldFlip);
56
+ const pipeline = (0, definitionHelpers_1.mapFunctionFromDef)([
57
+ shouldFlip ? nextPath : null,
58
+ ...subPipeline,
59
+ shouldFlip ? null : (0, getSet_1.set)(nextPath),
60
+ ]);
61
+ return revOnly ? (0, directionals_1.divide)((0, plug_1.default)(), pipeline) : pipeline;
62
+ }
63
+ })
64
+ .filter((pipeline) => !!pipeline);
65
+ function runAndIterate(def, shouldFlip, nextPath = '') {
66
+ const operations = objectToMapFunction(def, shouldFlip);
67
+ const doModify = shouldModify(def);
68
+ return shouldIterate(def, nextPath)
69
+ ? (0, iterate_1.default)(run(operations, doModify, nextPath))
70
+ : run(operations, doModify, nextPath);
71
+ }
6
72
  function mutate(def) {
7
- return (options) => {
8
- const runMutation = objectToMapFunction_1.default(def, options);
9
- return (state) => state.value === undefined
10
- ? state
11
- : stateHelpers_1.setStateValue(state, mapAny(value => stateHelpers_1.getStateValue(runMutation(stateHelpers_1.setStateValue(state, value))), state.value));
73
+ if (Object.keys(def).length === 0) {
74
+ return (_options) => (state) => (0, stateHelpers_1.setStateValue)(state, undefined);
75
+ }
76
+ const shouldFlip = def.$flip === true;
77
+ const runMutation = runAndIterate(def, shouldFlip);
78
+ return function mutateFn(options) {
79
+ const dir = def.$direction;
80
+ if (typeof dir === 'string') {
81
+ if (dir === 'fwd' || dir === options.fwdAlias) {
82
+ return (state) => !state.rev ? runMutation(options)(state) : state;
83
+ }
84
+ else if (dir === 'rev' || dir === options.revAlias) {
85
+ return (state) => state.rev ? runMutation(options)(state) : state;
86
+ }
87
+ }
88
+ return runMutation(options);
12
89
  };
13
90
  }
14
91
  exports.default = mutate;
@@ -1 +1 @@
1
- {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/operations/mutate.ts"],"names":[],"mappings":";;AAAA,kCAAkC;AAElC,wDAAoE;AACpE,sEAA8D;AAE9D,SAAwB,MAAM,CAAC,GAAc;IAC3C,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAG,6BAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAErD,OAAO,CAAC,KAAY,EAAS,EAAE,CAC7B,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,4BAAa,CACX,KAAK,EACL,MAAM,CACJ,KAAK,CAAC,EAAE,CAAC,4BAAa,CAAC,WAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAChE,KAAK,CAAC,KAAK,CACZ,CACF,CAAA;IACT,CAAC,CAAA;AACH,CAAC;AAfD,yBAeC"}
1
+ {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/operations/mutate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ramda_1 = require("ramda");
4
3
  const stateHelpers_1 = require("../utils/stateHelpers");
5
4
  const definitionHelpers_1 = require("../utils/definitionHelpers");
5
+ const functional_1 = require("../utils/functional");
6
+ const liftState = (state) => ({
7
+ ...state,
8
+ context: state.value,
9
+ });
10
+ const callWithNextTarget = (next, thisMapper, prevMapper) => (state) => {
11
+ const nextTarget = prevMapper && typeof prevMapper.getTarget === 'function'
12
+ ? prevMapper.getTarget(state)
13
+ : state.target;
14
+ const nextState = (0, stateHelpers_1.setTargetOnState)(state, nextTarget);
15
+ return (0, stateHelpers_1.setTargetOnState)(thisMapper(next(nextState)), state.target);
16
+ };
6
17
  function pipe(defs) {
7
18
  return (options) => {
8
- const fns = defs.map((def) => definitionHelpers_1.mapFunctionFromDef(def, options));
9
- const runPipe = stateHelpers_1.pipeMapFns(fns);
10
- const runRevPipe = stateHelpers_1.pipeMapFns(ramda_1.reverse(fns));
11
- return (state) => stateHelpers_1.setValueFromState(state, (state.rev) ? runRevPipe(state) : runPipe(state));
19
+ if (defs.length === 0) {
20
+ return functional_1.identity;
21
+ }
22
+ const fns = defs.map((def) => (0, definitionHelpers_1.mapFunctionFromDef)(def)(options));
23
+ const runPipe = fns.reduce((next, fn, index) => callWithNextTarget(next, fn, fns[index + 1]), functional_1.identity);
24
+ const runRevPipe = fns.reduceRight((next, fn, index) => callWithNextTarget(next, fn, fns[index - 1]), functional_1.identity);
25
+ return (state) => (0, stateHelpers_1.setValueFromState)(state, state.rev ? runRevPipe(liftState(state)) : runPipe(liftState(state)));
12
26
  };
13
27
  }
14
28
  exports.default = pipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../src/operations/pipe.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAE/B,wDAAqE;AACrE,kEAA+D;AAE/D,SAAwB,IAAI,CAAE,IAAa;IACzC,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sCAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,yBAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,yBAAU,CAAC,eAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAE3C,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,gCAAiB,CACxC,KAAK,EACL,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CACjD,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAXD,uBAWC"}
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../src/operations/pipe.ts"],"names":[],"mappings":";;AACA,wDAA2E;AAC3E,kEAA+D;AAC/D,oDAA8C;AAE9C,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;IACnC,GAAG,KAAK;IACR,OAAO,EAAE,KAAK,CAAC,KAAK;CACrB,CAAC,CAAA;AAEF,MAAM,kBAAkB,GACtB,CAAC,IAAiB,EAAE,UAAuB,EAAE,UAAwB,EAAE,EAAE,CACzE,CAAC,KAAY,EAAE,EAAE;IACf,MAAM,UAAU,GACd,UAAU,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,UAAU;QACtD,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IAClB,MAAM,SAAS,GAAG,IAAA,+BAAgB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACrD,OAAO,IAAA,+BAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;AACpE,CAAC,CAAA;AAEH,SAAwB,IAAI,CAAC,IAAa;IACxC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,qBAAQ,CAAA;SAChB;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sCAAkB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CACxB,CAAC,IAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAC/B,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAC9C,qBAAQ,CACT,CAAA;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAChC,CAAC,IAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAC/B,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAC9C,qBAAQ,CACT,CAAA;QAED,OAAO,CAAC,KAAK,EAAE,EAAE,CACf,IAAA,gCAAiB,EACf,KAAK,EACL,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACrE,CAAA;IACL,CAAC,CAAA;AACH,CAAC;AAxBD,uBAwBC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const stateHelpers_1 = require("../utils/stateHelpers");
4
4
  function plug() {
5
- return () => (state) => stateHelpers_1.setStateValue(state, undefined);
5
+ return () => (state) => (0, stateHelpers_1.setStateValue)(state, state.target);
6
6
  }
7
7
  exports.default = plug;
8
8
  //# sourceMappingURL=plug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plug.js","sourceRoot":"","sources":["../../src/operations/plug.ts"],"names":[],"mappings":";;AACA,wDAAqD;AAErD,SAAwB,IAAI;IAC1B,OAAO,GAAG,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,4BAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAChE,CAAC;AAFD,uBAEC"}
1
+ {"version":3,"file":"plug.js","sourceRoot":"","sources":["../../src/operations/plug.ts"],"names":[],"mappings":";;AACA,wDAAqD;AAErD,SAAwB,IAAI;IAC1B,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,4BAAa,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;AAC5D,CAAC;AAFD,uBAEC"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const definitionHelpers_1 = require("../utils/definitionHelpers");
4
+ const valueFromRoot = (state) => ({ ...state, value: state.root });
4
5
  function default_1(def) {
5
6
  return (options) => {
6
- const pipeline = definitionHelpers_1.mapFunctionFromDef(def, options);
7
- return (state) => pipeline(Object.assign(Object.assign({}, state), { value: state.root }));
7
+ const pipeline = (0, definitionHelpers_1.mapFunctionFromDef)(def)(options);
8
+ return (state) => pipeline(valueFromRoot(state));
8
9
  };
9
10
  }
10
11
  exports.default = default_1;
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/operations/root.ts"],"names":[],"mappings":";;AACA,kEAA+D;AAE/D,mBAAyB,GAAkB;IACzC,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,sCAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEjD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,iCAAM,KAAK,KAAE,KAAK,EAAE,KAAK,CAAC,IAAI,IAAG,CAAA;IAC7D,CAAC,CAAA;AACH,CAAC;AAND,4BAMC"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/operations/root.ts"],"names":[],"mappings":";;AACA,kEAA+D;AAE/D,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;AAEzE,mBAAyB,GAAkB;IACzC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,IAAA,sCAAkB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;QAEjD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC;AAND,4BAMC"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ramda_1 = require("ramda");
4
3
  const stateHelpers_1 = require("../utils/stateHelpers");
5
- const callTransformFn = (fn) => (state) => stateHelpers_1.setStateValue(state, fn(stateHelpers_1.getStateValue(state), stateHelpers_1.contextFromState(state)));
4
+ const functional_1 = require("../utils/functional");
5
+ const callTransformFn = (fn) => (state) => (0, stateHelpers_1.setStateValue)(state, fn((0, stateHelpers_1.getStateValue)(state), (0, stateHelpers_1.contextFromState)(state)));
6
6
  function transform(fn, revFn) {
7
- const fwdTransform = typeof fn === 'function' ? callTransformFn(fn) : ramda_1.identity;
7
+ const fwdTransform = typeof fn === 'function' ? callTransformFn(fn) : functional_1.identity;
8
8
  const revTransform = typeof revFn === 'function' ? callTransformFn(revFn) : fwdTransform;
9
- return () => state => (state.rev ? revTransform(state) : fwdTransform(state));
9
+ return (_options) => (state) => state.rev ? revTransform(state) : fwdTransform(state);
10
10
  }
11
11
  exports.default = transform;
12
12
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/operations/transform.ts"],"names":[],"mappings":";;AAAA,iCAAgC;AAEhC,wDAI8B;AAE9B,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAC3D,4BAAa,CAAC,KAAK,EAAE,EAAE,CAAC,4BAAa,CAAC,KAAK,CAAC,EAAE,+BAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEzE,SAAwB,SAAS,CAC/B,EAAc,EACd,KAAkB;IAElB,MAAM,YAAY,GACf,OAAO,EAAU,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAQ,CAAA;IACpE,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IAErE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/E,CAAC;AAVD,4BAUC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/operations/transform.ts"],"names":[],"mappings":";;AACA,wDAI8B;AAC9B,oDAA8C;AAE9C,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAC3D,IAAA,4BAAa,EAAC,KAAK,EAAE,EAAE,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,EAAE,IAAA,+BAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEzE,SAAwB,SAAS,CAC/B,EAAc,EACd,KAAkB;IAElB,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAQ,CAAA;IAC9E,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IAErE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AACzD,CAAC;AAVD,4BAUC"}
@@ -1,2 +1,2 @@
1
- import { Data, Operation } from '../types';
2
- export default function value(val: Data): Operation;
1
+ import { Operation } from '../types';
2
+ export default function value(val: unknown): Operation;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const value_1 = require("../functions/value");
3
4
  function value(val) {
4
- return () => (state) => (Object.assign(Object.assign({}, state), { value: (state.onlyMapped) ? undefined : val }));
5
+ return () => (state) => ({
6
+ ...state,
7
+ value: state.onlyMapped ? undefined : (0, value_1.extractValue)(val),
8
+ });
5
9
  }
6
10
  exports.default = value;
7
11
  //# sourceMappingURL=value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/operations/value.ts"],"names":[],"mappings":";;AAEA,SAAwB,KAAK,CAAE,GAAS;IACtC,OAAO,GAAG,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,iCAC1B,KAAK,KACR,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAC3C,CAAA;AACJ,CAAC;AALD,wBAKC"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/operations/value.ts"],"names":[],"mappings":";;AACA,8CAAiD;AAEjD,SAAwB,KAAK,CAAC,GAAY;IACxC,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,GAAG,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AALD,wBAKC"}
package/dist/types.d.ts CHANGED
@@ -1,45 +1,70 @@
1
- export interface ObjectWithProps {
2
- [key: string]: Data;
3
- }
4
- export declare type Prop = string | number | boolean | object | null | undefined | ObjectWithProps;
5
- export declare type Data = Prop | Prop[];
6
1
  export declare type Path = string;
2
+ export declare type DictionaryValue = string | number | boolean | null | undefined;
3
+ export declare type DictionaryTuple = readonly [DictionaryValue, DictionaryValue];
4
+ export declare type Dictionary = DictionaryTuple[];
5
+ export interface Dictionaries {
6
+ [key: string]: Dictionary;
7
+ }
8
+ export interface ValueFunction {
9
+ (): any;
10
+ }
7
11
  export interface Operands {
8
- [key: string]: Data;
12
+ [key: string]: any | ValueFunction;
9
13
  }
10
14
  export interface Context {
11
15
  rev: boolean;
12
16
  onlyMappedValues: boolean;
13
17
  }
14
- export interface DataMapper<U = Data, V = Data | boolean> {
15
- (data: U, context: Context): V;
18
+ export interface DataMapper {
19
+ (data: unknown, context: Context): any;
16
20
  }
17
- export interface CustomFunction<T = Operands, U = Data, V = Data | boolean> {
18
- (operands: T): DataMapper<U, V>;
19
- }
20
- export interface CustomFunctions {
21
- [key: string]: CustomFunction;
21
+ export interface CustomFunction<T = Operands> {
22
+ (operands: T, options: Options): DataMapper;
22
23
  }
23
24
  export interface State {
24
- root: Data;
25
- context: Data;
26
- value: Data;
25
+ root: unknown;
26
+ context: unknown;
27
+ target?: unknown;
28
+ value: unknown;
27
29
  rev?: boolean;
28
30
  onlyMapped?: boolean;
29
31
  arr?: boolean;
30
32
  }
31
33
  export interface Options {
32
- customFunctions?: CustomFunctions;
34
+ functions?: {
35
+ [key: string]: CustomFunction;
36
+ };
37
+ pipelines?: {
38
+ [key: string]: MapDefinition;
39
+ };
40
+ dictionaries?: Dictionaries;
41
+ mutateNull?: boolean;
42
+ fwdAlias?: string;
43
+ revAlias?: string;
33
44
  }
34
45
  export interface TransformObject extends Operands {
35
46
  $transform: string;
47
+ $iterate?: boolean;
48
+ $direction?: string;
36
49
  }
37
50
  export interface FilterObject extends Operands {
38
51
  $filter: string;
52
+ $direction?: string;
53
+ }
54
+ export interface ApplyObject extends Operands {
55
+ $apply: string;
56
+ $iterate?: boolean;
57
+ $direction?: string;
58
+ }
59
+ export interface AltObject extends Operands {
60
+ $alt: string;
61
+ $iterate?: boolean;
62
+ $direction?: string;
39
63
  }
40
- export declare type OperationObject = TransformObject | FilterObject;
64
+ export declare type OperationObject = TransformObject | FilterObject | ApplyObject | AltObject;
41
65
  export interface StateMapper {
42
66
  (state: State): State;
67
+ getTarget?: (state: State) => unknown;
43
68
  }
44
69
  export interface Operation {
45
70
  (options: Options): StateMapper;
@@ -47,19 +72,23 @@ export interface Operation {
47
72
  export interface MapFunction {
48
73
  (options: Options): (state: State) => State;
49
74
  }
50
- declare type MapPipeSimple = (MapObject | Operation | OperationObject | Path)[];
75
+ export declare type MapPipeSimple = (MapObject | Operation | OperationObject | Path)[];
51
76
  export declare type MapPipe = (MapObject | Operation | OperationObject | Path | MapPipeSimple)[];
52
77
  export interface MapObject {
53
- [key: string]: MapDefinition | undefined;
78
+ [key: string]: MapDefinition | undefined | boolean;
79
+ $iterate?: boolean;
80
+ $modify?: boolean;
81
+ $flip?: boolean;
54
82
  $transform?: undefined;
55
83
  $filter?: undefined;
84
+ $apply?: undefined;
85
+ $alt?: undefined;
56
86
  }
57
87
  export declare type MapDefinition = MapObject | Operation | OperationObject | MapPipe | Path | null;
58
88
  export interface MapTransformWithOnlyMappedValues {
59
- (data: Data): Data;
60
- onlyMappedValues: (data: Data) => Data;
89
+ (data: unknown): any;
90
+ onlyMappedValues: (data: unknown) => any;
61
91
  }
62
92
  export interface MapTransform extends MapTransformWithOnlyMappedValues {
63
93
  rev: MapTransformWithOnlyMappedValues;
64
94
  }
65
- export {};
@@ -0,0 +1,2 @@
1
+ export declare const ensureArray: (value: unknown) => any[];
2
+ export declare const cloneAsArray: (value: unknown) => any[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cloneAsArray = exports.ensureArray = void 0;
4
+ const ensureArray = (value) => Array.isArray(value)
5
+ ? value
6
+ : value === undefined || value === null
7
+ ? []
8
+ : [value];
9
+ exports.ensureArray = ensureArray;
10
+ const cloneAsArray = (value) => (0, exports.ensureArray)(value).slice();
11
+ exports.cloneAsArray = cloneAsArray;
12
+ //# sourceMappingURL=array.js.map
@@ -0,0 +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,9 +1,8 @@
1
- import { Operation, StateMapper, MapDefinition, MapObject, MapPipe, OperationObject, TransformObject, FilterObject, Options } from '../types';
2
- export declare const hasTransformProp: (def: MapObject | OperationObject) => def is TransformObject;
3
- export declare const hasFilterProp: (def: MapObject | OperationObject) => def is FilterObject;
1
+ import { Operation, MapDefinition, MapObject, MapPipe, OperationObject } from '../types';
2
+ export declare const isOperationType: <T extends OperationObject>(def: MapObject | OperationObject, prop: string) => def is T;
4
3
  export declare const hasOperationProps: (def: MapObject | OperationObject) => def is OperationObject;
5
- export declare const isPath: (def: any) => def is string;
6
- export declare const isMapObject: (def: any) => def is MapObject;
7
- export declare const isMapPipe: (def: any) => def is MapPipe;
8
- export declare const isOperation: (def: any) => def is Operation;
9
- export declare const mapFunctionFromDef: (def: MapDefinition, options: Options) => StateMapper;
4
+ export declare const isPath: (def: unknown) => def is string;
5
+ export declare const isMapObject: (def: unknown) => def is MapObject;
6
+ export declare const isMapPipe: (def: unknown) => def is MapPipe;
7
+ export declare const isOperation: (def: unknown) => def is Operation;
8
+ export declare const mapFunctionFromDef: (def?: MapDefinition | undefined) => Operation;
@@ -1,61 +1,94 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.mapFunctionFromDef = exports.isOperation = exports.isMapPipe = exports.isMapObject = exports.isPath = exports.hasOperationProps = exports.hasFilterProp = exports.hasTransformProp = void 0;
15
- const ramda_1 = require("ramda");
3
+ exports.mapFunctionFromDef = exports.isOperation = exports.isMapPipe = exports.isMapObject = exports.isPath = exports.hasOperationProps = exports.isOperationType = void 0;
4
+ const functional_1 = require("./functional");
5
+ const is_1 = require("./is");
16
6
  const getSet_1 = require("../operations/getSet");
17
7
  const mutate_1 = require("../operations/mutate");
8
+ const iterate_1 = require("../operations/iterate");
18
9
  const pipe_1 = require("../operations/pipe");
19
10
  const transform_1 = require("../operations/transform");
20
11
  const filter_1 = require("../operations/filter");
21
- const isObject = (def) => typeof def === 'object' && def !== null && !Array.isArray(def);
22
- exports.hasTransformProp = (def) => typeof def['$transform'] !== 'undefined';
23
- exports.hasFilterProp = (def) => typeof def['$filter'] !== 'undefined';
24
- exports.hasOperationProps = (def) => exports.hasTransformProp(def) || exports.hasFilterProp(def);
25
- exports.isPath = (def) => typeof def === 'string';
26
- exports.isMapObject = (def) => isObject(def) && !exports.hasOperationProps(def);
27
- exports.isMapPipe = (def) => Array.isArray(def);
28
- exports.isOperation = (def) => typeof def === 'function';
29
- const getOperationFunction = (fnId, customFunctions) => fnId &&
30
- customFunctions &&
31
- typeof customFunctions[fnId] === 'function'
32
- ? customFunctions[fnId]
33
- : undefined;
34
- const createOperation = (operationFn, fnId, _a, options) => {
35
- var { $transform: transformFn, $filter: filterFn } = _a, operands = __rest(_a, ["$transform", "$filter"]);
36
- const fn = getOperationFunction(fnId, options.customFunctions);
37
- return typeof fn !== 'undefined'
38
- ? operationFn(fn(operands))(options)
39
- : ramda_1.identity;
12
+ const apply_1 = require("../operations/apply");
13
+ const alt_1 = require("../operations/alt");
14
+ const directionals_1 = require("../operations/directionals");
15
+ const altOperation = (fn) => (0, alt_1.default)((0, transform_1.default)(fn));
16
+ const transformDefFromValue = ({ $value: value, ...def }) => ({
17
+ ...def,
18
+ $transform: 'value',
19
+ value,
20
+ });
21
+ const isOperationType = (def, prop) => def[prop] !== undefined;
22
+ exports.isOperationType = isOperationType;
23
+ const hasOperationProps = (def) => (0, exports.isOperationType)(def, '$transform') ||
24
+ (0, exports.isOperationType)(def, '$filter') ||
25
+ (0, exports.isOperationType)(def, '$apply') ||
26
+ (0, exports.isOperationType)(def, '$alt') ||
27
+ (0, exports.isOperationType)(def, '$value');
28
+ exports.hasOperationProps = hasOperationProps;
29
+ const isPath = (def) => typeof def === 'string';
30
+ exports.isPath = isPath;
31
+ const isMapObject = (def) => (0, is_1.isObject)(def) && !(0, exports.hasOperationProps)(def);
32
+ exports.isMapObject = isMapObject;
33
+ const isMapPipe = (def) => Array.isArray(def);
34
+ exports.isMapPipe = isMapPipe;
35
+ const isOperation = (def) => typeof def === 'function';
36
+ exports.isOperation = isOperation;
37
+ const iterateIf = (fn, should) => should ? (0, iterate_1.default)(fn) : fn;
38
+ const wrapFromDefinition = (fn, def) => {
39
+ const fnIterated = iterateIf(fn, def.$iterate === true);
40
+ return (options) => {
41
+ const dir = def.$direction;
42
+ if (typeof dir === 'string') {
43
+ if (dir === 'rev' || dir === options.revAlias) {
44
+ return (0, directionals_1.rev)(fnIterated)(options);
45
+ }
46
+ else if (dir === 'fwd' || dir === options.fwdAlias) {
47
+ return (0, directionals_1.fwd)(fnIterated)(options);
48
+ }
49
+ }
50
+ return fnIterated(options);
51
+ };
52
+ };
53
+ const createOperation = (operationFn, fnProp, def) => (options) => {
54
+ const { [fnProp]: fnId, ...operands } = def;
55
+ const fn = options.functions && options.functions[fnId];
56
+ return typeof fn === 'function'
57
+ ? wrapFromDefinition(operationFn(fn(operands, options)), def)(options)
58
+ : functional_1.identity;
40
59
  };
41
- const operationFromObject = (def, options) => {
42
- if (exports.hasTransformProp(def)) {
43
- return createOperation(transform_1.default, def['$transform'], def, options);
60
+ const createApplyOperation = (operationFn, def) => {
61
+ const pipelineId = def.$apply;
62
+ return wrapFromDefinition(operationFn(pipelineId), def);
63
+ };
64
+ const operationFromObject = (def) => {
65
+ if ((0, exports.isOperationType)(def, '$transform')) {
66
+ return createOperation(transform_1.default, '$transform', def);
67
+ }
68
+ else if ((0, exports.isOperationType)(def, '$value')) {
69
+ return createOperation(transform_1.default, '$transform', transformDefFromValue(def));
70
+ }
71
+ else if ((0, exports.isOperationType)(def, '$filter')) {
72
+ return createOperation(filter_1.default, '$filter', def);
73
+ }
74
+ else if ((0, exports.isOperationType)(def, '$apply')) {
75
+ return createApplyOperation(apply_1.default, def);
44
76
  }
45
- else if (exports.hasFilterProp(def)) {
46
- return createOperation(filter_1.default, def['$filter'], def, options);
77
+ else if ((0, exports.isOperationType)(def, '$alt')) {
78
+ return createOperation(altOperation, '$alt', def);
47
79
  }
48
80
  else {
49
- return mutate_1.default(def)(options);
81
+ return (0, mutate_1.default)(def);
50
82
  }
51
83
  };
52
- exports.mapFunctionFromDef = (def, options) => exports.isMapPipe(def)
53
- ? pipe_1.default(def)(options)
54
- : isObject(def)
55
- ? operationFromObject(def, options)
56
- : exports.isPath(def)
57
- ? getSet_1.get(def)(options)
58
- : exports.isOperation(def)
59
- ? def(options)
60
- : ramda_1.identity;
84
+ const mapFunctionFromDef = (def) => (0, exports.isMapPipe)(def)
85
+ ? (0, pipe_1.default)(def)
86
+ : (0, is_1.isObject)(def)
87
+ ? operationFromObject(def)
88
+ : (0, exports.isPath)(def)
89
+ ? (0, getSet_1.get)(def)
90
+ : (0, exports.isOperation)(def)
91
+ ? def
92
+ : (_options) => functional_1.identity;
93
+ exports.mapFunctionFromDef = mapFunctionFromDef;
61
94
  //# sourceMappingURL=definitionHelpers.js.map
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ export declare const identity: <T>(value: T) => T;
2
+ export declare const compose: <R>(...fns: ((a: R) => R)[]) => (a: R) => R;
3
+ export declare const pipe: <R>(...fns: ((a: R) => R)[]) => (a: R) => R;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pipe = exports.compose = exports.identity = void 0;
4
+ const identity = (value) => value;
5
+ exports.identity = identity;
6
+ const compose = (...fns) => fns.reduceRight((f, g) => (...args) => g(f(...args)));
7
+ exports.compose = compose;
8
+ const pipe = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));
9
+ exports.pipe = pipe;
10
+ //# sourceMappingURL=functional.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functional.js","sourceRoot":"","sources":["../../src/utils/functional.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAAE,EAAE,CAAC,KAAK,CAAA;AAAjC,QAAA,QAAQ,YAAyB;AAKvC,MAAM,OAAO,GAAG,CAAI,GAAG,GAAoB,EAAiB,EAAE,CACnE,GAAG,CAAC,WAAW,CACb,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,IAAI,EAAE,EAAE,CACV,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAClB,CAAA;AALU,QAAA,OAAO,WAKjB;AAEI,MAAM,IAAI,GAAG,CAAI,GAAG,GAAoB,EAAiB,EAAE,CAChE,GAAG,CAAC,MAAM,CACR,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,IAAI,EAAE,EAAE,CACV,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAClB,CAAA;AALU,QAAA,IAAI,QAKd"}
@@ -0,0 +1,3 @@
1
+ export declare const isObject: (value: unknown) => value is Record<string, unknown>;
2
+ export declare const isPath: (value: unknown) => value is string;
3
+ export declare const isArrayPath: (value: unknown) => value is string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isArrayPath = exports.isPath = exports.isObject = void 0;
4
+ const isObject = (value) => Object.prototype.toString.call(value) === '[object Object]';
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;
10
+ //# sourceMappingURL=is.js.map
@@ -0,0 +1 @@
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"}