@wix/motion-edm-autogen-transformations-core 1.3.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.
Files changed (182) hide show
  1. package/dist/cjs/__tests__/corvid-entity.spec.js +68 -0
  2. package/dist/cjs/__tests__/corvid-entity.spec.js.map +1 -0
  3. package/dist/cjs/__tests__/getArgumentCardinality.spec.js +58 -0
  4. package/dist/cjs/__tests__/getArgumentCardinality.spec.js.map +1 -0
  5. package/dist/cjs/__tests__/helpers.spec.js +90 -0
  6. package/dist/cjs/__tests__/helpers.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/reduceTransformation.spec.js +478 -0
  8. package/dist/cjs/__tests__/reduceTransformation.spec.js.map +1 -0
  9. package/dist/cjs/__tests__/transformations/custom-functions.spec.js +111 -0
  10. package/dist/cjs/__tests__/transformations/custom-functions.spec.js.map +1 -0
  11. package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js +47 -0
  12. package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js.map +1 -0
  13. package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js +75 -0
  14. package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -0
  15. package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js +46 -0
  16. package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js.map +1 -0
  17. package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js +28 -0
  18. package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js.map +1 -0
  19. package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js +66 -0
  20. package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js.map +1 -0
  21. package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js +90 -0
  22. package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js.map +1 -0
  23. package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js +291 -0
  24. package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js.map +1 -0
  25. package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js +370 -0
  26. package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js.map +1 -0
  27. package/dist/cjs/index.js +102 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/lib/corvid-entity/index.js +32 -0
  30. package/dist/cjs/lib/corvid-entity/index.js.map +1 -0
  31. package/dist/cjs/lib/getArgumentCardinality.js +34 -0
  32. package/dist/cjs/lib/getArgumentCardinality.js.map +1 -0
  33. package/dist/cjs/lib/helpers.js +111 -0
  34. package/dist/cjs/lib/helpers.js.map +1 -0
  35. package/dist/cjs/lib/transformations/common.js +24 -0
  36. package/dist/cjs/lib/transformations/common.js.map +1 -0
  37. package/dist/cjs/lib/transformations/constants.js +23 -0
  38. package/dist/cjs/lib/transformations/constants.js.map +1 -0
  39. package/dist/cjs/lib/transformations/custom-functions.js +46 -0
  40. package/dist/cjs/lib/transformations/custom-functions.js.map +1 -0
  41. package/dist/cjs/lib/transformations/preset/create.js +17 -0
  42. package/dist/cjs/lib/transformations/preset/create.js.map +1 -0
  43. package/dist/cjs/lib/transformations/preset/delete.js +42 -0
  44. package/dist/cjs/lib/transformations/preset/delete.js.map +1 -0
  45. package/dist/cjs/lib/transformations/preset/get.js +17 -0
  46. package/dist/cjs/lib/transformations/preset/get.js.map +1 -0
  47. package/dist/cjs/lib/transformations/preset/list.js +13 -0
  48. package/dist/cjs/lib/transformations/preset/list.js.map +1 -0
  49. package/dist/cjs/lib/transformations/preset/query.js +40 -0
  50. package/dist/cjs/lib/transformations/preset/query.js.map +1 -0
  51. package/dist/cjs/lib/transformations/preset/update.js +37 -0
  52. package/dist/cjs/lib/transformations/preset/update.js.map +1 -0
  53. package/dist/cjs/lib/transformations/reduceTransformation.js +180 -0
  54. package/dist/cjs/lib/transformations/reduceTransformation.js.map +1 -0
  55. package/dist/cjs/lib/transformations/validations/common.js +50 -0
  56. package/dist/cjs/lib/transformations/validations/common.js.map +1 -0
  57. package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js +118 -0
  58. package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js.map +1 -0
  59. package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js +161 -0
  60. package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js.map +1 -0
  61. package/dist/esm/__tests__/corvid-entity.spec.js +58 -0
  62. package/dist/esm/__tests__/corvid-entity.spec.js.map +1 -0
  63. package/dist/esm/__tests__/getArgumentCardinality.spec.js +42 -0
  64. package/dist/esm/__tests__/getArgumentCardinality.spec.js.map +1 -0
  65. package/dist/esm/__tests__/helpers.spec.js +61 -0
  66. package/dist/esm/__tests__/helpers.spec.js.map +1 -0
  67. package/dist/esm/__tests__/reduceTransformation.spec.js +416 -0
  68. package/dist/esm/__tests__/reduceTransformation.spec.js.map +1 -0
  69. package/dist/esm/__tests__/transformations/custom-functions.spec.js +87 -0
  70. package/dist/esm/__tests__/transformations/custom-functions.spec.js.map +1 -0
  71. package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js +40 -0
  72. package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js.map +1 -0
  73. package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js +65 -0
  74. package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -0
  75. package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js +39 -0
  76. package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js.map +1 -0
  77. package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js +22 -0
  78. package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js.map +1 -0
  79. package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js +57 -0
  80. package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js.map +1 -0
  81. package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js +85 -0
  82. package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js.map +1 -0
  83. package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js +200 -0
  84. package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js.map +1 -0
  85. package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js +246 -0
  86. package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js.map +1 -0
  87. package/dist/esm/index.js +47 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/lib/corvid-entity/index.js +17 -0
  90. package/dist/esm/lib/corvid-entity/index.js.map +1 -0
  91. package/dist/esm/lib/getArgumentCardinality.js +30 -0
  92. package/dist/esm/lib/getArgumentCardinality.js.map +1 -0
  93. package/dist/esm/lib/helpers.js +56 -0
  94. package/dist/esm/lib/helpers.js.map +1 -0
  95. package/dist/esm/lib/transformations/common.js +17 -0
  96. package/dist/esm/lib/transformations/common.js.map +1 -0
  97. package/dist/esm/lib/transformations/constants.js +18 -0
  98. package/dist/esm/lib/transformations/constants.js.map +1 -0
  99. package/dist/esm/lib/transformations/custom-functions.js +34 -0
  100. package/dist/esm/lib/transformations/custom-functions.js.map +1 -0
  101. package/dist/esm/lib/transformations/preset/create.js +8 -0
  102. package/dist/esm/lib/transformations/preset/create.js.map +1 -0
  103. package/dist/esm/lib/transformations/preset/delete.js +25 -0
  104. package/dist/esm/lib/transformations/preset/delete.js.map +1 -0
  105. package/dist/esm/lib/transformations/preset/get.js +8 -0
  106. package/dist/esm/lib/transformations/preset/get.js.map +1 -0
  107. package/dist/esm/lib/transformations/preset/list.js +6 -0
  108. package/dist/esm/lib/transformations/preset/list.js.map +1 -0
  109. package/dist/esm/lib/transformations/preset/query.js +28 -0
  110. package/dist/esm/lib/transformations/preset/query.js.map +1 -0
  111. package/dist/esm/lib/transformations/preset/update.js +18 -0
  112. package/dist/esm/lib/transformations/preset/update.js.map +1 -0
  113. package/dist/esm/lib/transformations/reduceTransformation.js +122 -0
  114. package/dist/esm/lib/transformations/reduceTransformation.js.map +1 -0
  115. package/dist/esm/lib/transformations/validations/common.js +35 -0
  116. package/dist/esm/lib/transformations/validations/common.js.map +1 -0
  117. package/dist/esm/lib/transformations/validations/validateRequestTransformation.js +107 -0
  118. package/dist/esm/lib/transformations/validations/validateRequestTransformation.js.map +1 -0
  119. package/dist/esm/lib/transformations/validations/validateResponseTransformation.js +142 -0
  120. package/dist/esm/lib/transformations/validations/validateResponseTransformation.js.map +1 -0
  121. package/dist/tsconfig.tsbuildinfo +1 -0
  122. package/dist/types/__tests__/corvid-entity.spec.d.ts +2 -0
  123. package/dist/types/__tests__/corvid-entity.spec.d.ts.map +1 -0
  124. package/dist/types/__tests__/getArgumentCardinality.spec.d.ts +2 -0
  125. package/dist/types/__tests__/getArgumentCardinality.spec.d.ts.map +1 -0
  126. package/dist/types/__tests__/helpers.spec.d.ts +2 -0
  127. package/dist/types/__tests__/helpers.spec.d.ts.map +1 -0
  128. package/dist/types/__tests__/reduceTransformation.spec.d.ts +2 -0
  129. package/dist/types/__tests__/reduceTransformation.spec.d.ts.map +1 -0
  130. package/dist/types/__tests__/transformations/custom-functions.spec.d.ts +2 -0
  131. package/dist/types/__tests__/transformations/custom-functions.spec.d.ts.map +1 -0
  132. package/dist/types/__tests__/transformations/preset/create-transformation.spec.d.ts +2 -0
  133. package/dist/types/__tests__/transformations/preset/create-transformation.spec.d.ts.map +1 -0
  134. package/dist/types/__tests__/transformations/preset/delete-transformation.spec.d.ts +2 -0
  135. package/dist/types/__tests__/transformations/preset/delete-transformation.spec.d.ts.map +1 -0
  136. package/dist/types/__tests__/transformations/preset/get-transformation.spec.d.ts +2 -0
  137. package/dist/types/__tests__/transformations/preset/get-transformation.spec.d.ts.map +1 -0
  138. package/dist/types/__tests__/transformations/preset/list-transformation.spec.d.ts +2 -0
  139. package/dist/types/__tests__/transformations/preset/list-transformation.spec.d.ts.map +1 -0
  140. package/dist/types/__tests__/transformations/preset/query-transformation.spec.d.ts +2 -0
  141. package/dist/types/__tests__/transformations/preset/query-transformation.spec.d.ts.map +1 -0
  142. package/dist/types/__tests__/transformations/preset/update-transformation.spec.d.ts +2 -0
  143. package/dist/types/__tests__/transformations/preset/update-transformation.spec.d.ts.map +1 -0
  144. package/dist/types/__tests__/validations/validateRequestTransformation.spec.d.ts +2 -0
  145. package/dist/types/__tests__/validations/validateRequestTransformation.spec.d.ts.map +1 -0
  146. package/dist/types/__tests__/validations/validateResponseTransformation.spec.d.ts +2 -0
  147. package/dist/types/__tests__/validations/validateResponseTransformation.spec.d.ts.map +1 -0
  148. package/dist/types/index.d.ts +55 -0
  149. package/dist/types/index.d.ts.map +1 -0
  150. package/dist/types/lib/corvid-entity/index.d.ts +13 -0
  151. package/dist/types/lib/corvid-entity/index.d.ts.map +1 -0
  152. package/dist/types/lib/getArgumentCardinality.d.ts +3 -0
  153. package/dist/types/lib/getArgumentCardinality.d.ts.map +1 -0
  154. package/dist/types/lib/helpers.d.ts +28 -0
  155. package/dist/types/lib/helpers.d.ts.map +1 -0
  156. package/dist/types/lib/transformations/common.d.ts +15 -0
  157. package/dist/types/lib/transformations/common.d.ts.map +1 -0
  158. package/dist/types/lib/transformations/constants.d.ts +18 -0
  159. package/dist/types/lib/transformations/constants.d.ts.map +1 -0
  160. package/dist/types/lib/transformations/custom-functions.d.ts +13 -0
  161. package/dist/types/lib/transformations/custom-functions.d.ts.map +1 -0
  162. package/dist/types/lib/transformations/preset/create.d.ts +6 -0
  163. package/dist/types/lib/transformations/preset/create.d.ts.map +1 -0
  164. package/dist/types/lib/transformations/preset/delete.d.ts +7 -0
  165. package/dist/types/lib/transformations/preset/delete.d.ts.map +1 -0
  166. package/dist/types/lib/transformations/preset/get.d.ts +6 -0
  167. package/dist/types/lib/transformations/preset/get.d.ts.map +1 -0
  168. package/dist/types/lib/transformations/preset/list.d.ts +4 -0
  169. package/dist/types/lib/transformations/preset/list.d.ts.map +1 -0
  170. package/dist/types/lib/transformations/preset/query.d.ts +20 -0
  171. package/dist/types/lib/transformations/preset/query.d.ts.map +1 -0
  172. package/dist/types/lib/transformations/preset/update.d.ts +8 -0
  173. package/dist/types/lib/transformations/preset/update.d.ts.map +1 -0
  174. package/dist/types/lib/transformations/reduceTransformation.d.ts +6 -0
  175. package/dist/types/lib/transformations/reduceTransformation.d.ts.map +1 -0
  176. package/dist/types/lib/transformations/validations/common.d.ts +13 -0
  177. package/dist/types/lib/transformations/validations/common.d.ts.map +1 -0
  178. package/dist/types/lib/transformations/validations/validateRequestTransformation.d.ts +6 -0
  179. package/dist/types/lib/transformations/validations/validateRequestTransformation.d.ts.map +1 -0
  180. package/dist/types/lib/transformations/validations/validateResponseTransformation.d.ts +6 -0
  181. package/dist/types/lib/transformations/validations/validateResponseTransformation.d.ts.map +1 -0
  182. package/package.json +72 -0
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.stripJsonPathRootPrefix = exports.parseOmitTransformation = exports.parseMapArrayItemsTransformation = exports.isSpreadOperator = exports.isSimpleTransformation = exports.isRootObjectIdentifier = exports.isOmitTransformation = exports.isMapArrayItemsTransformation = exports.isJsonPathExpression = exports.isInvalidJsonValue = exports.isInvalidJsonPath = exports.isIdentityResponseTransformation = exports.isConstantExpression = exports.isArrayIndexString = exports.hasValidArgumentIndex = exports.getArgumentIndex = exports.extractIndexAndPath = void 0;
5
+
6
+ var _jsonpathPlus = require("jsonpath-plus");
7
+
8
+ var _lodash = require("lodash");
9
+
10
+ var _common = require("./transformations/common");
11
+
12
+ var _constants = require("./transformations/constants");
13
+
14
+ const RESPONSE_OBJECT_UNCHANGED = _common.transformations.RESPONSE_OBJECT_UNCHANGED,
15
+ ARRAY_ITEMS_PATH_PROPERTY_NAME = _common.transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME,
16
+ ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = _common.transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,
17
+ OMIT_SOURCE_PROPERTY_NAME = _common.transformations.OMIT_SOURCE_PROPERTY_NAME,
18
+ FIELDS_TO_OMIT_PROPERTY_NAME = _common.transformations.FIELDS_TO_OMIT_PROPERTY_NAME,
19
+ SPREAD_OPERATOR = _common.transformations.SPREAD_OPERATOR,
20
+ CONSTANT_VALUE_PROPERTY_NAME = _common.transformations.CONSTANT_VALUE_PROPERTY_NAME;
21
+
22
+ const isInvalidJsonPath = path => (0, _lodash.isError)((0, _lodash.attempt)(() => (0, _jsonpathPlus.JSONPath)({
23
+ path,
24
+ json: {}
25
+ })));
26
+
27
+ exports.isInvalidJsonPath = isInvalidJsonPath;
28
+
29
+ const isInvalidJsonValue = value => (0, _lodash.isError)((0, _lodash.attempt)(() => JSON.parse(value)));
30
+
31
+ exports.isInvalidJsonValue = isInvalidJsonValue;
32
+
33
+ const isSimpleTransformation = transformation => typeof transformation === 'string';
34
+
35
+ exports.isSimpleTransformation = isSimpleTransformation;
36
+
37
+ const isArrayIndexString = str => !!/\d+/.test(str);
38
+
39
+ exports.isArrayIndexString = isArrayIndexString;
40
+
41
+ const isSpreadOperator = key => key === SPREAD_OPERATOR;
42
+
43
+ exports.isSpreadOperator = isSpreadOperator;
44
+
45
+ const isIdentityResponseTransformation = transformationPath => transformationPath === RESPONSE_OBJECT_UNCHANGED;
46
+
47
+ exports.isIdentityResponseTransformation = isIdentityResponseTransformation;
48
+
49
+ const getArgumentIndex = s => {
50
+ const match = s.match(/\$\[(?<argIndex>\d+)\]/);
51
+ return match && match.groups && Number(match.groups.argIndex);
52
+ };
53
+
54
+ exports.getArgumentIndex = getArgumentIndex;
55
+
56
+ const hasValidArgumentIndex = path => getArgumentIndex(path) !== null;
57
+
58
+ exports.hasValidArgumentIndex = hasValidArgumentIndex;
59
+
60
+ const isRootObjectIdentifier = s => s === _constants.JSON_PATH_ROOT;
61
+
62
+ exports.isRootObjectIdentifier = isRootObjectIdentifier;
63
+
64
+ const isJsonPathExpression = exp => exp && exp.startsWith(_constants.JSON_PATH_ROOT);
65
+
66
+ exports.isJsonPathExpression = isJsonPathExpression;
67
+
68
+ const stripJsonPathRootPrefix = jsonPath => jsonPath.replace(`${_constants.JSON_PATH_ROOT}.`, '');
69
+
70
+ exports.stripJsonPathRootPrefix = stripJsonPathRootPrefix;
71
+
72
+ const extractIndexAndPath = simpleTransformation => {
73
+ const _simpleTransformation = simpleTransformation.split('.'),
74
+ maybeIndexExpression = _simpleTransformation[0],
75
+ rest = _simpleTransformation.slice(1);
76
+
77
+ const index = getArgumentIndex(maybeIndexExpression);
78
+ return {
79
+ index,
80
+ nestedPath: index !== null && rest.length > 0 ? rest.join('.') : null
81
+ };
82
+ };
83
+
84
+ exports.extractIndexAndPath = extractIndexAndPath;
85
+
86
+ const isMapArrayItemsTransformation = transformationValue => (0, _lodash.has)(transformationValue, ARRAY_ITEMS_PATH_PROPERTY_NAME) && (0, _lodash.has)(transformationValue, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME);
87
+
88
+ exports.isMapArrayItemsTransformation = isMapArrayItemsTransformation;
89
+
90
+ const parseMapArrayItemsTransformation = transformationValue => ({
91
+ sourceArrayExpression: transformationValue[ARRAY_ITEMS_PATH_PROPERTY_NAME],
92
+ itemTransformation: transformationValue[ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME]
93
+ });
94
+
95
+ exports.parseMapArrayItemsTransformation = parseMapArrayItemsTransformation;
96
+
97
+ const isOmitTransformation = transformationValue => (0, _lodash.has)(transformationValue, OMIT_SOURCE_PROPERTY_NAME) && (0, _lodash.has)(transformationValue, FIELDS_TO_OMIT_PROPERTY_NAME);
98
+
99
+ exports.isOmitTransformation = isOmitTransformation;
100
+
101
+ const parseOmitTransformation = transformationValue => ({
102
+ sourceExpression: transformationValue[OMIT_SOURCE_PROPERTY_NAME],
103
+ fieldsToOmit: transformationValue[FIELDS_TO_OMIT_PROPERTY_NAME]
104
+ });
105
+
106
+ exports.parseOmitTransformation = parseOmitTransformation;
107
+
108
+ const isConstantExpression = value => (0, _lodash.has)(value, CONSTANT_VALUE_PROPERTY_NAME);
109
+
110
+ exports.isConstantExpression = isConstantExpression;
111
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/helpers.ts"],"names":["RESPONSE_OBJECT_UNCHANGED","transformations","ARRAY_ITEMS_PATH_PROPERTY_NAME","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","SPREAD_OPERATOR","CONSTANT_VALUE_PROPERTY_NAME","isInvalidJsonPath","path","json","isInvalidJsonValue","value","JSON","parse","isSimpleTransformation","transformation","isArrayIndexString","str","test","isSpreadOperator","key","isIdentityResponseTransformation","transformationPath","getArgumentIndex","s","match","groups","Number","argIndex","hasValidArgumentIndex","isRootObjectIdentifier","JSON_PATH_ROOT","isJsonPathExpression","exp","startsWith","stripJsonPathRootPrefix","jsonPath","replace","extractIndexAndPath","simpleTransformation","split","maybeIndexExpression","rest","index","nestedPath","length","join","isMapArrayItemsTransformation","transformationValue","parseMapArrayItemsTransformation","sourceArrayExpression","itemTransformation","isOmitTransformation","parseOmitTransformation","sourceExpression","fieldsToOmit","isConstantExpression"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,MACEA,yBADF,GAQIC,uBARJ,CACED,yBADF;AAAA,MAEEE,8BAFF,GAQID,uBARJ,CAEEC,8BAFF;AAAA,MAGEC,uCAHF,GAQIF,uBARJ,CAGEE,uCAHF;AAAA,MAIEC,yBAJF,GAQIH,uBARJ,CAIEG,yBAJF;AAAA,MAKEC,4BALF,GAQIJ,uBARJ,CAKEI,4BALF;AAAA,MAMEC,eANF,GAQIL,uBARJ,CAMEK,eANF;AAAA,MAOEC,4BAPF,GAQIN,uBARJ,CAOEM,4BAPF;;AAUA,MAAMC,iBAAiB,GAAIC,IAAD,IACxB,qBAAQ,qBAAQ,MAAM,4BAAS;AAAEA,EAAAA,IAAF;AAAQC,EAAAA,IAAI,EAAE;AAAd,CAAT,CAAd,CAAR,CADF;;;;AAGA,MAAMC,kBAAkB,GAAIC,KAAD,IAAW,qBAAQ,qBAAQ,MAAMC,IAAI,CAACC,KAAL,CAAWF,KAAX,CAAd,CAAR,CAAtC;;;;AAEA,MAAMG,sBAAsB,GAAIC,cAAD,IAC7B,OAAOA,cAAP,KAA0B,QAD5B;;;;AAGA,MAAMC,kBAAkB,GAAIC,GAAD,IAAS,CAAC,CAAC,MAAMC,IAAN,CAAWD,GAAX,CAAtC;;;;AAEA,MAAME,gBAAgB,GAAIC,GAAD,IAASA,GAAG,KAAKf,eAA1C;;;;AAEA,MAAMgB,gCAAgC,GAAIC,kBAAD,IACvCA,kBAAkB,KAAKvB,yBADzB;;;;AAGA,MAAMwB,gBAAgB,GAAIC,CAAD,IAAO;AAC9B,QAAMC,KAAK,GAAGD,CAAC,CAACC,KAAF,CAAQ,wBAAR,CAAd;AAEA,SAAOA,KAAK,IAAIA,KAAK,CAACC,MAAf,IAAyBC,MAAM,CAACF,KAAK,CAACC,MAAN,CAAaE,QAAd,CAAtC;AACD,CAJD;;;;AAMA,MAAMC,qBAAqB,GAAIrB,IAAD,IAAUe,gBAAgB,CAACf,IAAD,CAAhB,KAA2B,IAAnE;;;;AAEA,MAAMsB,sBAAsB,GAAIN,CAAD,IAAOA,CAAC,KAAKO,yBAA5C;;;;AAEA,MAAMC,oBAAoB,GAAIC,GAAD,IAASA,GAAG,IAAIA,GAAG,CAACC,UAAJ,CAAeH,yBAAf,CAA7C;;;;AAEA,MAAMI,uBAAuB,GAAIC,QAAD,IAC9BA,QAAQ,CAACC,OAAT,CAAkB,GAAEN,yBAAe,GAAnC,EAAuC,EAAvC,CADF;;;;AAGA,MAAMO,mBAAmB,GAAIC,oBAAD,IAA0B;AACpD,gCAAwCA,oBAAoB,CAACC,KAArB,CAA2B,GAA3B,CAAxC;AAAA,QAAOC,oBAAP;AAAA,QAAgCC,IAAhC;;AACA,QAAMC,KAAK,GAAGpB,gBAAgB,CAACkB,oBAAD,CAA9B;AAEA,SAAO;AACLE,IAAAA,KADK;AAELC,IAAAA,UAAU,EAAED,KAAK,KAAK,IAAV,IAAkBD,IAAI,CAACG,MAAL,GAAc,CAAhC,GAAoCH,IAAI,CAACI,IAAL,CAAU,GAAV,CAApC,GAAqD;AAF5D,GAAP;AAID,CARD;;;;AAUA,MAAMC,6BAA6B,GAAIC,mBAAD,IACpC,iBAAIA,mBAAJ,EAAyB/C,8BAAzB,KACA,iBAAI+C,mBAAJ,EAAyB9C,uCAAzB,CAFF;;;;AAIA,MAAM+C,gCAAgC,GAAID,mBAAD,KAA0B;AACjEE,EAAAA,qBAAqB,EAAEF,mBAAmB,CAAC/C,8BAAD,CADuB;AAEjEkD,EAAAA,kBAAkB,EAChBH,mBAAmB,CAAC9C,uCAAD;AAH4C,CAA1B,CAAzC;;;;AAMA,MAAMkD,oBAAoB,GAAIJ,mBAAD,IAC3B,iBAAIA,mBAAJ,EAAyB7C,yBAAzB,KACA,iBAAI6C,mBAAJ,EAAyB5C,4BAAzB,CAFF;;;;AAIA,MAAMiD,uBAAuB,GAAIL,mBAAD,KAA0B;AACxDM,EAAAA,gBAAgB,EAAEN,mBAAmB,CAAC7C,yBAAD,CADmB;AAExDoD,EAAAA,YAAY,EAAEP,mBAAmB,CAAC5C,4BAAD;AAFuB,CAA1B,CAAhC;;;;AAKA,MAAMoD,oBAAoB,GAAI7C,KAAD,IAC3B,iBAAIA,KAAJ,EAAWL,4BAAX,CADF","sourcesContent":["import { JSONPath } from 'jsonpath-plus';\nimport { isError, attempt, has } from 'lodash';\nimport { transformations } from './transformations/common';\nimport { JSON_PATH_ROOT } from './transformations/constants';\n\nconst {\n RESPONSE_OBJECT_UNCHANGED,\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n SPREAD_OPERATOR,\n CONSTANT_VALUE_PROPERTY_NAME,\n} = transformations;\n\nconst isInvalidJsonPath = (path) =>\n isError(attempt(() => JSONPath({ path, json: {} })));\n\nconst isInvalidJsonValue = (value) => isError(attempt(() => JSON.parse(value)));\n\nconst isSimpleTransformation = (transformation) =>\n typeof transformation === 'string';\n\nconst isArrayIndexString = (str) => !!/\\d+/.test(str);\n\nconst isSpreadOperator = (key) => key === SPREAD_OPERATOR;\n\nconst isIdentityResponseTransformation = (transformationPath) =>\n transformationPath === RESPONSE_OBJECT_UNCHANGED;\n\nconst getArgumentIndex = (s) => {\n const match = s.match(/\\$\\[(?<argIndex>\\d+)\\]/);\n\n return match && match.groups && Number(match.groups.argIndex);\n};\n\nconst hasValidArgumentIndex = (path) => getArgumentIndex(path) !== null;\n\nconst isRootObjectIdentifier = (s) => s === JSON_PATH_ROOT;\n\nconst isJsonPathExpression = (exp) => exp && exp.startsWith(JSON_PATH_ROOT);\n\nconst stripJsonPathRootPrefix = (jsonPath) =>\n jsonPath.replace(`${JSON_PATH_ROOT}.`, '');\n\nconst extractIndexAndPath = (simpleTransformation) => {\n const [maybeIndexExpression, ...rest] = simpleTransformation.split('.');\n const index = getArgumentIndex(maybeIndexExpression);\n\n return {\n index,\n nestedPath: index !== null && rest.length > 0 ? rest.join('.') : null,\n };\n};\n\nconst isMapArrayItemsTransformation = (transformationValue) =>\n has(transformationValue, ARRAY_ITEMS_PATH_PROPERTY_NAME) &&\n has(transformationValue, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME);\n\nconst parseMapArrayItemsTransformation = (transformationValue) => ({\n sourceArrayExpression: transformationValue[ARRAY_ITEMS_PATH_PROPERTY_NAME],\n itemTransformation:\n transformationValue[ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME],\n});\n\nconst isOmitTransformation = (transformationValue) =>\n has(transformationValue, OMIT_SOURCE_PROPERTY_NAME) &&\n has(transformationValue, FIELDS_TO_OMIT_PROPERTY_NAME);\n\nconst parseOmitTransformation = (transformationValue) => ({\n sourceExpression: transformationValue[OMIT_SOURCE_PROPERTY_NAME],\n fieldsToOmit: transformationValue[FIELDS_TO_OMIT_PROPERTY_NAME],\n});\n\nconst isConstantExpression = (value) =>\n has(value, CONSTANT_VALUE_PROPERTY_NAME);\n\nexport {\n isSimpleTransformation,\n isArrayIndexString,\n isSpreadOperator,\n extractIndexAndPath,\n isIdentityResponseTransformation,\n getArgumentIndex,\n hasValidArgumentIndex,\n isRootObjectIdentifier,\n isInvalidJsonPath,\n isMapArrayItemsTransformation,\n parseMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isJsonPathExpression,\n stripJsonPathRootPrefix,\n isInvalidJsonValue,\n isConstantExpression,\n};\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.unwrap = exports.transformations = void 0;
5
+
6
+ var _constants = require("./constants");
7
+
8
+ const unwrap = ({
9
+ responseMessageResultPath
10
+ }) => `$.${responseMessageResultPath}`;
11
+
12
+ exports.unwrap = unwrap;
13
+ const transformations = {
14
+ JS_SINGLE_ARG_UNCHANGED: '$[0]',
15
+ RESPONSE_OBJECT_UNCHANGED: _constants.JSON_PATH_ROOT,
16
+ ARRAY_ITEMS_PATH_PROPERTY_NAME: '@path',
17
+ ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME: '@itemTransformation',
18
+ OMIT_SOURCE_PROPERTY_NAME: '@source',
19
+ FIELDS_TO_OMIT_PROPERTY_NAME: '@omit',
20
+ SPREAD_OPERATOR: '*',
21
+ CONSTANT_VALUE_PROPERTY_NAME: '@constant'
22
+ };
23
+ exports.transformations = transformations;
24
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/transformations/common.ts"],"names":["unwrap","responseMessageResultPath","transformations","JS_SINGLE_ARG_UNCHANGED","RESPONSE_OBJECT_UNCHANGED","JSON_PATH_ROOT","ARRAY_ITEMS_PATH_PROPERTY_NAME","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","SPREAD_OPERATOR","CONSTANT_VALUE_PROPERTY_NAME"],"mappings":";;;;;AAAA;;AAEA,MAAMA,MAAM,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACZ,KAAIA,yBAA0B,EADjC;;;AAGA,MAAMC,eAAe,GAAG;AACtBC,EAAAA,uBAAuB,EAAE,MADH;AAEtBC,EAAAA,yBAAyB,EAAEC,yBAFL;AAGtBC,EAAAA,8BAA8B,EAAE,OAHV;AAItBC,EAAAA,uCAAuC,EAAE,qBAJnB;AAKtBC,EAAAA,yBAAyB,EAAE,SALL;AAMtBC,EAAAA,4BAA4B,EAAE,OANR;AAOtBC,EAAAA,eAAe,EAAE,GAPK;AAQtBC,EAAAA,4BAA4B,EAAE;AARR,CAAxB","sourcesContent":["import { JSON_PATH_ROOT } from './constants';\n\nconst unwrap = ({ responseMessageResultPath }) =>\n `$.${responseMessageResultPath}`;\n\nconst transformations = {\n JS_SINGLE_ARG_UNCHANGED: '$[0]',\n RESPONSE_OBJECT_UNCHANGED: JSON_PATH_ROOT,\n ARRAY_ITEMS_PATH_PROPERTY_NAME: '@path',\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME: '@itemTransformation',\n OMIT_SOURCE_PROPERTY_NAME: '@source',\n FIELDS_TO_OMIT_PROPERTY_NAME: '@omit',\n SPREAD_OPERATOR: '*',\n CONSTANT_VALUE_PROPERTY_NAME: '@constant',\n};\n\nexport { transformations, unwrap };\n"]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.visitorTypes = exports.JSON_PATH_ROOT = void 0;
5
+ const visitorTypes = {
6
+ TOP_LEVEL_SIMPLE_TRANSFORMATION: 'TopLevelSimpleTransformationExpression',
7
+ TOP_LEVEL_CUSTOM_FUNCTION: 'TopLevelCustomFunctionExpression',
8
+ NESTED_UNSUPPORTED_TRANSFORMATION: 'NestedUnsupportedTransformationExpression',
9
+ TOP_LEVEL_UNSUPPORTED_TRANSFORMATION: 'TopLevelUnsupportedTransformationExpression',
10
+ NESTED_SPREAD: 'NestedSpreadExpression',
11
+ TOP_LEVEL_SPREAD: 'TopLevelSpreadExpression',
12
+ CUSTOM_FUNCTION: 'CustomFunctionExpression',
13
+ NESTED_SIMPLE_TRANSFORMATION: 'NestedSimpleTransformationExpression',
14
+ MAP_ARRAY_ITEMS: 'MapArrayItems',
15
+ TOP_LEVEL_MAP_ARRAY_ITEMS: 'TopLevelMapArrayItems',
16
+ TOP_LEVEL_OMIT_TRANSFORMATION: 'TopLevelOmit',
17
+ NESTED_OMIT_TRANSFORMATION: 'NestedOmit',
18
+ NESTED_CONSTANT_VALUE: 'NestedConstantValue'
19
+ };
20
+ exports.visitorTypes = visitorTypes;
21
+ const JSON_PATH_ROOT = '$';
22
+ exports.JSON_PATH_ROOT = JSON_PATH_ROOT;
23
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/transformations/constants.ts"],"names":["visitorTypes","TOP_LEVEL_SIMPLE_TRANSFORMATION","TOP_LEVEL_CUSTOM_FUNCTION","NESTED_UNSUPPORTED_TRANSFORMATION","TOP_LEVEL_UNSUPPORTED_TRANSFORMATION","NESTED_SPREAD","TOP_LEVEL_SPREAD","CUSTOM_FUNCTION","NESTED_SIMPLE_TRANSFORMATION","MAP_ARRAY_ITEMS","TOP_LEVEL_MAP_ARRAY_ITEMS","TOP_LEVEL_OMIT_TRANSFORMATION","NESTED_OMIT_TRANSFORMATION","NESTED_CONSTANT_VALUE","JSON_PATH_ROOT"],"mappings":";;;;AAAA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,+BAA+B,EAAE,wCADd;AAEnBC,EAAAA,yBAAyB,EAAE,kCAFR;AAGnBC,EAAAA,iCAAiC,EAC/B,2CAJiB;AAKnBC,EAAAA,oCAAoC,EAClC,6CANiB;AAOnBC,EAAAA,aAAa,EAAE,wBAPI;AAQnBC,EAAAA,gBAAgB,EAAE,0BARC;AASnBC,EAAAA,eAAe,EAAE,0BATE;AAUnBC,EAAAA,4BAA4B,EAAE,sCAVX;AAWnBC,EAAAA,eAAe,EAAE,eAXE;AAYnBC,EAAAA,yBAAyB,EAAE,uBAZR;AAanBC,EAAAA,6BAA6B,EAAE,cAbZ;AAcnBC,EAAAA,0BAA0B,EAAE,YAdT;AAenBC,EAAAA,qBAAqB,EAAE;AAfJ,CAArB;;AAkBA,MAAMC,cAAc,GAAG,GAAvB","sourcesContent":["const visitorTypes = {\n TOP_LEVEL_SIMPLE_TRANSFORMATION: 'TopLevelSimpleTransformationExpression',\n TOP_LEVEL_CUSTOM_FUNCTION: 'TopLevelCustomFunctionExpression',\n NESTED_UNSUPPORTED_TRANSFORMATION:\n 'NestedUnsupportedTransformationExpression',\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION:\n 'TopLevelUnsupportedTransformationExpression',\n NESTED_SPREAD: 'NestedSpreadExpression',\n TOP_LEVEL_SPREAD: 'TopLevelSpreadExpression',\n CUSTOM_FUNCTION: 'CustomFunctionExpression',\n NESTED_SIMPLE_TRANSFORMATION: 'NestedSimpleTransformationExpression',\n MAP_ARRAY_ITEMS: 'MapArrayItems',\n TOP_LEVEL_MAP_ARRAY_ITEMS: 'TopLevelMapArrayItems',\n TOP_LEVEL_OMIT_TRANSFORMATION: 'TopLevelOmit',\n NESTED_OMIT_TRANSFORMATION: 'NestedOmit',\n NESTED_CONSTANT_VALUE: 'NestedConstantValue',\n};\n\nconst JSON_PATH_ROOT = '$';\n\nexport { visitorTypes, JSON_PATH_ROOT };\n"]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.runCustomFunctionCallExpression = exports.parseCustomFunctionCall = exports.isFunctionCallExpression = void 0;
5
+
6
+ var _lodash = require("lodash");
7
+
8
+ // eslint-disable-next-line max-len
9
+ const FUNCTION_CALL_EXPRESSION_REGEX = /^#(?<functionName>[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*)\((?<argumentExpressions>[\S ]*)\)$/;
10
+
11
+ const parseCustomFunctionCall = functionCallExpression => {
12
+ const match = functionCallExpression.match(FUNCTION_CALL_EXPRESSION_REGEX);
13
+ const argumentExpressions = (0, _lodash.get)(match, 'groups.argumentExpressions', null);
14
+ return {
15
+ functionName: (0, _lodash.get)(match, 'groups.functionName', null),
16
+ argumentExpressions: argumentExpressions === null ? argumentExpressions : argumentExpressions.split(',').filter(s => s).map(_lodash.trim)
17
+ };
18
+ };
19
+
20
+ exports.parseCustomFunctionCall = parseCustomFunctionCall;
21
+
22
+ const isFunctionCallExpression = expression => (0, _lodash.isString)(expression) && expression.startsWith('#');
23
+
24
+ exports.isFunctionCallExpression = isFunctionCallExpression;
25
+
26
+ const runCustomFunctionCallExpression = ({
27
+ customFunctions,
28
+ functionName,
29
+ argumentValues = [],
30
+ transformationParentPath
31
+ }) => {
32
+ const customFunction = (0, _lodash.get)(customFunctions, functionName);
33
+
34
+ if (!customFunction) {
35
+ throw new Error(`unrecognized custom function "${functionName}"`);
36
+ }
37
+
38
+ try {
39
+ return customFunction(...argumentValues);
40
+ } catch (error) {
41
+ throw new Error(`Transforming ${transformationParentPath} failed, #${functionName} threw: "${error.message}" for arguments: ${JSON.stringify(argumentValues)}`);
42
+ }
43
+ };
44
+
45
+ exports.runCustomFunctionCallExpression = runCustomFunctionCallExpression;
46
+ //# sourceMappingURL=custom-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/transformations/custom-functions.ts"],"names":["FUNCTION_CALL_EXPRESSION_REGEX","parseCustomFunctionCall","functionCallExpression","match","argumentExpressions","functionName","split","filter","s","map","trim","isFunctionCallExpression","expression","startsWith","runCustomFunctionCallExpression","customFunctions","argumentValues","transformationParentPath","customFunction","Error","error","message","JSON","stringify"],"mappings":";;;;;AAAA;;AAEA;AACA,MAAMA,8BAA8B,GAClC,qFADF;;AAGA,MAAMC,uBAAuB,GAAIC,sBAAD,IAA4B;AAC1D,QAAMC,KAAK,GAAGD,sBAAsB,CAACC,KAAvB,CAA6BH,8BAA7B,CAAd;AAEA,QAAMI,mBAAmB,GAAG,iBAAID,KAAJ,EAAW,4BAAX,EAAyC,IAAzC,CAA5B;AAEA,SAAO;AACLE,IAAAA,YAAY,EAAE,iBAAIF,KAAJ,EAAW,qBAAX,EAAkC,IAAlC,CADT;AAELC,IAAAA,mBAAmB,EACjBA,mBAAmB,KAAK,IAAxB,GACIA,mBADJ,GAEIA,mBAAmB,CAChBE,KADH,CACS,GADT,EAEGC,MAFH,CAEWC,CAAD,IAAOA,CAFjB,EAGGC,GAHH,CAGOC,YAHP;AALD,GAAP;AAUD,CAfD;;;;AAiBA,MAAMC,wBAAwB,GAAIC,UAAD,IAC/B,sBAASA,UAAT,KAAwBA,UAAU,CAACC,UAAX,CAAsB,GAAtB,CAD1B;;;;AAGA,MAAMC,+BAA+B,GAAG,CAAC;AACvCC,EAAAA,eADuC;AAEvCV,EAAAA,YAFuC;AAGvCW,EAAAA,cAAc,GAAG,EAHsB;AAIvCC,EAAAA;AAJuC,CAAD,KAUlC;AACJ,QAAMC,cAAc,GAAG,iBAAIH,eAAJ,EAAqBV,YAArB,CAAvB;;AAEA,MAAI,CAACa,cAAL,EAAqB;AACnB,UAAM,IAAIC,KAAJ,CAAW,iCAAgCd,YAAa,GAAxD,CAAN;AACD;;AAED,MAAI;AACF,WAAOa,cAAc,CAAC,GAAGF,cAAJ,CAArB;AACD,GAFD,CAEE,OAAOI,KAAP,EAAmB;AACnB,UAAM,IAAID,KAAJ,CACH,gBAAeF,wBAAyB,aAAYZ,YAAa,YAChEe,KAAK,CAACC,OACP,oBAAmBC,IAAI,CAACC,SAAL,CAAeP,cAAf,CAA+B,EAH/C,CAAN;AAKD;AACF,CA1BD","sourcesContent":["import { isString, get, trim } from 'lodash';\n\n// eslint-disable-next-line max-len\nconst FUNCTION_CALL_EXPRESSION_REGEX =\n /^#(?<functionName>[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*)\\((?<argumentExpressions>[\\S ]*)\\)$/;\n\nconst parseCustomFunctionCall = (functionCallExpression) => {\n const match = functionCallExpression.match(FUNCTION_CALL_EXPRESSION_REGEX);\n\n const argumentExpressions = get(match, 'groups.argumentExpressions', null);\n\n return {\n functionName: get(match, 'groups.functionName', null),\n argumentExpressions:\n argumentExpressions === null\n ? argumentExpressions\n : argumentExpressions\n .split(',')\n .filter((s) => s)\n .map(trim),\n };\n};\n\nconst isFunctionCallExpression = (expression) =>\n isString(expression) && expression.startsWith('#');\n\nconst runCustomFunctionCallExpression = ({\n customFunctions,\n functionName,\n argumentValues = [],\n transformationParentPath,\n}: {\n customFunctions: any;\n functionName: string;\n argumentValues: string[];\n transformationParentPath: string;\n}) => {\n const customFunction = get(customFunctions, functionName);\n\n if (!customFunction) {\n throw new Error(`unrecognized custom function \"${functionName}\"`);\n }\n\n try {\n return customFunction(...argumentValues);\n } catch (error: any) {\n throw new Error(\n `Transforming ${transformationParentPath} failed, #${functionName} threw: \"${\n error.message\n }\" for arguments: ${JSON.stringify(argumentValues)}`,\n );\n }\n};\n\nexport {\n parseCustomFunctionCall,\n isFunctionCallExpression,\n runCustomFunctionCallExpression,\n};\n"]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildRequestTransformation = void 0;
5
+
6
+ var _lodash = require("lodash");
7
+
8
+ var _common = require("../common");
9
+
10
+ exports.buildResponseTransformation = _common.unwrap;
11
+
12
+ const buildRequestTransformation = ({
13
+ requestMessageEntityPath
14
+ }) => (0, _lodash.set)({}, requestMessageEntityPath, '$[0]');
15
+
16
+ exports.buildRequestTransformation = buildRequestTransformation;
17
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/create.ts"],"names":["buildRequestTransformation","requestMessageEntityPath"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,0BAA0B,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACjC,iBAAI,EAAJ,EAAQA,wBAAR,EAAkC,MAAlC,CADF","sourcesContent":["import { set } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst buildRequestTransformation = ({ requestMessageEntityPath }) =>\n set({}, requestMessageEntityPath, '$[0]');\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildResponseTransformation = exports.buildRequestTransformation = void 0;
5
+
6
+ var _motionEdmAutogenCommon = require("@wix/motion-edm-autogen-common");
7
+
8
+ var _lodash = require("lodash");
9
+
10
+ var _common = require("../common");
11
+
12
+ const RESPONSE_OBJECT_UNCHANGED = _common.transformations.RESPONSE_OBJECT_UNCHANGED;
13
+
14
+ const contains = (longerPath, shorterPath) => longerPath.startsWith(shorterPath) && (0, _motionEdmAutogenCommon.segmentCount)(longerPath) === (0, _motionEdmAutogenCommon.segmentCount)(shorterPath) + 1;
15
+
16
+ const buildRequestTransformation = ({
17
+ requestMessageIdentifierPath,
18
+ requestMessageOptionsPath
19
+ }) => {
20
+ const transformed = (0, _lodash.set)({}, requestMessageIdentifierPath, '$[0]');
21
+
22
+ if (requestMessageOptionsPath) {
23
+ if (contains(requestMessageIdentifierPath, requestMessageOptionsPath)) {
24
+ return (0, _lodash.merge)(transformed, {
25
+ [requestMessageOptionsPath]: {
26
+ '*': '$[1]'
27
+ }
28
+ });
29
+ }
30
+
31
+ return (0, _lodash.set)(transformed, requestMessageOptionsPath, '$[1]');
32
+ }
33
+
34
+ return transformed;
35
+ };
36
+
37
+ exports.buildRequestTransformation = buildRequestTransformation;
38
+
39
+ const buildResponseTransformation = () => RESPONSE_OBJECT_UNCHANGED;
40
+
41
+ exports.buildResponseTransformation = buildResponseTransformation;
42
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/delete.ts"],"names":["RESPONSE_OBJECT_UNCHANGED","transformations","contains","longerPath","shorterPath","startsWith","buildRequestTransformation","requestMessageIdentifierPath","requestMessageOptionsPath","transformed","buildResponseTransformation"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA,MAAQA,yBAAR,GAAsCC,uBAAtC,CAAQD,yBAAR;;AAEA,MAAME,QAAQ,GAAG,CAACC,UAAD,EAAaC,WAAb,KACfD,UAAU,CAACE,UAAX,CAAsBD,WAAtB,KACA,0CAAaD,UAAb,MAA6B,0CAAaC,WAAb,IAA4B,CAF3D;;AAIA,MAAME,0BAA0B,GAAG,CAAC;AAClCC,EAAAA,4BADkC;AAElCC,EAAAA;AAFkC,CAAD,KAG7B;AACJ,QAAMC,WAAW,GAAG,iBAAI,EAAJ,EAAQF,4BAAR,EAAsC,MAAtC,CAApB;;AAEA,MAAIC,yBAAJ,EAA+B;AAC7B,QAAIN,QAAQ,CAACK,4BAAD,EAA+BC,yBAA/B,CAAZ,EAAuE;AACrE,aAAO,mBAAMC,WAAN,EAAmB;AACxB,SAACD,yBAAD,GAA6B;AAAE,eAAK;AAAP;AADL,OAAnB,CAAP;AAGD;;AAED,WAAO,iBAAIC,WAAJ,EAAiBD,yBAAjB,EAA4C,MAA5C,CAAP;AACD;;AAED,SAAOC,WAAP;AACD,CAjBD;;;;AAmBA,MAAMC,2BAA2B,GAAG,MAAMV,yBAA1C","sourcesContent":["import { segmentCount } from '@wix/motion-edm-autogen-common';\nimport { set, merge } from 'lodash';\nimport { transformations } from '../common';\n\nconst { RESPONSE_OBJECT_UNCHANGED } = transformations;\n\nconst contains = (longerPath, shorterPath) =>\n longerPath.startsWith(shorterPath) &&\n segmentCount(longerPath) === segmentCount(shorterPath) + 1;\n\nconst buildRequestTransformation = ({\n requestMessageIdentifierPath,\n requestMessageOptionsPath,\n}) => {\n const transformed = set({}, requestMessageIdentifierPath, '$[0]');\n\n if (requestMessageOptionsPath) {\n if (contains(requestMessageIdentifierPath, requestMessageOptionsPath)) {\n return merge(transformed, {\n [requestMessageOptionsPath]: { '*': '$[1]' },\n });\n }\n\n return set(transformed, requestMessageOptionsPath, '$[1]');\n }\n\n return transformed;\n};\n\nconst buildResponseTransformation = () => RESPONSE_OBJECT_UNCHANGED;\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildRequestTransformation = void 0;
5
+
6
+ var _lodash = require("lodash");
7
+
8
+ var _common = require("../common");
9
+
10
+ exports.buildResponseTransformation = _common.unwrap;
11
+
12
+ const buildRequestTransformation = ({
13
+ requestMessageIdentifierPath
14
+ }) => (0, _lodash.set)({}, requestMessageIdentifierPath, '$[0]');
15
+
16
+ exports.buildRequestTransformation = buildRequestTransformation;
17
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/get.ts"],"names":["buildRequestTransformation","requestMessageIdentifierPath"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,0BAA0B,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACjC,iBAAI,EAAJ,EAAQA,4BAAR,EAAsC,MAAtC,CADF","sourcesContent":["import { set } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst buildRequestTransformation = ({ requestMessageIdentifierPath }) =>\n set({}, requestMessageIdentifierPath, '$[0]');\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildRequestTransformation = void 0;
5
+
6
+ var _common = require("../common");
7
+
8
+ exports.buildResponseTransformation = _common.unwrap;
9
+
10
+ const buildRequestTransformation = () => _common.transformations.JS_SINGLE_ARG_UNCHANGED;
11
+
12
+ exports.buildRequestTransformation = buildRequestTransformation;
13
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/list.ts"],"names":["buildRequestTransformation","transformations","JS_SINGLE_ARG_UNCHANGED"],"mappings":";;;;;AAAA;;;;AAKA,MAAMA,0BAA0B,GAAG,MACjCC,wBAAgBC,uBADlB","sourcesContent":["import {\n unwrap as buildResponseTransformation,\n transformations,\n} from '../common';\n\nconst buildRequestTransformation = () =>\n transformations.JS_SINGLE_ARG_UNCHANGED;\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildResponseTransformation = exports.buildRequestTransformation = exports.PAGING_METADATA_RESULT_PROPERTY_NAME = exports.ITEMS_RESULT_PROPERTY_NAME = void 0;
5
+
6
+ var _motionEdmAutogenCommon = require("@wix/motion-edm-autogen-common");
7
+
8
+ var _common = require("../common");
9
+
10
+ const ARRAY_ITEMS_PATH_PROPERTY_NAME = _common.transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME,
11
+ ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = _common.transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME;
12
+ const DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME = _motionEdmAutogenCommon.constants.DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME;
13
+ const ITEMS_RESULT_PROPERTY_NAME = 'items';
14
+ exports.ITEMS_RESULT_PROPERTY_NAME = ITEMS_RESULT_PROPERTY_NAME;
15
+ const PAGING_METADATA_RESULT_PROPERTY_NAME = 'pagingMetadata';
16
+ exports.PAGING_METADATA_RESULT_PROPERTY_NAME = PAGING_METADATA_RESULT_PROPERTY_NAME;
17
+
18
+ const buildRequestTransformation = ({
19
+ requestQueryObjectPropertyName = DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME
20
+ } = {}) => ({
21
+ [requestQueryObjectPropertyName]: '$[0]',
22
+ '*': '$[1]'
23
+ });
24
+
25
+ exports.buildRequestTransformation = buildRequestTransformation;
26
+
27
+ const buildResponseTransformation = ({
28
+ responseMessageResultPath,
29
+ responseMessagePagingMetadataPath,
30
+ itemTransformation
31
+ }) => ({
32
+ [ITEMS_RESULT_PROPERTY_NAME]: itemTransformation ? {
33
+ [ARRAY_ITEMS_PATH_PROPERTY_NAME]: `$.${responseMessageResultPath}`,
34
+ [ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME]: itemTransformation
35
+ } : `$.${responseMessageResultPath}`,
36
+ [PAGING_METADATA_RESULT_PROPERTY_NAME]: `$.${responseMessagePagingMetadataPath}`
37
+ });
38
+
39
+ exports.buildResponseTransformation = buildResponseTransformation;
40
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/query.ts"],"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME","constants","ITEMS_RESULT_PROPERTY_NAME","PAGING_METADATA_RESULT_PROPERTY_NAME","buildRequestTransformation","requestQueryObjectPropertyName","buildResponseTransformation","responseMessageResultPath","responseMessagePagingMetadataPath","itemTransformation"],"mappings":";;;;;AAAA;;AACA;;AAEA,MACEA,8BADF,GAGIC,uBAHJ,CACED,8BADF;AAAA,MAEEE,uCAFF,GAGID,uBAHJ,CAEEC,uCAFF;AAIA,MAAQC,0CAAR,GAAuDC,iCAAvD,CAAQD,0CAAR;AAEA,MAAME,0BAA0B,GAAG,OAAnC;;AACA,MAAMC,oCAAoC,GAAG,gBAA7C;;;AAEA,MAAMC,0BAA0B,GAAG,CAAC;AAClCC,EAAAA,8BAA8B,GAAGL;AADC,IAEhC,EAF+B,MAEvB;AACV,GAACK,8BAAD,GAAkC,MADxB;AAEV,OAAK;AAFK,CAFuB,CAAnC;;;;AAOA,MAAMC,2BAA2B,GAAG,CAAC;AACnCC,EAAAA,yBADmC;AAEnCC,EAAAA,iCAFmC;AAGnCC,EAAAA;AAHmC,CAAD,MAI7B;AACL,GAACP,0BAAD,GAA8BO,kBAAkB,GAC5C;AACE,KAACZ,8BAAD,GAAmC,KAAIU,yBAA0B,EADnE;AAEE,KAACR,uCAAD,GAA2CU;AAF7C,GAD4C,GAK3C,KAAIF,yBAA0B,EAN9B;AAOL,GAACJ,oCAAD,GAAyC,KAAIK,iCAAkC;AAP1E,CAJ6B,CAApC","sourcesContent":["import { constants } from '@wix/motion-edm-autogen-common';\nimport { transformations } from '../common';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n} = transformations;\nconst { DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME } = constants;\n\nconst ITEMS_RESULT_PROPERTY_NAME = 'items';\nconst PAGING_METADATA_RESULT_PROPERTY_NAME = 'pagingMetadata';\n\nconst buildRequestTransformation = ({\n requestQueryObjectPropertyName = DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME,\n} = {}) => ({\n [requestQueryObjectPropertyName]: '$[0]',\n '*': '$[1]',\n});\n\nconst buildResponseTransformation = ({\n responseMessageResultPath,\n responseMessagePagingMetadataPath,\n itemTransformation,\n}) => ({\n [ITEMS_RESULT_PROPERTY_NAME]: itemTransformation\n ? {\n [ARRAY_ITEMS_PATH_PROPERTY_NAME]: `$.${responseMessageResultPath}`,\n [ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME]: itemTransformation,\n }\n : `$.${responseMessageResultPath}`,\n [PAGING_METADATA_RESULT_PROPERTY_NAME]: `$.${responseMessagePagingMetadataPath}`,\n});\n\nexport {\n buildRequestTransformation,\n buildResponseTransformation,\n ITEMS_RESULT_PROPERTY_NAME,\n PAGING_METADATA_RESULT_PROPERTY_NAME,\n};\n"]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.buildRequestTransformation = void 0;
5
+
6
+ var _lodash = require("lodash");
7
+
8
+ var _common = require("../common");
9
+
10
+ exports.buildResponseTransformation = _common.unwrap;
11
+
12
+ const objectWithNestedPath = (path, value) => (0, _lodash.set)({}, path, value);
13
+
14
+ const buildRequestTransformation = ({
15
+ requestMessageEntityIdentifierField,
16
+ requestMessageEntityPath,
17
+ requestMessageOptionsPath
18
+ }) => {
19
+ const transformation = objectWithNestedPath(`${requestMessageEntityPath}.${requestMessageEntityIdentifierField}`, '$[0]');
20
+
21
+ if (requestMessageOptionsPath) {
22
+ if (requestMessageOptionsPath === requestMessageEntityPath) {
23
+ return (0, _lodash.merge)(transformation, objectWithNestedPath(requestMessageOptionsPath, {
24
+ '*': ['$[1]', '$[2]']
25
+ }));
26
+ }
27
+
28
+ (0, _lodash.set)(transformation, requestMessageOptionsPath, '$[2]');
29
+ }
30
+
31
+ return (0, _lodash.merge)({}, transformation, objectWithNestedPath(requestMessageEntityPath, {
32
+ '*': '$[1]'
33
+ }));
34
+ };
35
+
36
+ exports.buildRequestTransformation = buildRequestTransformation;
37
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/transformations/preset/update.ts"],"names":["objectWithNestedPath","path","value","buildRequestTransformation","requestMessageEntityIdentifierField","requestMessageEntityPath","requestMessageOptionsPath","transformation"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,oBAAoB,GAAG,CAACC,IAAD,EAAOC,KAAP,KAAiB,iBAAI,EAAJ,EAAQD,IAAR,EAAcC,KAAd,CAA9C;;AAEA,MAAMC,0BAA0B,GAAG,CAAC;AAClCC,EAAAA,mCADkC;AAElCC,EAAAA,wBAFkC;AAGlCC,EAAAA;AAHkC,CAAD,KAI7B;AACJ,QAAMC,cAAc,GAAGP,oBAAoB,CACxC,GAAEK,wBAAyB,IAAGD,mCAAoC,EAD1B,EAEzC,MAFyC,CAA3C;;AAKA,MAAIE,yBAAJ,EAA+B;AAC7B,QAAIA,yBAAyB,KAAKD,wBAAlC,EAA4D;AAC1D,aAAO,mBACLE,cADK,EAELP,oBAAoB,CAACM,yBAAD,EAA4B;AAC9C,aAAK,CAAC,MAAD,EAAS,MAAT;AADyC,OAA5B,CAFf,CAAP;AAMD;;AAED,qBAAIC,cAAJ,EAAoBD,yBAApB,EAA+C,MAA/C;AACD;;AAED,SAAO,mBACL,EADK,EAELC,cAFK,EAGLP,oBAAoB,CAACK,wBAAD,EAA2B;AAAE,SAAK;AAAP,GAA3B,CAHf,CAAP;AAKD,CA5BD","sourcesContent":["import { set, merge } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst objectWithNestedPath = (path, value) => set({}, path, value);\n\nconst buildRequestTransformation = ({\n requestMessageEntityIdentifierField,\n requestMessageEntityPath,\n requestMessageOptionsPath,\n}) => {\n const transformation = objectWithNestedPath(\n `${requestMessageEntityPath}.${requestMessageEntityIdentifierField}`,\n '$[0]',\n );\n\n if (requestMessageOptionsPath) {\n if (requestMessageOptionsPath === requestMessageEntityPath) {\n return merge(\n transformation,\n objectWithNestedPath(requestMessageOptionsPath, {\n '*': ['$[1]', '$[2]'],\n }),\n );\n }\n\n set(transformation, requestMessageOptionsPath, '$[2]');\n }\n\n return merge(\n {},\n transformation,\n objectWithNestedPath(requestMessageEntityPath, { '*': '$[1]' }),\n );\n};\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"]}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.reduceTransformation = void 0;
7
+
8
+ var _deepForEach = _interopRequireDefault(require("deep-for-each"));
9
+
10
+ var _lodash = require("lodash");
11
+
12
+ var _helpers = require("../helpers");
13
+
14
+ var _common = require("./common");
15
+
16
+ var _constants = require("./constants");
17
+
18
+ var _customFunctions = require("./custom-functions");
19
+
20
+ const ARRAY_ITEMS_PATH_PROPERTY_NAME = _common.transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME,
21
+ ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = _common.transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,
22
+ OMIT_SOURCE_PROPERTY_NAME = _common.transformations.OMIT_SOURCE_PROPERTY_NAME,
23
+ FIELDS_TO_OMIT_PROPERTY_NAME = _common.transformations.FIELDS_TO_OMIT_PROPERTY_NAME,
24
+ CONSTANT_VALUE_PROPERTY_NAME = _common.transformations.CONSTANT_VALUE_PROPERTY_NAME;
25
+ const TOP_LEVEL_SIMPLE_TRANSFORMATION = _constants.visitorTypes.TOP_LEVEL_SIMPLE_TRANSFORMATION,
26
+ TOP_LEVEL_CUSTOM_FUNCTION = _constants.visitorTypes.TOP_LEVEL_CUSTOM_FUNCTION,
27
+ TOP_LEVEL_SPREAD = _constants.visitorTypes.TOP_LEVEL_SPREAD,
28
+ NESTED_SPREAD = _constants.visitorTypes.NESTED_SPREAD,
29
+ NESTED_UNSUPPORTED_TRANSFORMATION = _constants.visitorTypes.NESTED_UNSUPPORTED_TRANSFORMATION,
30
+ TOP_LEVEL_UNSUPPORTED_TRANSFORMATION = _constants.visitorTypes.TOP_LEVEL_UNSUPPORTED_TRANSFORMATION,
31
+ CUSTOM_FUNCTION = _constants.visitorTypes.CUSTOM_FUNCTION,
32
+ NESTED_SIMPLE_TRANSFORMATION = _constants.visitorTypes.NESTED_SIMPLE_TRANSFORMATION,
33
+ MAP_ARRAY_ITEMS = _constants.visitorTypes.MAP_ARRAY_ITEMS,
34
+ TOP_LEVEL_MAP_ARRAY_ITEMS = _constants.visitorTypes.TOP_LEVEL_MAP_ARRAY_ITEMS,
35
+ TOP_LEVEL_OMIT_TRANSFORMATION = _constants.visitorTypes.TOP_LEVEL_OMIT_TRANSFORMATION,
36
+ NESTED_OMIT_TRANSFORMATION = _constants.visitorTypes.NESTED_OMIT_TRANSFORMATION,
37
+ NESTED_CONSTANT_VALUE = _constants.visitorTypes.NESTED_CONSTANT_VALUE;
38
+
39
+ const safeResolveDefaultExport = module => {
40
+ const isEsModule = module && module.__esModule && module.default;
41
+ return isEsModule ? module.default : module;
42
+ };
43
+
44
+ const deepForEach = safeResolveDefaultExport(_deepForEach.default);
45
+
46
+ const withoutSpreadOperatorKeys = obj => Object.keys(obj).filter(k => !(0, _helpers.isSpreadOperator)(k));
47
+
48
+ const safeInvokeVisitor = (visitors, name, ...args) => {
49
+ const visitor = (0, _lodash.get)(visitors, name);
50
+ return visitor && visitor(...args);
51
+ };
52
+
53
+ const reduceComplexTransformation = (transformation, {
54
+ visitors,
55
+ accumulator
56
+ }) => {
57
+ const terminalPaths = [];
58
+
59
+ const addTerminals = (path, leaves = []) => leaves.length > 0 ? leaves.forEach(leaf => terminalPaths.push([path, leaf].join('.'))) : terminalPaths.push(path);
60
+
61
+ deepForEach(transformation, (value, key, _, path) => {
62
+ if ((0, _lodash.some)(terminalPaths, tp => path.startsWith(tp))) {
63
+ return;
64
+ }
65
+
66
+ if ((0, _helpers.isSpreadOperator)(key)) {
67
+ addTerminals(path);
68
+ const spreadOperatorParentPath = path.replace(/\.?\*/, '');
69
+ const values = !(0, _lodash.isArray)(value) ? [value] : value;
70
+ values.forEach(item => {
71
+ if (spreadOperatorParentPath === '') {
72
+ const siblingKeys = withoutSpreadOperatorKeys(transformation);
73
+ safeInvokeVisitor(visitors, TOP_LEVEL_SPREAD, accumulator, item, siblingKeys);
74
+ } else {
75
+ const siblingKeys = withoutSpreadOperatorKeys((0, _lodash.get)(transformation, spreadOperatorParentPath));
76
+ safeInvokeVisitor(visitors, NESTED_SPREAD, accumulator, spreadOperatorParentPath, item, siblingKeys);
77
+ }
78
+ });
79
+ return;
80
+ }
81
+
82
+ if ((0, _helpers.isOmitTransformation)(value)) {
83
+ addTerminals(path, [OMIT_SOURCE_PROPERTY_NAME, FIELDS_TO_OMIT_PROPERTY_NAME]);
84
+
85
+ const _parseOmitTransformat = (0, _helpers.parseOmitTransformation)(value),
86
+ sourceExpression = _parseOmitTransformat.sourceExpression,
87
+ fieldsToOmit = _parseOmitTransformat.fieldsToOmit;
88
+
89
+ safeInvokeVisitor(visitors, NESTED_OMIT_TRANSFORMATION, accumulator, path, sourceExpression, fieldsToOmit);
90
+ return;
91
+ }
92
+
93
+ if ((0, _helpers.isMapArrayItemsTransformation)(value)) {
94
+ addTerminals(path, [ARRAY_ITEMS_PATH_PROPERTY_NAME, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME]);
95
+
96
+ const _parseMapArrayItemsTr = (0, _helpers.parseMapArrayItemsTransformation)(value),
97
+ sourceArrayExpression = _parseMapArrayItemsTr.sourceArrayExpression,
98
+ itemTransformation = _parseMapArrayItemsTr.itemTransformation;
99
+
100
+ safeInvokeVisitor(visitors, MAP_ARRAY_ITEMS, accumulator, path, sourceArrayExpression, itemTransformation);
101
+ return;
102
+ }
103
+
104
+ if ((0, _customFunctions.isFunctionCallExpression)(value)) {
105
+ const _parseCustomFunctionC = (0, _customFunctions.parseCustomFunctionCall)(value),
106
+ functionName = _parseCustomFunctionC.functionName,
107
+ argumentExpressions = _parseCustomFunctionC.argumentExpressions;
108
+
109
+ safeInvokeVisitor(visitors, CUSTOM_FUNCTION, accumulator, path, functionName, argumentExpressions, value);
110
+ return;
111
+ }
112
+
113
+ if ((0, _helpers.isConstantExpression)(value)) {
114
+ addTerminals(path, [CONSTANT_VALUE_PROPERTY_NAME]);
115
+ safeInvokeVisitor(visitors, NESTED_CONSTANT_VALUE, {
116
+ accumulator,
117
+ path,
118
+ value: value[CONSTANT_VALUE_PROPERTY_NAME]
119
+ });
120
+ return;
121
+ }
122
+
123
+ if ((0, _lodash.isString)(value)) {
124
+ if ((0, _helpers.isJsonPathExpression)(value)) {
125
+ safeInvokeVisitor(visitors, NESTED_SIMPLE_TRANSFORMATION, accumulator, path, value);
126
+ } else {
127
+ safeInvokeVisitor(visitors, NESTED_UNSUPPORTED_TRANSFORMATION, accumulator, path, value);
128
+ }
129
+ }
130
+ });
131
+ return accumulator;
132
+ };
133
+
134
+ const reduceTransformation = (transformation, {
135
+ visitors,
136
+ accumulator
137
+ }) => {
138
+ if ((0, _helpers.isSimpleTransformation)(transformation)) {
139
+ switch (true) {
140
+ case (0, _helpers.isJsonPathExpression)(transformation):
141
+ return safeInvokeVisitor(visitors, TOP_LEVEL_SIMPLE_TRANSFORMATION, transformation);
142
+
143
+ case (0, _customFunctions.isFunctionCallExpression)(transformation):
144
+ {
145
+ const _parseCustomFunctionC2 = (0, _customFunctions.parseCustomFunctionCall)(transformation),
146
+ functionName = _parseCustomFunctionC2.functionName,
147
+ argumentExpressions = _parseCustomFunctionC2.argumentExpressions;
148
+
149
+ return safeInvokeVisitor(visitors, TOP_LEVEL_CUSTOM_FUNCTION, functionName, argumentExpressions, transformation);
150
+ }
151
+
152
+ default:
153
+ return safeInvokeVisitor(visitors, TOP_LEVEL_UNSUPPORTED_TRANSFORMATION, transformation);
154
+ }
155
+ }
156
+
157
+ if ((0, _helpers.isOmitTransformation)(transformation)) {
158
+ const _parseOmitTransformat2 = (0, _helpers.parseOmitTransformation)(transformation),
159
+ sourceExpression = _parseOmitTransformat2.sourceExpression,
160
+ fieldsToOmit = _parseOmitTransformat2.fieldsToOmit;
161
+
162
+ return safeInvokeVisitor(visitors, TOP_LEVEL_OMIT_TRANSFORMATION, sourceExpression, fieldsToOmit);
163
+ }
164
+
165
+ if ((0, _helpers.isMapArrayItemsTransformation)(transformation)) {
166
+ const _parseMapArrayItemsTr2 = (0, _helpers.parseMapArrayItemsTransformation)(transformation),
167
+ sourceArrayExpression = _parseMapArrayItemsTr2.sourceArrayExpression,
168
+ itemTransformation = _parseMapArrayItemsTr2.itemTransformation;
169
+
170
+ return safeInvokeVisitor(visitors, TOP_LEVEL_MAP_ARRAY_ITEMS, sourceArrayExpression, itemTransformation);
171
+ }
172
+
173
+ return reduceComplexTransformation(transformation, {
174
+ visitors,
175
+ accumulator
176
+ });
177
+ };
178
+
179
+ exports.reduceTransformation = reduceTransformation;
180
+ //# sourceMappingURL=reduceTransformation.js.map