@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,6 @@
1
+ import { unwrap as buildResponseTransformation, transformations, } from '../common';
2
+ var buildRequestTransformation = function () {
3
+ return transformations.JS_SINGLE_ARG_UNCHANGED;
4
+ };
5
+ export { buildRequestTransformation, buildResponseTransformation };
6
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/preset/list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,2BAA2B,EACrC,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,IAAM,0BAA0B,GAAG;IACjC,OAAA,eAAe,CAAC,uBAAuB;AAAvC,CAAuC,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { constants } from '@wix/motion-edm-autogen-common';
2
+ import { transformations } from '../common';
3
+ var ARRAY_ITEMS_PATH_PROPERTY_NAME = transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME;
4
+ var DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME = constants.DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME;
5
+ var ITEMS_RESULT_PROPERTY_NAME = 'items';
6
+ var PAGING_METADATA_RESULT_PROPERTY_NAME = 'pagingMetadata';
7
+ var buildRequestTransformation = function (_a) {
8
+ var _b;
9
+ var _c = _a === void 0 ? {} : _a, _d = _c.requestQueryObjectPropertyName, requestQueryObjectPropertyName = _d === void 0 ? DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME : _d;
10
+ return (_b = {},
11
+ _b[requestQueryObjectPropertyName] = '$[0]',
12
+ _b['*'] = '$[1]',
13
+ _b);
14
+ };
15
+ var buildResponseTransformation = function (_a) {
16
+ var _b, _c;
17
+ var responseMessageResultPath = _a.responseMessageResultPath, responseMessagePagingMetadataPath = _a.responseMessagePagingMetadataPath, itemTransformation = _a.itemTransformation;
18
+ return (_b = {},
19
+ _b[ITEMS_RESULT_PROPERTY_NAME] = itemTransformation
20
+ ? (_c = {},
21
+ _c[ARRAY_ITEMS_PATH_PROPERTY_NAME] = "$.".concat(responseMessageResultPath),
22
+ _c[ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME] = itemTransformation,
23
+ _c) : "$.".concat(responseMessageResultPath),
24
+ _b[PAGING_METADATA_RESULT_PROPERTY_NAME] = "$.".concat(responseMessagePagingMetadataPath),
25
+ _b);
26
+ };
27
+ export { buildRequestTransformation, buildResponseTransformation, ITEMS_RESULT_PROPERTY_NAME, PAGING_METADATA_RESULT_PROPERTY_NAME, };
28
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/preset/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG1C,IAAA,8BAA8B,GAE5B,eAAe,+BAFa,EAC9B,uCAAuC,GACrC,eAAe,wCADsB,CACrB;AACZ,IAAA,0CAA0C,GAAK,SAAS,2CAAd,CAAe;AAEjE,IAAM,0BAA0B,GAAG,OAAO,CAAC;AAC3C,IAAM,oCAAoC,GAAG,gBAAgB,CAAC;AAE9D,IAAM,0BAA0B,GAAG,UAAC,EAE9B;;QAF8B,qBAEhC,EAAE,KAAA,EADJ,sCAA2E,EAA3E,8BAA8B,mBAAG,0CAA0C,KAAA;IAClE,OAAA;QACT,GAAC,8BAA8B,IAAG,MAAM;QACxC,OAAG,GAAE,MAAM;WACX;AAHS,CAGT,CAAC;AAEH,IAAM,2BAA2B,GAAG,UAAC,EAIpC;;QAHC,yBAAyB,+BAAA,EACzB,iCAAiC,uCAAA,EACjC,kBAAkB,wBAAA;IACd,OAAA;QACJ,GAAC,0BAA0B,IAAG,kBAAkB;YAC9C,CAAC;gBACG,GAAC,8BAA8B,IAAG,YAAK,yBAAyB,CAAE;gBAClE,GAAC,uCAAuC,IAAG,kBAAkB;oBAEjE,CAAC,CAAC,YAAK,yBAAyB,CAAE;QACpC,GAAC,oCAAoC,IAAG,YAAK,iCAAiC,CAAE;WAChF;AARI,CAQJ,CAAC;AAEH,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,oCAAoC,GACrC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { set, merge } from 'lodash';
2
+ import { unwrap as buildResponseTransformation } from '../common';
3
+ var objectWithNestedPath = function (path, value) { return set({}, path, value); };
4
+ var buildRequestTransformation = function (_a) {
5
+ var requestMessageEntityIdentifierField = _a.requestMessageEntityIdentifierField, requestMessageEntityPath = _a.requestMessageEntityPath, requestMessageOptionsPath = _a.requestMessageOptionsPath;
6
+ var transformation = objectWithNestedPath("".concat(requestMessageEntityPath, ".").concat(requestMessageEntityIdentifierField), '$[0]');
7
+ if (requestMessageOptionsPath) {
8
+ if (requestMessageOptionsPath === requestMessageEntityPath) {
9
+ return merge(transformation, objectWithNestedPath(requestMessageOptionsPath, {
10
+ '*': ['$[1]', '$[2]'],
11
+ }));
12
+ }
13
+ set(transformation, requestMessageOptionsPath, '$[2]');
14
+ }
15
+ return merge({}, transformation, objectWithNestedPath(requestMessageEntityPath, { '*': '$[1]' }));
16
+ };
17
+ export { buildRequestTransformation, buildResponseTransformation };
18
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/preset/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAElE,IAAM,oBAAoB,GAAG,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAApB,CAAoB,CAAC;AAEnE,IAAM,0BAA0B,GAAG,UAAC,EAInC;QAHC,mCAAmC,yCAAA,EACnC,wBAAwB,8BAAA,EACxB,yBAAyB,+BAAA;IAEzB,IAAM,cAAc,GAAG,oBAAoB,CACzC,UAAG,wBAAwB,cAAI,mCAAmC,CAAE,EACpE,MAAM,CACP,CAAC;IAEF,IAAI,yBAAyB,EAAE;QAC7B,IAAI,yBAAyB,KAAK,wBAAwB,EAAE;YAC1D,OAAO,KAAK,CACV,cAAc,EACd,oBAAoB,CAAC,yBAAyB,EAAE;gBAC9C,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aACtB,CAAC,CACH,CAAC;SACH;QAED,GAAG,CAAC,cAAc,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;KACxD;IAED,OAAO,KAAK,CACV,EAAE,EACF,cAAc,EACd,oBAAoB,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,122 @@
1
+ import deepForEachModule from 'deep-for-each';
2
+ import { get, isString, isArray, some } from 'lodash';
3
+ import { isSpreadOperator, isSimpleTransformation, isMapArrayItemsTransformation, parseMapArrayItemsTransformation, isOmitTransformation, parseOmitTransformation, isJsonPathExpression, isConstantExpression, } from '../helpers';
4
+ import { transformations } from './common';
5
+ import { visitorTypes } from './constants';
6
+ import { parseCustomFunctionCall, isFunctionCallExpression, } from './custom-functions';
7
+ var ARRAY_ITEMS_PATH_PROPERTY_NAME = transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME, OMIT_SOURCE_PROPERTY_NAME = transformations.OMIT_SOURCE_PROPERTY_NAME, FIELDS_TO_OMIT_PROPERTY_NAME = transformations.FIELDS_TO_OMIT_PROPERTY_NAME, CONSTANT_VALUE_PROPERTY_NAME = transformations.CONSTANT_VALUE_PROPERTY_NAME;
8
+ var TOP_LEVEL_SIMPLE_TRANSFORMATION = visitorTypes.TOP_LEVEL_SIMPLE_TRANSFORMATION, TOP_LEVEL_CUSTOM_FUNCTION = visitorTypes.TOP_LEVEL_CUSTOM_FUNCTION, TOP_LEVEL_SPREAD = visitorTypes.TOP_LEVEL_SPREAD, NESTED_SPREAD = visitorTypes.NESTED_SPREAD, NESTED_UNSUPPORTED_TRANSFORMATION = visitorTypes.NESTED_UNSUPPORTED_TRANSFORMATION, TOP_LEVEL_UNSUPPORTED_TRANSFORMATION = visitorTypes.TOP_LEVEL_UNSUPPORTED_TRANSFORMATION, CUSTOM_FUNCTION = visitorTypes.CUSTOM_FUNCTION, NESTED_SIMPLE_TRANSFORMATION = visitorTypes.NESTED_SIMPLE_TRANSFORMATION, MAP_ARRAY_ITEMS = visitorTypes.MAP_ARRAY_ITEMS, TOP_LEVEL_MAP_ARRAY_ITEMS = visitorTypes.TOP_LEVEL_MAP_ARRAY_ITEMS, TOP_LEVEL_OMIT_TRANSFORMATION = visitorTypes.TOP_LEVEL_OMIT_TRANSFORMATION, NESTED_OMIT_TRANSFORMATION = visitorTypes.NESTED_OMIT_TRANSFORMATION, NESTED_CONSTANT_VALUE = visitorTypes.NESTED_CONSTANT_VALUE;
9
+ var safeResolveDefaultExport = function (module) {
10
+ var isEsModule = module && module.__esModule && module.default;
11
+ return isEsModule ? module.default : module;
12
+ };
13
+ var deepForEach = safeResolveDefaultExport(deepForEachModule);
14
+ var withoutSpreadOperatorKeys = function (obj) {
15
+ return Object.keys(obj).filter(function (k) { return !isSpreadOperator(k); });
16
+ };
17
+ var safeInvokeVisitor = function (visitors, name) {
18
+ var args = [];
19
+ for (var _i = 2; _i < arguments.length; _i++) {
20
+ args[_i - 2] = arguments[_i];
21
+ }
22
+ var visitor = get(visitors, name);
23
+ return visitor && visitor.apply(void 0, args);
24
+ };
25
+ var reduceComplexTransformation = function (transformation, _a) {
26
+ var visitors = _a.visitors, accumulator = _a.accumulator;
27
+ var terminalPaths = [];
28
+ var addTerminals = function (path, leaves) {
29
+ if (leaves === void 0) { leaves = []; }
30
+ return leaves.length > 0
31
+ ? leaves.forEach(function (leaf) { return terminalPaths.push([path, leaf].join('.')); })
32
+ : terminalPaths.push(path);
33
+ };
34
+ deepForEach(transformation, function (value, key, _, path) {
35
+ if (some(terminalPaths, function (tp) { return path.startsWith(tp); })) {
36
+ return;
37
+ }
38
+ if (isSpreadOperator(key)) {
39
+ addTerminals(path);
40
+ var spreadOperatorParentPath_1 = path.replace(/\.?\*/, '');
41
+ var values = !isArray(value) ? [value] : value;
42
+ values.forEach(function (item) {
43
+ if (spreadOperatorParentPath_1 === '') {
44
+ var siblingKeys = withoutSpreadOperatorKeys(transformation);
45
+ safeInvokeVisitor(visitors, TOP_LEVEL_SPREAD, accumulator, item, siblingKeys);
46
+ }
47
+ else {
48
+ var siblingKeys = withoutSpreadOperatorKeys(get(transformation, spreadOperatorParentPath_1));
49
+ safeInvokeVisitor(visitors, NESTED_SPREAD, accumulator, spreadOperatorParentPath_1, item, siblingKeys);
50
+ }
51
+ });
52
+ return;
53
+ }
54
+ if (isOmitTransformation(value)) {
55
+ addTerminals(path, [
56
+ OMIT_SOURCE_PROPERTY_NAME,
57
+ FIELDS_TO_OMIT_PROPERTY_NAME,
58
+ ]);
59
+ var _a = parseOmitTransformation(value), sourceExpression = _a.sourceExpression, fieldsToOmit = _a.fieldsToOmit;
60
+ safeInvokeVisitor(visitors, NESTED_OMIT_TRANSFORMATION, accumulator, path, sourceExpression, fieldsToOmit);
61
+ return;
62
+ }
63
+ if (isMapArrayItemsTransformation(value)) {
64
+ addTerminals(path, [
65
+ ARRAY_ITEMS_PATH_PROPERTY_NAME,
66
+ ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,
67
+ ]);
68
+ var _b = parseMapArrayItemsTransformation(value), sourceArrayExpression = _b.sourceArrayExpression, itemTransformation = _b.itemTransformation;
69
+ safeInvokeVisitor(visitors, MAP_ARRAY_ITEMS, accumulator, path, sourceArrayExpression, itemTransformation);
70
+ return;
71
+ }
72
+ if (isFunctionCallExpression(value)) {
73
+ var _c = parseCustomFunctionCall(value), functionName = _c.functionName, argumentExpressions = _c.argumentExpressions;
74
+ safeInvokeVisitor(visitors, CUSTOM_FUNCTION, accumulator, path, functionName, argumentExpressions, value);
75
+ return;
76
+ }
77
+ if (isConstantExpression(value)) {
78
+ addTerminals(path, [CONSTANT_VALUE_PROPERTY_NAME]);
79
+ safeInvokeVisitor(visitors, NESTED_CONSTANT_VALUE, {
80
+ accumulator: accumulator,
81
+ path: path,
82
+ value: value[CONSTANT_VALUE_PROPERTY_NAME],
83
+ });
84
+ return;
85
+ }
86
+ if (isString(value)) {
87
+ if (isJsonPathExpression(value)) {
88
+ safeInvokeVisitor(visitors, NESTED_SIMPLE_TRANSFORMATION, accumulator, path, value);
89
+ }
90
+ else {
91
+ safeInvokeVisitor(visitors, NESTED_UNSUPPORTED_TRANSFORMATION, accumulator, path, value);
92
+ }
93
+ }
94
+ });
95
+ return accumulator;
96
+ };
97
+ var reduceTransformation = function (transformation, _a) {
98
+ var visitors = _a.visitors, accumulator = _a.accumulator;
99
+ if (isSimpleTransformation(transformation)) {
100
+ switch (true) {
101
+ case isJsonPathExpression(transformation):
102
+ return safeInvokeVisitor(visitors, TOP_LEVEL_SIMPLE_TRANSFORMATION, transformation);
103
+ case isFunctionCallExpression(transformation): {
104
+ var _b = parseCustomFunctionCall(transformation), functionName = _b.functionName, argumentExpressions = _b.argumentExpressions;
105
+ return safeInvokeVisitor(visitors, TOP_LEVEL_CUSTOM_FUNCTION, functionName, argumentExpressions, transformation);
106
+ }
107
+ default:
108
+ return safeInvokeVisitor(visitors, TOP_LEVEL_UNSUPPORTED_TRANSFORMATION, transformation);
109
+ }
110
+ }
111
+ if (isOmitTransformation(transformation)) {
112
+ var _c = parseOmitTransformation(transformation), sourceExpression = _c.sourceExpression, fieldsToOmit = _c.fieldsToOmit;
113
+ return safeInvokeVisitor(visitors, TOP_LEVEL_OMIT_TRANSFORMATION, sourceExpression, fieldsToOmit);
114
+ }
115
+ if (isMapArrayItemsTransformation(transformation)) {
116
+ var _d = parseMapArrayItemsTransformation(transformation), sourceArrayExpression = _d.sourceArrayExpression, itemTransformation = _d.itemTransformation;
117
+ return safeInvokeVisitor(visitors, TOP_LEVEL_MAP_ARRAY_ITEMS, sourceArrayExpression, itemTransformation);
118
+ }
119
+ return reduceComplexTransformation(transformation, { visitors: visitors, accumulator: accumulator });
120
+ };
121
+ export { reduceTransformation };
122
+ //# sourceMappingURL=reduceTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduceTransformation.js","sourceRoot":"","sources":["../../../../src/lib/transformations/reduceTransformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ import { segmentCount } from '@wix/motion-edm-autogen-common';
3
+ import { some, isArray, isString, every } from 'lodash';
4
+ import { transformations } from '../common';
5
+ var OMIT_SOURCE_PROPERTY_NAME = transformations.OMIT_SOURCE_PROPERTY_NAME, FIELDS_TO_OMIT_PROPERTY_NAME = transformations.FIELDS_TO_OMIT_PROPERTY_NAME;
6
+ var validationError = function (description, value, parentPath) {
7
+ if (parentPath === void 0) { parentPath = null; }
8
+ return ({
9
+ invalidValue: value,
10
+ description: description,
11
+ parentPath: parentPath,
12
+ });
13
+ };
14
+ var validateOmitTransformation = function (_a) {
15
+ var source = _a.source, fieldsToOmit = _a.fieldsToOmit, validateSource = _a.validateSource, _b = _a.parentPath, parentPath = _b === void 0 ? null : _b;
16
+ var validationErrors = [];
17
+ var currentPath = parentPath ? [parentPath] : [];
18
+ var omitSourcePropertyPath = __spreadArray(__spreadArray([], currentPath, true), [
19
+ OMIT_SOURCE_PROPERTY_NAME,
20
+ ], false).join('.');
21
+ validationErrors.push.apply(validationErrors, validateSource(source).validationErrors.map(function (sourceValidationError) { return (__assign(__assign({}, sourceValidationError), { parentPath: omitSourcePropertyPath })); }));
22
+ var fieldsToOmitPropertyPath = __spreadArray(__spreadArray([], currentPath, true), [
23
+ FIELDS_TO_OMIT_PROPERTY_NAME,
24
+ ], false).join('.');
25
+ if (!isArray(fieldsToOmit) || !every(fieldsToOmit, isString)) {
26
+ validationErrors.push(validationError('must be an array of strings', fieldsToOmit, fieldsToOmitPropertyPath));
27
+ return validationErrors;
28
+ }
29
+ if (some(fieldsToOmit, function (omitPathSegment) { return segmentCount(omitPathSegment) > 1; })) {
30
+ validationErrors.push(validationError('must contain non-nested paths only', fieldsToOmit, fieldsToOmitPropertyPath));
31
+ }
32
+ return validationErrors;
33
+ };
34
+ export { validationError, validateOmitTransformation };
35
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/common.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEpC,IAAA,yBAAyB,GAC/B,eAAe,0BADgB,EAAE,4BAA4B,GAC7D,eAAe,6BAD8C,CAC7C;AAElB,IAAM,eAAe,GAAG,UAAC,WAAW,EAAE,KAAK,EAAE,UAAsB;IAAtB,2BAAA,EAAA,iBAAsB;IAAK,OAAA,CAAC;QACvE,YAAY,EAAE,KAAK;QACnB,WAAW,aAAA;QACX,UAAU,YAAA;KACX,CAAC;AAJsE,CAItE,CAAC;AAEH,IAAM,0BAA0B,GAAG,UAAC,EAKnC;QAJC,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,cAAc,oBAAA,EACd,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA;IAEjB,IAAM,gBAAgB,GAAU,EAAE,CAAC;IACnC,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,IAAM,sBAAsB,GAAG,gCAC1B,WAAW;QACd,yBAAyB;cACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,gBAAgB,CAAC,IAAI,OAArB,gBAAgB,EACX,cAAc,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAC,qBAAqB,IAAK,OAAA,uBACrE,qBAAqB,KACxB,UAAU,EAAE,sBAAsB,IAClC,EAHwE,CAGxE,CAAC,EACH;IAEF,IAAM,wBAAwB,GAAG,gCAC5B,WAAW;QACd,4BAA4B;cAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;QAC5D,gBAAgB,CAAC,IAAI,CACnB,eAAe,CACb,6BAA6B,EAC7B,YAAY,EACZ,wBAAwB,CACzB,CACF,CAAC;QAEF,OAAO,gBAAgB,CAAC;KACzB;IAED,IACE,IAAI,CAAC,YAAY,EAAE,UAAC,eAAe,IAAK,OAAA,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAjC,CAAiC,CAAC,EAC1E;QACA,gBAAgB,CAAC,IAAI,CACnB,eAAe,CACb,oCAAoC,EACpC,YAAY,EACZ,wBAAwB,CACzB,CACF,CAAC;KACH;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { parentPathOf, lastPathSegmentOf, } from '@wix/motion-edm-autogen-common';
2
+ import { filter, some } from 'lodash';
3
+ import { isReservedCommonFieldName, toCorvidName } from '../../corvid-entity';
4
+ import { isInvalidJsonPath, hasValidArgumentIndex, isSpreadOperator, isInvalidJsonValue, } from '../../helpers';
5
+ import { isFunctionCallExpression } from '../custom-functions';
6
+ import { reduceTransformation } from '../reduceTransformation';
7
+ import { validationError, validateOmitTransformation } from './common';
8
+ var validateSimpleTransformation = function (simpleTransformation, path) {
9
+ if (path === void 0) { path = null; }
10
+ var validationErrors = [];
11
+ var transformationSegments = simpleTransformation.split('.');
12
+ var firstSegment = transformationSegments[0];
13
+ transformationSegments
14
+ .filter(isReservedCommonFieldName)
15
+ .forEach(function (invalidName) {
16
+ return validationErrors.push(validationError("cannot refer to ".concat(invalidName, " field, consider using ").concat(toCorvidName(invalidName), " instead"), simpleTransformation, path));
17
+ });
18
+ if (some(transformationSegments, isSpreadOperator)) {
19
+ validationErrors.push(validationError('cannot refer to the * operator', simpleTransformation, path));
20
+ }
21
+ if (!hasValidArgumentIndex(firstSegment)) {
22
+ validationErrors.push(validationError('must start with $[N] where N is an index', simpleTransformation, path));
23
+ }
24
+ if (filter(transformationSegments, hasValidArgumentIndex).length > 1) {
25
+ validationErrors.push(validationError('must have a single argument-index as the first path segment', simpleTransformation, path));
26
+ }
27
+ return validationErrors;
28
+ };
29
+ function validateRequestTransformation(transformation) {
30
+ var errors = reduceTransformation(transformation, {
31
+ visitors: {
32
+ TopLevelSimpleTransformationExpression: function (simpleTransformation) {
33
+ return validateSimpleTransformation(simpleTransformation);
34
+ },
35
+ CustomFunctionExpression: function (acc, path, functionName, argumentExpressions, rawExpression) {
36
+ if (functionName === null || argumentExpressions === null) {
37
+ acc.push(validationError('contains an invalid custom function expression', rawExpression, path));
38
+ }
39
+ else {
40
+ var argumentExpression_1 = argumentExpressions[0];
41
+ if (functionName === 'constant') {
42
+ if (isInvalidJsonValue(argumentExpression_1)) {
43
+ acc.push(validationError('must be a valid json value', argumentExpression_1, path));
44
+ }
45
+ }
46
+ else {
47
+ // TODO: validate all arguments
48
+ var _a = argumentExpression_1.split('.'), firstSegment = _a[0], nestedPathSegments = _a.slice(1);
49
+ if (isInvalidJsonPath(argumentExpression_1)) {
50
+ acc.push(validationError('must be a valid json-path', argumentExpression_1, path));
51
+ }
52
+ if (!hasValidArgumentIndex(firstSegment)) {
53
+ acc.push(validationError('must start with $[N] where N is an index', argumentExpression_1, path));
54
+ }
55
+ nestedPathSegments.forEach(function (nestedPathSegment) {
56
+ if (hasValidArgumentIndex(nestedPathSegment)) {
57
+ acc.push(validationError('must have a single argument-index as the first path segment', argumentExpression_1, path));
58
+ }
59
+ });
60
+ }
61
+ }
62
+ },
63
+ NestedSimpleTransformationExpression: function (acc, path, simpleTransformationExpression) {
64
+ var lastPathSegment = lastPathSegmentOf(path);
65
+ var parentPath = parentPathOf(path);
66
+ if (isFunctionCallExpression(lastPathSegment)) {
67
+ acc.push(validationError('cannot be a custom function call', lastPathSegment, parentPath));
68
+ }
69
+ if (hasValidArgumentIndex(lastPathSegment)) {
70
+ acc.push(validationError("must start with '$.'", lastPathSegment, parentPath));
71
+ }
72
+ if (isSpreadOperator(lastPathSegment)) {
73
+ acc.push(validationError('cannot refer to the * operator', lastPathSegment, parentPath));
74
+ }
75
+ acc.push.apply(acc, validateSimpleTransformation(simpleTransformationExpression, path));
76
+ },
77
+ NestedUnsupportedTransformationExpression: function (acc, path, value) {
78
+ acc.push(validationError('must start with $[N] where N is an index', value, path));
79
+ },
80
+ TopLevelUnsupportedTransformationExpression: function (unsupportedTransformation) { return [
81
+ validationError('must start with $[N] where N is an index', unsupportedTransformation),
82
+ ]; },
83
+ TopLevelOmit: function (source, fieldsToOmit) {
84
+ return validateOmitTransformation({
85
+ source: source,
86
+ fieldsToOmit: fieldsToOmit,
87
+ validateSource: validateRequestTransformation,
88
+ });
89
+ },
90
+ NestedOmit: function (acc, path, source, fieldsToOmit) {
91
+ return acc.push.apply(acc, validateOmitTransformation({
92
+ source: source,
93
+ fieldsToOmit: fieldsToOmit,
94
+ parentPath: path,
95
+ validateSource: validateRequestTransformation,
96
+ }));
97
+ },
98
+ },
99
+ accumulator: [],
100
+ });
101
+ return {
102
+ isValid: errors.length === 0,
103
+ validationErrors: errors,
104
+ };
105
+ }
106
+ export { validateRequestTransformation };
107
+ //# sourceMappingURL=validateRequestTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateRequestTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateRequestTransformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ import { parentPathOf, lastPathSegmentOf, } from '@wix/motion-edm-autogen-common';
3
+ import { some } from 'lodash';
4
+ import { isReservedCorvidFieldName } from '../../corvid-entity';
5
+ import { isInvalidJsonPath, hasValidArgumentIndex, isRootObjectIdentifier, isSpreadOperator, } from '../../helpers';
6
+ import { transformations } from '../common';
7
+ import { isFunctionCallExpression } from '../custom-functions';
8
+ import { reduceTransformation } from '../reduceTransformation';
9
+ import { validationError, validateOmitTransformation } from './common';
10
+ var ARRAY_ITEMS_PATH_PROPERTY_NAME = transformations.ARRAY_ITEMS_PATH_PROPERTY_NAME, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME = transformations.ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME;
11
+ var INVALID_PATH_STRING_MESSAGE = "must be a string starting with '$.'";
12
+ var validateArrayItemTransformation = function (sourceArrayExpression, itemTransformation, parentPath) {
13
+ if (parentPath === void 0) { parentPath = null; }
14
+ var withOptionalParentPath = function (path) { return function (err) { return (__assign(__assign({}, err), {
15
+ // @ts-expect-error
16
+ parentPath: [parentPath, path, validationError.parentPath]
17
+ .filter(function (s) { return s; })
18
+ .join('.') })); }; };
19
+ var validationErrors = [];
20
+ if (isInvalidJsonPath(sourceArrayExpression)) {
21
+ var fullPath = parentPath
22
+ ? [parentPath, ARRAY_ITEMS_PATH_PROPERTY_NAME]
23
+ : [ARRAY_ITEMS_PATH_PROPERTY_NAME];
24
+ validationErrors.push(validationError(INVALID_PATH_STRING_MESSAGE, sourceArrayExpression, fullPath.join('.')));
25
+ }
26
+ validationErrors.push.apply(validationErrors, __spreadArray(__spreadArray([], validateResponseTransformation(sourceArrayExpression).validationErrors.map(withOptionalParentPath(ARRAY_ITEMS_PATH_PROPERTY_NAME)), false), validateResponseTransformation(itemTransformation).validationErrors.map(withOptionalParentPath(ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME)), false));
27
+ return validationErrors;
28
+ };
29
+ var validateSimpleTransformationExpression = function (simpleTransformationExpression, path) {
30
+ if (path === void 0) { path = null; }
31
+ var transformationSegments = simpleTransformationExpression.split('.');
32
+ var firstExpressionSegment = transformationSegments[0];
33
+ var validationErrors = [];
34
+ if (!isRootObjectIdentifier(firstExpressionSegment)) {
35
+ validationErrors.push(validationError(INVALID_PATH_STRING_MESSAGE, simpleTransformationExpression, path));
36
+ }
37
+ if (some(transformationSegments, isSpreadOperator)) {
38
+ validationErrors.push(validationError('cannot refer to the * operator', simpleTransformationExpression, path));
39
+ }
40
+ if (isInvalidJsonPath(simpleTransformationExpression)) {
41
+ validationErrors.push(validationError('must be a valid json-path', simpleTransformationExpression, path));
42
+ }
43
+ transformationSegments
44
+ .filter(isReservedCorvidFieldName)
45
+ .forEach(function (invalidName) {
46
+ return validationErrors.push(validationError("cannot refer to the ".concat(invalidName, " field"), simpleTransformationExpression, path));
47
+ });
48
+ return validationErrors;
49
+ };
50
+ var validateCustomFunctionExpression = function (_a) {
51
+ var functionName = _a.functionName, argumentExpressions = _a.argumentExpressions, rawExpression = _a.rawExpression, _b = _a.path, path = _b === void 0 ? null : _b;
52
+ var validationErrors = [];
53
+ if (functionName === null || argumentExpressions === null) {
54
+ validationErrors.push(validationError('contains an invalid custom function expression', rawExpression, path));
55
+ return validationErrors;
56
+ }
57
+ // TODO: validate all arguments
58
+ var argumentExpression = argumentExpressions[0];
59
+ var firstSegment = argumentExpression.split('.')[0];
60
+ if (isInvalidJsonPath(argumentExpression)) {
61
+ validationErrors.push(validationError('must be a valid json-path', argumentExpression, path));
62
+ }
63
+ if (!isRootObjectIdentifier(firstSegment)) {
64
+ validationErrors.push(validationError(INVALID_PATH_STRING_MESSAGE, argumentExpression, path));
65
+ }
66
+ return validationErrors;
67
+ };
68
+ function validateResponseTransformation(transformation) {
69
+ var errors = reduceTransformation(transformation, {
70
+ visitors: {
71
+ TopLevelSimpleTransformationExpression: function (simpleTransformation) {
72
+ return validateSimpleTransformationExpression(simpleTransformation);
73
+ },
74
+ TopLevelCustomFunctionExpression: function (functionName, argumentExpressions, rawExpression) {
75
+ return validateCustomFunctionExpression({
76
+ functionName: functionName,
77
+ argumentExpressions: argumentExpressions,
78
+ rawExpression: rawExpression,
79
+ });
80
+ },
81
+ CustomFunctionExpression: function (acc, path, functionName, argumentExpressions, rawExpression) {
82
+ acc.push.apply(acc, validateCustomFunctionExpression({
83
+ functionName: functionName,
84
+ argumentExpressions: argumentExpressions,
85
+ rawExpression: rawExpression,
86
+ path: path,
87
+ }));
88
+ },
89
+ NestedSimpleTransformationExpression: function (acc, path, simpleTransformationExpression) {
90
+ var lastPathSegment = lastPathSegmentOf(path);
91
+ var parentPath = parentPathOf(path);
92
+ acc.push.apply(acc, validateSimpleTransformationExpression(simpleTransformationExpression, path));
93
+ if (isFunctionCallExpression(lastPathSegment)) {
94
+ acc.push(validationError('cannot be a custom function call', lastPathSegment, parentPath));
95
+ }
96
+ if (isReservedCorvidFieldName(lastPathSegment)) {
97
+ acc.push(validationError("cannot refer to the ".concat(lastPathSegment, " field"), lastPathSegment, parentPath));
98
+ }
99
+ if (hasValidArgumentIndex(lastPathSegment)) {
100
+ acc.push(validationError(INVALID_PATH_STRING_MESSAGE, lastPathSegment, parentPath));
101
+ }
102
+ if (isRootObjectIdentifier(lastPathSegment)) {
103
+ acc.push(validationError('cannot refer to $ in a transformation key', lastPathSegment, parentPath));
104
+ }
105
+ },
106
+ NestedUnsupportedTransformationExpression: function (acc, path, value) {
107
+ acc.push(validationError(INVALID_PATH_STRING_MESSAGE, value, path));
108
+ },
109
+ TopLevelUnsupportedTransformationExpression: function (unsupportedTransformation) { return [
110
+ validationError(INVALID_PATH_STRING_MESSAGE, unsupportedTransformation),
111
+ ]; },
112
+ TopLevelOmit: function (source, fieldsToOmit) {
113
+ return validateOmitTransformation({
114
+ source: source,
115
+ fieldsToOmit: fieldsToOmit,
116
+ validateSource: validateResponseTransformation,
117
+ });
118
+ },
119
+ NestedOmit: function (acc, path, source, fieldsToOmit) {
120
+ return acc.push.apply(acc, validateOmitTransformation({
121
+ source: source,
122
+ fieldsToOmit: fieldsToOmit,
123
+ parentPath: path,
124
+ validateSource: validateResponseTransformation,
125
+ }));
126
+ },
127
+ MapArrayItems: function (acc, path, sourceArrayExpression, itemTransformation) {
128
+ acc.push.apply(acc, validateArrayItemTransformation(sourceArrayExpression, itemTransformation, path));
129
+ },
130
+ TopLevelMapArrayItems: function (sourceArrayExpression, itemTransformation) {
131
+ return validateArrayItemTransformation(sourceArrayExpression, itemTransformation);
132
+ },
133
+ },
134
+ accumulator: [],
135
+ });
136
+ return {
137
+ isValid: errors.length === 0,
138
+ validationErrors: errors,
139
+ };
140
+ }
141
+ export { validateResponseTransformation };
142
+ //# sourceMappingURL=validateResponseTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateResponseTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateResponseTransformation.ts"],"names":[],"mappings":"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"}