@wix/motion-edm-autogen-transformations-core 1.3.0 → 1.5.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.map +1 -1
- package/dist/cjs/__tests__/getArgumentCardinality.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers.spec.js.map +1 -1
- package/dist/cjs/__tests__/reduceTransformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/custom-functions.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/create-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/delete-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/get-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/list-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/query-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/transformations/preset/update-transformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/validations/validateRequestTransformation.spec.js.map +1 -1
- package/dist/cjs/__tests__/validations/validateResponseTransformation.spec.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/corvid-entity/index.js.map +1 -1
- package/dist/cjs/lib/getArgumentCardinality.js.map +1 -1
- package/dist/cjs/lib/helpers.js.map +1 -1
- package/dist/cjs/lib/transformations/common.js.map +1 -1
- package/dist/cjs/lib/transformations/constants.js.map +1 -1
- package/dist/cjs/lib/transformations/custom-functions.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/create.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/delete.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/get.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/list.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/query.js.map +1 -1
- package/dist/cjs/lib/transformations/preset/update.js.map +1 -1
- package/dist/cjs/lib/transformations/reduceTransformation.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/common.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/validateRequestTransformation.js.map +1 -1
- package/dist/cjs/lib/transformations/validations/validateResponseTransformation.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/validations/validateResponseTransformation.spec.ts"],"names":["validateResponseTransformation","validation","describe","validResults","isValid","validationErrors","test","validTransformation","expect","toStrictEqual","aaa","parentKey","validationErrorWith","parentPath","invalidValue","description","arrayContaining","objectContaining","transformation","each","transformationKey","expectedValidationMessage","d","e","f","invalidCustomFunctionName","a","b","c","expectedParentPath","invalidCustomFunctionExpression","argumentExpression","path","transformationValue","specialField","invalidSourceValue","invalidSourceTransformation","invalidTransformation","transformationWithOmitValue","value","nonArray","nonStringArray","arrayWithInvalidPaths","validValue","invalidPathTransformationWith","invalidPathValue","invalidPathTransformation"],"mappings":"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","sourcesContent":["import {\n aString,\n aNumber,\n aRandomItemFrom,\n aBoolean,\n anObject,\n} from '@wix/motion-runtime-test-context';\nimport { set, times } from 'lodash';\nimport { validation } from '../..';\n\nconst { validateResponseTransformation } = validation;\n\ndescribe('validateResponseTransformation', () => {\n describe('valid transformations', () => {\n const validResults = { isValid: true, validationErrors: [] };\n\n test('returns valid transformation response for a valid simple transformation', () => {\n const validTransformation = '$.a.b.c';\n\n expect(validateResponseTransformation(validTransformation)).toStrictEqual(\n validResults,\n );\n });\n\n test('returns valid transformation response for a valid complex transformation', () => {\n const validTransformation = { aaa: '$.a.b.c' };\n\n expect(validateResponseTransformation(validTransformation)).toStrictEqual(\n validResults,\n );\n });\n });\n\n describe('invalid transformations', () => {\n const parentKey = aString();\n\n const validationErrorWith = ({\n parentPath,\n invalidValue,\n description,\n }) => ({\n isValid: false,\n validationErrors: expect.arrayContaining([\n expect.objectContaining({\n parentPath,\n invalidValue,\n description,\n }),\n ]),\n });\n\n describe('invalid simple transformations', () => {\n test('returns a validation error when the transformation starts with an index argument', () => {\n const transformation = '$[0].a.b.c';\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformation,\n description: \"must be a string starting with '$.'\",\n }),\n );\n });\n });\n\n describe('invalid complex-transformation keys', () => {\n test.each`\n description | transformationKey | expectedValidationMessage\n ${'refers to an argument index'} | ${'$[0]'} | ${\"must be a string starting with '$.'\"}\n ${'refers to the root identifier'} | ${'$'} | ${'cannot refer to $ in a transformation key'}\n ${'refers to a custom function'} | ${'#someFunction'} | ${'cannot be a custom function call'}\n `(\n 'returns a validation error when a transformation value segment $description',\n ({ transformationKey, expectedValidationMessage }) => {\n const transformation = {\n d: { e: { f: { [transformationKey]: '$.a.b.c' } } },\n '*': '$[1]',\n };\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationKey,\n description: expectedValidationMessage,\n }),\n );\n },\n );\n });\n\n describe('invalid transformations values', () => {\n describe('custom function expressions', () => {\n const invalidCustomFunctionName = '#1a';\n\n describe('invalid custom function-name is used', () => {\n test.each`\n description | transformation | expectedParentPath\n ${'top level'} | ${invalidCustomFunctionName} | ${null}\n ${'nested'} | ${{ a: { b: { c: invalidCustomFunctionName } } }} | ${'a.b.c'}\n `(\n 'returns a validation error for $description cases',\n ({ expectedParentPath, transformation }) => {\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: invalidCustomFunctionName,\n description: 'contains an invalid custom function expression',\n }),\n );\n },\n );\n });\n\n describe('a custom function argument is invalid in response transformation', () => {\n const invalidCustomFunctionExpression = '#someFunction($[0])';\n\n test.each`\n description | transformation | expectedParentPath\n ${'top level'} | ${invalidCustomFunctionExpression} | ${null}\n ${'nested'} | ${{ a: { b: { c: invalidCustomFunctionExpression } } }} | ${'a.b.c'}\n `(\n 'returns a validation error for $description cases',\n ({ expectedParentPath, transformation }) => {\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: '$[0]',\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n test('returns a validation error when an argument index is used', () => {\n const argumentExpression = '$[1].a.b.c.';\n const path = 'd.e.f';\n const transformation = set({}, path, argumentExpression);\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: path,\n invalidValue: argumentExpression,\n description: \"must be a string starting with '$.'\",\n }),\n );\n });\n });\n\n describe.each`\n description | transformationValue | expectedValidationMessage\n ${'does not start with $'} | ${'a.b.c'} | ${\"must be a string starting with '$.'\"}\n ${'refers to * in the path'} | ${'$.a.b.*'} | ${'cannot refer to the * operator'}\n `(\n 'returns a validation error when a transformation value segment $description',\n ({ transformationValue, expectedValidationMessage }) => {\n test('simple transformation', () => {\n expect(\n validateResponseTransformation(transformationValue),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n\n test('complex transformation', () => {\n const transformation = { d: { e: { f: transformationValue } } };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n },\n );\n\n describe('special fields', () => {\n describe.each(['_id', '_createdDate', '_updatedDate'])(\n '%s',\n (specialField) => {\n const expectedValidationMessage = `cannot refer to the ${specialField} field`;\n\n test('returns a validation error when a transformation value segment $description', () => {\n const transformation = {\n d: { e: { f: { [specialField]: '$.a.b.c' } } },\n '*': '$[1]',\n };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: specialField,\n description: expectedValidationMessage,\n }),\n );\n });\n\n describe('simple transformation', () => {\n test(`returns a validation error when a segment refers to the special field ${specialField}`, () => {\n const transformationValue = `$.a.b.${specialField}`;\n\n expect(\n validateResponseTransformation(transformationValue),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n });\n\n test('complex transformation', () => {\n const transformationValue = `$.a.b.${specialField}`;\n const transformation = { d: { e: { f: transformationValue } } };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n },\n );\n });\n });\n\n describe('omit transformation', () => {\n describe('invalid @source', () => {\n const invalidSourceValue = 'a.b.c';\n const invalidSourceTransformation = {\n '@source': invalidSourceValue,\n '@omit': times(2, () => aString()),\n };\n\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${invalidSourceTransformation} | ${'@source'}\n ${'nested'} | ${{ [parentKey]: invalidSourceTransformation }} | ${`${parentKey}.@source`}\n `(\n 'returns a validation error when the @source value is invalid',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: invalidSourceValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n describe('invalid @omit', () => {\n const transformationWithOmitValue = (value) => ({\n '@source': '$.a.b.c',\n '@omit': value,\n });\n\n const nonArray = aString();\n const nonStringArray = times(2, () => aNumber());\n const arrayWithInvalidPaths = ['a.b.c', aString()];\n\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(nonArray)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(nonArray) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is not an array',\n ({ description, invalidTransformation, expectedParentPath }) => {\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: nonArray,\n description: 'must be an array of strings',\n }),\n );\n });\n },\n );\n\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(nonStringArray)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(nonStringArray) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is an array of non-strings',\n ({ description, invalidTransformation, expectedParentPath }) => {\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: nonStringArray,\n description: 'must be an array of strings',\n }),\n );\n });\n },\n );\n\n /* eslint-disable max-len */\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(arrayWithInvalidPaths)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(arrayWithInvalidPaths) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is an array of invalid string paths',\n ({ description, invalidTransformation, expectedParentPath }) => {\n /* eslint-enable max-len */\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: arrayWithInvalidPaths,\n description: 'must contain non-nested paths only',\n }),\n );\n });\n },\n );\n });\n });\n\n describe('array-item transformation', () => {\n const validValue = '$.d.e.f';\n\n const invalidPathTransformationWith = (invalidPathValue) => ({\n '@path': invalidPathValue,\n '@itemTransformation': validValue,\n });\n\n describe.each`\n invalidValue | description\n ${'$[0].should.fail'} | ${'invalid path value'}\n ${aRandomItemFrom([aBoolean(), aNumber(), anObject()])} | ${'invalid path type'}\n `('$description', ({ invalidValue }) => {\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top-level'} | ${invalidPathTransformationWith(invalidValue)} | ${'@path'}\n ${'nested'} | ${{ [parentKey]: invalidPathTransformationWith(invalidValue) }} | ${`${parentKey}.@path`}\n `(\n 'returns a validation error when the @path value is invalid for $description transformation',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n describe('invalid @itemTransformation', () => {\n const invalidValue = '$[0].should.fail';\n const invalidPathTransformation = {\n '@path': validValue,\n '@itemTransformation': invalidValue,\n };\n\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top-level'} | ${invalidPathTransformation} | ${'@itemTransformation'}\n ${'nested'} | ${{ [parentKey]: invalidPathTransformation }} | ${`${parentKey}.@itemTransformation`}\n `(\n 'returns a validation error when the @itemTransformation value is invalid for $description transformation',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"names":["validateResponseTransformation","validation","describe","validResults","isValid","validationErrors","test","validTransformation","expect","toStrictEqual","aaa","parentKey","aString","validationErrorWith","parentPath","invalidValue","description","arrayContaining","objectContaining","transformation","each","transformationKey","expectedValidationMessage","d","e","f","invalidCustomFunctionName","a","b","c","expectedParentPath","invalidCustomFunctionExpression","argumentExpression","path","set","transformationValue","specialField","invalidSourceValue","invalidSourceTransformation","times","invalidTransformation","transformationWithOmitValue","value","nonArray","nonStringArray","aNumber","arrayWithInvalidPaths","validValue","invalidPathTransformationWith","invalidPathValue","aRandomItemFrom","aBoolean","anObject","invalidPathTransformation"],"sources":["../../../../src/__tests__/validations/validateResponseTransformation.spec.ts"],"sourcesContent":["import {\n aString,\n aNumber,\n aRandomItemFrom,\n aBoolean,\n anObject,\n} from '@wix/motion-runtime-test-context';\nimport { set, times } from 'lodash';\nimport { validation } from '../..';\n\nconst { validateResponseTransformation } = validation;\n\ndescribe('validateResponseTransformation', () => {\n describe('valid transformations', () => {\n const validResults = { isValid: true, validationErrors: [] };\n\n test('returns valid transformation response for a valid simple transformation', () => {\n const validTransformation = '$.a.b.c';\n\n expect(validateResponseTransformation(validTransformation)).toStrictEqual(\n validResults,\n );\n });\n\n test('returns valid transformation response for a valid complex transformation', () => {\n const validTransformation = { aaa: '$.a.b.c' };\n\n expect(validateResponseTransformation(validTransformation)).toStrictEqual(\n validResults,\n );\n });\n });\n\n describe('invalid transformations', () => {\n const parentKey = aString();\n\n const validationErrorWith = ({\n parentPath,\n invalidValue,\n description,\n }) => ({\n isValid: false,\n validationErrors: expect.arrayContaining([\n expect.objectContaining({\n parentPath,\n invalidValue,\n description,\n }),\n ]),\n });\n\n describe('invalid simple transformations', () => {\n test('returns a validation error when the transformation starts with an index argument', () => {\n const transformation = '$[0].a.b.c';\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformation,\n description: \"must be a string starting with '$.'\",\n }),\n );\n });\n });\n\n describe('invalid complex-transformation keys', () => {\n test.each`\n description | transformationKey | expectedValidationMessage\n ${'refers to an argument index'} | ${'$[0]'} | ${\"must be a string starting with '$.'\"}\n ${'refers to the root identifier'} | ${'$'} | ${'cannot refer to $ in a transformation key'}\n ${'refers to a custom function'} | ${'#someFunction'} | ${'cannot be a custom function call'}\n `(\n 'returns a validation error when a transformation value segment $description',\n ({ transformationKey, expectedValidationMessage }) => {\n const transformation = {\n d: { e: { f: { [transformationKey]: '$.a.b.c' } } },\n '*': '$[1]',\n };\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationKey,\n description: expectedValidationMessage,\n }),\n );\n },\n );\n });\n\n describe('invalid transformations values', () => {\n describe('custom function expressions', () => {\n const invalidCustomFunctionName = '#1a';\n\n describe('invalid custom function-name is used', () => {\n test.each`\n description | transformation | expectedParentPath\n ${'top level'} | ${invalidCustomFunctionName} | ${null}\n ${'nested'} | ${{ a: { b: { c: invalidCustomFunctionName } } }} | ${'a.b.c'}\n `(\n 'returns a validation error for $description cases',\n ({ expectedParentPath, transformation }) => {\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: invalidCustomFunctionName,\n description: 'contains an invalid custom function expression',\n }),\n );\n },\n );\n });\n\n describe('a custom function argument is invalid in response transformation', () => {\n const invalidCustomFunctionExpression = '#someFunction($[0])';\n\n test.each`\n description | transformation | expectedParentPath\n ${'top level'} | ${invalidCustomFunctionExpression} | ${null}\n ${'nested'} | ${{ a: { b: { c: invalidCustomFunctionExpression } } }} | ${'a.b.c'}\n `(\n 'returns a validation error for $description cases',\n ({ expectedParentPath, transformation }) => {\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: '$[0]',\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n test('returns a validation error when an argument index is used', () => {\n const argumentExpression = '$[1].a.b.c.';\n const path = 'd.e.f';\n const transformation = set({}, path, argumentExpression);\n\n expect(validateResponseTransformation(transformation)).toStrictEqual(\n validationErrorWith({\n parentPath: path,\n invalidValue: argumentExpression,\n description: \"must be a string starting with '$.'\",\n }),\n );\n });\n });\n\n describe.each`\n description | transformationValue | expectedValidationMessage\n ${'does not start with $'} | ${'a.b.c'} | ${\"must be a string starting with '$.'\"}\n ${'refers to * in the path'} | ${'$.a.b.*'} | ${'cannot refer to the * operator'}\n `(\n 'returns a validation error when a transformation value segment $description',\n ({ transformationValue, expectedValidationMessage }) => {\n test('simple transformation', () => {\n expect(\n validateResponseTransformation(transformationValue),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n\n test('complex transformation', () => {\n const transformation = { d: { e: { f: transformationValue } } };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n },\n );\n\n describe('special fields', () => {\n describe.each(['_id', '_createdDate', '_updatedDate'])(\n '%s',\n (specialField) => {\n const expectedValidationMessage = `cannot refer to the ${specialField} field`;\n\n test('returns a validation error when a transformation value segment $description', () => {\n const transformation = {\n d: { e: { f: { [specialField]: '$.a.b.c' } } },\n '*': '$[1]',\n };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: specialField,\n description: expectedValidationMessage,\n }),\n );\n });\n\n describe('simple transformation', () => {\n test(`returns a validation error when a segment refers to the special field ${specialField}`, () => {\n const transformationValue = `$.a.b.${specialField}`;\n\n expect(\n validateResponseTransformation(transformationValue),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: null,\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n });\n\n test('complex transformation', () => {\n const transformationValue = `$.a.b.${specialField}`;\n const transformation = { d: { e: { f: transformationValue } } };\n\n expect(\n validateResponseTransformation(transformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: 'd.e.f',\n invalidValue: transformationValue,\n description: expectedValidationMessage,\n }),\n );\n });\n },\n );\n });\n });\n\n describe('omit transformation', () => {\n describe('invalid @source', () => {\n const invalidSourceValue = 'a.b.c';\n const invalidSourceTransformation = {\n '@source': invalidSourceValue,\n '@omit': times(2, () => aString()),\n };\n\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${invalidSourceTransformation} | ${'@source'}\n ${'nested'} | ${{ [parentKey]: invalidSourceTransformation }} | ${`${parentKey}.@source`}\n `(\n 'returns a validation error when the @source value is invalid',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: invalidSourceValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n describe('invalid @omit', () => {\n const transformationWithOmitValue = (value) => ({\n '@source': '$.a.b.c',\n '@omit': value,\n });\n\n const nonArray = aString();\n const nonStringArray = times(2, () => aNumber());\n const arrayWithInvalidPaths = ['a.b.c', aString()];\n\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(nonArray)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(nonArray) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is not an array',\n ({ description, invalidTransformation, expectedParentPath }) => {\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: nonArray,\n description: 'must be an array of strings',\n }),\n );\n });\n },\n );\n\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(nonStringArray)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(nonStringArray) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is an array of non-strings',\n ({ description, invalidTransformation, expectedParentPath }) => {\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: nonStringArray,\n description: 'must be an array of strings',\n }),\n );\n });\n },\n );\n\n /* eslint-disable max-len */\n describe.each`\n description | invalidTransformation | expectedParentPath\n ${'top level'} | ${transformationWithOmitValue(arrayWithInvalidPaths)} | ${'@omit'}\n ${'nested'} | ${{ [parentKey]: transformationWithOmitValue(arrayWithInvalidPaths) }} | ${`${parentKey}.@omit`}\n `(\n '@omit is an array of invalid string paths',\n ({ description, invalidTransformation, expectedParentPath }) => {\n /* eslint-enable max-len */\n test(`returns a validation error for invalid ${description} transformation`, () => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue: arrayWithInvalidPaths,\n description: 'must contain non-nested paths only',\n }),\n );\n });\n },\n );\n });\n });\n\n describe('array-item transformation', () => {\n const validValue = '$.d.e.f';\n\n const invalidPathTransformationWith = (invalidPathValue) => ({\n '@path': invalidPathValue,\n '@itemTransformation': validValue,\n });\n\n describe.each`\n invalidValue | description\n ${'$[0].should.fail'} | ${'invalid path value'}\n ${aRandomItemFrom([aBoolean(), aNumber(), anObject()])} | ${'invalid path type'}\n `('$description', ({ invalidValue }) => {\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top-level'} | ${invalidPathTransformationWith(invalidValue)} | ${'@path'}\n ${'nested'} | ${{ [parentKey]: invalidPathTransformationWith(invalidValue) }} | ${`${parentKey}.@path`}\n `(\n 'returns a validation error when the @path value is invalid for $description transformation',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n\n describe('invalid @itemTransformation', () => {\n const invalidValue = '$[0].should.fail';\n const invalidPathTransformation = {\n '@path': validValue,\n '@itemTransformation': invalidValue,\n };\n\n test.each`\n description | invalidTransformation | expectedParentPath\n ${'top-level'} | ${invalidPathTransformation} | ${'@itemTransformation'}\n ${'nested'} | ${{ [parentKey]: invalidPathTransformation }} | ${`${parentKey}.@itemTransformation`}\n `(\n 'returns a validation error when the @itemTransformation value is invalid for $description transformation',\n ({ invalidTransformation, expectedParentPath }) => {\n expect(\n validateResponseTransformation(invalidTransformation),\n ).toStrictEqual(\n validationErrorWith({\n parentPath: expectedParentPath,\n invalidValue,\n description: \"must be a string starting with '$.'\",\n }),\n );\n },\n );\n });\n });\n });\n});\n"],"mappings":"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"}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["JS_SINGLE_ARG_UNCHANGED","allTransformations","RESPONSE_OBJECT_UNCHANGED","ARRAY_ITEMS_PATH_PROPERTY_NAME","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","transformations","transformationBuilder","buildRequestTransformation","buildResponseTransformation","preset","create","buildCreateRequestTransformation","buildCreateResponseTransformation","update","buildUpdateRequestTransformation","buildUpdateResponseTransformation","delete","buildDeleteRequestTransformation","buildDeleteResponseTransformation","get","buildGetRequestTransformation","buildGetResponseTransformation","list","buildListRequestTransformation","buildListResponseTransformation","query","buildQueryRequestTransformation","buildQueryResponseTransformation","ITEMS_RESULT_PROPERTY_NAME","PAGING_METADATA_RESULT_PROPERTY_NAME","namingHints","OPTIONS","validation","validateRequestTransformation","validateResponseTransformation","corvidEntities","toCorvidName","fromCorvidName"],"sources":["../../src/index.ts"],"sourcesContent":["import { toCorvidName, fromCorvidName } from './lib/corvid-entity';\nimport { getArgumentCardinality } from './lib/getArgumentCardinality';\nimport {\n isSimpleTransformation,\n isArrayIndexString,\n isSpreadOperator,\n extractIndexAndPath,\n isIdentityResponseTransformation,\n isRootObjectIdentifier,\n stripJsonPathRootPrefix,\n getArgumentIndex,\n isMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isJsonPathExpression,\n} from './lib/helpers';\nimport { transformations as allTransformations } from './lib/transformations/common';\n\nconst {\n JS_SINGLE_ARG_UNCHANGED,\n RESPONSE_OBJECT_UNCHANGED,\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n} = allTransformations;\n\nconst transformations = {\n JS_SINGLE_ARG_UNCHANGED,\n RESPONSE_OBJECT_UNCHANGED,\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n};\n\nimport {\n runCustomFunctionCallExpression,\n parseCustomFunctionCall,\n isFunctionCallExpression,\n} from './lib/transformations/custom-functions';\n\nimport {\n buildRequestTransformation as buildCreateRequestTransformation,\n buildResponseTransformation as buildCreateResponseTransformation,\n} from './lib/transformations/preset/create';\nimport {\n buildRequestTransformation as buildDeleteRequestTransformation,\n buildResponseTransformation as buildDeleteResponseTransformation,\n} from './lib/transformations/preset/delete';\nimport {\n buildRequestTransformation as buildGetRequestTransformation,\n buildResponseTransformation as buildGetResponseTransformation,\n} from './lib/transformations/preset/get';\nimport {\n buildRequestTransformation as buildListRequestTransformation,\n buildResponseTransformation as buildListResponseTransformation,\n} from './lib/transformations/preset/list';\nimport {\n buildRequestTransformation as buildQueryRequestTransformation,\n buildResponseTransformation as buildQueryResponseTransformation,\n ITEMS_RESULT_PROPERTY_NAME,\n PAGING_METADATA_RESULT_PROPERTY_NAME,\n} from './lib/transformations/preset/query';\nimport {\n buildRequestTransformation as buildUpdateRequestTransformation,\n buildResponseTransformation as buildUpdateResponseTransformation,\n} from './lib/transformations/preset/update';\nimport { reduceTransformation } from './lib/transformations/reduceTransformation';\nimport { validateRequestTransformation } from './lib/transformations/validations/validateRequestTransformation';\nimport { validateResponseTransformation } from './lib/transformations/validations/validateResponseTransformation';\n\nconst transformationBuilder = (\n buildRequestTransformation,\n buildResponseTransformation,\n) => ({\n buildRequestTransformation,\n buildResponseTransformation,\n});\n\nconst preset = {\n create: transformationBuilder(\n buildCreateRequestTransformation,\n buildCreateResponseTransformation,\n ),\n update: transformationBuilder(\n buildUpdateRequestTransformation,\n buildUpdateResponseTransformation,\n ),\n delete: transformationBuilder(\n buildDeleteRequestTransformation,\n buildDeleteResponseTransformation,\n ),\n get: transformationBuilder(\n buildGetRequestTransformation,\n buildGetResponseTransformation,\n ),\n list: transformationBuilder(\n buildListRequestTransformation,\n buildListResponseTransformation,\n ),\n query: {\n ...transformationBuilder(\n buildQueryRequestTransformation,\n buildQueryResponseTransformation,\n ),\n ITEMS_RESULT_PROPERTY_NAME,\n PAGING_METADATA_RESULT_PROPERTY_NAME,\n },\n};\n\nconst namingHints = { OPTIONS: 'OPTIONS' };\n\nconst validation = {\n validateRequestTransformation,\n validateResponseTransformation,\n};\n\nconst corvidEntities = {\n toCorvidName,\n fromCorvidName,\n};\n\nexport {\n transformations,\n preset,\n namingHints,\n getArgumentCardinality,\n isSimpleTransformation,\n isArrayIndexString,\n isSpreadOperator,\n isMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isFunctionCallExpression,\n parseCustomFunctionCall,\n extractIndexAndPath,\n isIdentityResponseTransformation,\n isRootObjectIdentifier,\n stripJsonPathRootPrefix,\n getArgumentIndex,\n isJsonPathExpression,\n validation,\n corvidEntities,\n runCustomFunctionCallExpression,\n reduceTransformation,\n};\n"],"mappings":";;;;;AAAA;;AACA;;;;AACA;;;;;;;;;;;;;;;AAcA;;AAoBA;;;;;;AAMA;;AAIA;;AAIA;;AAIA;;AAIA;;AAMA;;AAIA;;;;AACA;;AACA;;AApDA,MACEA,uBADF,GAOIC,uBAPJ,CACED,uBADF;AAAA,MAEEE,yBAFF,GAOID,uBAPJ,CAEEC,yBAFF;AAAA,MAGEC,8BAHF,GAOIF,uBAPJ,CAGEE,8BAHF;AAAA,MAIEC,uCAJF,GAOIH,uBAPJ,CAIEG,uCAJF;AAAA,MAKEC,yBALF,GAOIJ,uBAPJ,CAKEI,yBALF;AAAA,MAMEC,4BANF,GAOIL,uBAPJ,CAMEK,4BANF;AASA,MAAMC,eAAe,GAAG;EACtBP,uBADsB;EAEtBE,yBAFsB;EAGtBC,8BAHsB;EAItBC,uCAJsB;EAKtBC,yBALsB;EAMtBC;AANsB,CAAxB;;;AA6CA,MAAME,qBAAqB,GAAG,CAC5BC,0BAD4B,EAE5BC,2BAF4B,MAGxB;EACJD,0BADI;EAEJC;AAFI,CAHwB,CAA9B;;AAQA,MAAMC,MAAM,GAAG;EACbC,MAAM,EAAEJ,qBAAqB,CAC3BK,kCAD2B,EAE3BC,mCAF2B,CADhB;EAKbC,MAAM,EAAEP,qBAAqB,CAC3BQ,kCAD2B,EAE3BC,mCAF2B,CALhB;EASbC,MAAM,EAAEV,qBAAqB,CAC3BW,kCAD2B,EAE3BC,mCAF2B,CAThB;EAabC,GAAG,EAAEb,qBAAqB,CACxBc,+BADwB,EAExBC,gCAFwB,CAbb;EAiBbC,IAAI,EAAEhB,qBAAqB,CACzBiB,gCADyB,EAEzBC,iCAFyB,CAjBd;EAqBbC,KAAK,EAAE,EACL,GAAGnB,qBAAqB,CACtBoB,iCADsB,EAEtBC,kCAFsB,CADnB;IAKLC,0BAA0B,EAA1BA,iCALK;IAMLC,oCAAoC,EAApCA;EANK;AArBM,CAAf;;AA+BA,MAAMC,WAAW,GAAG;EAAEC,OAAO,EAAE;AAAX,CAApB;;AAEA,MAAMC,UAAU,GAAG;EACjBC,6BAA6B,EAA7BA,4DADiB;EAEjBC,8BAA8B,EAA9BA;AAFiB,CAAnB;;AAKA,MAAMC,cAAc,GAAG;EACrBC,YAAY,EAAZA,0BADqB;EAErBC,cAAc,EAAdA;AAFqB,CAAvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["TO_CORVID_ENTITY_RENAMED_KEYS","id","createdDate","updatedDate","FROM_CORVID_ENTITY_RENAMED_KEYS","invert","isReservedCorvidFieldName","name","isReservedCommonFieldName","toCorvidName","fromCorvidName"],"sources":["../../../../src/lib/corvid-entity/index.ts"],"sourcesContent":["import { invert } from 'lodash';\n\nconst TO_CORVID_ENTITY_RENAMED_KEYS = {\n id: '_id',\n createdDate: '_createdDate',\n updatedDate: '_updatedDate',\n};\nconst FROM_CORVID_ENTITY_RENAMED_KEYS = invert(TO_CORVID_ENTITY_RENAMED_KEYS);\n\nconst isReservedCorvidFieldName = (name) =>\n name in FROM_CORVID_ENTITY_RENAMED_KEYS;\n\nconst isReservedCommonFieldName = (name) =>\n name in TO_CORVID_ENTITY_RENAMED_KEYS;\n\nconst toCorvidName = (name) => TO_CORVID_ENTITY_RENAMED_KEYS[name] || name;\n\nconst fromCorvidName = (name) => FROM_CORVID_ENTITY_RENAMED_KEYS[name] || name;\n\nexport {\n TO_CORVID_ENTITY_RENAMED_KEYS,\n FROM_CORVID_ENTITY_RENAMED_KEYS,\n toCorvidName,\n fromCorvidName,\n isReservedCorvidFieldName,\n isReservedCommonFieldName,\n};\n"],"mappings":";;;;;AAAA;;AAEA,MAAMA,6BAA6B,GAAG;EACpCC,EAAE,EAAE,KADgC;EAEpCC,WAAW,EAAE,cAFuB;EAGpCC,WAAW,EAAE;AAHuB,CAAtC;;AAKA,MAAMC,+BAA+B,GAAG,IAAAC,cAAA,EAAOL,6BAAP,CAAxC;;;AAEA,MAAMM,yBAAyB,GAAIC,IAAD,IAChCA,IAAI,IAAIH,+BADV;;;;AAGA,MAAMI,yBAAyB,GAAID,IAAD,IAChCA,IAAI,IAAIP,6BADV;;;;AAGA,MAAMS,YAAY,GAAIF,IAAD,IAAUP,6BAA6B,CAACO,IAAD,CAA7B,IAAuCA,IAAtE;;;;AAEA,MAAMG,cAAc,GAAIH,IAAD,IAAUH,+BAA+B,CAACG,IAAD,CAA/B,IAAyCA,IAA1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["extractArgumentFromString","str","seen","Set","matches","match","add","pop","extractArgumensFromObject","object","Object","keys","reduce","acc","key","value","isPlainObject","isArray","getArgumentCardinality","transformation","size"],"sources":["../../../src/lib/getArgumentCardinality.ts"],"sourcesContent":["import { isPlainObject, isArray } from 'lodash';\n\nconst extractArgumentFromString = (str, seen = new Set()) => {\n // We expect a single argument in a valid string-transformation at most, e.g. $[1].someField\n const matches = str.match(/(\\$\\[\\d+\\])/);\n\n if (matches) {\n seen.add(matches.pop());\n }\n\n return seen;\n};\n\nconst extractArgumensFromObject = (object, seen = new Set()) =>\n Object.keys(object).reduce((acc, key) => {\n const value = object[key];\n\n if (isPlainObject(value) || isArray(value)) {\n extractArgumensFromObject(value, seen);\n } else if (typeof value === 'string') {\n extractArgumentFromString(value, seen);\n }\n\n return acc;\n }, seen);\n\nconst getArgumentCardinality = (transformation) =>\n typeof transformation === 'string'\n ? extractArgumentFromString(transformation).size\n : extractArgumensFromObject(transformation).size;\n\nexport { getArgumentCardinality };\n"],"mappings":";;;;;AAAA;;AAEA,MAAMA,yBAAyB,GAAG,CAACC,GAAD,EAAMC,IAAI,GAAG,IAAIC,GAAJ,EAAb,KAA2B;EAC3D;EACA,MAAMC,OAAO,GAAGH,GAAG,CAACI,KAAJ,CAAU,aAAV,CAAhB;;EAEA,IAAID,OAAJ,EAAa;IACXF,IAAI,CAACI,GAAL,CAASF,OAAO,CAACG,GAAR,EAAT;EACD;;EAED,OAAOL,IAAP;AACD,CATD;;AAWA,MAAMM,yBAAyB,GAAG,CAACC,MAAD,EAASP,IAAI,GAAG,IAAIC,GAAJ,EAAhB,KAChCO,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,GAAD,EAAMC,GAAN,KAAc;EACvC,MAAMC,KAAK,GAAGN,MAAM,CAACK,GAAD,CAApB;;EAEA,IAAI,IAAAE,qBAAA,EAAcD,KAAd,KAAwB,IAAAE,eAAA,EAAQF,KAAR,CAA5B,EAA4C;IAC1CP,yBAAyB,CAACO,KAAD,EAAQb,IAAR,CAAzB;EACD,CAFD,MAEO,IAAI,OAAOa,KAAP,KAAiB,QAArB,EAA+B;IACpCf,yBAAyB,CAACe,KAAD,EAAQb,IAAR,CAAzB;EACD;;EAED,OAAOW,GAAP;AACD,CAVD,EAUGX,IAVH,CADF;;AAaA,MAAMgB,sBAAsB,GAAIC,cAAD,IAC7B,OAAOA,cAAP,KAA0B,QAA1B,GACInB,yBAAyB,CAACmB,cAAD,CAAzB,CAA0CC,IAD9C,GAEIZ,yBAAyB,CAACW,cAAD,CAAzB,CAA0CC,IAHhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["RESPONSE_OBJECT_UNCHANGED","transformations","ARRAY_ITEMS_PATH_PROPERTY_NAME","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","SPREAD_OPERATOR","CONSTANT_VALUE_PROPERTY_NAME","isInvalidJsonPath","path","isError","attempt","JSONPath","json","isInvalidJsonValue","value","JSON","parse","isSimpleTransformation","transformation","isArrayIndexString","str","test","isSpreadOperator","key","isIdentityResponseTransformation","transformationPath","getArgumentIndex","s","match","groups","Number","argIndex","hasValidArgumentIndex","isRootObjectIdentifier","JSON_PATH_ROOT","isJsonPathExpression","exp","startsWith","stripJsonPathRootPrefix","jsonPath","replace","extractIndexAndPath","simpleTransformation","split","maybeIndexExpression","rest","index","nestedPath","length","join","isMapArrayItemsTransformation","transformationValue","has","parseMapArrayItemsTransformation","sourceArrayExpression","itemTransformation","isOmitTransformation","parseOmitTransformation","sourceExpression","fieldsToOmit","isConstantExpression"],"sources":["../../../src/lib/helpers.ts"],"sourcesContent":["import { JSONPath } from 'jsonpath-plus';\nimport { isError, attempt, has } from 'lodash';\nimport { transformations } from './transformations/common';\nimport { JSON_PATH_ROOT } from './transformations/constants';\n\nconst {\n RESPONSE_OBJECT_UNCHANGED,\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n SPREAD_OPERATOR,\n CONSTANT_VALUE_PROPERTY_NAME,\n} = transformations;\n\nconst isInvalidJsonPath = (path) =>\n isError(attempt(() => JSONPath({ path, json: {} })));\n\nconst isInvalidJsonValue = (value) => isError(attempt(() => JSON.parse(value)));\n\nconst isSimpleTransformation = (transformation) =>\n typeof transformation === 'string';\n\nconst isArrayIndexString = (str) => !!/\\d+/.test(str);\n\nconst isSpreadOperator = (key) => key === SPREAD_OPERATOR;\n\nconst isIdentityResponseTransformation = (transformationPath) =>\n transformationPath === RESPONSE_OBJECT_UNCHANGED;\n\nconst getArgumentIndex = (s) => {\n const match = s.match(/\\$\\[(?<argIndex>\\d+)\\]/);\n\n return match && match.groups && Number(match.groups.argIndex);\n};\n\nconst hasValidArgumentIndex = (path) => getArgumentIndex(path) !== null;\n\nconst isRootObjectIdentifier = (s) => s === JSON_PATH_ROOT;\n\nconst isJsonPathExpression = (exp) => exp && exp.startsWith(JSON_PATH_ROOT);\n\nconst stripJsonPathRootPrefix = (jsonPath) =>\n jsonPath.replace(`${JSON_PATH_ROOT}.`, '');\n\nconst extractIndexAndPath = (simpleTransformation) => {\n const [maybeIndexExpression, ...rest] = simpleTransformation.split('.');\n const index = getArgumentIndex(maybeIndexExpression);\n\n return {\n index,\n nestedPath: index !== null && rest.length > 0 ? rest.join('.') : null,\n };\n};\n\nconst isMapArrayItemsTransformation = (transformationValue) =>\n has(transformationValue, ARRAY_ITEMS_PATH_PROPERTY_NAME) &&\n has(transformationValue, ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME);\n\nconst parseMapArrayItemsTransformation = (transformationValue) => ({\n sourceArrayExpression: transformationValue[ARRAY_ITEMS_PATH_PROPERTY_NAME],\n itemTransformation:\n transformationValue[ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME],\n});\n\nconst isOmitTransformation = (transformationValue) =>\n has(transformationValue, OMIT_SOURCE_PROPERTY_NAME) &&\n has(transformationValue, FIELDS_TO_OMIT_PROPERTY_NAME);\n\nconst parseOmitTransformation = (transformationValue) => ({\n sourceExpression: transformationValue[OMIT_SOURCE_PROPERTY_NAME],\n fieldsToOmit: transformationValue[FIELDS_TO_OMIT_PROPERTY_NAME],\n});\n\nconst isConstantExpression = (value) =>\n has(value, CONSTANT_VALUE_PROPERTY_NAME);\n\nexport {\n isSimpleTransformation,\n isArrayIndexString,\n isSpreadOperator,\n extractIndexAndPath,\n isIdentityResponseTransformation,\n getArgumentIndex,\n hasValidArgumentIndex,\n isRootObjectIdentifier,\n isInvalidJsonPath,\n isMapArrayItemsTransformation,\n parseMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isJsonPathExpression,\n stripJsonPathRootPrefix,\n isInvalidJsonValue,\n isConstantExpression,\n};\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,MACEA,yBADF,GAQIC,uBARJ,CACED,yBADF;AAAA,MAEEE,8BAFF,GAQID,uBARJ,CAEEC,8BAFF;AAAA,MAGEC,uCAHF,GAQIF,uBARJ,CAGEE,uCAHF;AAAA,MAIEC,yBAJF,GAQIH,uBARJ,CAIEG,yBAJF;AAAA,MAKEC,4BALF,GAQIJ,uBARJ,CAKEI,4BALF;AAAA,MAMEC,eANF,GAQIL,uBARJ,CAMEK,eANF;AAAA,MAOEC,4BAPF,GAQIN,uBARJ,CAOEM,4BAPF;;AAUA,MAAMC,iBAAiB,GAAIC,IAAD,IACxB,IAAAC,eAAA,EAAQ,IAAAC,eAAA,EAAQ,MAAM,IAAAC,sBAAA,EAAS;EAAEH,IAAF;EAAQI,IAAI,EAAE;AAAd,CAAT,CAAd,CAAR,CADF;;;;AAGA,MAAMC,kBAAkB,GAAIC,KAAD,IAAW,IAAAL,eAAA,EAAQ,IAAAC,eAAA,EAAQ,MAAMK,IAAI,CAACC,KAAL,CAAWF,KAAX,CAAd,CAAR,CAAtC;;;;AAEA,MAAMG,sBAAsB,GAAIC,cAAD,IAC7B,OAAOA,cAAP,KAA0B,QAD5B;;;;AAGA,MAAMC,kBAAkB,GAAIC,GAAD,IAAS,CAAC,CAAC,MAAMC,IAAN,CAAWD,GAAX,CAAtC;;;;AAEA,MAAME,gBAAgB,GAAIC,GAAD,IAASA,GAAG,KAAKlB,eAA1C;;;;AAEA,MAAMmB,gCAAgC,GAAIC,kBAAD,IACvCA,kBAAkB,KAAK1B,yBADzB;;;;AAGA,MAAM2B,gBAAgB,GAAIC,CAAD,IAAO;EAC9B,MAAMC,KAAK,GAAGD,CAAC,CAACC,KAAF,CAAQ,wBAAR,CAAd;EAEA,OAAOA,KAAK,IAAIA,KAAK,CAACC,MAAf,IAAyBC,MAAM,CAACF,KAAK,CAACC,MAAN,CAAaE,QAAd,CAAtC;AACD,CAJD;;;;AAMA,MAAMC,qBAAqB,GAAIxB,IAAD,IAAUkB,gBAAgB,CAAClB,IAAD,CAAhB,KAA2B,IAAnE;;;;AAEA,MAAMyB,sBAAsB,GAAIN,CAAD,IAAOA,CAAC,KAAKO,yBAA5C;;;;AAEA,MAAMC,oBAAoB,GAAIC,GAAD,IAASA,GAAG,IAAIA,GAAG,CAACC,UAAJ,CAAeH,yBAAf,CAA7C;;;;AAEA,MAAMI,uBAAuB,GAAIC,QAAD,IAC9BA,QAAQ,CAACC,OAAT,CAAkB,GAAEN,yBAAe,GAAnC,EAAuC,EAAvC,CADF;;;;AAGA,MAAMO,mBAAmB,GAAIC,oBAAD,IAA0B;EACpD,8BAAwCA,oBAAoB,CAACC,KAArB,CAA2B,GAA3B,CAAxC;EAAA,MAAOC,oBAAP;EAAA,MAAgCC,IAAhC;;EACA,MAAMC,KAAK,GAAGpB,gBAAgB,CAACkB,oBAAD,CAA9B;EAEA,OAAO;IACLE,KADK;IAELC,UAAU,EAAED,KAAK,KAAK,IAAV,IAAkBD,IAAI,CAACG,MAAL,GAAc,CAAhC,GAAoCH,IAAI,CAACI,IAAL,CAAU,GAAV,CAApC,GAAqD;EAF5D,CAAP;AAID,CARD;;;;AAUA,MAAMC,6BAA6B,GAAIC,mBAAD,IACpC,IAAAC,WAAA,EAAID,mBAAJ,EAAyBlD,8BAAzB,KACA,IAAAmD,WAAA,EAAID,mBAAJ,EAAyBjD,uCAAzB,CAFF;;;;AAIA,MAAMmD,gCAAgC,GAAIF,mBAAD,KAA0B;EACjEG,qBAAqB,EAAEH,mBAAmB,CAAClD,8BAAD,CADuB;EAEjEsD,kBAAkB,EAChBJ,mBAAmB,CAACjD,uCAAD;AAH4C,CAA1B,CAAzC;;;;AAMA,MAAMsD,oBAAoB,GAAIL,mBAAD,IAC3B,IAAAC,WAAA,EAAID,mBAAJ,EAAyBhD,yBAAzB,KACA,IAAAiD,WAAA,EAAID,mBAAJ,EAAyB/C,4BAAzB,CAFF;;;;AAIA,MAAMqD,uBAAuB,GAAIN,mBAAD,KAA0B;EACxDO,gBAAgB,EAAEP,mBAAmB,CAAChD,yBAAD,CADmB;EAExDwD,YAAY,EAAER,mBAAmB,CAAC/C,4BAAD;AAFuB,CAA1B,CAAhC;;;;AAKA,MAAMwD,oBAAoB,GAAI9C,KAAD,IAC3B,IAAAsC,WAAA,EAAItC,KAAJ,EAAWR,4BAAX,CADF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["unwrap","responseMessageResultPath","transformations","JS_SINGLE_ARG_UNCHANGED","RESPONSE_OBJECT_UNCHANGED","JSON_PATH_ROOT","ARRAY_ITEMS_PATH_PROPERTY_NAME","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","SPREAD_OPERATOR","CONSTANT_VALUE_PROPERTY_NAME"],"sources":["../../../../src/lib/transformations/common.ts"],"sourcesContent":["import { JSON_PATH_ROOT } from './constants';\n\nconst unwrap = ({ responseMessageResultPath }) =>\n `$.${responseMessageResultPath}`;\n\nconst transformations = {\n JS_SINGLE_ARG_UNCHANGED: '$[0]',\n RESPONSE_OBJECT_UNCHANGED: JSON_PATH_ROOT,\n ARRAY_ITEMS_PATH_PROPERTY_NAME: '@path',\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME: '@itemTransformation',\n OMIT_SOURCE_PROPERTY_NAME: '@source',\n FIELDS_TO_OMIT_PROPERTY_NAME: '@omit',\n SPREAD_OPERATOR: '*',\n CONSTANT_VALUE_PROPERTY_NAME: '@constant',\n};\n\nexport { transformations, unwrap };\n"],"mappings":";;;;;AAAA;;AAEA,MAAMA,MAAM,GAAG,CAAC;EAAEC;AAAF,CAAD,KACZ,KAAIA,yBAA0B,EADjC;;;AAGA,MAAMC,eAAe,GAAG;EACtBC,uBAAuB,EAAE,MADH;EAEtBC,yBAAyB,EAAEC,yBAFL;EAGtBC,8BAA8B,EAAE,OAHV;EAItBC,uCAAuC,EAAE,qBAJnB;EAKtBC,yBAAyB,EAAE,SALL;EAMtBC,4BAA4B,EAAE,OANR;EAOtBC,eAAe,EAAE,GAPK;EAQtBC,4BAA4B,EAAE;AARR,CAAxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["visitorTypes","TOP_LEVEL_SIMPLE_TRANSFORMATION","TOP_LEVEL_CUSTOM_FUNCTION","NESTED_UNSUPPORTED_TRANSFORMATION","TOP_LEVEL_UNSUPPORTED_TRANSFORMATION","NESTED_SPREAD","TOP_LEVEL_SPREAD","CUSTOM_FUNCTION","NESTED_SIMPLE_TRANSFORMATION","MAP_ARRAY_ITEMS","TOP_LEVEL_MAP_ARRAY_ITEMS","TOP_LEVEL_OMIT_TRANSFORMATION","NESTED_OMIT_TRANSFORMATION","NESTED_CONSTANT_VALUE","JSON_PATH_ROOT"],"sources":["../../../../src/lib/transformations/constants.ts"],"sourcesContent":["const visitorTypes = {\n TOP_LEVEL_SIMPLE_TRANSFORMATION: 'TopLevelSimpleTransformationExpression',\n TOP_LEVEL_CUSTOM_FUNCTION: 'TopLevelCustomFunctionExpression',\n NESTED_UNSUPPORTED_TRANSFORMATION:\n 'NestedUnsupportedTransformationExpression',\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION:\n 'TopLevelUnsupportedTransformationExpression',\n NESTED_SPREAD: 'NestedSpreadExpression',\n TOP_LEVEL_SPREAD: 'TopLevelSpreadExpression',\n CUSTOM_FUNCTION: 'CustomFunctionExpression',\n NESTED_SIMPLE_TRANSFORMATION: 'NestedSimpleTransformationExpression',\n MAP_ARRAY_ITEMS: 'MapArrayItems',\n TOP_LEVEL_MAP_ARRAY_ITEMS: 'TopLevelMapArrayItems',\n TOP_LEVEL_OMIT_TRANSFORMATION: 'TopLevelOmit',\n NESTED_OMIT_TRANSFORMATION: 'NestedOmit',\n NESTED_CONSTANT_VALUE: 'NestedConstantValue',\n};\n\nconst JSON_PATH_ROOT = '$';\n\nexport { visitorTypes, JSON_PATH_ROOT };\n"],"mappings":";;;;AAAA,MAAMA,YAAY,GAAG;EACnBC,+BAA+B,EAAE,wCADd;EAEnBC,yBAAyB,EAAE,kCAFR;EAGnBC,iCAAiC,EAC/B,2CAJiB;EAKnBC,oCAAoC,EAClC,6CANiB;EAOnBC,aAAa,EAAE,wBAPI;EAQnBC,gBAAgB,EAAE,0BARC;EASnBC,eAAe,EAAE,0BATE;EAUnBC,4BAA4B,EAAE,sCAVX;EAWnBC,eAAe,EAAE,eAXE;EAYnBC,yBAAyB,EAAE,uBAZR;EAanBC,6BAA6B,EAAE,cAbZ;EAcnBC,0BAA0B,EAAE,YAdT;EAenBC,qBAAqB,EAAE;AAfJ,CAArB;;AAkBA,MAAMC,cAAc,GAAG,GAAvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["FUNCTION_CALL_EXPRESSION_REGEX","parseCustomFunctionCall","functionCallExpression","match","argumentExpressions","get","functionName","split","filter","s","map","trim","isFunctionCallExpression","expression","isString","startsWith","runCustomFunctionCallExpression","customFunctions","argumentValues","transformationParentPath","customFunction","Error","error","message","JSON","stringify"],"sources":["../../../../src/lib/transformations/custom-functions.ts"],"sourcesContent":["import { isString, get, trim } from 'lodash';\n\n// eslint-disable-next-line max-len\nconst FUNCTION_CALL_EXPRESSION_REGEX =\n /^#(?<functionName>[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*)\\((?<argumentExpressions>[\\S ]*)\\)$/;\n\nconst parseCustomFunctionCall = (functionCallExpression) => {\n const match = functionCallExpression.match(FUNCTION_CALL_EXPRESSION_REGEX);\n\n const argumentExpressions = get(match, 'groups.argumentExpressions', null);\n\n return {\n functionName: get(match, 'groups.functionName', null),\n argumentExpressions:\n argumentExpressions === null\n ? argumentExpressions\n : argumentExpressions\n .split(',')\n .filter((s) => s)\n .map(trim),\n };\n};\n\nconst isFunctionCallExpression = (expression) =>\n isString(expression) && expression.startsWith('#');\n\nconst runCustomFunctionCallExpression = ({\n customFunctions,\n functionName,\n argumentValues = [],\n transformationParentPath,\n}: {\n customFunctions: any;\n functionName: string;\n argumentValues: string[];\n transformationParentPath: string;\n}) => {\n const customFunction = get(customFunctions, functionName);\n\n if (!customFunction) {\n throw new Error(`unrecognized custom function \"${functionName}\"`);\n }\n\n try {\n return customFunction(...argumentValues);\n } catch (error: any) {\n throw new Error(\n `Transforming ${transformationParentPath} failed, #${functionName} threw: \"${\n error.message\n }\" for arguments: ${JSON.stringify(argumentValues)}`,\n );\n }\n};\n\nexport {\n parseCustomFunctionCall,\n isFunctionCallExpression,\n runCustomFunctionCallExpression,\n};\n"],"mappings":";;;;;AAAA;;AAEA;AACA,MAAMA,8BAA8B,GAClC,qFADF;;AAGA,MAAMC,uBAAuB,GAAIC,sBAAD,IAA4B;EAC1D,MAAMC,KAAK,GAAGD,sBAAsB,CAACC,KAAvB,CAA6BH,8BAA7B,CAAd;EAEA,MAAMI,mBAAmB,GAAG,IAAAC,WAAA,EAAIF,KAAJ,EAAW,4BAAX,EAAyC,IAAzC,CAA5B;EAEA,OAAO;IACLG,YAAY,EAAE,IAAAD,WAAA,EAAIF,KAAJ,EAAW,qBAAX,EAAkC,IAAlC,CADT;IAELC,mBAAmB,EACjBA,mBAAmB,KAAK,IAAxB,GACIA,mBADJ,GAEIA,mBAAmB,CAChBG,KADH,CACS,GADT,EAEGC,MAFH,CAEWC,CAAD,IAAOA,CAFjB,EAGGC,GAHH,CAGOC,YAHP;EALD,CAAP;AAUD,CAfD;;;;AAiBA,MAAMC,wBAAwB,GAAIC,UAAD,IAC/B,IAAAC,gBAAA,EAASD,UAAT,KAAwBA,UAAU,CAACE,UAAX,CAAsB,GAAtB,CAD1B;;;;AAGA,MAAMC,+BAA+B,GAAG,CAAC;EACvCC,eADuC;EAEvCX,YAFuC;EAGvCY,cAAc,GAAG,EAHsB;EAIvCC;AAJuC,CAAD,KAUlC;EACJ,MAAMC,cAAc,GAAG,IAAAf,WAAA,EAAIY,eAAJ,EAAqBX,YAArB,CAAvB;;EAEA,IAAI,CAACc,cAAL,EAAqB;IACnB,MAAM,IAAIC,KAAJ,CAAW,iCAAgCf,YAAa,GAAxD,CAAN;EACD;;EAED,IAAI;IACF,OAAOc,cAAc,CAAC,GAAGF,cAAJ,CAArB;EACD,CAFD,CAEE,OAAOI,KAAP,EAAmB;IACnB,MAAM,IAAID,KAAJ,CACH,gBAAeF,wBAAyB,aAAYb,YAAa,YAChEgB,KAAK,CAACC,OACP,oBAAmBC,IAAI,CAACC,SAAL,CAAeP,cAAf,CAA+B,EAH/C,CAAN;EAKD;AACF,CA1BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/transformations/preset/create.ts"],"
|
|
1
|
+
{"version":3,"names":["buildRequestTransformation","requestMessageEntityPath","set"],"sources":["../../../../../src/lib/transformations/preset/create.ts"],"sourcesContent":["import { set } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst buildRequestTransformation = ({ requestMessageEntityPath }) =>\n set({}, requestMessageEntityPath, '$[0]');\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,0BAA0B,GAAG,CAAC;EAAEC;AAAF,CAAD,KACjC,IAAAC,WAAA,EAAI,EAAJ,EAAQD,wBAAR,EAAkC,MAAlC,CADF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["RESPONSE_OBJECT_UNCHANGED","transformations","contains","longerPath","shorterPath","startsWith","segmentCount","buildRequestTransformation","requestMessageIdentifierPath","requestMessageOptionsPath","transformed","set","merge","buildResponseTransformation"],"sources":["../../../../../src/lib/transformations/preset/delete.ts"],"sourcesContent":["import { segmentCount } from '@wix/motion-edm-autogen-common';\nimport { set, merge } from 'lodash';\nimport { transformations } from '../common';\n\nconst { RESPONSE_OBJECT_UNCHANGED } = transformations;\n\nconst contains = (longerPath, shorterPath) =>\n longerPath.startsWith(shorterPath) &&\n segmentCount(longerPath) === segmentCount(shorterPath) + 1;\n\nconst buildRequestTransformation = ({\n requestMessageIdentifierPath,\n requestMessageOptionsPath,\n}) => {\n const transformed = set({}, requestMessageIdentifierPath, '$[0]');\n\n if (requestMessageOptionsPath) {\n if (contains(requestMessageIdentifierPath, requestMessageOptionsPath)) {\n return merge(transformed, {\n [requestMessageOptionsPath]: { '*': '$[1]' },\n });\n }\n\n return set(transformed, requestMessageOptionsPath, '$[1]');\n }\n\n return transformed;\n};\n\nconst buildResponseTransformation = () => RESPONSE_OBJECT_UNCHANGED;\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA,MAAQA,yBAAR,GAAsCC,uBAAtC,CAAQD,yBAAR;;AAEA,MAAME,QAAQ,GAAG,CAACC,UAAD,EAAaC,WAAb,KACfD,UAAU,CAACE,UAAX,CAAsBD,WAAtB,KACA,IAAAE,oCAAA,EAAaH,UAAb,MAA6B,IAAAG,oCAAA,EAAaF,WAAb,IAA4B,CAF3D;;AAIA,MAAMG,0BAA0B,GAAG,CAAC;EAClCC,4BADkC;EAElCC;AAFkC,CAAD,KAG7B;EACJ,MAAMC,WAAW,GAAG,IAAAC,WAAA,EAAI,EAAJ,EAAQH,4BAAR,EAAsC,MAAtC,CAApB;;EAEA,IAAIC,yBAAJ,EAA+B;IAC7B,IAAIP,QAAQ,CAACM,4BAAD,EAA+BC,yBAA/B,CAAZ,EAAuE;MACrE,OAAO,IAAAG,aAAA,EAAMF,WAAN,EAAmB;QACxB,CAACD,yBAAD,GAA6B;UAAE,KAAK;QAAP;MADL,CAAnB,CAAP;IAGD;;IAED,OAAO,IAAAE,WAAA,EAAID,WAAJ,EAAiBD,yBAAjB,EAA4C,MAA5C,CAAP;EACD;;EAED,OAAOC,WAAP;AACD,CAjBD;;;;AAmBA,MAAMG,2BAA2B,GAAG,MAAMb,yBAA1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/transformations/preset/get.ts"],"
|
|
1
|
+
{"version":3,"names":["buildRequestTransformation","requestMessageIdentifierPath","set"],"sources":["../../../../../src/lib/transformations/preset/get.ts"],"sourcesContent":["import { set } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst buildRequestTransformation = ({ requestMessageIdentifierPath }) =>\n set({}, requestMessageIdentifierPath, '$[0]');\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,0BAA0B,GAAG,CAAC;EAAEC;AAAF,CAAD,KACjC,IAAAC,WAAA,EAAI,EAAJ,EAAQD,4BAAR,EAAsC,MAAtC,CADF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["buildRequestTransformation","transformations","JS_SINGLE_ARG_UNCHANGED"],"sources":["../../../../../src/lib/transformations/preset/list.ts"],"sourcesContent":["import {\n unwrap as buildResponseTransformation,\n transformations,\n} from '../common';\n\nconst buildRequestTransformation = () =>\n transformations.JS_SINGLE_ARG_UNCHANGED;\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"],"mappings":";;;;;AAAA;;;;AAKA,MAAMA,0BAA0B,GAAG,MACjCC,uBAAA,CAAgBC,uBADlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME","constants","ITEMS_RESULT_PROPERTY_NAME","PAGING_METADATA_RESULT_PROPERTY_NAME","buildRequestTransformation","requestQueryObjectPropertyName","buildResponseTransformation","responseMessageResultPath","responseMessagePagingMetadataPath","itemTransformation"],"sources":["../../../../../src/lib/transformations/preset/query.ts"],"sourcesContent":["import { constants } from '@wix/motion-edm-autogen-common';\nimport { transformations } from '../common';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n} = transformations;\nconst { DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME } = constants;\n\nconst ITEMS_RESULT_PROPERTY_NAME = 'items';\nconst PAGING_METADATA_RESULT_PROPERTY_NAME = 'pagingMetadata';\n\nconst buildRequestTransformation = ({\n requestQueryObjectPropertyName = DEFAULT_REQUEST_QUERY_OBJECT_PROPERTY_NAME,\n} = {}) => ({\n [requestQueryObjectPropertyName]: '$[0]',\n '*': '$[1]',\n});\n\nconst buildResponseTransformation = ({\n responseMessageResultPath,\n responseMessagePagingMetadataPath,\n itemTransformation,\n}) => ({\n [ITEMS_RESULT_PROPERTY_NAME]: itemTransformation\n ? {\n [ARRAY_ITEMS_PATH_PROPERTY_NAME]: `$.${responseMessageResultPath}`,\n [ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME]: itemTransformation,\n }\n : `$.${responseMessageResultPath}`,\n [PAGING_METADATA_RESULT_PROPERTY_NAME]: `$.${responseMessagePagingMetadataPath}`,\n});\n\nexport {\n buildRequestTransformation,\n buildResponseTransformation,\n ITEMS_RESULT_PROPERTY_NAME,\n PAGING_METADATA_RESULT_PROPERTY_NAME,\n};\n"],"mappings":";;;;;AAAA;;AACA;;AAEA,MACEA,8BADF,GAGIC,uBAHJ,CACED,8BADF;AAAA,MAEEE,uCAFF,GAGID,uBAHJ,CAEEC,uCAFF;AAIA,MAAQC,0CAAR,GAAuDC,iCAAvD,CAAQD,0CAAR;AAEA,MAAME,0BAA0B,GAAG,OAAnC;;AACA,MAAMC,oCAAoC,GAAG,gBAA7C;;;AAEA,MAAMC,0BAA0B,GAAG,CAAC;EAClCC,8BAA8B,GAAGL;AADC,IAEhC,EAF+B,MAEvB;EACV,CAACK,8BAAD,GAAkC,MADxB;EAEV,KAAK;AAFK,CAFuB,CAAnC;;;;AAOA,MAAMC,2BAA2B,GAAG,CAAC;EACnCC,yBADmC;EAEnCC,iCAFmC;EAGnCC;AAHmC,CAAD,MAI7B;EACL,CAACP,0BAAD,GAA8BO,kBAAkB,GAC5C;IACE,CAACZ,8BAAD,GAAmC,KAAIU,yBAA0B,EADnE;IAEE,CAACR,uCAAD,GAA2CU;EAF7C,CAD4C,GAK3C,KAAIF,yBAA0B,EAN9B;EAOL,CAACJ,oCAAD,GAAyC,KAAIK,iCAAkC;AAP1E,CAJ6B,CAApC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["objectWithNestedPath","path","value","set","buildRequestTransformation","requestMessageEntityIdentifierField","requestMessageEntityPath","requestMessageOptionsPath","transformation","merge"],"sources":["../../../../../src/lib/transformations/preset/update.ts"],"sourcesContent":["import { set, merge } from 'lodash';\nimport { unwrap as buildResponseTransformation } from '../common';\n\nconst objectWithNestedPath = (path, value) => set({}, path, value);\n\nconst buildRequestTransformation = ({\n requestMessageEntityIdentifierField,\n requestMessageEntityPath,\n requestMessageOptionsPath,\n}) => {\n const transformation = objectWithNestedPath(\n `${requestMessageEntityPath}.${requestMessageEntityIdentifierField}`,\n '$[0]',\n );\n\n if (requestMessageOptionsPath) {\n if (requestMessageOptionsPath === requestMessageEntityPath) {\n return merge(\n transformation,\n objectWithNestedPath(requestMessageOptionsPath, {\n '*': ['$[1]', '$[2]'],\n }),\n );\n }\n\n set(transformation, requestMessageOptionsPath, '$[2]');\n }\n\n return merge(\n {},\n transformation,\n objectWithNestedPath(requestMessageEntityPath, { '*': '$[1]' }),\n );\n};\n\nexport { buildRequestTransformation, buildResponseTransformation };\n"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,oBAAoB,GAAG,CAACC,IAAD,EAAOC,KAAP,KAAiB,IAAAC,WAAA,EAAI,EAAJ,EAAQF,IAAR,EAAcC,KAAd,CAA9C;;AAEA,MAAME,0BAA0B,GAAG,CAAC;EAClCC,mCADkC;EAElCC,wBAFkC;EAGlCC;AAHkC,CAAD,KAI7B;EACJ,MAAMC,cAAc,GAAGR,oBAAoB,CACxC,GAAEM,wBAAyB,IAAGD,mCAAoC,EAD1B,EAEzC,MAFyC,CAA3C;;EAKA,IAAIE,yBAAJ,EAA+B;IAC7B,IAAIA,yBAAyB,KAAKD,wBAAlC,EAA4D;MAC1D,OAAO,IAAAG,aAAA,EACLD,cADK,EAELR,oBAAoB,CAACO,yBAAD,EAA4B;QAC9C,KAAK,CAAC,MAAD,EAAS,MAAT;MADyC,CAA5B,CAFf,CAAP;IAMD;;IAED,IAAAJ,WAAA,EAAIK,cAAJ,EAAoBD,yBAApB,EAA+C,MAA/C;EACD;;EAED,OAAO,IAAAE,aAAA,EACL,EADK,EAELD,cAFK,EAGLR,oBAAoB,CAACM,wBAAD,EAA2B;IAAE,KAAK;EAAP,CAA3B,CAHf,CAAP;AAKD,CA5BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/transformations/reduceTransformation.ts"],"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","CONSTANT_VALUE_PROPERTY_NAME","TOP_LEVEL_SIMPLE_TRANSFORMATION","visitorTypes","TOP_LEVEL_CUSTOM_FUNCTION","TOP_LEVEL_SPREAD","NESTED_SPREAD","NESTED_UNSUPPORTED_TRANSFORMATION","TOP_LEVEL_UNSUPPORTED_TRANSFORMATION","CUSTOM_FUNCTION","NESTED_SIMPLE_TRANSFORMATION","MAP_ARRAY_ITEMS","TOP_LEVEL_MAP_ARRAY_ITEMS","TOP_LEVEL_OMIT_TRANSFORMATION","NESTED_OMIT_TRANSFORMATION","NESTED_CONSTANT_VALUE","safeResolveDefaultExport","module","isEsModule","__esModule","default","deepForEach","deepForEachModule","withoutSpreadOperatorKeys","obj","Object","keys","filter","k","safeInvokeVisitor","visitors","name","args","visitor","reduceComplexTransformation","transformation","accumulator","terminalPaths","addTerminals","path","leaves","length","forEach","leaf","push","join","value","key","_","tp","startsWith","spreadOperatorParentPath","replace","values","item","siblingKeys","sourceExpression","fieldsToOmit","sourceArrayExpression","itemTransformation","functionName","argumentExpressions","reduceTransformation"],"mappings":"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","sourcesContent":["import deepForEachModule from 'deep-for-each';\nimport { get, isString, isArray, some } from 'lodash';\nimport {\n isSpreadOperator,\n isSimpleTransformation,\n isMapArrayItemsTransformation,\n parseMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isJsonPathExpression,\n isConstantExpression,\n} from '../helpers';\nimport { transformations } from './common';\nimport { visitorTypes } from './constants';\nimport {\n parseCustomFunctionCall,\n isFunctionCallExpression,\n} from './custom-functions';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n CONSTANT_VALUE_PROPERTY_NAME,\n} = transformations;\n\nconst {\n TOP_LEVEL_SIMPLE_TRANSFORMATION,\n TOP_LEVEL_CUSTOM_FUNCTION,\n TOP_LEVEL_SPREAD,\n NESTED_SPREAD,\n NESTED_UNSUPPORTED_TRANSFORMATION,\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION,\n CUSTOM_FUNCTION,\n NESTED_SIMPLE_TRANSFORMATION,\n MAP_ARRAY_ITEMS,\n TOP_LEVEL_MAP_ARRAY_ITEMS,\n TOP_LEVEL_OMIT_TRANSFORMATION,\n NESTED_OMIT_TRANSFORMATION,\n NESTED_CONSTANT_VALUE,\n} = visitorTypes;\n\nconst safeResolveDefaultExport = (module) => {\n const isEsModule = module && module.__esModule && module.default;\n\n return isEsModule ? module.default : module;\n};\n\nconst deepForEach = safeResolveDefaultExport(deepForEachModule);\n\nconst withoutSpreadOperatorKeys = (obj) =>\n Object.keys(obj).filter((k) => !isSpreadOperator(k));\n\nconst safeInvokeVisitor = (visitors, name, ...args) => {\n const visitor = get(visitors, name);\n\n return visitor && visitor(...args);\n};\n\nconst reduceComplexTransformation = (\n transformation,\n { visitors, accumulator },\n) => {\n const terminalPaths: any[] = [];\n const addTerminals = (path, leaves: any[] = []) =>\n leaves.length > 0\n ? leaves.forEach((leaf) => terminalPaths.push([path, leaf].join('.')))\n : terminalPaths.push(path);\n\n deepForEach(transformation, (value, key, _, path) => {\n if (some(terminalPaths, (tp) => path.startsWith(tp))) {\n return;\n }\n\n if (isSpreadOperator(key)) {\n addTerminals(path);\n\n const spreadOperatorParentPath = path.replace(/\\.?\\*/, '');\n\n const values = !isArray(value) ? [value] : value;\n\n values.forEach((item) => {\n if (spreadOperatorParentPath === '') {\n const siblingKeys = withoutSpreadOperatorKeys(transformation);\n safeInvokeVisitor(\n visitors,\n TOP_LEVEL_SPREAD,\n accumulator,\n item,\n siblingKeys,\n );\n } else {\n const siblingKeys = withoutSpreadOperatorKeys(\n get(transformation, spreadOperatorParentPath),\n );\n safeInvokeVisitor(\n visitors,\n NESTED_SPREAD,\n accumulator,\n spreadOperatorParentPath,\n item,\n siblingKeys,\n );\n }\n });\n\n return;\n }\n\n if (isOmitTransformation(value)) {\n addTerminals(path, [\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n ]);\n const { sourceExpression, fieldsToOmit } = parseOmitTransformation(value);\n\n safeInvokeVisitor(\n visitors,\n NESTED_OMIT_TRANSFORMATION,\n accumulator,\n path,\n sourceExpression,\n fieldsToOmit,\n );\n\n return;\n }\n\n if (isMapArrayItemsTransformation(value)) {\n addTerminals(path, [\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n ]);\n\n const { sourceArrayExpression, itemTransformation } =\n parseMapArrayItemsTransformation(value);\n\n safeInvokeVisitor(\n visitors,\n MAP_ARRAY_ITEMS,\n accumulator,\n path,\n sourceArrayExpression,\n itemTransformation,\n );\n\n return;\n }\n\n if (isFunctionCallExpression(value)) {\n const { functionName, argumentExpressions } =\n parseCustomFunctionCall(value);\n\n safeInvokeVisitor(\n visitors,\n CUSTOM_FUNCTION,\n accumulator,\n path,\n functionName,\n argumentExpressions,\n value,\n );\n\n return;\n }\n\n if (isConstantExpression(value)) {\n addTerminals(path, [CONSTANT_VALUE_PROPERTY_NAME]);\n\n safeInvokeVisitor(visitors, NESTED_CONSTANT_VALUE, {\n accumulator,\n path,\n value: value[CONSTANT_VALUE_PROPERTY_NAME],\n });\n\n return;\n }\n\n if (isString(value)) {\n if (isJsonPathExpression(value)) {\n safeInvokeVisitor(\n visitors,\n NESTED_SIMPLE_TRANSFORMATION,\n accumulator,\n path,\n value,\n );\n } else {\n safeInvokeVisitor(\n visitors,\n NESTED_UNSUPPORTED_TRANSFORMATION,\n accumulator,\n path,\n value,\n );\n }\n }\n });\n\n return accumulator;\n};\n\nconst reduceTransformation = (\n transformation,\n { visitors, accumulator }: { visitors: any; accumulator?: any },\n) => {\n if (isSimpleTransformation(transformation)) {\n switch (true) {\n case isJsonPathExpression(transformation):\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_SIMPLE_TRANSFORMATION,\n transformation,\n );\n\n case isFunctionCallExpression(transformation): {\n const { functionName, argumentExpressions } =\n parseCustomFunctionCall(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_CUSTOM_FUNCTION,\n functionName,\n argumentExpressions,\n transformation,\n );\n }\n\n default:\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION,\n transformation,\n );\n }\n }\n\n if (isOmitTransformation(transformation)) {\n const { sourceExpression, fieldsToOmit } =\n parseOmitTransformation(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_OMIT_TRANSFORMATION,\n sourceExpression,\n fieldsToOmit,\n );\n }\n\n if (isMapArrayItemsTransformation(transformation)) {\n const { sourceArrayExpression, itemTransformation } =\n parseMapArrayItemsTransformation(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_MAP_ARRAY_ITEMS,\n sourceArrayExpression,\n itemTransformation,\n );\n }\n\n return reduceComplexTransformation(transformation, { visitors, accumulator });\n};\n\nexport { reduceTransformation };\n"]}
|
|
1
|
+
{"version":3,"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","OMIT_SOURCE_PROPERTY_NAME","FIELDS_TO_OMIT_PROPERTY_NAME","CONSTANT_VALUE_PROPERTY_NAME","TOP_LEVEL_SIMPLE_TRANSFORMATION","visitorTypes","TOP_LEVEL_CUSTOM_FUNCTION","TOP_LEVEL_SPREAD","NESTED_SPREAD","NESTED_UNSUPPORTED_TRANSFORMATION","TOP_LEVEL_UNSUPPORTED_TRANSFORMATION","CUSTOM_FUNCTION","NESTED_SIMPLE_TRANSFORMATION","MAP_ARRAY_ITEMS","TOP_LEVEL_MAP_ARRAY_ITEMS","TOP_LEVEL_OMIT_TRANSFORMATION","NESTED_OMIT_TRANSFORMATION","NESTED_CONSTANT_VALUE","safeResolveDefaultExport","module","isEsModule","__esModule","default","deepForEach","deepForEachModule","withoutSpreadOperatorKeys","obj","Object","keys","filter","k","isSpreadOperator","safeInvokeVisitor","visitors","name","args","visitor","get","reduceComplexTransformation","transformation","accumulator","terminalPaths","addTerminals","path","leaves","length","forEach","leaf","push","join","value","key","_","some","tp","startsWith","spreadOperatorParentPath","replace","values","isArray","item","siblingKeys","isOmitTransformation","parseOmitTransformation","sourceExpression","fieldsToOmit","isMapArrayItemsTransformation","parseMapArrayItemsTransformation","sourceArrayExpression","itemTransformation","isFunctionCallExpression","parseCustomFunctionCall","functionName","argumentExpressions","isConstantExpression","isString","isJsonPathExpression","reduceTransformation","isSimpleTransformation"],"sources":["../../../../src/lib/transformations/reduceTransformation.ts"],"sourcesContent":["import deepForEachModule from 'deep-for-each';\nimport { get, isString, isArray, some } from 'lodash';\nimport {\n isSpreadOperator,\n isSimpleTransformation,\n isMapArrayItemsTransformation,\n parseMapArrayItemsTransformation,\n isOmitTransformation,\n parseOmitTransformation,\n isJsonPathExpression,\n isConstantExpression,\n} from '../helpers';\nimport { transformations } from './common';\nimport { visitorTypes } from './constants';\nimport {\n parseCustomFunctionCall,\n isFunctionCallExpression,\n} from './custom-functions';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n CONSTANT_VALUE_PROPERTY_NAME,\n} = transformations;\n\nconst {\n TOP_LEVEL_SIMPLE_TRANSFORMATION,\n TOP_LEVEL_CUSTOM_FUNCTION,\n TOP_LEVEL_SPREAD,\n NESTED_SPREAD,\n NESTED_UNSUPPORTED_TRANSFORMATION,\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION,\n CUSTOM_FUNCTION,\n NESTED_SIMPLE_TRANSFORMATION,\n MAP_ARRAY_ITEMS,\n TOP_LEVEL_MAP_ARRAY_ITEMS,\n TOP_LEVEL_OMIT_TRANSFORMATION,\n NESTED_OMIT_TRANSFORMATION,\n NESTED_CONSTANT_VALUE,\n} = visitorTypes;\n\nconst safeResolveDefaultExport = (module) => {\n const isEsModule = module && module.__esModule && module.default;\n\n return isEsModule ? module.default : module;\n};\n\nconst deepForEach = safeResolveDefaultExport(deepForEachModule);\n\nconst withoutSpreadOperatorKeys = (obj) =>\n Object.keys(obj).filter((k) => !isSpreadOperator(k));\n\nconst safeInvokeVisitor = (visitors, name, ...args) => {\n const visitor = get(visitors, name);\n\n return visitor && visitor(...args);\n};\n\nconst reduceComplexTransformation = (\n transformation,\n { visitors, accumulator },\n) => {\n const terminalPaths: any[] = [];\n const addTerminals = (path, leaves: any[] = []) =>\n leaves.length > 0\n ? leaves.forEach((leaf) => terminalPaths.push([path, leaf].join('.')))\n : terminalPaths.push(path);\n\n deepForEach(transformation, (value, key, _, path) => {\n if (some(terminalPaths, (tp) => path.startsWith(tp))) {\n return;\n }\n\n if (isSpreadOperator(key)) {\n addTerminals(path);\n\n const spreadOperatorParentPath = path.replace(/\\.?\\*/, '');\n\n const values = !isArray(value) ? [value] : value;\n\n values.forEach((item) => {\n if (spreadOperatorParentPath === '') {\n const siblingKeys = withoutSpreadOperatorKeys(transformation);\n safeInvokeVisitor(\n visitors,\n TOP_LEVEL_SPREAD,\n accumulator,\n item,\n siblingKeys,\n );\n } else {\n const siblingKeys = withoutSpreadOperatorKeys(\n get(transformation, spreadOperatorParentPath),\n );\n safeInvokeVisitor(\n visitors,\n NESTED_SPREAD,\n accumulator,\n spreadOperatorParentPath,\n item,\n siblingKeys,\n );\n }\n });\n\n return;\n }\n\n if (isOmitTransformation(value)) {\n addTerminals(path, [\n OMIT_SOURCE_PROPERTY_NAME,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n ]);\n const { sourceExpression, fieldsToOmit } = parseOmitTransformation(value);\n\n safeInvokeVisitor(\n visitors,\n NESTED_OMIT_TRANSFORMATION,\n accumulator,\n path,\n sourceExpression,\n fieldsToOmit,\n );\n\n return;\n }\n\n if (isMapArrayItemsTransformation(value)) {\n addTerminals(path, [\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n ]);\n\n const { sourceArrayExpression, itemTransformation } =\n parseMapArrayItemsTransformation(value);\n\n safeInvokeVisitor(\n visitors,\n MAP_ARRAY_ITEMS,\n accumulator,\n path,\n sourceArrayExpression,\n itemTransformation,\n );\n\n return;\n }\n\n if (isFunctionCallExpression(value)) {\n const { functionName, argumentExpressions } =\n parseCustomFunctionCall(value);\n\n safeInvokeVisitor(\n visitors,\n CUSTOM_FUNCTION,\n accumulator,\n path,\n functionName,\n argumentExpressions,\n value,\n );\n\n return;\n }\n\n if (isConstantExpression(value)) {\n addTerminals(path, [CONSTANT_VALUE_PROPERTY_NAME]);\n\n safeInvokeVisitor(visitors, NESTED_CONSTANT_VALUE, {\n accumulator,\n path,\n value: value[CONSTANT_VALUE_PROPERTY_NAME],\n });\n\n return;\n }\n\n if (isString(value)) {\n if (isJsonPathExpression(value)) {\n safeInvokeVisitor(\n visitors,\n NESTED_SIMPLE_TRANSFORMATION,\n accumulator,\n path,\n value,\n );\n } else {\n safeInvokeVisitor(\n visitors,\n NESTED_UNSUPPORTED_TRANSFORMATION,\n accumulator,\n path,\n value,\n );\n }\n }\n });\n\n return accumulator;\n};\n\nconst reduceTransformation = (\n transformation,\n { visitors, accumulator }: { visitors: any; accumulator?: any },\n) => {\n if (isSimpleTransformation(transformation)) {\n switch (true) {\n case isJsonPathExpression(transformation):\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_SIMPLE_TRANSFORMATION,\n transformation,\n );\n\n case isFunctionCallExpression(transformation): {\n const { functionName, argumentExpressions } =\n parseCustomFunctionCall(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_CUSTOM_FUNCTION,\n functionName,\n argumentExpressions,\n transformation,\n );\n }\n\n default:\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_UNSUPPORTED_TRANSFORMATION,\n transformation,\n );\n }\n }\n\n if (isOmitTransformation(transformation)) {\n const { sourceExpression, fieldsToOmit } =\n parseOmitTransformation(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_OMIT_TRANSFORMATION,\n sourceExpression,\n fieldsToOmit,\n );\n }\n\n if (isMapArrayItemsTransformation(transformation)) {\n const { sourceArrayExpression, itemTransformation } =\n parseMapArrayItemsTransformation(transformation);\n\n return safeInvokeVisitor(\n visitors,\n TOP_LEVEL_MAP_ARRAY_ITEMS,\n sourceArrayExpression,\n itemTransformation,\n );\n }\n\n return reduceComplexTransformation(transformation, { visitors, accumulator });\n};\n\nexport { reduceTransformation };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["OMIT_SOURCE_PROPERTY_NAME","transformations","FIELDS_TO_OMIT_PROPERTY_NAME","validationError","description","value","parentPath","invalidValue","validateOmitTransformation","source","fieldsToOmit","validateSource","validationErrors","currentPath","omitSourcePropertyPath","join","push","map","sourceValidationError","fieldsToOmitPropertyPath","isArray","every","isString","some","omitPathSegment","segmentCount"],"sources":["../../../../../src/lib/transformations/validations/common.ts"],"sourcesContent":["import { segmentCount } from '@wix/motion-edm-autogen-common';\nimport { some, isArray, isString, every } from 'lodash';\n\nimport { transformations } from '../common';\n\nconst { OMIT_SOURCE_PROPERTY_NAME, FIELDS_TO_OMIT_PROPERTY_NAME } =\n transformations;\n\nconst validationError = (description, value, parentPath: any = null) => ({\n invalidValue: value,\n description,\n parentPath,\n});\n\nconst validateOmitTransformation = ({\n source,\n fieldsToOmit,\n validateSource,\n parentPath = null,\n}) => {\n const validationErrors: any[] = [];\n const currentPath = parentPath ? [parentPath] : [];\n const omitSourcePropertyPath = [\n ...currentPath,\n OMIT_SOURCE_PROPERTY_NAME,\n ].join('.');\n\n validationErrors.push(\n ...validateSource(source).validationErrors.map((sourceValidationError) => ({\n ...sourceValidationError,\n parentPath: omitSourcePropertyPath,\n })),\n );\n\n const fieldsToOmitPropertyPath = [\n ...currentPath,\n FIELDS_TO_OMIT_PROPERTY_NAME,\n ].join('.');\n\n if (!isArray(fieldsToOmit) || !every(fieldsToOmit, isString)) {\n validationErrors.push(\n validationError(\n 'must be an array of strings',\n fieldsToOmit,\n fieldsToOmitPropertyPath,\n ),\n );\n\n return validationErrors;\n }\n\n if (\n some(fieldsToOmit, (omitPathSegment) => segmentCount(omitPathSegment) > 1)\n ) {\n validationErrors.push(\n validationError(\n 'must contain non-nested paths only',\n fieldsToOmit,\n fieldsToOmitPropertyPath,\n ),\n );\n }\n\n return validationErrors;\n};\n\nexport { validationError, validateOmitTransformation };\n"],"mappings":";;;;;AAAA;;AACA;;AAEA;;AAEA,MAAQA,yBAAR,GACEC,uBADF,CAAQD,yBAAR;AAAA,MAAmCE,4BAAnC,GACED,uBADF,CAAmCC,4BAAnC;;AAGA,MAAMC,eAAe,GAAG,CAACC,WAAD,EAAcC,KAAd,EAAqBC,UAAe,GAAG,IAAvC,MAAiD;EACvEC,YAAY,EAAEF,KADyD;EAEvED,WAFuE;EAGvEE;AAHuE,CAAjD,CAAxB;;;;AAMA,MAAME,0BAA0B,GAAG,CAAC;EAClCC,MADkC;EAElCC,YAFkC;EAGlCC,cAHkC;EAIlCL,UAAU,GAAG;AAJqB,CAAD,KAK7B;EACJ,MAAMM,gBAAuB,GAAG,EAAhC;EACA,MAAMC,WAAW,GAAGP,UAAU,GAAG,CAACA,UAAD,CAAH,GAAkB,EAAhD;EACA,MAAMQ,sBAAsB,GAAG,CAC7B,GAAGD,WAD0B,EAE7Bb,yBAF6B,EAG7Be,IAH6B,CAGxB,GAHwB,CAA/B;EAKAH,gBAAgB,CAACI,IAAjB,CACE,GAAGL,cAAc,CAACF,MAAD,CAAd,CAAuBG,gBAAvB,CAAwCK,GAAxC,CAA6CC,qBAAD,KAA4B,EACzE,GAAGA,qBADsE;IAEzEZ,UAAU,EAAEQ;EAF6D,CAA5B,CAA5C,CADL;EAOA,MAAMK,wBAAwB,GAAG,CAC/B,GAAGN,WAD4B,EAE/BX,4BAF+B,EAG/Ba,IAH+B,CAG1B,GAH0B,CAAjC;;EAKA,IAAI,CAAC,IAAAK,eAAA,EAAQV,YAAR,CAAD,IAA0B,CAAC,IAAAW,aAAA,EAAMX,YAAN,EAAoBY,gBAApB,CAA/B,EAA8D;IAC5DV,gBAAgB,CAACI,IAAjB,CACEb,eAAe,CACb,6BADa,EAEbO,YAFa,EAGbS,wBAHa,CADjB;IAQA,OAAOP,gBAAP;EACD;;EAED,IACE,IAAAW,YAAA,EAAKb,YAAL,EAAoBc,eAAD,IAAqB,IAAAC,oCAAA,EAAaD,eAAb,IAAgC,CAAxE,CADF,EAEE;IACAZ,gBAAgB,CAACI,IAAjB,CACEb,eAAe,CACb,oCADa,EAEbO,YAFa,EAGbS,wBAHa,CADjB;EAOD;;EAED,OAAOP,gBAAP;AACD,CAlDD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/transformations/validations/validateRequestTransformation.ts"],"names":["validateSimpleTransformation","simpleTransformation","path","validationErrors","transformationSegments","split","firstSegment","filter","isReservedCommonFieldName","forEach","invalidName","push","isSpreadOperator","hasValidArgumentIndex","length","validateRequestTransformation","transformation","errors","visitors","TopLevelSimpleTransformationExpression","CustomFunctionExpression","acc","functionName","argumentExpressions","rawExpression","argumentExpression","nestedPathSegments","nestedPathSegment","NestedSimpleTransformationExpression","simpleTransformationExpression","lastPathSegment","parentPath","NestedUnsupportedTransformationExpression","value","TopLevelUnsupportedTransformationExpression","unsupportedTransformation","TopLevelOmit","source","fieldsToOmit","validateSource","NestedOmit","accumulator","isValid"],"mappings":"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","sourcesContent":["import {\n parentPathOf,\n lastPathSegmentOf,\n} from '@wix/motion-edm-autogen-common';\nimport { filter, some } from 'lodash';\nimport { isReservedCommonFieldName, toCorvidName } from '../../corvid-entity';\nimport {\n isInvalidJsonPath,\n hasValidArgumentIndex,\n isSpreadOperator,\n isInvalidJsonValue,\n} from '../../helpers';\nimport { isFunctionCallExpression } from '../custom-functions';\nimport { reduceTransformation } from '../reduceTransformation';\nimport { validationError, validateOmitTransformation } from './common';\n\nconst validateSimpleTransformation = (simpleTransformation, path = null) => {\n const validationErrors: any[] = [];\n const transformationSegments = simpleTransformation.split('.');\n const [firstSegment] = transformationSegments;\n\n transformationSegments\n .filter(isReservedCommonFieldName)\n .forEach((invalidName) =>\n validationErrors.push(\n validationError(\n `cannot refer to ${invalidName} field, consider using ${toCorvidName(\n invalidName,\n )} instead`,\n simpleTransformation,\n path,\n ),\n ),\n );\n\n if (some(transformationSegments, isSpreadOperator)) {\n validationErrors.push(\n validationError(\n 'cannot refer to the * operator',\n simpleTransformation,\n path,\n ),\n );\n }\n\n if (!hasValidArgumentIndex(firstSegment)) {\n validationErrors.push(\n validationError(\n 'must start with $[N] where N is an index',\n simpleTransformation,\n path,\n ),\n );\n }\n\n if (filter(transformationSegments, hasValidArgumentIndex).length > 1) {\n validationErrors.push(\n validationError(\n 'must have a single argument-index as the first path segment',\n simpleTransformation,\n path,\n ),\n );\n }\n\n return validationErrors;\n};\n\nfunction validateRequestTransformation(transformation) {\n const errors = reduceTransformation(transformation, {\n visitors: {\n TopLevelSimpleTransformationExpression: (simpleTransformation) =>\n validateSimpleTransformation(simpleTransformation),\n CustomFunctionExpression: (\n acc,\n path,\n functionName,\n argumentExpressions,\n rawExpression,\n ) => {\n if (functionName === null || argumentExpressions === null) {\n acc.push(\n validationError(\n 'contains an invalid custom function expression',\n rawExpression,\n path,\n ),\n );\n } else {\n const [argumentExpression] = argumentExpressions;\n\n if (functionName === 'constant') {\n if (isInvalidJsonValue(argumentExpression)) {\n acc.push(\n validationError(\n 'must be a valid json value',\n argumentExpression,\n path,\n ),\n );\n }\n } else {\n // TODO: validate all arguments\n const [firstSegment, ...nestedPathSegments] =\n argumentExpression.split('.');\n\n if (isInvalidJsonPath(argumentExpression)) {\n acc.push(\n validationError(\n 'must be a valid json-path',\n argumentExpression,\n path,\n ),\n );\n }\n\n if (!hasValidArgumentIndex(firstSegment)) {\n acc.push(\n validationError(\n 'must start with $[N] where N is an index',\n argumentExpression,\n path,\n ),\n );\n }\n\n nestedPathSegments.forEach((nestedPathSegment) => {\n if (hasValidArgumentIndex(nestedPathSegment)) {\n acc.push(\n validationError(\n 'must have a single argument-index as the first path segment',\n argumentExpression,\n path,\n ),\n );\n }\n });\n }\n }\n },\n NestedSimpleTransformationExpression: (\n acc,\n path,\n simpleTransformationExpression,\n ) => {\n const lastPathSegment = lastPathSegmentOf(path);\n const parentPath = parentPathOf(path);\n\n if (isFunctionCallExpression(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot be a custom function call',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (hasValidArgumentIndex(lastPathSegment)) {\n acc.push(\n validationError(\n \"must start with '$.'\",\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isSpreadOperator(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot refer to the * operator',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n acc.push(\n ...validateSimpleTransformation(simpleTransformationExpression, path),\n );\n },\n NestedUnsupportedTransformationExpression: (acc, path, value) => {\n acc.push(\n validationError(\n 'must start with $[N] where N is an index',\n value,\n path,\n ),\n );\n },\n TopLevelUnsupportedTransformationExpression: (\n unsupportedTransformation,\n ) => [\n validationError(\n 'must start with $[N] where N is an index',\n unsupportedTransformation,\n ),\n ],\n TopLevelOmit: (source, fieldsToOmit) =>\n validateOmitTransformation({\n source,\n fieldsToOmit,\n validateSource: validateRequestTransformation,\n }),\n NestedOmit: (acc, path, source, fieldsToOmit) =>\n acc.push(\n ...validateOmitTransformation({\n source,\n fieldsToOmit,\n parentPath: path,\n validateSource: validateRequestTransformation,\n }),\n ),\n },\n accumulator: [],\n });\n\n return {\n isValid: errors.length === 0,\n validationErrors: errors,\n };\n}\n\nexport { validateRequestTransformation };\n"]}
|
|
1
|
+
{"version":3,"names":["validateSimpleTransformation","simpleTransformation","path","validationErrors","transformationSegments","split","firstSegment","filter","isReservedCommonFieldName","forEach","invalidName","push","validationError","toCorvidName","some","isSpreadOperator","hasValidArgumentIndex","length","validateRequestTransformation","transformation","errors","reduceTransformation","visitors","TopLevelSimpleTransformationExpression","CustomFunctionExpression","acc","functionName","argumentExpressions","rawExpression","argumentExpression","isInvalidJsonValue","nestedPathSegments","isInvalidJsonPath","nestedPathSegment","NestedSimpleTransformationExpression","simpleTransformationExpression","lastPathSegment","lastPathSegmentOf","parentPath","parentPathOf","isFunctionCallExpression","NestedUnsupportedTransformationExpression","value","TopLevelUnsupportedTransformationExpression","unsupportedTransformation","TopLevelOmit","source","fieldsToOmit","validateOmitTransformation","validateSource","NestedOmit","accumulator","isValid"],"sources":["../../../../../src/lib/transformations/validations/validateRequestTransformation.ts"],"sourcesContent":["import {\n parentPathOf,\n lastPathSegmentOf,\n} from '@wix/motion-edm-autogen-common';\nimport { filter, some } from 'lodash';\nimport { isReservedCommonFieldName, toCorvidName } from '../../corvid-entity';\nimport {\n isInvalidJsonPath,\n hasValidArgumentIndex,\n isSpreadOperator,\n isInvalidJsonValue,\n} from '../../helpers';\nimport { isFunctionCallExpression } from '../custom-functions';\nimport { reduceTransformation } from '../reduceTransformation';\nimport { validationError, validateOmitTransformation } from './common';\n\nconst validateSimpleTransformation = (simpleTransformation, path = null) => {\n const validationErrors: any[] = [];\n const transformationSegments = simpleTransformation.split('.');\n const [firstSegment] = transformationSegments;\n\n transformationSegments\n .filter(isReservedCommonFieldName)\n .forEach((invalidName) =>\n validationErrors.push(\n validationError(\n `cannot refer to ${invalidName} field, consider using ${toCorvidName(\n invalidName,\n )} instead`,\n simpleTransformation,\n path,\n ),\n ),\n );\n\n if (some(transformationSegments, isSpreadOperator)) {\n validationErrors.push(\n validationError(\n 'cannot refer to the * operator',\n simpleTransformation,\n path,\n ),\n );\n }\n\n if (!hasValidArgumentIndex(firstSegment)) {\n validationErrors.push(\n validationError(\n 'must start with $[N] where N is an index',\n simpleTransformation,\n path,\n ),\n );\n }\n\n if (filter(transformationSegments, hasValidArgumentIndex).length > 1) {\n validationErrors.push(\n validationError(\n 'must have a single argument-index as the first path segment',\n simpleTransformation,\n path,\n ),\n );\n }\n\n return validationErrors;\n};\n\nfunction validateRequestTransformation(transformation) {\n const errors = reduceTransformation(transformation, {\n visitors: {\n TopLevelSimpleTransformationExpression: (simpleTransformation) =>\n validateSimpleTransformation(simpleTransformation),\n CustomFunctionExpression: (\n acc,\n path,\n functionName,\n argumentExpressions,\n rawExpression,\n ) => {\n if (functionName === null || argumentExpressions === null) {\n acc.push(\n validationError(\n 'contains an invalid custom function expression',\n rawExpression,\n path,\n ),\n );\n } else {\n const [argumentExpression] = argumentExpressions;\n\n if (functionName === 'constant') {\n if (isInvalidJsonValue(argumentExpression)) {\n acc.push(\n validationError(\n 'must be a valid json value',\n argumentExpression,\n path,\n ),\n );\n }\n } else {\n // TODO: validate all arguments\n const [firstSegment, ...nestedPathSegments] =\n argumentExpression.split('.');\n\n if (isInvalidJsonPath(argumentExpression)) {\n acc.push(\n validationError(\n 'must be a valid json-path',\n argumentExpression,\n path,\n ),\n );\n }\n\n if (!hasValidArgumentIndex(firstSegment)) {\n acc.push(\n validationError(\n 'must start with $[N] where N is an index',\n argumentExpression,\n path,\n ),\n );\n }\n\n nestedPathSegments.forEach((nestedPathSegment) => {\n if (hasValidArgumentIndex(nestedPathSegment)) {\n acc.push(\n validationError(\n 'must have a single argument-index as the first path segment',\n argumentExpression,\n path,\n ),\n );\n }\n });\n }\n }\n },\n NestedSimpleTransformationExpression: (\n acc,\n path,\n simpleTransformationExpression,\n ) => {\n const lastPathSegment = lastPathSegmentOf(path);\n const parentPath = parentPathOf(path);\n\n if (isFunctionCallExpression(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot be a custom function call',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (hasValidArgumentIndex(lastPathSegment)) {\n acc.push(\n validationError(\n \"must start with '$.'\",\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isSpreadOperator(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot refer to the * operator',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n acc.push(\n ...validateSimpleTransformation(simpleTransformationExpression, path),\n );\n },\n NestedUnsupportedTransformationExpression: (acc, path, value) => {\n acc.push(\n validationError(\n 'must start with $[N] where N is an index',\n value,\n path,\n ),\n );\n },\n TopLevelUnsupportedTransformationExpression: (\n unsupportedTransformation,\n ) => [\n validationError(\n 'must start with $[N] where N is an index',\n unsupportedTransformation,\n ),\n ],\n TopLevelOmit: (source, fieldsToOmit) =>\n validateOmitTransformation({\n source,\n fieldsToOmit,\n validateSource: validateRequestTransformation,\n }),\n NestedOmit: (acc, path, source, fieldsToOmit) =>\n acc.push(\n ...validateOmitTransformation({\n source,\n fieldsToOmit,\n parentPath: path,\n validateSource: validateRequestTransformation,\n }),\n ),\n },\n accumulator: [],\n });\n\n return {\n isValid: errors.length === 0,\n validationErrors: errors,\n };\n}\n\nexport { validateRequestTransformation };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/transformations/validations/validateResponseTransformation.ts"],"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","INVALID_PATH_STRING_MESSAGE","validateArrayItemTransformation","sourceArrayExpression","itemTransformation","parentPath","withOptionalParentPath","path","err","validationError","filter","s","join","validationErrors","fullPath","push","validateResponseTransformation","map","validateSimpleTransformationExpression","simpleTransformationExpression","transformationSegments","split","firstExpressionSegment","isSpreadOperator","isReservedCorvidFieldName","forEach","invalidName","validateCustomFunctionExpression","functionName","argumentExpressions","rawExpression","argumentExpression","firstSegment","transformation","errors","visitors","TopLevelSimpleTransformationExpression","simpleTransformation","TopLevelCustomFunctionExpression","CustomFunctionExpression","acc","NestedSimpleTransformationExpression","lastPathSegment","NestedUnsupportedTransformationExpression","value","TopLevelUnsupportedTransformationExpression","unsupportedTransformation","TopLevelOmit","source","fieldsToOmit","validateSource","NestedOmit","MapArrayItems","TopLevelMapArrayItems","accumulator","isValid","length"],"mappings":"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","sourcesContent":["import {\n parentPathOf,\n lastPathSegmentOf,\n} from '@wix/motion-edm-autogen-common';\nimport { some } from 'lodash';\nimport { isReservedCorvidFieldName } from '../../corvid-entity';\nimport {\n isInvalidJsonPath,\n hasValidArgumentIndex,\n isRootObjectIdentifier,\n isSpreadOperator,\n} from '../../helpers';\nimport { transformations } from '../common';\nimport { isFunctionCallExpression } from '../custom-functions';\nimport { reduceTransformation } from '../reduceTransformation';\nimport { validationError, validateOmitTransformation } from './common';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n} = transformations;\n\nconst INVALID_PATH_STRING_MESSAGE = \"must be a string starting with '$.'\";\n\nconst validateArrayItemTransformation = (\n sourceArrayExpression,\n itemTransformation,\n parentPath = null,\n) => {\n const withOptionalParentPath = (path) => (err) => ({\n ...err,\n // @ts-expect-error\n parentPath: [parentPath, path, validationError.parentPath]\n .filter((s) => s)\n .join('.'),\n });\n\n const validationErrors: any[] = [];\n\n if (isInvalidJsonPath(sourceArrayExpression)) {\n const fullPath = parentPath\n ? [parentPath, ARRAY_ITEMS_PATH_PROPERTY_NAME]\n : [ARRAY_ITEMS_PATH_PROPERTY_NAME];\n\n validationErrors.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n sourceArrayExpression,\n fullPath.join('.'),\n ),\n );\n }\n\n validationErrors.push(\n // eslint-disable-next-line no-use-before-define\n ...validateResponseTransformation(\n sourceArrayExpression,\n ).validationErrors.map(\n withOptionalParentPath(ARRAY_ITEMS_PATH_PROPERTY_NAME),\n ),\n // eslint-disable-next-line no-use-before-define\n ...validateResponseTransformation(itemTransformation).validationErrors.map(\n withOptionalParentPath(ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME),\n ),\n );\n\n return validationErrors;\n};\n\nconst validateSimpleTransformationExpression = (\n simpleTransformationExpression,\n path = null,\n) => {\n const transformationSegments = simpleTransformationExpression.split('.');\n const [firstExpressionSegment] = transformationSegments;\n const validationErrors: any[] = [];\n\n if (!isRootObjectIdentifier(firstExpressionSegment)) {\n validationErrors.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n if (some(transformationSegments, isSpreadOperator)) {\n validationErrors.push(\n validationError(\n 'cannot refer to the * operator',\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n if (isInvalidJsonPath(simpleTransformationExpression)) {\n validationErrors.push(\n validationError(\n 'must be a valid json-path',\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n transformationSegments\n .filter(isReservedCorvidFieldName)\n .forEach((invalidName) =>\n validationErrors.push(\n validationError(\n `cannot refer to the ${invalidName} field`,\n simpleTransformationExpression,\n path,\n ),\n ),\n );\n\n return validationErrors;\n};\n\nconst validateCustomFunctionExpression = ({\n functionName,\n argumentExpressions,\n rawExpression,\n path = null,\n}) => {\n const validationErrors: any[] = [];\n\n if (functionName === null || argumentExpressions === null) {\n validationErrors.push(\n validationError(\n 'contains an invalid custom function expression',\n rawExpression,\n path,\n ),\n );\n\n return validationErrors;\n }\n\n // TODO: validate all arguments\n const [argumentExpression] = argumentExpressions;\n\n const [firstSegment] = argumentExpression.split('.');\n\n if (isInvalidJsonPath(argumentExpression)) {\n validationErrors.push(\n validationError('must be a valid json-path', argumentExpression, path),\n );\n }\n\n if (!isRootObjectIdentifier(firstSegment)) {\n validationErrors.push(\n validationError(INVALID_PATH_STRING_MESSAGE, argumentExpression, path),\n );\n }\n\n return validationErrors;\n};\n\nfunction validateResponseTransformation(transformation) {\n const errors = reduceTransformation(transformation, {\n visitors: {\n TopLevelSimpleTransformationExpression: (simpleTransformation) =>\n validateSimpleTransformationExpression(simpleTransformation),\n TopLevelCustomFunctionExpression: (\n functionName,\n argumentExpressions,\n rawExpression,\n ) =>\n validateCustomFunctionExpression({\n functionName,\n argumentExpressions,\n rawExpression,\n }),\n CustomFunctionExpression: (\n acc,\n path,\n functionName,\n argumentExpressions,\n rawExpression,\n ) => {\n acc.push(\n ...validateCustomFunctionExpression({\n functionName,\n argumentExpressions,\n rawExpression,\n path,\n }),\n );\n },\n NestedSimpleTransformationExpression: (\n acc,\n path,\n simpleTransformationExpression,\n ) => {\n const lastPathSegment = lastPathSegmentOf(path);\n const parentPath = parentPathOf(path);\n\n acc.push(\n ...validateSimpleTransformationExpression(\n simpleTransformationExpression,\n path,\n ),\n );\n\n if (isFunctionCallExpression(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot be a custom function call',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isReservedCorvidFieldName(lastPathSegment)) {\n acc.push(\n validationError(\n `cannot refer to the ${lastPathSegment} field`,\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (hasValidArgumentIndex(lastPathSegment)) {\n acc.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isRootObjectIdentifier(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot refer to $ in a transformation key',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n },\n NestedUnsupportedTransformationExpression: (acc, path, value) => {\n acc.push(validationError(INVALID_PATH_STRING_MESSAGE, value, path));\n },\n TopLevelUnsupportedTransformationExpression: (\n unsupportedTransformation,\n ) => [\n validationError(INVALID_PATH_STRING_MESSAGE, unsupportedTransformation),\n ],\n TopLevelOmit: (source, fieldsToOmit) =>\n validateOmitTransformation({\n source,\n fieldsToOmit,\n validateSource: validateResponseTransformation,\n }),\n NestedOmit: (acc, path, source, fieldsToOmit) =>\n acc.push(\n ...validateOmitTransformation({\n source,\n fieldsToOmit,\n parentPath: path,\n validateSource: validateResponseTransformation,\n }),\n ),\n MapArrayItems: (acc, path, sourceArrayExpression, itemTransformation) => {\n acc.push(\n ...validateArrayItemTransformation(\n sourceArrayExpression,\n itemTransformation,\n path,\n ),\n );\n },\n TopLevelMapArrayItems: (sourceArrayExpression, itemTransformation) =>\n validateArrayItemTransformation(\n sourceArrayExpression,\n itemTransformation,\n ),\n },\n accumulator: [],\n });\n\n return {\n isValid: errors.length === 0,\n validationErrors: errors,\n };\n}\n\nexport { validateResponseTransformation };\n"]}
|
|
1
|
+
{"version":3,"names":["ARRAY_ITEMS_PATH_PROPERTY_NAME","transformations","ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME","INVALID_PATH_STRING_MESSAGE","validateArrayItemTransformation","sourceArrayExpression","itemTransformation","parentPath","withOptionalParentPath","path","err","validationError","filter","s","join","validationErrors","isInvalidJsonPath","fullPath","push","validateResponseTransformation","map","validateSimpleTransformationExpression","simpleTransformationExpression","transformationSegments","split","firstExpressionSegment","isRootObjectIdentifier","some","isSpreadOperator","isReservedCorvidFieldName","forEach","invalidName","validateCustomFunctionExpression","functionName","argumentExpressions","rawExpression","argumentExpression","firstSegment","transformation","errors","reduceTransformation","visitors","TopLevelSimpleTransformationExpression","simpleTransformation","TopLevelCustomFunctionExpression","CustomFunctionExpression","acc","NestedSimpleTransformationExpression","lastPathSegment","lastPathSegmentOf","parentPathOf","isFunctionCallExpression","hasValidArgumentIndex","NestedUnsupportedTransformationExpression","value","TopLevelUnsupportedTransformationExpression","unsupportedTransformation","TopLevelOmit","source","fieldsToOmit","validateOmitTransformation","validateSource","NestedOmit","MapArrayItems","TopLevelMapArrayItems","accumulator","isValid","length"],"sources":["../../../../../src/lib/transformations/validations/validateResponseTransformation.ts"],"sourcesContent":["import {\n parentPathOf,\n lastPathSegmentOf,\n} from '@wix/motion-edm-autogen-common';\nimport { some } from 'lodash';\nimport { isReservedCorvidFieldName } from '../../corvid-entity';\nimport {\n isInvalidJsonPath,\n hasValidArgumentIndex,\n isRootObjectIdentifier,\n isSpreadOperator,\n} from '../../helpers';\nimport { transformations } from '../common';\nimport { isFunctionCallExpression } from '../custom-functions';\nimport { reduceTransformation } from '../reduceTransformation';\nimport { validationError, validateOmitTransformation } from './common';\n\nconst {\n ARRAY_ITEMS_PATH_PROPERTY_NAME,\n ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME,\n} = transformations;\n\nconst INVALID_PATH_STRING_MESSAGE = \"must be a string starting with '$.'\";\n\nconst validateArrayItemTransformation = (\n sourceArrayExpression,\n itemTransformation,\n parentPath = null,\n) => {\n const withOptionalParentPath = (path) => (err) => ({\n ...err,\n // @ts-expect-error\n parentPath: [parentPath, path, validationError.parentPath]\n .filter((s) => s)\n .join('.'),\n });\n\n const validationErrors: any[] = [];\n\n if (isInvalidJsonPath(sourceArrayExpression)) {\n const fullPath = parentPath\n ? [parentPath, ARRAY_ITEMS_PATH_PROPERTY_NAME]\n : [ARRAY_ITEMS_PATH_PROPERTY_NAME];\n\n validationErrors.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n sourceArrayExpression,\n fullPath.join('.'),\n ),\n );\n }\n\n validationErrors.push(\n // eslint-disable-next-line no-use-before-define\n ...validateResponseTransformation(\n sourceArrayExpression,\n ).validationErrors.map(\n withOptionalParentPath(ARRAY_ITEMS_PATH_PROPERTY_NAME),\n ),\n // eslint-disable-next-line no-use-before-define\n ...validateResponseTransformation(itemTransformation).validationErrors.map(\n withOptionalParentPath(ARRAY_ITEM_TRANSFORMATION_PROPERTY_NAME),\n ),\n );\n\n return validationErrors;\n};\n\nconst validateSimpleTransformationExpression = (\n simpleTransformationExpression,\n path = null,\n) => {\n const transformationSegments = simpleTransformationExpression.split('.');\n const [firstExpressionSegment] = transformationSegments;\n const validationErrors: any[] = [];\n\n if (!isRootObjectIdentifier(firstExpressionSegment)) {\n validationErrors.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n if (some(transformationSegments, isSpreadOperator)) {\n validationErrors.push(\n validationError(\n 'cannot refer to the * operator',\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n if (isInvalidJsonPath(simpleTransformationExpression)) {\n validationErrors.push(\n validationError(\n 'must be a valid json-path',\n simpleTransformationExpression,\n path,\n ),\n );\n }\n\n transformationSegments\n .filter(isReservedCorvidFieldName)\n .forEach((invalidName) =>\n validationErrors.push(\n validationError(\n `cannot refer to the ${invalidName} field`,\n simpleTransformationExpression,\n path,\n ),\n ),\n );\n\n return validationErrors;\n};\n\nconst validateCustomFunctionExpression = ({\n functionName,\n argumentExpressions,\n rawExpression,\n path = null,\n}) => {\n const validationErrors: any[] = [];\n\n if (functionName === null || argumentExpressions === null) {\n validationErrors.push(\n validationError(\n 'contains an invalid custom function expression',\n rawExpression,\n path,\n ),\n );\n\n return validationErrors;\n }\n\n // TODO: validate all arguments\n const [argumentExpression] = argumentExpressions;\n\n const [firstSegment] = argumentExpression.split('.');\n\n if (isInvalidJsonPath(argumentExpression)) {\n validationErrors.push(\n validationError('must be a valid json-path', argumentExpression, path),\n );\n }\n\n if (!isRootObjectIdentifier(firstSegment)) {\n validationErrors.push(\n validationError(INVALID_PATH_STRING_MESSAGE, argumentExpression, path),\n );\n }\n\n return validationErrors;\n};\n\nfunction validateResponseTransformation(transformation) {\n const errors = reduceTransformation(transformation, {\n visitors: {\n TopLevelSimpleTransformationExpression: (simpleTransformation) =>\n validateSimpleTransformationExpression(simpleTransformation),\n TopLevelCustomFunctionExpression: (\n functionName,\n argumentExpressions,\n rawExpression,\n ) =>\n validateCustomFunctionExpression({\n functionName,\n argumentExpressions,\n rawExpression,\n }),\n CustomFunctionExpression: (\n acc,\n path,\n functionName,\n argumentExpressions,\n rawExpression,\n ) => {\n acc.push(\n ...validateCustomFunctionExpression({\n functionName,\n argumentExpressions,\n rawExpression,\n path,\n }),\n );\n },\n NestedSimpleTransformationExpression: (\n acc,\n path,\n simpleTransformationExpression,\n ) => {\n const lastPathSegment = lastPathSegmentOf(path);\n const parentPath = parentPathOf(path);\n\n acc.push(\n ...validateSimpleTransformationExpression(\n simpleTransformationExpression,\n path,\n ),\n );\n\n if (isFunctionCallExpression(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot be a custom function call',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isReservedCorvidFieldName(lastPathSegment)) {\n acc.push(\n validationError(\n `cannot refer to the ${lastPathSegment} field`,\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (hasValidArgumentIndex(lastPathSegment)) {\n acc.push(\n validationError(\n INVALID_PATH_STRING_MESSAGE,\n lastPathSegment,\n parentPath,\n ),\n );\n }\n\n if (isRootObjectIdentifier(lastPathSegment)) {\n acc.push(\n validationError(\n 'cannot refer to $ in a transformation key',\n lastPathSegment,\n parentPath,\n ),\n );\n }\n },\n NestedUnsupportedTransformationExpression: (acc, path, value) => {\n acc.push(validationError(INVALID_PATH_STRING_MESSAGE, value, path));\n },\n TopLevelUnsupportedTransformationExpression: (\n unsupportedTransformation,\n ) => [\n validationError(INVALID_PATH_STRING_MESSAGE, unsupportedTransformation),\n ],\n TopLevelOmit: (source, fieldsToOmit) =>\n validateOmitTransformation({\n source,\n fieldsToOmit,\n validateSource: validateResponseTransformation,\n }),\n NestedOmit: (acc, path, source, fieldsToOmit) =>\n acc.push(\n ...validateOmitTransformation({\n source,\n fieldsToOmit,\n parentPath: path,\n validateSource: validateResponseTransformation,\n }),\n ),\n MapArrayItems: (acc, path, sourceArrayExpression, itemTransformation) => {\n acc.push(\n ...validateArrayItemTransformation(\n sourceArrayExpression,\n itemTransformation,\n path,\n ),\n );\n },\n TopLevelMapArrayItems: (sourceArrayExpression, itemTransformation) =>\n validateArrayItemTransformation(\n sourceArrayExpression,\n itemTransformation,\n ),\n },\n accumulator: [],\n });\n\n return {\n isValid: errors.length === 0,\n validationErrors: errors,\n };\n}\n\nexport { validateResponseTransformation };\n"],"mappings":"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"}
|