@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,16 +1,15 @@
1
- import { __assign, __makeTemplateObject } from "tslib";
2
1
  import { anObject, aString } from '@wix/motion-runtime-test-context';
3
2
  import { set, times } from 'lodash';
4
3
  import { reduceTransformation } from '../lib/transformations/reduceTransformation';
5
- describe('reduceTransformation', function () {
6
- describe('simple transformations', function () {
7
- var visitorCallbackResult = aString();
8
- test('traverses a simple transformation', function () {
9
- var visitorCallback = jest
4
+ describe('reduceTransformation', () => {
5
+ describe('simple transformations', () => {
6
+ const visitorCallbackResult = aString();
7
+ test('traverses a simple transformation', () => {
8
+ const visitorCallback = jest
10
9
  .fn()
11
10
  .mockReturnValueOnce(visitorCallbackResult);
12
- var transformation = '$.a.b.c';
13
- var result = reduceTransformation(transformation, {
11
+ const transformation = '$.a.b.c';
12
+ const result = reduceTransformation(transformation, {
14
13
  visitors: {
15
14
  TopLevelSimpleTransformationExpression: visitorCallback,
16
15
  },
@@ -19,13 +18,13 @@ describe('reduceTransformation', function () {
19
18
  expect(visitorCallback).toHaveBeenCalledWith('$.a.b.c');
20
19
  expect(result).toStrictEqual(visitorCallbackResult);
21
20
  });
22
- describe('custom-functions', function () {
23
- test('traverses a valid custom-function expression', function () {
24
- var visitorCallback = jest
21
+ describe('custom-functions', () => {
22
+ test('traverses a valid custom-function expression', () => {
23
+ const visitorCallback = jest
25
24
  .fn()
26
25
  .mockReturnValueOnce(visitorCallbackResult);
27
- var transformation = '#someCustomFunction($.a.b.c,someOtherArg)';
28
- var result = reduceTransformation(transformation, {
26
+ const transformation = '#someCustomFunction($.a.b.c,someOtherArg)';
27
+ const result = reduceTransformation(transformation, {
29
28
  visitors: {
30
29
  TopLevelCustomFunctionExpression: visitorCallback,
31
30
  },
@@ -34,12 +33,12 @@ describe('reduceTransformation', function () {
34
33
  expect(visitorCallback).toHaveBeenCalledWith('someCustomFunction', ['$.a.b.c', 'someOtherArg'], transformation);
35
34
  expect(result).toStrictEqual(visitorCallbackResult);
36
35
  });
37
- test('does not fail for invalid custom-function expression', function () {
38
- var visitorCallback = jest
36
+ test('does not fail for invalid custom-function expression', () => {
37
+ const visitorCallback = jest
39
38
  .fn()
40
39
  .mockReturnValueOnce(visitorCallbackResult);
41
- var transformationWithInvalidCustomFunctionExpression = '#($.a.b.c)';
42
- var result = reduceTransformation(transformationWithInvalidCustomFunctionExpression, {
40
+ const transformationWithInvalidCustomFunctionExpression = '#($.a.b.c)';
41
+ const result = reduceTransformation(transformationWithInvalidCustomFunctionExpression, {
43
42
  visitors: {
44
43
  TopLevelCustomFunctionExpression: visitorCallback,
45
44
  },
@@ -50,12 +49,12 @@ describe('reduceTransformation', function () {
50
49
  });
51
50
  });
52
51
  // TODO: replace with returning the invalid value, for constant-transformation
53
- test('invokes the TopLevelUnsupportedTransformationExpression otherwise', function () {
54
- var visitorCallback = jest
52
+ test('invokes the TopLevelUnsupportedTransformationExpression otherwise', () => {
53
+ const visitorCallback = jest
55
54
  .fn()
56
55
  .mockReturnValueOnce(visitorCallbackResult);
57
- var transformation = aString();
58
- var result = reduceTransformation(transformation, {
56
+ const transformation = aString();
57
+ const result = reduceTransformation(transformation, {
59
58
  visitors: {
60
59
  TopLevelUnsupportedTransformationExpression: visitorCallback,
61
60
  },
@@ -65,11 +64,11 @@ describe('reduceTransformation', function () {
65
64
  expect(result).toStrictEqual(visitorCallbackResult);
66
65
  });
67
66
  });
68
- describe('complex transformation', function () {
69
- var accumulator = anObject();
70
- test('traverses all string nodes that are transformation expressions', function () {
71
- var visitorCallback = jest.fn();
72
- var transformation = {
67
+ describe('complex transformation', () => {
68
+ const accumulator = anObject();
69
+ test('traverses all string nodes that are transformation expressions', () => {
70
+ const visitorCallback = jest.fn();
71
+ const transformation = {
73
72
  a: {
74
73
  b: { c: '$[0].ddd.eee.ffff' },
75
74
  d: 2,
@@ -77,7 +76,7 @@ describe('reduceTransformation', function () {
77
76
  },
78
77
  };
79
78
  reduceTransformation(transformation, {
80
- accumulator: accumulator,
79
+ accumulator,
81
80
  visitors: {
82
81
  NestedSimpleTransformationExpression: visitorCallback,
83
82
  },
@@ -86,24 +85,24 @@ describe('reduceTransformation', function () {
86
85
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, 'a.b.c', '$[0].ddd.eee.ffff');
87
86
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, 'a.e[0]', '$.ggg');
88
87
  });
89
- describe('spread operator', function () {
90
- var _a = times(2, function () { return jest.fn(); }), topLevelSpreadOperatorCallback = _a[0], nestedSpreadOperatorCallback = _a[1];
91
- var argumentExpression = '$[1].d.e.f';
92
- var sibling = anObject();
93
- var siblingKeys = Object.keys(sibling);
94
- var path = "".concat(siblingKeys[0], ".b.c");
95
- beforeEach(function () {
96
- [topLevelSpreadOperatorCallback, nestedSpreadOperatorCallback].forEach(function (mock) { return mock.mockClear(); });
88
+ describe('spread operator', () => {
89
+ const [topLevelSpreadOperatorCallback, nestedSpreadOperatorCallback] = times(2, () => jest.fn());
90
+ const argumentExpression = '$[1].d.e.f';
91
+ const sibling = anObject();
92
+ const siblingKeys = Object.keys(sibling);
93
+ const path = `${siblingKeys[0]}.b.c`;
94
+ beforeEach(() => {
95
+ [topLevelSpreadOperatorCallback, nestedSpreadOperatorCallback].forEach((mock) => mock.mockClear());
97
96
  });
98
- test('invokes the spread operator visitor prior to its children', function () {
99
- var nestedOmitCallback = jest.fn();
100
- var omitExpression = {
97
+ test('invokes the spread operator visitor prior to its children', () => {
98
+ const nestedOmitCallback = jest.fn();
99
+ const omitExpression = {
101
100
  '@source': argumentExpression,
102
- '@omit': times(2, function () { return aString(); }),
101
+ '@omit': times(2, () => aString()),
103
102
  };
104
- var transformation = __assign({ '*': omitExpression }, sibling);
103
+ const transformation = Object.assign({ '*': omitExpression }, sibling);
105
104
  reduceTransformation(transformation, {
106
- accumulator: accumulator,
105
+ accumulator,
107
106
  visitors: {
108
107
  TopLevelSpreadExpression: topLevelSpreadOperatorCallback,
109
108
  NestedOmit: nestedOmitCallback,
@@ -113,10 +112,10 @@ describe('reduceTransformation', function () {
113
112
  expect(topLevelSpreadOperatorCallback).toHaveBeenCalledWith(accumulator, omitExpression, siblingKeys);
114
113
  // expect(nestedOmitCallback).toHaveBeenCalled();
115
114
  });
116
- test('traverses top-level spread-operator transformation nodes', function () {
117
- var transformation = __assign({ '*': argumentExpression }, sibling);
115
+ test('traverses top-level spread-operator transformation nodes', () => {
116
+ const transformation = Object.assign({ '*': argumentExpression }, sibling);
118
117
  reduceTransformation(transformation, {
119
- accumulator: accumulator,
118
+ accumulator,
120
119
  visitors: {
121
120
  TopLevelSpreadExpression: topLevelSpreadOperatorCallback,
122
121
  NestedSpreadExpression: nestedSpreadOperatorCallback,
@@ -126,11 +125,11 @@ describe('reduceTransformation', function () {
126
125
  expect(topLevelSpreadOperatorCallback).toHaveBeenCalledWith(accumulator, argumentExpression, siblingKeys);
127
126
  expect(nestedSpreadOperatorCallback).not.toHaveBeenCalled();
128
127
  });
129
- test('traverses nested spread-operator transformation nodes', function () {
130
- var transformation = set({}, path, __assign({ '*': argumentExpression }, sibling));
131
- var simpleTransformationCallback = jest.fn();
128
+ test('traverses nested spread-operator transformation nodes', () => {
129
+ const transformation = set({}, path, Object.assign({ '*': argumentExpression }, sibling));
130
+ const simpleTransformationCallback = jest.fn();
132
131
  reduceTransformation(transformation, {
133
- accumulator: accumulator,
132
+ accumulator,
134
133
  visitors: {
135
134
  TopLevelSpreadExpression: topLevelSpreadOperatorCallback,
136
135
  NestedSpreadExpression: nestedSpreadOperatorCallback,
@@ -142,11 +141,11 @@ describe('reduceTransformation', function () {
142
141
  expect(nestedSpreadOperatorCallback).toHaveBeenCalledTimes(1);
143
142
  expect(nestedSpreadOperatorCallback).toHaveBeenCalledWith(accumulator, path, argumentExpression, siblingKeys);
144
143
  });
145
- test('traverses items within an array of a spread-operator transformation nodes', function () {
146
- var simpleTransformationCallback = jest.fn();
147
- var transformation = set({}, path, __assign({ '*': ['$[0].x.y.z', '$[1].d.e.f'] }, sibling));
144
+ test('traverses items within an array of a spread-operator transformation nodes', () => {
145
+ const simpleTransformationCallback = jest.fn();
146
+ const transformation = set({}, path, Object.assign({ '*': ['$[0].x.y.z', '$[1].d.e.f'] }, sibling));
148
147
  reduceTransformation(transformation, {
149
- accumulator: accumulator,
148
+ accumulator,
150
149
  visitors: {
151
150
  NestedSpreadExpression: nestedSpreadOperatorCallback,
152
151
  NestedSimpleTransformationExpression: simpleTransformationCallback,
@@ -157,14 +156,14 @@ describe('reduceTransformation', function () {
157
156
  expect(nestedSpreadOperatorCallback).toHaveBeenCalledWith(accumulator, path, '$[1].d.e.f', siblingKeys);
158
157
  expect(simpleTransformationCallback).not.toHaveBeenCalled();
159
158
  });
160
- test('sets the path to be the parent of the spread operator', function () {
161
- var anotherArgumentExpression = '$[0].x.y.z';
162
- var topLevelArgumentExpression = '$[1]';
163
- var transformation = set(__assign({ '*': topLevelArgumentExpression }, sibling), path, {
159
+ test('sets the path to be the parent of the spread operator', () => {
160
+ const anotherArgumentExpression = '$[0].x.y.z';
161
+ const topLevelArgumentExpression = '$[1]';
162
+ const transformation = set(Object.assign({ '*': topLevelArgumentExpression }, sibling), path, {
164
163
  '*': [anotherArgumentExpression, argumentExpression],
165
164
  });
166
165
  reduceTransformation(transformation, {
167
- accumulator: accumulator,
166
+ accumulator,
168
167
  visitors: {
169
168
  NestedSpreadExpression: nestedSpreadOperatorCallback,
170
169
  TopLevelSpreadExpression: topLevelSpreadOperatorCallback,
@@ -177,18 +176,18 @@ describe('reduceTransformation', function () {
177
176
  expect(topLevelSpreadOperatorCallback).toHaveBeenCalledWith(accumulator, topLevelArgumentExpression, siblingKeys);
178
177
  });
179
178
  });
180
- describe('custom functions', function () {
181
- test('traverses custom-function nodes', function () {
182
- var customFunctionExpressionCallback = jest.fn();
183
- var simpleTransformationCallback = jest.fn();
184
- var customFunctionExpression = '#someCustomFunction($[0].someCustomFunction)';
185
- var transformation = {
179
+ describe('custom functions', () => {
180
+ test('traverses custom-function nodes', () => {
181
+ const customFunctionExpressionCallback = jest.fn();
182
+ const simpleTransformationCallback = jest.fn();
183
+ const customFunctionExpression = '#someCustomFunction($[0].someCustomFunction)';
184
+ const transformation = {
186
185
  a: {
187
186
  b: customFunctionExpression,
188
187
  },
189
188
  };
190
189
  reduceTransformation(transformation, {
191
- accumulator: accumulator,
190
+ accumulator,
192
191
  visitors: {
193
192
  CustomFunctionExpression: customFunctionExpressionCallback,
194
193
  NestedSimpleTransformationExpression: simpleTransformationCallback,
@@ -198,17 +197,17 @@ describe('reduceTransformation', function () {
198
197
  expect(customFunctionExpressionCallback).toHaveBeenCalledWith(accumulator, 'a.b', 'someCustomFunction', ['$[0].someCustomFunction'], customFunctionExpression);
199
198
  expect(simpleTransformationCallback).not.toHaveBeenCalled();
200
199
  });
201
- test('does not fail on invalid custom-function nodes', function () {
202
- var customFunctionExpressionCallback = jest.fn();
203
- var simpleTransformationCallback = jest.fn();
204
- var invalidCustomFunctionExpression = '#($[0].someCustomFunction)';
205
- var transformation = {
200
+ test('does not fail on invalid custom-function nodes', () => {
201
+ const customFunctionExpressionCallback = jest.fn();
202
+ const simpleTransformationCallback = jest.fn();
203
+ const invalidCustomFunctionExpression = '#($[0].someCustomFunction)';
204
+ const transformation = {
206
205
  a: {
207
206
  b: invalidCustomFunctionExpression,
208
207
  },
209
208
  };
210
209
  reduceTransformation(transformation, {
211
- accumulator: accumulator,
210
+ accumulator,
212
211
  visitors: {
213
212
  CustomFunctionExpression: customFunctionExpressionCallback,
214
213
  NestedSimpleTransformationExpression: simpleTransformationCallback,
@@ -219,15 +218,15 @@ describe('reduceTransformation', function () {
219
218
  expect(simpleTransformationCallback).not.toHaveBeenCalled();
220
219
  });
221
220
  });
222
- describe('constant annotation', function () {
223
- test('traverses a nested constant annotation expression', function () {
224
- var nestedConstantExpressionCallback = jest.fn();
225
- var undesiredVisitor = jest.fn();
226
- var transformation = {
221
+ describe('constant annotation', () => {
222
+ test('traverses a nested constant annotation expression', () => {
223
+ const nestedConstantExpressionCallback = jest.fn();
224
+ const undesiredVisitor = jest.fn();
225
+ const transformation = {
227
226
  a: { b: { c: { '@constant': { someConst: '$.value123' } } } },
228
227
  };
229
228
  reduceTransformation(transformation, {
230
- accumulator: accumulator,
229
+ accumulator,
231
230
  visitors: {
232
231
  NestedConstantValue: nestedConstantExpressionCallback,
233
232
  NestedSimpleTransformationExpression: undesiredVisitor,
@@ -235,25 +234,25 @@ describe('reduceTransformation', function () {
235
234
  });
236
235
  expect(nestedConstantExpressionCallback).toHaveBeenCalledTimes(1);
237
236
  expect(nestedConstantExpressionCallback).toHaveBeenCalledWith({
238
- accumulator: accumulator,
237
+ accumulator,
239
238
  path: 'a.b.c',
240
239
  value: { someConst: '$.value123' },
241
240
  });
242
241
  expect(undesiredVisitor).not.toHaveBeenCalled();
243
242
  });
244
243
  });
245
- test('returns the accumulator with changes made to it', function () {
246
- var countAccumulator = { count: 0 };
247
- var transformation = {
244
+ test('returns the accumulator with changes made to it', () => {
245
+ const countAccumulator = { count: 0 };
246
+ const transformation = {
248
247
  a: {
249
248
  b: 1,
250
249
  '*': '$[0].a.b.c',
251
250
  },
252
251
  };
253
- var result = reduceTransformation(transformation, {
252
+ const result = reduceTransformation(transformation, {
254
253
  accumulator: countAccumulator,
255
254
  visitors: {
256
- NestedSpreadExpression: function () {
255
+ NestedSpreadExpression: () => {
257
256
  countAccumulator.count += 1;
258
257
  },
259
258
  },
@@ -261,30 +260,30 @@ describe('reduceTransformation', function () {
261
260
  expect(result).toStrictEqual({ count: 1 });
262
261
  });
263
262
  // TODO: replace with returning the invalid value, for constant-transformation
264
- test('invokes the NestedUnsupportedTransformationExpression otherwise', function () {
265
- var visitorCallback = jest.fn();
266
- var unsupportedTransformationValue = aString();
267
- var transformation = {
263
+ test('invokes the NestedUnsupportedTransformationExpression otherwise', () => {
264
+ const visitorCallback = jest.fn();
265
+ const unsupportedTransformationValue = aString();
266
+ const transformation = {
268
267
  a: { b: { c: unsupportedTransformationValue } },
269
268
  };
270
269
  reduceTransformation(transformation, {
271
270
  visitors: {
272
271
  NestedUnsupportedTransformationExpression: visitorCallback,
273
272
  },
274
- accumulator: accumulator,
273
+ accumulator,
275
274
  });
276
275
  expect(visitorCallback).toHaveBeenCalledTimes(1);
277
276
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, 'a.b.c', unsupportedTransformationValue);
278
277
  });
279
278
  });
280
- describe('mapping array items', function () {
281
- var visitorCallback = jest.fn();
282
- beforeEach(function () {
279
+ describe('mapping array items', () => {
280
+ const visitorCallback = jest.fn();
281
+ beforeEach(() => {
283
282
  visitorCallback.mockClear();
284
283
  });
285
- describe('top-level transformation', function () {
286
- test('invokes the TopLevelMapArrayItems visitor', function () {
287
- var transformation = {
284
+ describe('top-level transformation', () => {
285
+ test('invokes the TopLevelMapArrayItems visitor', () => {
286
+ const transformation = {
288
287
  '@path': '$.d.e.f',
289
288
  '@itemTransformation': '$.g.h.i',
290
289
  };
@@ -298,36 +297,34 @@ describe('reduceTransformation', function () {
298
297
  expect(visitorCallback).toHaveBeenCalledWith('$.d.e.f', '$.g.h.i');
299
298
  });
300
299
  });
301
- describe('nested transformation', function () {
302
- var accumulator = {};
303
- var path = 'a.b.c';
304
- var withItemTransformation = function (itemTransformation) {
305
- return set({}, path, {
306
- '@path': '$.d.e.f',
307
- '@itemTransformation': itemTransformation,
308
- });
309
- };
310
- describe('simple item-transformation', function () {
311
- test('invokes the MapArrayItems visitor', function () {
300
+ describe('nested transformation', () => {
301
+ const accumulator = {};
302
+ const path = 'a.b.c';
303
+ const withItemTransformation = (itemTransformation) => set({}, path, {
304
+ '@path': '$.d.e.f',
305
+ '@itemTransformation': itemTransformation,
306
+ });
307
+ describe('simple item-transformation', () => {
308
+ test('invokes the MapArrayItems visitor', () => {
312
309
  reduceTransformation(withItemTransformation('$.g.h.i'), {
313
310
  visitors: {
314
311
  MapArrayItems: visitorCallback,
315
312
  },
316
- accumulator: accumulator,
313
+ accumulator,
317
314
  });
318
315
  expect(visitorCallback).toHaveBeenCalledTimes(1);
319
316
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, path, '$.d.e.f', '$.g.h.i');
320
317
  });
321
318
  });
322
- describe('complex item-transformation', function () {
323
- test('invokes the MapArrayItems visitor', function () {
324
- var nestedSimpleTransformationVisitor = jest.fn();
319
+ describe('complex item-transformation', () => {
320
+ test('invokes the MapArrayItems visitor', () => {
321
+ const nestedSimpleTransformationVisitor = jest.fn();
325
322
  reduceTransformation(withItemTransformation({ yyy: '$.g.h.i', zzz: '$.j.k.l' }), {
326
323
  visitors: {
327
324
  MapArrayItems: visitorCallback,
328
325
  NestedSimpleTransformationExpression: nestedSimpleTransformationVisitor,
329
326
  },
330
- accumulator: accumulator,
327
+ accumulator,
331
328
  });
332
329
  expect(visitorCallback).toHaveBeenCalledTimes(1);
333
330
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, path, '$.d.e.f', {
@@ -339,18 +336,18 @@ describe('reduceTransformation', function () {
339
336
  });
340
337
  });
341
338
  });
342
- describe('omit notation', function () {
343
- var fieldsToOmit = times(2, function () { return aString(); });
344
- var visitorCallback = jest.fn();
345
- var sourcePathExpression = '$.d.e.f';
346
- var path = 'a.b.c';
347
- var accumulator = {};
348
- beforeEach(function () {
339
+ describe('omit notation', () => {
340
+ const fieldsToOmit = times(2, () => aString());
341
+ const visitorCallback = jest.fn();
342
+ const sourcePathExpression = '$.d.e.f';
343
+ const path = 'a.b.c';
344
+ const accumulator = {};
345
+ beforeEach(() => {
349
346
  visitorCallback.mockClear();
350
347
  });
351
- describe('top-level transformation', function () {
352
- test('invokes the TopLevelOmit visitor', function () {
353
- var transformation = {
348
+ describe('top-level transformation', () => {
349
+ test('invokes the TopLevelOmit visitor', () => {
350
+ const transformation = {
354
351
  '@source': sourcePathExpression,
355
352
  '@omit': fieldsToOmit,
356
353
  };
@@ -358,15 +355,15 @@ describe('reduceTransformation', function () {
358
355
  visitors: {
359
356
  TopLevelOmit: visitorCallback,
360
357
  },
361
- accumulator: accumulator,
358
+ accumulator,
362
359
  });
363
360
  expect(visitorCallback).toHaveBeenCalledTimes(1);
364
361
  expect(visitorCallback).toHaveBeenCalledWith(sourcePathExpression, fieldsToOmit);
365
362
  });
366
363
  });
367
- describe('nested transformation', function () {
368
- test('invokes the NestedOmit visitor', function () {
369
- var transformation = set({}, path, {
364
+ describe('nested transformation', () => {
365
+ test('invokes the NestedOmit visitor', () => {
366
+ const transformation = set({}, path, {
370
367
  '@source': sourcePathExpression,
371
368
  '@omit': fieldsToOmit,
372
369
  });
@@ -374,43 +371,44 @@ describe('reduceTransformation', function () {
374
371
  visitors: {
375
372
  NestedOmit: visitorCallback,
376
373
  },
377
- accumulator: accumulator,
374
+ accumulator,
378
375
  });
379
376
  expect(visitorCallback).toHaveBeenCalledTimes(1);
380
377
  expect(visitorCallback).toHaveBeenCalledWith(accumulator, path, sourcePathExpression, fieldsToOmit);
381
378
  });
382
379
  });
383
380
  });
384
- describe('error handling', function () {
385
- describe.each(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transformation | visitorType\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "], ["\n transformation | visitorType\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "])), '$.a.b.c', 'TopLevelSimpleTransformationExpression', '#someCustomFunc($.a.b.c)', 'TopLevelCustomFunctionExpression', { a: { b: { c: 'unsupported transformation' } } }, 'NestedUnsupportedTransformationExpression', { a: { b: { c: '$.d.e.f' } } }, 'NestedSimpleTransformationExpression', { '*': '$.d.e.f' }, 'TopLevelSpreadExpression', { a: { '*': '$.d.e.f' } }, 'NestedSpreadExpression', { a: { b: '#someCustomFunction($.d.e.f)' } }, 'CustomFunctionExpression')('$visitor visitor', function (_a) {
386
- var transformation = _a.transformation, visitorType = _a.visitorType;
387
- test("rethrows the error thrown by the ".concat(visitorType, " visitor"), function () {
388
- var errorMessage = aString();
389
- var error = new Error(errorMessage);
390
- var visitorCallback = jest.fn().mockImplementationOnce(function () {
381
+ describe('error handling', () => {
382
+ describe.each `
383
+ transformation | visitorType
384
+ ${'$.a.b.c'} | ${'TopLevelSimpleTransformationExpression'}
385
+ ${'#someCustomFunc($.a.b.c)'} | ${'TopLevelCustomFunctionExpression'}
386
+ ${{ a: { b: { c: 'unsupported transformation' } } }} | ${'NestedUnsupportedTransformationExpression'}
387
+ ${{ a: { b: { c: '$.d.e.f' } } }} | ${'NestedSimpleTransformationExpression'}
388
+ ${{ '*': '$.d.e.f' }} | ${'TopLevelSpreadExpression'}
389
+ ${{ a: { '*': '$.d.e.f' } }} | ${'NestedSpreadExpression'}
390
+ ${{ a: { b: '#someCustomFunction($.d.e.f)' } }} | ${'CustomFunctionExpression'}
391
+ `('$visitor visitor', ({ transformation, visitorType }) => {
392
+ test(`rethrows the error thrown by the ${visitorType} visitor`, () => {
393
+ const errorMessage = aString();
394
+ const error = new Error(errorMessage);
395
+ const visitorCallback = jest.fn().mockImplementationOnce(() => {
391
396
  throw error;
392
397
  });
393
- expect(function () {
394
- var _a;
395
- return reduceTransformation(transformation, {
396
- visitors: (_a = {},
397
- _a[visitorType] = visitorCallback,
398
- _a),
399
- });
400
- }).toThrow(error);
398
+ expect(() => reduceTransformation(transformation, {
399
+ visitors: {
400
+ [visitorType]: visitorCallback,
401
+ },
402
+ })).toThrow(error);
401
403
  });
402
- test("does not fail when the ".concat(visitorType, " visitor is missing"), function () {
403
- expect(function () {
404
- var _a;
405
- return reduceTransformation(transformation, {
406
- visitors: (_a = {},
407
- _a[visitorType] = null,
408
- _a),
409
- });
410
- }).not.toThrow();
404
+ test(`does not fail when the ${visitorType} visitor is missing`, () => {
405
+ expect(() => reduceTransformation(transformation, {
406
+ visitors: {
407
+ [visitorType]: null,
408
+ },
409
+ })).not.toThrow();
411
410
  });
412
411
  });
413
412
  });
414
413
  });
415
- var templateObject_1;
416
414
  //# sourceMappingURL=reduceTransformation.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceTransformation.spec.js","sourceRoot":"","sources":["../../../src/__tests__/reduceTransformation.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reduceTransformation.spec.js","sourceRoot":"","sources":["../../../src/__tests__/reduceTransformation.spec.ts"],"names":[],"mappings":"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"}