@rudderstack/integrations-lib 0.2.30 → 0.2.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/constants.d.ts +5 -64
  2. package/build/constants.d.ts.map +1 -1
  3. package/build/constants.js +1 -1
  4. package/build/logger.d.ts +1 -1
  5. package/build/logger.d.ts.map +1 -1
  6. package/build/logger.js +1 -1
  7. package/build/sdks/googleAdsRestAPI/googleAds.d.ts +2 -2
  8. package/build/sdks/googleAdsRestAPI/googleAds.d.ts.map +1 -1
  9. package/build/sdks/googleAdsRestAPI/googleAds.js +2 -2
  10. package/build/sdks/sfmc/index.d.ts +1 -1
  11. package/build/sdks/sfmc/index.d.ts.map +1 -1
  12. package/build/sdks/sfmc/index.js +11 -3
  13. package/build/sdks/sfmc/type.d.ts +5 -0
  14. package/build/sdks/sfmc/type.d.ts.map +1 -1
  15. package/build/sdks/sfmc/type.js +1 -1
  16. package/build/sdks/sfmc/utils.d.ts +6 -5
  17. package/build/sdks/sfmc/utils.d.ts.map +1 -1
  18. package/build/sdks/sfmc/utils.js +6 -6
  19. package/build/sdks/zoho/types.d.ts +2 -20
  20. package/build/sdks/zoho/types.d.ts.map +1 -1
  21. package/build/sdks/zoho/types.js +1 -1
  22. package/build/utils/misc.d.ts +7 -7
  23. package/build/utils/misc.d.ts.map +1 -1
  24. package/build/utils/misc.js +1 -1
  25. package/build/utils/request.d.ts +8 -1
  26. package/build/utils/request.d.ts.map +1 -1
  27. package/build/utils/request.js +1 -1
  28. package/package.json +2 -1
  29. package/build/lib/set-value/set-value.test.d.ts +0 -2
  30. package/build/lib/set-value/set-value.test.d.ts.map +0 -1
  31. package/build/lib/set-value/set-value.test.js +0 -105
  32. package/build/network/clients/axios_client.test.d.ts +0 -2
  33. package/build/network/clients/axios_client.test.d.ts.map +0 -1
  34. package/build/network/clients/axios_client.test.js +0 -276
  35. package/build/network/factory.test.d.ts +0 -2
  36. package/build/network/factory.test.d.ts.map +0 -1
  37. package/build/network/factory.test.js +0 -51
  38. package/build/sdks/customerio_audience/index.test.d.ts +0 -2
  39. package/build/sdks/customerio_audience/index.test.d.ts.map +0 -1
  40. package/build/sdks/customerio_audience/index.test.js +0 -121
  41. package/build/sdks/googleAdsRestAPI/googleAds.test.d.ts +0 -2
  42. package/build/sdks/googleAdsRestAPI/googleAds.test.d.ts.map +0 -1
  43. package/build/sdks/googleAdsRestAPI/googleAds.test.js +0 -771
  44. package/build/sdks/sfmc/index.test.d.ts +0 -2
  45. package/build/sdks/sfmc/index.test.d.ts.map +0 -1
  46. package/build/sdks/sfmc/index.test.js +0 -751
  47. package/build/sdks/sfmc/utils.test.d.ts +0 -2
  48. package/build/sdks/sfmc/utils.test.d.ts.map +0 -1
  49. package/build/sdks/sfmc/utils.test.js +0 -32
  50. package/build/sdks/zoho/zoho.test.d.ts +0 -2
  51. package/build/sdks/zoho/zoho.test.d.ts.map +0 -1
  52. package/build/sdks/zoho/zoho.test.js +0 -472
  53. package/build/structured-logger.test.d.ts +0 -2
  54. package/build/structured-logger.test.d.ts.map +0 -1
  55. package/build/structured-logger.test.js +0 -93
  56. package/build/utils/json-schema-generator.test.d.ts +0 -2
  57. package/build/utils/json-schema-generator.test.d.ts.map +0 -1
  58. package/build/utils/json-schema-generator.test.js +0 -368
  59. package/build/utils/misc.test.d.ts +0 -2
  60. package/build/utils/misc.test.d.ts.map +0 -1
  61. package/build/utils/misc.test.js +0 -2260
  62. package/build/utils/request.test.d.ts +0 -2
  63. package/build/utils/request.test.d.ts.map +0 -1
  64. package/build/utils/request.test.js +0 -72
  65. package/build/utils/tests.test.d.ts +0 -2
  66. package/build/utils/tests.test.d.ts.map +0 -1
  67. package/build/utils/tests.test.js +0 -89
  68. package/build/utils/zod.test.d.ts +0 -2
  69. package/build/utils/zod.test.d.ts.map +0 -1
  70. package/build/utils/zod.test.js +0 -48
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=request.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.test.d.ts","sourceRoot":"","sources":["../../src/utils/request.test.ts"],"names":[],"mappings":""}
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const request_1 = require("./request");
4
- describe('getDestTypeFromContext function', () => {
5
- it('should extract destType for routerTransform endpoints', () => {
6
- const ctx = {
7
- request: {
8
- body: {
9
- destType: 'af',
10
- },
11
- url: '/routerTransform',
12
- },
13
- };
14
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBe('af');
15
- });
16
- it('should extract destType for sourceTransform', () => {
17
- const ctx = {
18
- request: {
19
- body: {
20
- foo: 'bar',
21
- },
22
- url: '/v0/sources/af',
23
- },
24
- };
25
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBe('af');
26
- });
27
- it('should extract destType for processTransformer without query params', () => {
28
- const ctx = {
29
- request: {
30
- body: {
31
- foo: 'bar',
32
- },
33
- url: '/v0/destinations/af',
34
- },
35
- };
36
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBe('af');
37
- });
38
- it('should extract destType for processTransformer with query params', () => {
39
- const ctx = {
40
- request: {
41
- body: {
42
- foo: 'bar',
43
- },
44
- url: '/v0/destinations/af?foo=bar',
45
- },
46
- };
47
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBe('af');
48
- });
49
- it('should extract destType for regulation endpoints', () => {
50
- const ctx = {
51
- request: {
52
- body: [
53
- {
54
- destType: 'af',
55
- userAttributes: { email: 'sample@example.com' },
56
- },
57
- ],
58
- url: '/deleteUsers',
59
- },
60
- };
61
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBe('af');
62
- });
63
- it('should not extract destType for other endpoints', () => {
64
- const ctx = {
65
- request: {
66
- url: '/features',
67
- },
68
- };
69
- expect((0, request_1.getDestTypeFromContext)(ctx)).toBeNull();
70
- });
71
- });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3JlcXVlc3QudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUFtRDtBQUVuRCxRQUFRLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO0lBQy9DLEVBQUUsQ0FBQyx1REFBdUQsRUFBRSxHQUFHLEVBQUU7UUFDL0QsTUFBTSxHQUFHLEdBQUc7WUFDVixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFO29CQUNKLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELEdBQUcsRUFBRSxrQkFBa0I7YUFDeEI7U0FDRixDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUEsZ0NBQXNCLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO1FBQ3JELE1BQU0sR0FBRyxHQUFHO1lBQ1YsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRTtvQkFDSixHQUFHLEVBQUUsS0FBSztpQkFDWDtnQkFDRCxHQUFHLEVBQUUsZ0JBQWdCO2FBQ3RCO1NBQ0YsQ0FBQztRQUNGLE1BQU0sQ0FBQyxJQUFBLGdDQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHFFQUFxRSxFQUFFLEdBQUcsRUFBRTtRQUM3RSxNQUFNLEdBQUcsR0FBRztZQUNWLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUU7b0JBQ0osR0FBRyxFQUFFLEtBQUs7aUJBQ1g7Z0JBQ0QsR0FBRyxFQUFFLHFCQUFxQjthQUMzQjtTQUNGLENBQUM7UUFDRixNQUFNLENBQUMsSUFBQSxnQ0FBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxrRUFBa0UsRUFBRSxHQUFHLEVBQUU7UUFDMUUsTUFBTSxHQUFHLEdBQUc7WUFDVixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFO29CQUNKLEdBQUcsRUFBRSxLQUFLO2lCQUNYO2dCQUNELEdBQUcsRUFBRSw2QkFBNkI7YUFDbkM7U0FDRixDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUEsZ0NBQXNCLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1FBQzFELE1BQU0sR0FBRyxHQUFHO1lBQ1YsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRTtvQkFDSjt3QkFDRSxRQUFRLEVBQUUsSUFBSTt3QkFDZCxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7cUJBQ2hEO2lCQUNGO2dCQUNELEdBQUcsRUFBRSxjQUFjO2FBQ3BCO1NBQ0YsQ0FBQztRQUNGLE1BQU0sQ0FBQyxJQUFBLGdDQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtRQUN6RCxNQUFNLEdBQUcsR0FBRztZQUNWLE9BQU8sRUFBRTtnQkFDUCxHQUFHLEVBQUUsV0FBVzthQUNqQjtTQUNGLENBQUM7UUFDRixNQUFNLENBQUMsSUFBQSxnQ0FBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREZXN0VHlwZUZyb21Db250ZXh0IH0gZnJvbSAnLi9yZXF1ZXN0JztcblxuZGVzY3JpYmUoJ2dldERlc3RUeXBlRnJvbUNvbnRleHQgZnVuY3Rpb24nLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZXh0cmFjdCBkZXN0VHlwZSBmb3Igcm91dGVyVHJhbnNmb3JtIGVuZHBvaW50cycsICgpID0+IHtcbiAgICBjb25zdCBjdHggPSB7XG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBkZXN0VHlwZTogJ2FmJyxcbiAgICAgICAgfSxcbiAgICAgICAgdXJsOiAnL3JvdXRlclRyYW5zZm9ybScsXG4gICAgICB9LFxuICAgIH07XG4gICAgZXhwZWN0KGdldERlc3RUeXBlRnJvbUNvbnRleHQoY3R4KSkudG9CZSgnYWYnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBleHRyYWN0IGRlc3RUeXBlIGZvciBzb3VyY2VUcmFuc2Zvcm0nLCAoKSA9PiB7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgcmVxdWVzdDoge1xuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgZm9vOiAnYmFyJyxcbiAgICAgICAgfSxcbiAgICAgICAgdXJsOiAnL3YwL3NvdXJjZXMvYWYnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGV4cGVjdChnZXREZXN0VHlwZUZyb21Db250ZXh0KGN0eCkpLnRvQmUoJ2FmJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZXh0cmFjdCBkZXN0VHlwZSBmb3IgcHJvY2Vzc1RyYW5zZm9ybWVyIHdpdGhvdXQgcXVlcnkgcGFyYW1zJywgKCkgPT4ge1xuICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIGZvbzogJ2JhcicsXG4gICAgICAgIH0sXG4gICAgICAgIHVybDogJy92MC9kZXN0aW5hdGlvbnMvYWYnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGV4cGVjdChnZXREZXN0VHlwZUZyb21Db250ZXh0KGN0eCkpLnRvQmUoJ2FmJyk7XG4gIH0pO1xuICBpdCgnc2hvdWxkIGV4dHJhY3QgZGVzdFR5cGUgZm9yIHByb2Nlc3NUcmFuc2Zvcm1lciB3aXRoIHF1ZXJ5IHBhcmFtcycsICgpID0+IHtcbiAgICBjb25zdCBjdHggPSB7XG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBmb286ICdiYXInLFxuICAgICAgICB9LFxuICAgICAgICB1cmw6ICcvdjAvZGVzdGluYXRpb25zL2FmP2Zvbz1iYXInLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGV4cGVjdChnZXREZXN0VHlwZUZyb21Db250ZXh0KGN0eCkpLnRvQmUoJ2FmJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZXh0cmFjdCBkZXN0VHlwZSBmb3IgcmVndWxhdGlvbiBlbmRwb2ludHMnLCAoKSA9PiB7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgcmVxdWVzdDoge1xuICAgICAgICBib2R5OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGVzdFR5cGU6ICdhZicsXG4gICAgICAgICAgICB1c2VyQXR0cmlidXRlczogeyBlbWFpbDogJ3NhbXBsZUBleGFtcGxlLmNvbScgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB1cmw6ICcvZGVsZXRlVXNlcnMnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGV4cGVjdChnZXREZXN0VHlwZUZyb21Db250ZXh0KGN0eCkpLnRvQmUoJ2FmJyk7XG4gIH0pO1xuICBpdCgnc2hvdWxkIG5vdCBleHRyYWN0IGRlc3RUeXBlIGZvciBvdGhlciBlbmRwb2ludHMnLCAoKSA9PiB7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgcmVxdWVzdDoge1xuICAgICAgICB1cmw6ICcvZmVhdHVyZXMnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGV4cGVjdChnZXREZXN0VHlwZUZyb21Db250ZXh0KGN0eCkpLnRvQmVOdWxsKCk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tests.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tests.test.d.ts","sourceRoot":"","sources":["../../src/utils/tests.test.ts"],"names":[],"mappings":""}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tests_1 = require("./tests");
4
- describe('filter', () => {
5
- const testCases = [
6
- {
7
- name: 'should return all test cases when no skip or only flags are present',
8
- input: [{ name: 'test1' }, { name: 'test2' }, { name: 'test3' }],
9
- expected: [{ name: 'test1' }, { name: 'test2' }, { name: 'test3' }],
10
- },
11
- {
12
- name: 'should filter out skipped test cases',
13
- input: [{ name: 'test1', skip: true }, { name: 'test2' }, { name: 'test3', skip: true }],
14
- expected: [{ name: 'test2' }],
15
- },
16
- {
17
- name: 'should return only the test cases marked with only',
18
- input: [{ name: 'test1' }, { name: 'test2', only: true }, { name: 'test3' }],
19
- expected: [{ name: 'test2', only: true }],
20
- },
21
- {
22
- name: 'should return only non-skipped test cases marked with only',
23
- input: [
24
- { name: 'test1', only: true },
25
- { name: 'test2', only: true, skip: true },
26
- { name: 'test3', only: true },
27
- ],
28
- expected: [
29
- { name: 'test1', only: true },
30
- { name: 'test3', only: true },
31
- ],
32
- },
33
- {
34
- name: 'should handle empty array input',
35
- input: [],
36
- expected: [],
37
- },
38
- {
39
- name: 'should return all test cases marked with only',
40
- input: [{ name: 'test1', only: true }, { name: 'test2' }, { name: 'test3', only: true }],
41
- expected: [
42
- { name: 'test1', only: true },
43
- { name: 'test3', only: true },
44
- ],
45
- },
46
- {
47
- name: 'should return empty array when all tests are skipped',
48
- input: [
49
- { name: 'test1', skip: true },
50
- { name: 'test2', skip: true },
51
- { name: 'test3', skip: true },
52
- ],
53
- expected: [],
54
- },
55
- {
56
- name: 'should return non-skipped tests when no only flag is present',
57
- input: [{ name: 'test1', skip: true }, { name: 'test2' }, { name: 'test3', skip: false }],
58
- expected: [{ name: 'test2' }, { name: 'test3', skip: false }],
59
- },
60
- {
61
- name: 'should handle undefined skip and only properties',
62
- input: [
63
- { name: 'test1', skip: undefined },
64
- { name: 'test2', only: undefined },
65
- { name: 'test3' },
66
- ],
67
- expected: [
68
- { name: 'test1', skip: undefined },
69
- { name: 'test2', only: undefined },
70
- { name: 'test3' },
71
- ],
72
- },
73
- {
74
- name: 'should maintain original object properties',
75
- input: [
76
- { name: 'test1', extraProp: 1 },
77
- { name: 'test2', extraProp: 2, skip: true },
78
- { name: 'test3', extraProp: 3, only: true },
79
- ],
80
- expected: [{ name: 'test3', extraProp: 3, only: true }],
81
- },
82
- ];
83
- testCases.forEach(({ name, input, expected }) => {
84
- it(name, () => {
85
- expect((0, tests_1.filter)(input)).toEqual(expected);
86
- });
87
- });
88
- });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXN0cy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQStDO0FBWS9DLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO0lBQ3RCLE1BQU0sU0FBUyxHQUFlO1FBQzVCO1lBQ0UsSUFBSSxFQUFFLHFFQUFxRTtZQUMzRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNwRTtRQUNEO1lBQ0UsSUFBSSxFQUFFLHNDQUFzQztZQUM1QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDeEYsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDOUI7UUFDRDtZQUNFLElBQUksRUFBRSxvREFBb0Q7WUFDMUQsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM1RSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUks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TyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTthQUM1QztZQUNELFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN4RDtLQUNGLENBQUM7SUFFRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7UUFDOUMsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDWixNQUFNLENBQUMsSUFBQSxjQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRlc3RDYXNlLCBmaWx0ZXIgfSBmcm9tICcuL3Rlc3RzJztcblxudHlwZSBDdXN0b21UZXN0Q2FzZSA9IEJhc2VUZXN0Q2FzZSAmIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuaW50ZXJmYWNlIFRlc3RJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBleHBlY3RlZDogQ3VzdG9tVGVzdENhc2VbXTtcbiAgaW5wdXQ6IEN1c3RvbVRlc3RDYXNlW107XG59XG5cbmRlc2NyaWJlKCdmaWx0ZXInLCAoKSA9PiB7XG4gIGNvbnN0IHRlc3RDYXNlczogVGVzdEl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnc2hvdWxkIHJldHVybiBhbGwgdGVzdCBjYXNlcyB3aGVuIG5vIHNraXAgb3Igb25seSBmbGFncyBhcmUgcHJlc2VudCcsXG4gICAgICBpbnB1dDogW3sgbmFtZTogJ3Rlc3QxJyB9LCB7IG5hbWU6ICd0ZXN0MicgfSwgeyBuYW1lOiAndGVzdDMnIH1dLFxuICAgICAgZXhwZWN0ZWQ6IFt7IG5hbWU6ICd0ZXN0MScgfSwgeyBuYW1lOiAndGVzdDInIH0sIHsgbmFtZTogJ3Rlc3QzJyB9XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdzaG91bGQgZmlsdGVyIG91dCBza2lwcGVkIHRlc3QgY2FzZXMnLFxuICAgICAgaW5wdXQ6IFt7IG5hbWU6ICd0ZXN0MScsIHNraXA6IHRydWUgfSwgeyBuYW1lOiAndGVzdDInIH0sIHsgbmFtZTogJ3Rlc3QzJywgc2tpcDogdHJ1ZSB9XSxcbiAgICAgIGV4cGVjdGVkOiBbeyBuYW1lOiAndGVzdDInIH1dLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3Nob3VsZCByZXR1cm4gb25seSB0aGUgdGVzdCBjYXNlcyBtYXJrZWQgd2l0aCBvbmx5JyxcbiAgICAgIGlucHV0OiBbeyBuYW1lOiAndGVzdDEnIH0sIHsgbmFtZTogJ3Rlc3QyJywgb25seTogdHJ1ZSB9LCB7IG5hbWU6ICd0ZXN0MycgfV0sXG4gICAgICBleHBlY3RlZDogW3sgbmFtZTogJ3Rlc3QyJywgb25seTogdHJ1ZSB9XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdzaG91bGQgcmV0dXJuIG9ubHkgbm9uLXNraXBwZWQgdGVzdCBjYXNlcyBtYXJrZWQgd2l0aCBvbmx5JyxcbiAgICAgIGlucHV0OiBbXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QxJywgb25seTogdHJ1ZSB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MicsIG9ubHk6IHRydWUsIHNraXA6IHRydWUgfSxcbiAgICAgICAgeyBuYW1lOiAndGVzdDMnLCBvbmx5OiB0cnVlIH0sXG4gICAgICBdLFxuICAgICAgZXhwZWN0ZWQ6IFtcbiAgICAgICAgeyBuYW1lOiAndGVzdDEnLCBvbmx5OiB0cnVlIH0sXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QzJywgb25seTogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdzaG91bGQgaGFuZGxlIGVtcHR5IGFycmF5IGlucHV0JyxcbiAgICAgIGlucHV0OiBbXSxcbiAgICAgIGV4cGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdzaG91bGQgcmV0dXJuIGFsbCB0ZXN0IGNhc2VzIG1hcmtlZCB3aXRoIG9ubHknLFxuICAgICAgaW5wdXQ6IFt7IG5hbWU6ICd0ZXN0MScsIG9ubHk6IHRydWUgfSwgeyBuYW1lOiAndGVzdDInIH0sIHsgbmFtZTogJ3Rlc3QzJywgb25seTogdHJ1ZSB9XSxcbiAgICAgIGV4cGVjdGVkOiBbXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QxJywgb25seTogdHJ1ZSB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MycsIG9ubHk6IHRydWUgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnc2hvdWxkIHJldHVybiBlbXB0eSBhcnJheSB3aGVuIGFsbCB0ZXN0cyBhcmUgc2tpcHBlZCcsXG4gICAgICBpbnB1dDogW1xuICAgICAgICB7IG5hbWU6ICd0ZXN0MScsIHNraXA6IHRydWUgfSxcbiAgICAgICAgeyBuYW1lOiAndGVzdDInLCBza2lwOiB0cnVlIH0sXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QzJywgc2tpcDogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICAgIGV4cGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdzaG91bGQgcmV0dXJuIG5vbi1za2lwcGVkIHRlc3RzIHdoZW4gbm8gb25seSBmbGFnIGlzIHByZXNlbnQnLFxuICAgICAgaW5wdXQ6IFt7IG5hbWU6ICd0ZXN0MScsIHNraXA6IHRydWUgfSwgeyBuYW1lOiAndGVzdDInIH0sIHsgbmFtZTogJ3Rlc3QzJywgc2tpcDogZmFsc2UgfV0sXG4gICAgICBleHBlY3RlZDogW3sgbmFtZTogJ3Rlc3QyJyB9LCB7IG5hbWU6ICd0ZXN0MycsIHNraXA6IGZhbHNlIH1dLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkIHNraXAgYW5kIG9ubHkgcHJvcGVydGllcycsXG4gICAgICBpbnB1dDogW1xuICAgICAgICB7IG5hbWU6ICd0ZXN0MScsIHNraXA6IHVuZGVmaW5lZCB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MicsIG9ubHk6IHVuZGVmaW5lZCB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MycgfSxcbiAgICAgIF0sXG4gICAgICBleHBlY3RlZDogW1xuICAgICAgICB7IG5hbWU6ICd0ZXN0MScsIHNraXA6IHVuZGVmaW5lZCB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MicsIG9ubHk6IHVuZGVmaW5lZCB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXN0MycgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnc2hvdWxkIG1haW50YWluIG9yaWdpbmFsIG9iamVjdCBwcm9wZXJ0aWVzJyxcbiAgICAgIGlucHV0OiBbXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QxJywgZXh0cmFQcm9wOiAxIH0sXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QyJywgZXh0cmFQcm9wOiAyLCBza2lwOiB0cnVlIH0sXG4gICAgICAgIHsgbmFtZTogJ3Rlc3QzJywgZXh0cmFQcm9wOiAzLCBvbmx5OiB0cnVlIH0sXG4gICAgICBdLFxuICAgICAgZXhwZWN0ZWQ6IFt7IG5hbWU6ICd0ZXN0MycsIGV4dHJhUHJvcDogMywgb25seTogdHJ1ZSB9XSxcbiAgICB9LFxuICBdO1xuXG4gIHRlc3RDYXNlcy5mb3JFYWNoKCh7IG5hbWUsIGlucHV0LCBleHBlY3RlZCB9KSA9PiB7XG4gICAgaXQobmFtZSwgKCkgPT4ge1xuICAgICAgZXhwZWN0KGZpbHRlcihpbnB1dCkpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=zod.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zod.test.d.ts","sourceRoot":"","sources":["../../src/utils/zod.test.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const zod_1 = require("zod");
4
- const zod_2 = require("./zod");
5
- describe('zod', () => {
6
- describe('formatZodError', () => {
7
- const testCases = [
8
- {
9
- name: 'single field validation error',
10
- schema: zod_1.z.object({ name: zod_1.z.string().min(3) }),
11
- input: { name: 'ab' },
12
- expected: 'name: String must contain at least 3 character(s)',
13
- },
14
- {
15
- name: 'multiple field validation errors',
16
- schema: zod_1.z.object({
17
- email: zod_1.z.string().email(),
18
- age: zod_1.z.number().min(18),
19
- }),
20
- input: { email: 'notanemail', age: 16 },
21
- expected: 'email: Invalid email; age: Number must be greater than or equal to 18',
22
- },
23
- {
24
- name: 'nested object validation error',
25
- schema: zod_1.z.object({
26
- user: zod_1.z.object({
27
- address: zod_1.z.object({
28
- zipCode: zod_1.z.string().length(5),
29
- }),
30
- }),
31
- }),
32
- input: { user: { address: { zipCode: '123' } } },
33
- expected: 'user.address.zipCode: String must contain exactly 5 character(s)',
34
- },
35
- ];
36
- testCases.forEach(({ name, schema, input, expected }) => {
37
- it(name, () => {
38
- try {
39
- schema.parse(input);
40
- }
41
- catch (error) {
42
- expect((0, zod_2.formatZodError)(error)).toBe(expected);
43
- }
44
- });
45
- });
46
- });
47
- });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvem9kLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBd0I7QUFDeEIsK0JBQXVDO0FBRXZDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO0lBQ25CLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDOUIsTUFBTSxTQUFTLEdBQUc7WUFDaEI7Z0JBQ0UsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUNyQixRQUFRLEVBQUUsbURBQW1EO2FBQzlEO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGtDQUFrQztnQkFDeEMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ2YsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUU7b0JBQ3pCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztpQkFDeEIsQ0FBQztnQkFDRixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZDLFFBQVEsRUFBRSx1RUFBdUU7YUFDbEY7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZ0NBQWdDO2dCQUN0QyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDZixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQzs0QkFDaEIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3lCQUM5QixDQUFDO3FCQUNILENBQUM7aUJBQ0gsQ0FBQztnQkFDRixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDaEQsUUFBUSxFQUFFLGtFQUFrRTthQUM3RTtTQUNGLENBQUM7UUFFRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3RELEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQztvQkFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsTUFBTSxDQUFDLElBQUEsb0JBQWMsRUFBQyxLQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzdELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgZm9ybWF0Wm9kRXJyb3IgfSBmcm9tICcuL3pvZCc7XG5cbmRlc2NyaWJlKCd6b2QnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdmb3JtYXRab2RFcnJvcicsICgpID0+IHtcbiAgICBjb25zdCB0ZXN0Q2FzZXMgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaW5nbGUgZmllbGQgdmFsaWRhdGlvbiBlcnJvcicsXG4gICAgICAgIHNjaGVtYTogei5vYmplY3QoeyBuYW1lOiB6LnN0cmluZygpLm1pbigzKSB9KSxcbiAgICAgICAgaW5wdXQ6IHsgbmFtZTogJ2FiJyB9LFxuICAgICAgICBleHBlY3RlZDogJ25hbWU6IFN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgMyBjaGFyYWN0ZXIocyknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ211bHRpcGxlIGZpZWxkIHZhbGlkYXRpb24gZXJyb3JzJyxcbiAgICAgICAgc2NoZW1hOiB6Lm9iamVjdCh7XG4gICAgICAgICAgZW1haWw6IHouc3RyaW5nKCkuZW1haWwoKSxcbiAgICAgICAgICBhZ2U6IHoubnVtYmVyKCkubWluKDE4KSxcbiAgICAgICAgfSksXG4gICAgICAgIGlucHV0OiB7IGVtYWlsOiAnbm90YW5lbWFpbCcsIGFnZTogMTYgfSxcbiAgICAgICAgZXhwZWN0ZWQ6ICdlbWFpbDogSW52YWxpZCBlbWFpbDsgYWdlOiBOdW1iZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTgnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25lc3RlZCBvYmplY3QgdmFsaWRhdGlvbiBlcnJvcicsXG4gICAgICAgIHNjaGVtYTogei5vYmplY3Qoe1xuICAgICAgICAgIHVzZXI6IHoub2JqZWN0KHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHoub2JqZWN0KHtcbiAgICAgICAgICAgICAgemlwQ29kZTogei5zdHJpbmcoKS5sZW5ndGgoNSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICAgIGlucHV0OiB7IHVzZXI6IHsgYWRkcmVzczogeyB6aXBDb2RlOiAnMTIzJyB9IH0gfSxcbiAgICAgICAgZXhwZWN0ZWQ6ICd1c2VyLmFkZHJlc3MuemlwQ29kZTogU3RyaW5nIG11c3QgY29udGFpbiBleGFjdGx5IDUgY2hhcmFjdGVyKHMpJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7IG5hbWUsIHNjaGVtYSwgaW5wdXQsIGV4cGVjdGVkIH0pID0+IHtcbiAgICAgIGl0KG5hbWUsICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGV4cGVjdChmb3JtYXRab2RFcnJvcihlcnJvciBhcyB6LlpvZEVycm9yKSkudG9CZShleHBlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19