@wix/motion-edm-autogen-transformations-core 1.26.0 → 1.27.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 (104) hide show
  1. package/dist/cjs/__tests__/corvid-entity.spec.js +4 -2
  2. package/dist/cjs/__tests__/corvid-entity.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/reduceTransformation.spec.js +1 -3
  4. package/dist/cjs/__tests__/reduceTransformation.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js +6 -3
  6. package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js.map +1 -1
  7. package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js +9 -4
  8. package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -1
  9. package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js +6 -3
  10. package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js.map +1 -1
  11. package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js +6 -3
  12. package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js.map +1 -1
  13. package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js +7 -6
  14. package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js.map +1 -1
  15. package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js +6 -3
  16. package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js.map +1 -1
  17. package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js +3 -1
  18. package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js.map +1 -1
  19. package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js +3 -1
  20. package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js.map +1 -1
  21. package/dist/cjs/index.js +13 -16
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/lib/corvid-entity/index.js +2 -4
  24. package/dist/cjs/lib/corvid-entity/index.js.map +1 -1
  25. package/dist/cjs/lib/helpers.js +10 -10
  26. package/dist/cjs/lib/helpers.js.map +1 -1
  27. package/dist/cjs/lib/transformations/common.js +1 -2
  28. package/dist/cjs/lib/transformations/common.js.map +1 -1
  29. package/dist/cjs/lib/transformations/constants.js +2 -4
  30. package/dist/cjs/lib/transformations/constants.js.map +1 -1
  31. package/dist/cjs/lib/transformations/preset/delete.js +3 -1
  32. package/dist/cjs/lib/transformations/preset/delete.js.map +1 -1
  33. package/dist/cjs/lib/transformations/preset/query.js +9 -7
  34. package/dist/cjs/lib/transformations/preset/query.js.map +1 -1
  35. package/dist/cjs/lib/transformations/reduceTransformation.js +46 -36
  36. package/dist/cjs/lib/transformations/reduceTransformation.js.map +1 -1
  37. package/dist/cjs/lib/transformations/validations/common.js +4 -2
  38. package/dist/cjs/lib/transformations/validations/common.js.map +1 -1
  39. package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js +3 -5
  40. package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js.map +1 -1
  41. package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js +7 -6
  42. package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js.map +1 -1
  43. package/dist/esm/__tests__/corvid-entity.spec.js +30 -24
  44. package/dist/esm/__tests__/corvid-entity.spec.js.map +1 -1
  45. package/dist/esm/__tests__/getArgumentCardinality.spec.js +20 -25
  46. package/dist/esm/__tests__/getArgumentCardinality.spec.js.map +1 -1
  47. package/dist/esm/__tests__/helpers.spec.js +37 -29
  48. package/dist/esm/__tests__/helpers.spec.js.map +1 -1
  49. package/dist/esm/__tests__/reduceTransformation.spec.js +147 -149
  50. package/dist/esm/__tests__/reduceTransformation.spec.js.map +1 -1
  51. package/dist/esm/__tests__/transformations/custom-functions.spec.js +62 -59
  52. package/dist/esm/__tests__/transformations/custom-functions.spec.js.map +1 -1
  53. package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js +24 -26
  54. package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js.map +1 -1
  55. package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js +39 -43
  56. package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -1
  57. package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js +22 -24
  58. package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js.map +1 -1
  59. package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js +11 -11
  60. package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js.map +1 -1
  61. package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js +29 -30
  62. package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js.map +1 -1
  63. package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js +58 -62
  64. package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js.map +1 -1
  65. package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js +94 -82
  66. package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js.map +1 -1
  67. package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js +130 -107
  68. package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js.map +1 -1
  69. package/dist/esm/index.js +22 -22
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/lib/corvid-entity/index.js +6 -10
  72. package/dist/esm/lib/corvid-entity/index.js.map +1 -1
  73. package/dist/esm/lib/getArgumentCardinality.js +15 -21
  74. package/dist/esm/lib/getArgumentCardinality.js.map +1 -1
  75. package/dist/esm/lib/helpers.js +26 -40
  76. package/dist/esm/lib/helpers.js.map +1 -1
  77. package/dist/esm/lib/transformations/common.js +2 -5
  78. package/dist/esm/lib/transformations/common.js.map +1 -1
  79. package/dist/esm/lib/transformations/constants.js +2 -2
  80. package/dist/esm/lib/transformations/constants.js.map +1 -1
  81. package/dist/esm/lib/transformations/custom-functions.js +11 -14
  82. package/dist/esm/lib/transformations/custom-functions.js.map +1 -1
  83. package/dist/esm/lib/transformations/preset/create.js +1 -4
  84. package/dist/esm/lib/transformations/preset/create.js.map +1 -1
  85. package/dist/esm/lib/transformations/preset/delete.js +9 -13
  86. package/dist/esm/lib/transformations/preset/delete.js.map +1 -1
  87. package/dist/esm/lib/transformations/preset/get.js +1 -4
  88. package/dist/esm/lib/transformations/preset/get.js.map +1 -1
  89. package/dist/esm/lib/transformations/preset/list.js +1 -3
  90. package/dist/esm/lib/transformations/preset/list.js.map +1 -1
  91. package/dist/esm/lib/transformations/preset/query.js +17 -24
  92. package/dist/esm/lib/transformations/preset/query.js.map +1 -1
  93. package/dist/esm/lib/transformations/preset/update.js +3 -4
  94. package/dist/esm/lib/transformations/preset/update.js.map +1 -1
  95. package/dist/esm/lib/transformations/reduceTransformation.js +33 -44
  96. package/dist/esm/lib/transformations/reduceTransformation.js.map +1 -1
  97. package/dist/esm/lib/transformations/validations/common.js +17 -20
  98. package/dist/esm/lib/transformations/validations/common.js.map +1 -1
  99. package/dist/esm/lib/transformations/validations/validateRequestTransformation.js +35 -44
  100. package/dist/esm/lib/transformations/validations/validateRequestTransformation.js.map +1 -1
  101. package/dist/esm/lib/transformations/validations/validateResponseTransformation.js +57 -69
  102. package/dist/esm/lib/transformations/validations/validateResponseTransformation.js.map +1 -1
  103. package/dist/tsconfig.tsbuildinfo +1 -1
  104. package/package.json +6 -6
@@ -1,32 +1,29 @@
1
- import { __assign, __spreadArray } from "tslib";
2
1
  import { segmentCount } from '@wix/motion-edm-autogen-common';
3
2
  import { every, isArray, isString, some } from 'lodash';
4
3
  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), [
4
+ const { OMIT_SOURCE_PROPERTY_NAME, FIELDS_TO_OMIT_PROPERTY_NAME } = transformations;
5
+ const validationError = (description, value, parentPath = null) => ({
6
+ invalidValue: value,
7
+ description,
8
+ parentPath,
9
+ });
10
+ const validateOmitTransformation = ({ source, fieldsToOmit, validateSource, parentPath = null, }) => {
11
+ const validationErrors = [];
12
+ const currentPath = parentPath ? [parentPath] : [];
13
+ const omitSourcePropertyPath = [
14
+ ...currentPath,
19
15
  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), [
16
+ ].join('.');
17
+ validationErrors.push(...validateSource(source).validationErrors.map((sourceValidationError) => (Object.assign(Object.assign({}, sourceValidationError), { parentPath: omitSourcePropertyPath }))));
18
+ const fieldsToOmitPropertyPath = [
19
+ ...currentPath,
23
20
  FIELDS_TO_OMIT_PROPERTY_NAME,
24
- ], false).join('.');
21
+ ].join('.');
25
22
  if (!isArray(fieldsToOmit) || !every(fieldsToOmit, isString)) {
26
23
  validationErrors.push(validationError('must be an array of strings', fieldsToOmit, fieldsToOmitPropertyPath));
27
24
  return validationErrors;
28
25
  }
29
- if (some(fieldsToOmit, function (omitPathSegment) { return segmentCount(omitPathSegment) > 1; })) {
26
+ if (some(fieldsToOmit, (omitPathSegment) => segmentCount(omitPathSegment) > 1)) {
30
27
  validationErrors.push(validationError('must contain non-nested paths only', fieldsToOmit, fieldsToOmitPropertyPath));
31
28
  }
32
29
  return validationErrors;
@@ -1 +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,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,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,0BAA0B,EAAE,eAAe,EAAE,CAAC"}
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,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,GAC/D,eAAe,CAAC;AAElB,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,aAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;IACvE,YAAY,EAAE,KAAK;IACnB,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,EAClC,MAAM,EACN,YAAY,EACZ,cAAc,EACd,UAAU,GAAG,IAAI,GAClB,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAU,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG;QAC7B,GAAG,WAAW;QACd,yBAAyB;KAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,gBAAgB,CAAC,IAAI,CACnB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,iCACrE,qBAAqB,KACxB,UAAU,EAAE,sBAAsB,IAClC,CAAC,CACJ,CAAC;IAEF,MAAM,wBAAwB,GAAG;QAC/B,GAAG,WAAW;QACd,4BAA4B;KAC7B,CAAC,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,CAAC,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,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,0BAA0B,EAAE,eAAe,EAAE,CAAC"}
@@ -5,16 +5,13 @@ import { hasValidArgumentIndex, isInvalidJsonPath, isInvalidJsonValue, isSpreadO
5
5
  import { isFunctionCallExpression } from '../custom-functions';
6
6
  import { reduceTransformation } from '../reduceTransformation';
7
7
  import { validateOmitTransformation, validationError } 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];
8
+ const validateSimpleTransformation = (simpleTransformation, path = null) => {
9
+ const validationErrors = [];
10
+ const transformationSegments = simpleTransformation.split('.');
11
+ const [firstSegment] = transformationSegments;
13
12
  transformationSegments
14
13
  .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
- });
14
+ .forEach((invalidName) => validationErrors.push(validationError(`cannot refer to ${invalidName} field, consider using ${toCorvidName(invalidName)} instead`, simpleTransformation, path)));
18
15
  if (some(transformationSegments, isSpreadOperator)) {
19
16
  validationErrors.push(validationError('cannot refer to the * operator', simpleTransformation, path));
20
17
  }
@@ -27,42 +24,40 @@ var validateSimpleTransformation = function (simpleTransformation, path) {
27
24
  return validationErrors;
28
25
  };
29
26
  function validateRequestTransformation(transformation) {
30
- var errors = reduceTransformation(transformation, {
27
+ const errors = reduceTransformation(transformation, {
31
28
  visitors: {
32
- TopLevelSimpleTransformationExpression: function (simpleTransformation) {
33
- return validateSimpleTransformation(simpleTransformation);
34
- },
35
- CustomFunctionExpression: function (acc, path, functionName, argumentExpressions, rawExpression) {
29
+ TopLevelSimpleTransformationExpression: (simpleTransformation) => validateSimpleTransformation(simpleTransformation),
30
+ CustomFunctionExpression: (acc, path, functionName, argumentExpressions, rawExpression) => {
36
31
  if (functionName === null || argumentExpressions === null) {
37
32
  acc.push(validationError('contains an invalid custom function expression', rawExpression, path));
38
33
  }
39
34
  else {
40
- var argumentExpression_1 = argumentExpressions[0];
35
+ const [argumentExpression] = argumentExpressions;
41
36
  if (functionName === 'constant') {
42
- if (isInvalidJsonValue(argumentExpression_1)) {
43
- acc.push(validationError('must be a valid json value', argumentExpression_1, path));
37
+ if (isInvalidJsonValue(argumentExpression)) {
38
+ acc.push(validationError('must be a valid json value', argumentExpression, path));
44
39
  }
45
40
  }
46
41
  else {
47
42
  // 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));
43
+ const [firstSegment, ...nestedPathSegments] = argumentExpression.split('.');
44
+ if (isInvalidJsonPath(argumentExpression)) {
45
+ acc.push(validationError('must be a valid json-path', argumentExpression, path));
51
46
  }
52
47
  if (!hasValidArgumentIndex(firstSegment)) {
53
- acc.push(validationError('must start with $[N] where N is an index', argumentExpression_1, path));
48
+ acc.push(validationError('must start with $[N] where N is an index', argumentExpression, path));
54
49
  }
55
- nestedPathSegments.forEach(function (nestedPathSegment) {
50
+ nestedPathSegments.forEach((nestedPathSegment) => {
56
51
  if (hasValidArgumentIndex(nestedPathSegment)) {
57
- acc.push(validationError('must have a single argument-index as the first path segment', argumentExpression_1, path));
52
+ acc.push(validationError('must have a single argument-index as the first path segment', argumentExpression, path));
58
53
  }
59
54
  });
60
55
  }
61
56
  }
62
57
  },
63
- NestedSimpleTransformationExpression: function (acc, path, simpleTransformationExpression) {
64
- var lastPathSegment = lastPathSegmentOf(path);
65
- var parentPath = parentPathOf(path);
58
+ NestedSimpleTransformationExpression: (acc, path, simpleTransformationExpression) => {
59
+ const lastPathSegment = lastPathSegmentOf(path);
60
+ const parentPath = parentPathOf(path);
66
61
  if (isFunctionCallExpression(lastPathSegment)) {
67
62
  acc.push(validationError('cannot be a custom function call', lastPathSegment, parentPath));
68
63
  }
@@ -72,29 +67,25 @@ function validateRequestTransformation(transformation) {
72
67
  if (isSpreadOperator(lastPathSegment)) {
73
68
  acc.push(validationError('cannot refer to the * operator', lastPathSegment, parentPath));
74
69
  }
75
- acc.push.apply(acc, validateSimpleTransformation(simpleTransformationExpression, path));
70
+ acc.push(...validateSimpleTransformation(simpleTransformationExpression, path));
76
71
  },
77
- NestedUnsupportedTransformationExpression: function (acc, path, value) {
72
+ NestedUnsupportedTransformationExpression: (acc, path, value) => {
78
73
  acc.push(validationError('must start with $[N] where N is an index', value, path));
79
74
  },
80
- TopLevelUnsupportedTransformationExpression: function (unsupportedTransformation) { return [
75
+ TopLevelUnsupportedTransformationExpression: (unsupportedTransformation) => [
81
76
  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
- },
77
+ ],
78
+ TopLevelOmit: (source, fieldsToOmit) => validateOmitTransformation({
79
+ source,
80
+ fieldsToOmit,
81
+ validateSource: validateRequestTransformation,
82
+ }),
83
+ NestedOmit: (acc, path, source, fieldsToOmit) => acc.push(...validateOmitTransformation({
84
+ source,
85
+ fieldsToOmit,
86
+ parentPath: path,
87
+ validateSource: validateRequestTransformation,
88
+ })),
98
89
  },
99
90
  accumulator: [],
100
91
  });
@@ -1 +1 @@
1
- {"version":3,"file":"validateRequestTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateRequestTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateRequestTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateRequestTransformation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { __assign, __spreadArray } from "tslib";
2
1
  import { lastPathSegmentOf, parentPathOf, } from '@wix/motion-edm-autogen-common';
3
2
  import { some } from 'lodash';
4
3
  import { isReservedCorvidFieldName } from '../../corvid-entity';
@@ -7,30 +6,32 @@ import { transformations } from '../common';
7
6
  import { isFunctionCallExpression } from '../custom-functions';
8
7
  import { reduceTransformation } from '../reduceTransformation';
9
8
  import { validateOmitTransformation, validationError } 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), {
9
+ const { ARRAY_ITEMS_PATH_PROPERTY_NAME, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME, } = transformations;
10
+ const INVALID_PATH_STRING_MESSAGE = "must be a string starting with '$.'";
11
+ const validateArrayItemTransformation = (sourceArrayExpression, itemTransformation, parentPath = null) => {
12
+ const withOptionalParentPath = (path) => (err) => (Object.assign(Object.assign({}, err), {
15
13
  // @ts-expect-error
16
14
  parentPath: [parentPath, path, validationError.parentPath]
17
- .filter(function (s) { return s; })
18
- .join('.') })); }; };
19
- var validationErrors = [];
15
+ .filter((s) => s)
16
+ .join('.') }));
17
+ const validationErrors = [];
20
18
  if (isInvalidJsonPath(sourceArrayExpression)) {
21
- var fullPath = parentPath
19
+ const fullPath = parentPath
22
20
  ? [parentPath, ARRAY_ITEMS_PATH_PROPERTY_NAME]
23
21
  : [ARRAY_ITEMS_PATH_PROPERTY_NAME];
24
22
  validationErrors.push(validationError(INVALID_PATH_STRING_MESSAGE, sourceArrayExpression, fullPath.join('.')));
25
23
  }
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));
24
+ validationErrors.push(
25
+ // eslint-disable-next-line no-use-before-define
26
+ ...validateResponseTransformation(sourceArrayExpression).validationErrors.map(withOptionalParentPath(ARRAY_ITEMS_PATH_PROPERTY_NAME)),
27
+ // eslint-disable-next-line no-use-before-define
28
+ ...validateResponseTransformation(itemTransformation).validationErrors.map(withOptionalParentPath(ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME)));
27
29
  return validationErrors;
28
30
  };
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 = [];
31
+ const validateSimpleTransformationExpression = (simpleTransformationExpression, path = null) => {
32
+ const transformationSegments = simpleTransformationExpression.split('.');
33
+ const [firstExpressionSegment] = transformationSegments;
34
+ const validationErrors = [];
34
35
  if (!isRootObjectIdentifier(firstExpressionSegment)) {
35
36
  validationErrors.push(validationError(INVALID_PATH_STRING_MESSAGE, simpleTransformationExpression, path));
36
37
  }
@@ -42,21 +43,18 @@ var validateSimpleTransformationExpression = function (simpleTransformationExpre
42
43
  }
43
44
  transformationSegments
44
45
  .filter(isReservedCorvidFieldName)
45
- .forEach(function (invalidName) {
46
- return validationErrors.push(validationError("cannot refer to the ".concat(invalidName, " field"), simpleTransformationExpression, path));
47
- });
46
+ .forEach((invalidName) => validationErrors.push(validationError(`cannot refer to the ${invalidName} field`, simpleTransformationExpression, path)));
48
47
  return validationErrors;
49
48
  };
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 = [];
49
+ const validateCustomFunctionExpression = ({ functionName, argumentExpressions, rawExpression, path = null, }) => {
50
+ const validationErrors = [];
53
51
  if (functionName === null || argumentExpressions === null) {
54
52
  validationErrors.push(validationError('contains an invalid custom function expression', rawExpression, path));
55
53
  return validationErrors;
56
54
  }
57
55
  // TODO: validate all arguments
58
- var argumentExpression = argumentExpressions[0];
59
- var firstSegment = argumentExpression.split('.')[0];
56
+ const [argumentExpression] = argumentExpressions;
57
+ const [firstSegment] = argumentExpression.split('.');
60
58
  if (isInvalidJsonPath(argumentExpression)) {
61
59
  validationErrors.push(validationError('must be a valid json-path', argumentExpression, path));
62
60
  }
@@ -66,35 +64,31 @@ var validateCustomFunctionExpression = function (_a) {
66
64
  return validationErrors;
67
65
  };
68
66
  function validateResponseTransformation(transformation) {
69
- var errors = reduceTransformation(transformation, {
67
+ const errors = reduceTransformation(transformation, {
70
68
  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,
69
+ TopLevelSimpleTransformationExpression: (simpleTransformation) => validateSimpleTransformationExpression(simpleTransformation),
70
+ TopLevelCustomFunctionExpression: (functionName, argumentExpressions, rawExpression) => validateCustomFunctionExpression({
71
+ functionName,
72
+ argumentExpressions,
73
+ rawExpression,
74
+ }),
75
+ CustomFunctionExpression: (acc, path, functionName, argumentExpressions, rawExpression) => {
76
+ acc.push(...validateCustomFunctionExpression({
77
+ functionName,
78
+ argumentExpressions,
79
+ rawExpression,
80
+ path,
87
81
  }));
88
82
  },
89
- NestedSimpleTransformationExpression: function (acc, path, simpleTransformationExpression) {
90
- var lastPathSegment = lastPathSegmentOf(path);
91
- var parentPath = parentPathOf(path);
92
- acc.push.apply(acc, validateSimpleTransformationExpression(simpleTransformationExpression, path));
83
+ NestedSimpleTransformationExpression: (acc, path, simpleTransformationExpression) => {
84
+ const lastPathSegment = lastPathSegmentOf(path);
85
+ const parentPath = parentPathOf(path);
86
+ acc.push(...validateSimpleTransformationExpression(simpleTransformationExpression, path));
93
87
  if (isFunctionCallExpression(lastPathSegment)) {
94
88
  acc.push(validationError('cannot be a custom function call', lastPathSegment, parentPath));
95
89
  }
96
90
  if (isReservedCorvidFieldName(lastPathSegment)) {
97
- acc.push(validationError("cannot refer to the ".concat(lastPathSegment, " field"), lastPathSegment, parentPath));
91
+ acc.push(validationError(`cannot refer to the ${lastPathSegment} field`, lastPathSegment, parentPath));
98
92
  }
99
93
  if (hasValidArgumentIndex(lastPathSegment)) {
100
94
  acc.push(validationError(INVALID_PATH_STRING_MESSAGE, lastPathSegment, parentPath));
@@ -103,33 +97,27 @@ function validateResponseTransformation(transformation) {
103
97
  acc.push(validationError('cannot refer to $ in a transformation key', lastPathSegment, parentPath));
104
98
  }
105
99
  },
106
- NestedUnsupportedTransformationExpression: function (acc, path, value) {
100
+ NestedUnsupportedTransformationExpression: (acc, path, value) => {
107
101
  acc.push(validationError(INVALID_PATH_STRING_MESSAGE, value, path));
108
102
  },
109
- TopLevelUnsupportedTransformationExpression: function (unsupportedTransformation) { return [
103
+ TopLevelUnsupportedTransformationExpression: (unsupportedTransformation) => [
110
104
  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);
105
+ ],
106
+ TopLevelOmit: (source, fieldsToOmit) => validateOmitTransformation({
107
+ source,
108
+ fieldsToOmit,
109
+ validateSource: validateResponseTransformation,
110
+ }),
111
+ NestedOmit: (acc, path, source, fieldsToOmit) => acc.push(...validateOmitTransformation({
112
+ source,
113
+ fieldsToOmit,
114
+ parentPath: path,
115
+ validateSource: validateResponseTransformation,
116
+ })),
117
+ MapArrayItems: (acc, path, sourceArrayExpression, itemTransformation) => {
118
+ acc.push(...validateArrayItemTransformation(sourceArrayExpression, itemTransformation, path));
132
119
  },
120
+ TopLevelMapArrayItems: (sourceArrayExpression, itemTransformation) => validateArrayItemTransformation(sourceArrayExpression, itemTransformation),
133
121
  },
134
122
  accumulator: [],
135
123
  });
@@ -1 +1 @@
1
- {"version":3,"file":"validateResponseTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateResponseTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateResponseTransformation.js","sourceRoot":"","sources":["../../../../../src/lib/transformations/validations/validateResponseTransformation.ts"],"names":[],"mappings":"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"}