@nangohq/nango-yaml 0.61.0 → 0.61.2

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.
@@ -0,0 +1,6 @@
1
+ import type { NangoModel } from '@nangohq/types';
2
+ import type { JSONSchema7 } from 'json-schema';
3
+ /**
4
+ * Converts a list of Nango models to a JSON Schema with all the schemas stored in the definitions property.
5
+ */
6
+ export declare function nangoModelsToJsonSchema(models: NangoModel[]): JSONSchema7;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Converts a list of Nango models to a JSON Schema with all the schemas stored in the definitions property.
3
+ */
4
+ export function nangoModelsToJsonSchema(models) {
5
+ const definitions = {};
6
+ for (const model of models) {
7
+ definitions[model.name] = nangoModelToJsonSchema(model);
8
+ }
9
+ return { definitions };
10
+ }
11
+ function nangoModelToJsonSchema(model) {
12
+ const properties = {};
13
+ const required = [];
14
+ for (const field of model.fields) {
15
+ const fieldSchema = nangoFieldToJsonSchema(field);
16
+ properties[field.name] = fieldSchema;
17
+ if (!field.optional) {
18
+ required.push(field.name);
19
+ }
20
+ }
21
+ return {
22
+ type: 'object',
23
+ properties,
24
+ required
25
+ };
26
+ }
27
+ function nangoFieldToJsonSchema(field) {
28
+ if (field.array) {
29
+ return {
30
+ type: 'array',
31
+ items: nangoFieldToJsonSchema({ ...field, array: false })
32
+ };
33
+ }
34
+ if (field.model) {
35
+ if (typeof field.value !== 'string') {
36
+ throw new Error('field is model but value is not a string');
37
+ }
38
+ const modelName = field.value;
39
+ return {
40
+ $ref: `#/definitions/${modelName}`
41
+ };
42
+ }
43
+ if (field.union) {
44
+ if (!Array.isArray(field.value)) {
45
+ throw new Error('field is union but value is not an array');
46
+ }
47
+ return {
48
+ oneOf: field.value.map((v) => nangoFieldToJsonSchema(v))
49
+ };
50
+ }
51
+ if (typeof field.value === 'string' && primitiveTypeMap[field.value]) {
52
+ return primitiveTypeMap[field.value];
53
+ }
54
+ return {
55
+ type: 'object',
56
+ additionalProperties: {
57
+ type: 'string'
58
+ }
59
+ };
60
+ }
61
+ const primitiveTypeMap = {
62
+ number: { type: 'number' },
63
+ boolean: { type: 'boolean' },
64
+ string: { type: 'string' },
65
+ date: { type: 'string', format: 'date-time' }
66
+ };
67
+ //# sourceMappingURL=json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../lib/json-schema.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAoB;IACxD,MAAM,WAAW,GAAgC,EAAE,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAiB;IAC7C,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAClD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,QAAQ;KACX,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsB;IAClD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;YACH,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,sBAAsB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC5D,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,OAAO;YACH,IAAI,EAAE,iBAAiB,SAAS,EAAE;SACrC,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC;IACN,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAgB,CAAC;IACxD,CAAC;IAED,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE;YAClB,IAAI,EAAE,QAAQ;SACjB;KACJ,CAAC;AACN,CAAC;AAED,MAAM,gBAAgB,GAAgC;IAClD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;CAChD,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,217 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { nangoModelsToJsonSchema } from './json-schema.js';
3
+ describe('nangoModelsToJsonSchema', () => {
4
+ it('should handle all primitive types and basic features', () => {
5
+ const models = [
6
+ {
7
+ name: 'AllPrimitiveTypes',
8
+ fields: [
9
+ { name: 'stringField', value: 'string', optional: false },
10
+ { name: 'numberField', value: 'number', optional: false },
11
+ { name: 'booleanField', value: 'boolean', optional: false },
12
+ { name: 'dateField', value: 'date', optional: false },
13
+ { name: 'optionalString', value: 'string', optional: true },
14
+ { name: 'unknownType', value: 'uuid', optional: false }, // Should default to string record
15
+ { name: 'stringArray', value: 'string', array: true, optional: false },
16
+ { name: 'numberArray', value: 'number', array: true, optional: true }
17
+ ]
18
+ }
19
+ ];
20
+ const result = nangoModelsToJsonSchema(models);
21
+ expect(result).toMatchSnapshot();
22
+ });
23
+ it('should handle nested model references', () => {
24
+ const models = [
25
+ {
26
+ name: 'Address',
27
+ fields: [
28
+ { name: 'street', value: 'string', optional: false },
29
+ { name: 'city', value: 'string', optional: false },
30
+ { name: 'zipCode', value: 'string', optional: true }
31
+ ]
32
+ },
33
+ {
34
+ name: 'Country',
35
+ fields: [
36
+ { name: 'code', value: 'string', optional: false },
37
+ { name: 'name', value: 'string', optional: false }
38
+ ]
39
+ },
40
+ {
41
+ name: 'DetailedAddress',
42
+ fields: [
43
+ { name: 'address', value: 'Address', model: true, optional: false },
44
+ { name: 'country', value: 'Country', model: true, optional: false }
45
+ ]
46
+ },
47
+ {
48
+ name: 'User',
49
+ fields: [
50
+ { name: 'name', value: 'string', optional: false },
51
+ { name: 'primaryAddress', value: 'DetailedAddress', model: true, optional: false },
52
+ { name: 'addresses', value: 'Address', model: true, array: true, optional: true }
53
+ ]
54
+ }
55
+ ];
56
+ const result = nangoModelsToJsonSchema(models);
57
+ expect(result).toMatchSnapshot();
58
+ });
59
+ it('should handle circular model references', () => {
60
+ const models = [
61
+ {
62
+ name: 'Category',
63
+ fields: [
64
+ { name: 'id', value: 'string', optional: false },
65
+ { name: 'name', value: 'string', optional: false },
66
+ { name: 'parentCategory', value: 'Category', model: true, optional: true },
67
+ { name: 'subcategories', value: 'Category', model: true, array: true, optional: true }
68
+ ]
69
+ },
70
+ {
71
+ name: 'Post',
72
+ fields: [
73
+ { name: 'id', value: 'string', optional: false },
74
+ { name: 'title', value: 'string', optional: false },
75
+ { name: 'author', value: 'User', model: true, optional: false },
76
+ { name: 'comments', value: 'Comment', model: true, array: true, optional: true }
77
+ ]
78
+ },
79
+ {
80
+ name: 'Comment',
81
+ fields: [
82
+ { name: 'id', value: 'string', optional: false },
83
+ { name: 'content', value: 'string', optional: false },
84
+ { name: 'author', value: 'User', model: true, optional: false },
85
+ { name: 'post', value: 'Post', model: true, optional: false },
86
+ { name: 'replies', value: 'Comment', model: true, array: true, optional: true }
87
+ ]
88
+ },
89
+ {
90
+ name: 'User',
91
+ fields: [
92
+ { name: 'id', value: 'string', optional: false },
93
+ { name: 'username', value: 'string', optional: false },
94
+ { name: 'posts', value: 'Post', model: true, array: true, optional: true },
95
+ { name: 'comments', value: 'Comment', model: true, array: true, optional: true }
96
+ ]
97
+ }
98
+ ];
99
+ const result = nangoModelsToJsonSchema(models);
100
+ expect(result).toMatchSnapshot();
101
+ });
102
+ it('should handle unions with primitives and models', () => {
103
+ const models = [
104
+ {
105
+ name: 'Person',
106
+ fields: [
107
+ { name: 'name', value: 'string', optional: false },
108
+ { name: 'age', value: 'number', optional: false }
109
+ ]
110
+ },
111
+ {
112
+ name: 'Company',
113
+ fields: [
114
+ { name: 'companyName', value: 'string', optional: false },
115
+ { name: 'employees', value: 'number', optional: false }
116
+ ]
117
+ },
118
+ {
119
+ name: 'Tag',
120
+ fields: [
121
+ { name: 'label', value: 'string', optional: false },
122
+ { name: 'color', value: 'string', optional: true }
123
+ ]
124
+ },
125
+ {
126
+ name: 'FlexibleEntity',
127
+ fields: [
128
+ { name: 'id', value: 'string', optional: false },
129
+ // Union of primitive types
130
+ {
131
+ name: 'primitiveUnion',
132
+ union: true,
133
+ value: [
134
+ { name: 'string_option', value: 'string' },
135
+ { name: 'number_option', value: 'number' },
136
+ { name: 'boolean_option', value: 'boolean' }
137
+ ],
138
+ optional: false
139
+ },
140
+ // Union of model references
141
+ {
142
+ name: 'entityUnion',
143
+ union: true,
144
+ value: [
145
+ { name: 'person_option', value: 'Person', model: true },
146
+ { name: 'company_option', value: 'Company', model: true }
147
+ ],
148
+ optional: false
149
+ },
150
+ // Union with arrays
151
+ {
152
+ name: 'mixedUnion',
153
+ union: true,
154
+ value: [
155
+ { name: 'string_option', value: 'string' },
156
+ { name: 'tags_array_option', value: 'Tag', model: true, array: true }
157
+ ],
158
+ optional: true
159
+ }
160
+ ]
161
+ }
162
+ ];
163
+ const result = nangoModelsToJsonSchema(models);
164
+ expect(result).toMatchSnapshot();
165
+ });
166
+ it('should handle complex arrays with nested structures', () => {
167
+ const models = [
168
+ {
169
+ name: 'Metadata',
170
+ fields: [
171
+ { name: 'key', value: 'string', optional: false },
172
+ { name: 'value', value: 'string', optional: false }
173
+ ]
174
+ },
175
+ {
176
+ name: 'ArrayShowcase',
177
+ fields: [
178
+ { name: 'id', value: 'string', optional: false },
179
+ // Array of primitives
180
+ { name: 'tags', value: 'string', array: true, optional: false },
181
+ { name: 'scores', value: 'number', array: true, optional: true },
182
+ // Array of models
183
+ { name: 'metadata', value: 'Metadata', model: true, array: true, optional: false },
184
+ // Array with union types
185
+ {
186
+ name: 'flexibleArray',
187
+ array: true,
188
+ union: true,
189
+ value: [
190
+ { name: 'string_option', value: 'string' },
191
+ { name: 'metadata_option', value: 'Metadata', model: true }
192
+ ],
193
+ optional: true
194
+ }
195
+ ]
196
+ }
197
+ ];
198
+ const result = nangoModelsToJsonSchema(models);
199
+ expect(result).toMatchSnapshot();
200
+ });
201
+ it('should handle empty models array', () => {
202
+ const models = [];
203
+ const result = nangoModelsToJsonSchema(models);
204
+ expect(result).toMatchSnapshot();
205
+ });
206
+ it('should handle model with no fields', () => {
207
+ const models = [
208
+ {
209
+ name: 'EmptyModel',
210
+ fields: []
211
+ }
212
+ ];
213
+ const result = nangoModelsToJsonSchema(models);
214
+ expect(result).toMatchSnapshot();
215
+ });
216
+ });
217
+ //# sourceMappingURL=json-schema.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.unit.test.js","sourceRoot":"","sources":["../lib/json-schema.unit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nangohq/nango-yaml",
3
- "version": "0.61.0",
3
+ "version": "0.61.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -13,11 +13,11 @@
13
13
  "directory": "packages/nango-yaml"
14
14
  },
15
15
  "dependencies": {
16
- "js-yaml": "^4.1.0",
16
+ "js-yaml": "4.1.0",
17
17
  "ms": "3.0.0-canary.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@nangohq/types": "0.61.0",
20
+ "@nangohq/types": "0.61.2",
21
21
  "vitest": "3.1.2"
22
22
  },
23
23
  "files": [