@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.
- package/dist/cjs/__tests__/corvid-entity.spec.js +4 -2
- package/dist/cjs/__tests__/corvid-entity.spec.js.map +1 -1
- package/dist/cjs/__tests__/reduceTransformation.spec.js +1 -3
- package/dist/cjs/__tests__/reduceTransformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js +6 -3
- package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js +9 -4
- package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js +6 -3
- package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js +6 -3
- package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js +7 -6
- package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js +6 -3
- package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js +3 -1
- package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js +3 -1
- package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js.map +1 -1
- package/dist/cjs/index.js +13 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/corvid-entity/index.js +2 -4
- package/dist/cjs/lib/corvid-entity/index.js.map +1 -1
- package/dist/cjs/lib/helpers.js +10 -10
- package/dist/cjs/lib/helpers.js.map +1 -1
- package/dist/cjs/lib/transformations/common.js +1 -2
- package/dist/cjs/lib/transformations/common.js.map +1 -1
- package/dist/cjs/lib/transformations/constants.js +2 -4
- package/dist/cjs/lib/transformations/constants.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/delete.js +3 -1
- package/dist/cjs/lib/transformations/preset/delete.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/query.js +9 -7
- package/dist/cjs/lib/transformations/preset/query.js.map +1 -1
- package/dist/cjs/lib/transformations/reduceTransformation.js +46 -36
- package/dist/cjs/lib/transformations/reduceTransformation.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/common.js +4 -2
- package/dist/cjs/lib/transformations/validations/common.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js +3 -5
- package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js +7 -6
- package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js.map +1 -1
- package/dist/esm/__tests__/corvid-entity.spec.js +30 -24
- package/dist/esm/__tests__/corvid-entity.spec.js.map +1 -1
- package/dist/esm/__tests__/getArgumentCardinality.spec.js +20 -25
- package/dist/esm/__tests__/getArgumentCardinality.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers.spec.js +37 -29
- package/dist/esm/__tests__/helpers.spec.js.map +1 -1
- package/dist/esm/__tests__/reduceTransformation.spec.js +147 -149
- package/dist/esm/__tests__/reduceTransformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/custom-functions.spec.js +62 -59
- package/dist/esm/__tests__/transformations/custom-functions.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js +24 -26
- package/dist/esm/__tests__/transformations/preset/create-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js +39 -43
- package/dist/esm/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js +22 -24
- package/dist/esm/__tests__/transformations/preset/get-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js +11 -11
- package/dist/esm/__tests__/transformations/preset/list-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js +29 -30
- package/dist/esm/__tests__/transformations/preset/query-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js +58 -62
- package/dist/esm/__tests__/transformations/preset/update-transformation.spec.js.map +1 -1
- package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js +94 -82
- package/dist/esm/__tests__/validations/validateRequestTransformation.spec.js.map +1 -1
- package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js +130 -107
- package/dist/esm/__tests__/validations/validateResponseTransformation.spec.js.map +1 -1
- package/dist/esm/index.js +22 -22
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/corvid-entity/index.js +6 -10
- package/dist/esm/lib/corvid-entity/index.js.map +1 -1
- package/dist/esm/lib/getArgumentCardinality.js +15 -21
- package/dist/esm/lib/getArgumentCardinality.js.map +1 -1
- package/dist/esm/lib/helpers.js +26 -40
- package/dist/esm/lib/helpers.js.map +1 -1
- package/dist/esm/lib/transformations/common.js +2 -5
- package/dist/esm/lib/transformations/common.js.map +1 -1
- package/dist/esm/lib/transformations/constants.js +2 -2
- package/dist/esm/lib/transformations/constants.js.map +1 -1
- package/dist/esm/lib/transformations/custom-functions.js +11 -14
- package/dist/esm/lib/transformations/custom-functions.js.map +1 -1
- package/dist/esm/lib/transformations/preset/create.js +1 -4
- package/dist/esm/lib/transformations/preset/create.js.map +1 -1
- package/dist/esm/lib/transformations/preset/delete.js +9 -13
- package/dist/esm/lib/transformations/preset/delete.js.map +1 -1
- package/dist/esm/lib/transformations/preset/get.js +1 -4
- package/dist/esm/lib/transformations/preset/get.js.map +1 -1
- package/dist/esm/lib/transformations/preset/list.js +1 -3
- package/dist/esm/lib/transformations/preset/list.js.map +1 -1
- package/dist/esm/lib/transformations/preset/query.js +17 -24
- package/dist/esm/lib/transformations/preset/query.js.map +1 -1
- package/dist/esm/lib/transformations/preset/update.js +3 -4
- package/dist/esm/lib/transformations/preset/update.js.map +1 -1
- package/dist/esm/lib/transformations/reduceTransformation.js +33 -44
- package/dist/esm/lib/transformations/reduceTransformation.js.map +1 -1
- package/dist/esm/lib/transformations/validations/common.js +17 -20
- package/dist/esm/lib/transformations/validations/common.js.map +1 -1
- package/dist/esm/lib/transformations/validations/validateRequestTransformation.js +35 -44
- package/dist/esm/lib/transformations/validations/validateRequestTransformation.js.map +1 -1
- package/dist/esm/lib/transformations/validations/validateResponseTransformation.js +57 -69
- package/dist/esm/lib/transformations/validations/validateResponseTransformation.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -1,40 +1,35 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
1
|
import { anObject, aNumber, aString } from '@wix/motion-runtime-test-context';
|
|
3
2
|
import { getArgumentCardinality } from '..';
|
|
4
|
-
describe('getArgumentCardinality',
|
|
5
|
-
describe('simple transformation',
|
|
6
|
-
|
|
3
|
+
describe('getArgumentCardinality', () => {
|
|
4
|
+
describe('simple transformation', () => {
|
|
5
|
+
const simpleTransformation = `$[${aNumber({
|
|
7
6
|
min: 0,
|
|
8
7
|
max: 9,
|
|
9
|
-
})
|
|
8
|
+
})}].${aString()}`;
|
|
10
9
|
expect(getArgumentCardinality(simpleTransformation)).toStrictEqual(1);
|
|
11
10
|
});
|
|
12
|
-
describe('complex transformations',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var complexMappingTransformation = __assign(__assign({}, nonArgumentMapping), argumentMapping);
|
|
11
|
+
describe('complex transformations', () => {
|
|
12
|
+
const nonArgumentMapping = anObject();
|
|
13
|
+
const argumentMapping = Object.assign({ [aString()]: '$[0].abc', [aString()]: '$[1].id', [aString()]: '$[2].a', [aString()]: '$[3].a.b.c' }, nonArgumentMapping);
|
|
14
|
+
const argumentMappingArray = ['$[0].a', '$[1].b', 'a.b.c'];
|
|
15
|
+
test('counts the number of arguments referenced in a given transformation object', () => {
|
|
16
|
+
const complexMappingTransformation = Object.assign(Object.assign({}, nonArgumentMapping), argumentMapping);
|
|
19
17
|
expect(getArgumentCardinality(complexMappingTransformation)).toStrictEqual(4);
|
|
20
18
|
});
|
|
21
|
-
test('counts the number of arguments referenced in a transformation object with arrays',
|
|
22
|
-
|
|
23
|
-
var complexMappingTransformation = __assign(__assign({}, nonArgumentMapping), (_a = {}, _a[aString()] = argumentMappingArray, _a));
|
|
19
|
+
test('counts the number of arguments referenced in a transformation object with arrays', () => {
|
|
20
|
+
const complexMappingTransformation = Object.assign(Object.assign({}, nonArgumentMapping), { [aString()]: argumentMappingArray });
|
|
24
21
|
expect(getArgumentCardinality(complexMappingTransformation)).toStrictEqual(2);
|
|
25
22
|
});
|
|
26
|
-
test('counts only unique occurrences',
|
|
27
|
-
|
|
28
|
-
var complexMappingTransformation = __assign(__assign(__assign({}, nonArgumentMapping), argumentMapping), (_a = {}, _a[aString()] = argumentMappingArray, _a));
|
|
23
|
+
test('counts only unique occurrences', () => {
|
|
24
|
+
const complexMappingTransformation = Object.assign(Object.assign(Object.assign({}, nonArgumentMapping), argumentMapping), { [aString()]: argumentMappingArray });
|
|
29
25
|
expect(getArgumentCardinality(complexMappingTransformation)).toStrictEqual(4);
|
|
30
26
|
});
|
|
31
|
-
test('does not fail on special transformation cases',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
_a);
|
|
27
|
+
test('does not fail on special transformation cases', () => {
|
|
28
|
+
const specialTransformation = {
|
|
29
|
+
[aString()]: { '@constant': true },
|
|
30
|
+
[aString()]: { '@constant': null },
|
|
31
|
+
[aString()]: '$[0].a.b.c.',
|
|
32
|
+
};
|
|
38
33
|
expect(getArgumentCardinality(specialTransformation)).toStrictEqual(1);
|
|
39
34
|
});
|
|
40
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getArgumentCardinality.spec.js","sourceRoot":"","sources":["../../../src/__tests__/getArgumentCardinality.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getArgumentCardinality.spec.js","sourceRoot":"","sources":["../../../src/__tests__/getArgumentCardinality.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAE5C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,MAAM,oBAAoB,GAAG,KAAK,OAAO,CAAC;YACxC,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;SACP,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC;QAEnB,MAAM,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,MAAM,kBAAkB,GAAG,QAAQ,EAAE,CAAC;QAEtC,MAAM,eAAe,mBACnB,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EACvB,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EACtB,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EACrB,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,IACtB,kBAAkB,CACtB,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACtF,MAAM,4BAA4B,mCAC7B,kBAAkB,GAClB,eAAe,CACnB,CAAC;YAEF,MAAM,CACJ,sBAAsB,CAAC,4BAA4B,CAAC,CACrD,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;YAC5F,MAAM,4BAA4B,mCAC7B,kBAAkB,KACrB,CAAC,OAAO,EAAE,CAAC,EAAE,oBAAoB,GAClC,CAAC;YAEF,MAAM,CACJ,sBAAsB,CAAC,4BAA4B,CAAC,CACrD,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,MAAM,4BAA4B,iDAC7B,kBAAkB,GAClB,eAAe,KAClB,CAAC,OAAO,EAAE,CAAC,EAAE,oBAAoB,GAClC,CAAC;YAEF,MAAM,CACJ,sBAAsB,CAAC,4BAA4B,CAAC,CACrD,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACzD,MAAM,qBAAqB,GAAG;gBAC5B,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAClC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAClC,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa;aAC3B,CAAC;YAEF,MAAM,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,61 +1,69 @@
|
|
|
1
|
-
import { __makeTemplateObject } from "tslib";
|
|
2
1
|
import { aComplexMappingTransformation, aRandomJsonPath, aRandomResponseTransformationJsonPath, aSimpleMappingTransformation, } from '@wix/motion-edm-autogen-test-context';
|
|
3
2
|
import { aNumber, aString } from '@wix/motion-runtime-test-context';
|
|
4
3
|
import { times } from 'lodash';
|
|
5
4
|
import { extractIndexAndPath, getArgumentIndex, isInvalidJsonValue, isJsonPathExpression, isSimpleTransformation, stripJsonPathRootPrefix, } from '../lib/helpers';
|
|
6
|
-
describe('helper functions',
|
|
7
|
-
|
|
5
|
+
describe('helper functions', () => {
|
|
6
|
+
const index = aNumber({ min: 0, max: 1 });
|
|
8
7
|
// @ts-expect-error
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
describe('isSimpleTransformation',
|
|
13
|
-
test.each
|
|
14
|
-
|
|
8
|
+
const nestedPath = times(3, aString()).join('.');
|
|
9
|
+
const simpleTransformation = `$[${index}]`;
|
|
10
|
+
const simpleTransformationWithNestedPath = `$[${index}].${nestedPath}`;
|
|
11
|
+
describe('isSimpleTransformation', () => {
|
|
12
|
+
test.each `
|
|
13
|
+
transformation | expectedValue | transformationType
|
|
14
|
+
${aSimpleMappingTransformation().simpleMapping} | ${true} | ${'simple'}
|
|
15
|
+
${aComplexMappingTransformation().complexMapping} | ${false} | ${'complex'}
|
|
16
|
+
`('returns $expectedValue for $transformationType transformation', ({ transformation, expectedValue }) => {
|
|
15
17
|
expect(isSimpleTransformation(transformation)).toStrictEqual(expectedValue);
|
|
16
18
|
});
|
|
17
19
|
});
|
|
18
|
-
describe('extractIndexAndPath',
|
|
19
|
-
test('extracts the index and nested-path of the argument from a simple tranformation',
|
|
20
|
-
expect(extractIndexAndPath(simpleTransformationWithNestedPath)).toStrictEqual({ index
|
|
20
|
+
describe('extractIndexAndPath', () => {
|
|
21
|
+
test('extracts the index and nested-path of the argument from a simple tranformation', () => {
|
|
22
|
+
expect(extractIndexAndPath(simpleTransformationWithNestedPath)).toStrictEqual({ index, nestedPath });
|
|
21
23
|
});
|
|
22
|
-
test('sets the nestedPath to null when one could not be found',
|
|
24
|
+
test('sets the nestedPath to null when one could not be found', () => {
|
|
23
25
|
expect(extractIndexAndPath(simpleTransformation)).toStrictEqual({
|
|
24
|
-
index
|
|
26
|
+
index,
|
|
25
27
|
nestedPath: null,
|
|
26
28
|
});
|
|
27
29
|
});
|
|
28
30
|
});
|
|
29
|
-
describe('getArgumentIndex',
|
|
30
|
-
test('extracts the index of an argument within a jsonpath',
|
|
31
|
+
describe('getArgumentIndex', () => {
|
|
32
|
+
test('extracts the index of an argument within a jsonpath', () => {
|
|
31
33
|
expect(getArgumentIndex(simpleTransformation)).toStrictEqual(index);
|
|
32
34
|
});
|
|
33
|
-
test('return null when no index was found',
|
|
35
|
+
test('return null when no index was found', () => {
|
|
34
36
|
expect(getArgumentIndex(aString())).toBeNull();
|
|
35
37
|
});
|
|
36
38
|
});
|
|
37
|
-
describe('isJsonPathExpression',
|
|
38
|
-
test.each
|
|
39
|
-
|
|
39
|
+
describe('isJsonPathExpression', () => {
|
|
40
|
+
test.each `
|
|
41
|
+
description | expression | expectedResult
|
|
42
|
+
${'starts with $'} | ${aRandomJsonPath()} | ${true}
|
|
43
|
+
${'does not start with $'} | ${aString()} | ${false}
|
|
44
|
+
`('return $expectedResult when the expression $description', ({ expression, expectedResult }) => {
|
|
40
45
|
expect(isJsonPathExpression(expression)).toStrictEqual(expectedResult);
|
|
41
46
|
});
|
|
42
47
|
});
|
|
43
|
-
describe('stripJsonPathRootPrefix',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
test.each
|
|
47
|
-
|
|
48
|
+
describe('stripJsonPathRootPrefix', () => {
|
|
49
|
+
const nonJsonPathString = aString();
|
|
50
|
+
const jsonPath = aRandomResponseTransformationJsonPath();
|
|
51
|
+
test.each `
|
|
52
|
+
description | expression | expectedResult
|
|
53
|
+
${'is $'} | ${'$'} | ${'$'}
|
|
54
|
+
${'does not start with $'} | ${nonJsonPathString} | ${nonJsonPathString}
|
|
55
|
+
${'starts with $.'} | ${jsonPath} | ${jsonPath.slice(2)}
|
|
56
|
+
`('return $expectedResult when the expression $description', ({ expression, expectedResult }) => {
|
|
48
57
|
expect(stripJsonPathRootPrefix(expression)).toStrictEqual(expectedResult);
|
|
49
58
|
});
|
|
50
59
|
});
|
|
51
|
-
describe('isInvalidJsonValue',
|
|
52
|
-
test('returns true for an invalid json-value',
|
|
60
|
+
describe('isInvalidJsonValue', () => {
|
|
61
|
+
test('returns true for an invalid json-value', () => {
|
|
53
62
|
expect(isInvalidJsonValue('x-y-z')).toBeTruthy();
|
|
54
63
|
});
|
|
55
|
-
test('returns false for a valid json-value',
|
|
64
|
+
test('returns false for a valid json-value', () => {
|
|
56
65
|
expect(isInvalidJsonValue('"string"')).toBeFalsy();
|
|
57
66
|
});
|
|
58
67
|
});
|
|
59
68
|
});
|
|
60
|
-
var templateObject_1, templateObject_2, templateObject_3;
|
|
61
69
|
//# sourceMappingURL=helpers.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../../../src/__tests__/helpers.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../../../src/__tests__/helpers.spec.ts"],"names":[],"mappings":"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"}
|