@trayio/tray-openapi 4.12.0 → 4.14.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.
@@ -28,6 +28,7 @@ const TE = __importStar(require("fp-ts/TaskEither"));
28
28
  const O = __importStar(require("fp-ts/Option"));
29
29
  const GenerateInputSchema_1 = require("./GenerateInputSchema");
30
30
  const GenerateInputTypes_1 = require("./GenerateInputTypes");
31
+ const SchemaGenerator_1 = require("../SchemaGenerator");
31
32
  describe('GenerateInputSchema', () => {
32
33
  it('it should process an endpoint with path and query string parameters and generate input.ts file contents', async () => {
33
34
  const endpoint = {
@@ -41,19 +42,9 @@ describe('GenerateInputSchema', () => {
41
42
  in: 'path',
42
43
  required: O.some(true),
43
44
  description: 'The user id.',
44
- schema: {
45
+ schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
45
46
  type: O.some('integer'),
46
- title: O.none,
47
- properties: O.none,
48
- additionalProperties: O.some(false),
49
- required: O.none,
50
- allOf: O.none,
51
- anyOf: O.none,
52
- oneOf: O.none,
53
- not: O.none,
54
- in: O.none,
55
- default: O.none,
56
- },
47
+ }),
57
48
  additionalProperties: O.none,
58
49
  },
59
50
  {
@@ -61,21 +52,9 @@ describe('GenerateInputSchema', () => {
61
52
  in: 'query',
62
53
  required: O.none,
63
54
  description: 'The date of the post.',
64
- schema: {
55
+ schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
65
56
  type: O.some('string'),
66
- title: O.none,
67
- properties: O.none,
68
- additionalProperties: O.some(false),
69
- format: O.none,
70
- items: O.none,
71
- required: O.none,
72
- allOf: O.none,
73
- anyOf: O.none,
74
- oneOf: O.none,
75
- not: O.none,
76
- in: O.none,
77
- default: O.none,
78
- },
57
+ }),
79
58
  additionalProperties: O.none,
80
59
  },
81
60
  ]),
@@ -112,72 +91,25 @@ describe('GenerateInputSchema', () => {
112
91
  requestBody: O.some({
113
92
  content: {
114
93
  'application/json': {
115
- schema: O.some({
94
+ schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
116
95
  type: O.some('object'),
117
96
  title: O.some('Post'),
118
97
  required: O.some(['id', 'userId', 'title', 'body']),
119
98
  properties: O.some({
120
- id: {
99
+ id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
121
100
  type: O.some('integer'),
122
- title: O.none,
123
- properties: O.none,
124
- additionalProperties: O.some(false),
125
- required: O.none,
126
- allOf: O.none,
127
- anyOf: O.none,
128
- oneOf: O.none,
129
- not: O.none,
130
- in: O.none,
131
- default: O.none,
132
- },
133
- userId: {
101
+ }),
102
+ userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
134
103
  type: O.some('integer'),
135
- title: O.none,
136
- properties: O.none,
137
- additionalProperties: O.some(false),
138
- required: O.none,
139
- allOf: O.none,
140
- anyOf: O.none,
141
- oneOf: O.none,
142
- not: O.none,
143
- in: O.none,
144
- default: O.none,
145
- },
146
- title: {
104
+ }),
105
+ title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
147
106
  type: O.some('string'),
148
- title: O.none,
149
- properties: O.none,
150
- additionalProperties: O.some(false),
151
- required: O.none,
152
- allOf: O.none,
153
- anyOf: O.none,
154
- oneOf: O.none,
155
- not: O.none,
156
- in: O.none,
157
- default: O.none,
158
- },
159
- body: {
107
+ }),
108
+ body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
160
109
  type: O.some('string'),
161
- title: O.none,
162
- properties: O.none,
163
- additionalProperties: O.some(false),
164
- required: O.none,
165
- allOf: O.none,
166
- anyOf: O.none,
167
- oneOf: O.none,
168
- not: O.none,
169
- in: O.none,
170
- default: O.none,
171
- },
110
+ }),
172
111
  }),
173
- additionalProperties: O.some(false),
174
- allOf: O.none,
175
- anyOf: O.none,
176
- oneOf: O.none,
177
- not: O.none,
178
- in: O.none,
179
- default: O.none,
180
- }),
112
+ })),
181
113
  },
182
114
  },
183
115
  }),
@@ -215,19 +147,9 @@ describe('GenerateInputSchema', () => {
215
147
  title: O.none,
216
148
  type: O.some('array'),
217
149
  format: O.none,
218
- items: {
150
+ items: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
219
151
  type: O.some('string'),
220
- title: O.none,
221
- properties: O.none,
222
- additionalProperties: O.some(false),
223
- required: O.none,
224
- allOf: O.none,
225
- anyOf: O.none,
226
- oneOf: O.none,
227
- not: O.none,
228
- in: O.none,
229
- default: O.none,
230
- },
152
+ }),
231
153
  properties: O.none,
232
154
  additionalProperties: O.some(false),
233
155
  required: O.none,
@@ -237,6 +159,7 @@ describe('GenerateInputSchema', () => {
237
159
  not: O.none,
238
160
  in: O.none,
239
161
  default: O.none,
162
+ nullable: O.none,
240
163
  },
241
164
  additionalProperties: O.none,
242
165
  },
@@ -28,6 +28,7 @@ const TE = __importStar(require("fp-ts/TaskEither"));
28
28
  const O = __importStar(require("fp-ts/Option"));
29
29
  const GenerateInputSchema_1 = require("./GenerateInputSchema");
30
30
  const GenerateInputTypes_1 = require("./GenerateInputTypes");
31
+ const SchemaGenerator_1 = require("../SchemaGenerator");
31
32
  describe('GenerateInputType', () => {
32
33
  it('it should generate a schema from an endpoint with body parameters', async () => {
33
34
  const endpoint = {
@@ -39,72 +40,30 @@ describe('GenerateInputType', () => {
39
40
  requestBody: O.some({
40
41
  content: {
41
42
  'application/json': {
42
- schema: O.some({
43
- title: O.none,
43
+ schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
44
44
  type: O.some('object'),
45
45
  required: O.some(['id', 'userId', 'title', 'body']),
46
46
  properties: O.some({
47
- id: {
48
- title: O.none,
47
+ id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
49
48
  type: O.some('integer'),
50
- properties: O.none,
51
49
  additionalProperties: O.some(false),
52
- required: O.none,
53
- allOf: O.none,
54
- anyOf: O.none,
55
- oneOf: O.none,
56
- not: O.none,
57
- in: O.none,
58
- default: O.none,
59
- },
60
- userId: {
61
- title: O.none,
50
+ }),
51
+ userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
62
52
  type: O.some('integer'),
63
- properties: O.none,
64
53
  additionalProperties: O.some(false),
65
- required: O.none,
66
- allOf: O.none,
67
- anyOf: O.none,
68
- oneOf: O.none,
69
- not: O.none,
70
- in: O.none,
71
- default: O.none,
72
- },
73
- title: {
54
+ }),
55
+ title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
74
56
  title: O.none,
75
57
  type: O.some('string'),
76
- properties: O.none,
77
58
  additionalProperties: O.some(false),
78
- required: O.none,
79
- allOf: O.none,
80
- anyOf: O.none,
81
- oneOf: O.none,
82
- not: O.none,
83
- in: O.none,
84
- default: O.none,
85
- },
86
- body: {
87
- title: O.none,
59
+ }),
60
+ body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
88
61
  type: O.some('string'),
89
- properties: O.none,
90
62
  additionalProperties: O.some(false),
91
- required: O.none,
92
- allOf: O.none,
93
- anyOf: O.none,
94
- oneOf: O.none,
95
- not: O.none,
96
- in: O.none,
97
- default: O.none,
98
- },
63
+ }),
99
64
  }),
100
65
  additionalProperties: O.some(false),
101
- allOf: O.none,
102
- anyOf: O.none,
103
- oneOf: O.none,
104
- not: O.none,
105
- in: O.none,
106
- default: O.none,
107
- }),
66
+ })),
108
67
  },
109
68
  },
110
69
  }),
@@ -130,6 +89,7 @@ describe('GenerateInputType', () => {
130
89
  not: O.none,
131
90
  in: O.some('body'),
132
91
  default: O.none,
92
+ nullable: O.none,
133
93
  },
134
94
  userId: {
135
95
  title: O.none,
@@ -143,6 +103,7 @@ describe('GenerateInputType', () => {
143
103
  not: O.none,
144
104
  in: O.some('body'),
145
105
  default: O.none,
106
+ nullable: O.none,
146
107
  },
147
108
  title: {
148
109
  title: O.none,
@@ -156,6 +117,7 @@ describe('GenerateInputType', () => {
156
117
  not: O.none,
157
118
  in: O.some('body'),
158
119
  default: O.none,
120
+ nullable: O.none,
159
121
  },
160
122
  body: {
161
123
  title: O.none,
@@ -169,6 +131,7 @@ describe('GenerateInputType', () => {
169
131
  not: O.none,
170
132
  in: O.some('body'),
171
133
  default: O.none,
134
+ nullable: O.none,
172
135
  },
173
136
  }),
174
137
  additionalProperties: O.some(false),
@@ -178,6 +141,7 @@ describe('GenerateInputType', () => {
178
141
  not: O.none,
179
142
  in: O.none,
180
143
  default: O.none,
144
+ nullable: O.none,
181
145
  };
182
146
  expect(inputSchema).toEqual(expectedInputSchema);
183
147
  });
@@ -193,98 +157,39 @@ describe('GenerateInputType', () => {
193
157
  in: 'path',
194
158
  required: O.some(true),
195
159
  description: 'The user id.',
196
- schema: {
197
- title: O.none,
160
+ schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
198
161
  type: O.some('integer'),
199
- format: O.some('int64'),
200
- properties: O.none,
201
- additionalProperties: O.some(false),
202
- required: O.none,
203
- allOf: O.none,
204
- anyOf: O.none,
205
- oneOf: O.none,
206
- not: O.none,
207
- in: O.none,
208
- default: O.none,
209
- },
162
+ }),
210
163
  },
211
164
  {
212
165
  name: 'categoryId',
213
166
  in: 'path',
214
167
  required: O.some(false),
215
168
  description: 'The category id.',
216
- schema: {
169
+ schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
217
170
  title: O.none,
218
171
  type: O.some('integer'),
219
- format: O.some('int64'),
220
- properties: O.none,
221
- additionalProperties: O.some(false),
222
- required: O.none,
223
- allOf: O.none,
224
- anyOf: O.none,
225
- oneOf: O.none,
226
- not: O.none,
227
- in: O.none,
228
- default: O.none,
229
- },
172
+ }),
230
173
  },
231
174
  ]),
232
175
  requestBody: O.some({
233
176
  content: {
234
177
  'application/json': {
235
- schema: O.some({
236
- title: O.none,
178
+ schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
237
179
  type: O.some('object'),
238
180
  required: O.some(['userId', 'body']),
239
181
  properties: O.some({
240
- userId: {
241
- title: O.none,
182
+ userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
242
183
  type: O.some('integer'),
243
- properties: O.none,
244
- additionalProperties: O.some(false),
245
- required: O.none,
246
- allOf: O.none,
247
- anyOf: O.none,
248
- oneOf: O.none,
249
- not: O.none,
250
- in: O.none,
251
- default: O.none,
252
- },
253
- title: {
254
- title: O.none,
184
+ }),
185
+ title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
255
186
  type: O.some('string'),
256
- properties: O.none,
257
- required: O.none,
258
- additionalProperties: O.some(false),
259
- allOf: O.none,
260
- anyOf: O.none,
261
- oneOf: O.none,
262
- not: O.none,
263
- in: O.none,
264
- default: O.none,
265
- },
266
- body: {
267
- title: O.none,
187
+ }),
188
+ body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
268
189
  type: O.some('string'),
269
- properties: O.none,
270
- additionalProperties: O.some(false),
271
- required: O.none,
272
- allOf: O.none,
273
- anyOf: O.none,
274
- oneOf: O.none,
275
- not: O.none,
276
- in: O.none,
277
- default: O.none,
278
- },
190
+ }),
279
191
  }),
280
- additionalProperties: O.some(false),
281
- allOf: O.none,
282
- anyOf: O.none,
283
- oneOf: O.none,
284
- not: O.none,
285
- in: O.none,
286
- default: O.none,
287
- }),
192
+ })),
288
193
  },
289
194
  },
290
195
  }),
@@ -344,19 +249,10 @@ describe('GenerateInputType', () => {
344
249
  requestBody: O.some({
345
250
  content: {
346
251
  'application/json': {
347
- schema: O.some({
348
- title: O.none,
252
+ schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
349
253
  type: O.some('object'),
350
- required: O.none,
351
- properties: O.none,
352
254
  additionalProperties: O.some(true),
353
- allOf: O.none,
354
- anyOf: O.none,
355
- oneOf: O.none,
356
- not: O.none,
357
- in: O.none,
358
- default: O.none,
359
- }),
255
+ })),
360
256
  },
361
257
  },
362
258
  }),
@@ -385,72 +281,24 @@ describe('GenerateInputType', () => {
385
281
  requestBody: O.some({
386
282
  content: {
387
283
  'unsupported-media-type': {
388
- schema: O.some({
389
- title: O.none,
284
+ schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
390
285
  type: O.some('object'),
391
286
  required: O.some(['id', 'userId', 'title', 'body']),
392
287
  properties: O.some({
393
- id: {
394
- title: O.none,
288
+ id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
395
289
  type: O.some('integer'),
396
- properties: O.none,
397
- required: O.none,
398
- additionalProperties: O.some(false),
399
- allOf: O.none,
400
- anyOf: O.none,
401
- oneOf: O.none,
402
- not: O.none,
403
- in: O.none,
404
- default: O.none,
405
- },
406
- userId: {
407
- title: O.none,
290
+ }),
291
+ userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
408
292
  type: O.some('integer'),
409
- properties: O.none,
410
- required: O.none,
411
- additionalProperties: O.some(false),
412
- allOf: O.none,
413
- anyOf: O.none,
414
- oneOf: O.none,
415
- not: O.none,
416
- in: O.none,
417
- default: O.none,
418
- },
419
- title: {
420
- title: O.none,
293
+ }),
294
+ title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
421
295
  type: O.some('string'),
422
- properties: O.none,
423
- required: O.none,
424
- additionalProperties: O.some(false),
425
- allOf: O.none,
426
- anyOf: O.none,
427
- oneOf: O.none,
428
- not: O.none,
429
- in: O.none,
430
- default: O.none,
431
- },
432
- body: {
433
- title: O.none,
296
+ }),
297
+ body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
434
298
  type: O.some('string'),
435
- properties: O.none,
436
- required: O.none,
437
- additionalProperties: O.some(false),
438
- allOf: O.none,
439
- anyOf: O.none,
440
- oneOf: O.none,
441
- not: O.none,
442
- in: O.none,
443
- default: O.none,
444
- },
299
+ }),
445
300
  }),
446
- additionalProperties: O.some(false),
447
- allOf: O.none,
448
- anyOf: O.none,
449
- oneOf: O.none,
450
- not: O.none,
451
- in: O.none,
452
- default: O.none,
453
- }),
301
+ })),
454
302
  },
455
303
  },
456
304
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateOutput.d.ts","sourceRoot":"","sources":["../../../src/file-generators/types/GenerateOutput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,OAAO,EACN,SAAS,EAET,eAAe,EACf,YAAY,EAEZ,MAAM,8BAA8B,CAAC;AAyCtC,eAAO,MAAM,2BAA2B,YAC9B,OAAO,MAAM,EAAE,eAAe,CAAC,KACtC,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,CAWjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,cACrB,EAAE,MAAM,CAAC,SAAS,CAAC,KAC5B,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAelC,CAAC;AAWH,eAAO,MAAM,mBAAmB,2BACP,MAAM,gBAChB,YAAY,KACxB,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAgB7B,CAAC"}
1
+ {"version":3,"file":"GenerateOutput.d.ts","sourceRoot":"","sources":["../../../src/file-generators/types/GenerateOutput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,OAAO,EACN,SAAS,EAET,eAAe,EACf,YAAY,EAEZ,MAAM,8BAA8B,CAAC;AA0CtC,eAAO,MAAM,2BAA2B,YAC9B,OAAO,MAAM,EAAE,eAAe,CAAC,KACtC,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,CAWjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,cACrB,EAAE,MAAM,CAAC,SAAS,CAAC,KAC5B,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAelC,CAAC;AAWH,eAAO,MAAM,mBAAmB,2BACP,MAAM,gBAChB,YAAY,KACxB,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAgB7B,CAAC"}
@@ -53,6 +53,7 @@ const blankOutputSchema = () => ({
53
53
  not: O.none,
54
54
  in: O.none,
55
55
  default: O.none,
56
+ nullable: O.none,
56
57
  });
57
58
  const getContent = (response) => O.fold(() => ({ 'application/json': { schema: O.some(blankOutputSchema()) } }), (content) => content)(response.content);
58
59
  const getApplicationJsonMediaType = (content) => {