@trayio/tray-openapi 5.34.0 → 5.35.0-unstable.fd7158a

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 (41) hide show
  1. package/dist/OpenApiCodecs.d.ts +207 -4
  2. package/dist/OpenApiCodecs.d.ts.map +1 -1
  3. package/dist/OpenApiCodecs.js +3 -3
  4. package/dist/OpenApiSchemaImporter.d.ts +2 -2
  5. package/dist/OpenApiSchemaImporter.d.ts.map +1 -1
  6. package/dist/OpenApiSchemaImporter.js +33 -55
  7. package/dist/OpenApiSchemaImporter.unit.test.js +24 -13
  8. package/dist/OpenApiSchemaTransformer.d.ts +2 -2
  9. package/dist/OpenApiSchemaTransformer.d.ts.map +1 -1
  10. package/dist/OpenApiSchemaTransformer.js +2 -25
  11. package/dist/OpenApiSchemaTransformer.unit.test.js +30 -44
  12. package/dist/OpenApiTypeDescriptors.d.ts +389 -32
  13. package/dist/OpenApiTypeDescriptors.d.ts.map +1 -1
  14. package/dist/OpenApiTypeDescriptors.js +80 -109
  15. package/dist/file-generators/GenerateHandler.d.ts +2 -2
  16. package/dist/file-generators/GenerateHandler.d.ts.map +1 -1
  17. package/dist/file-generators/GenerateHandler.js +75 -78
  18. package/dist/file-generators/GenerateHandler.unit.test.js +73 -97
  19. package/dist/file-generators/GenerateHandlerTest.d.ts +2 -2
  20. package/dist/file-generators/GenerateHandlerTest.d.ts.map +1 -1
  21. package/dist/file-generators/GenerateHandlerTest.js +69 -76
  22. package/dist/file-generators/GenerateHandlerTest.unit.test.js +206 -230
  23. package/dist/file-generators/GenerateOperationJson.d.ts +2 -2
  24. package/dist/file-generators/GenerateOperationJson.d.ts.map +1 -1
  25. package/dist/file-generators/GenerateOperationJson.js +4 -29
  26. package/dist/file-generators/GenerateOperationJson.unit.test.js +25 -49
  27. package/dist/file-generators/SchemaGenerator.d.ts.map +1 -1
  28. package/dist/file-generators/SchemaGenerator.js +14 -37
  29. package/dist/file-generators/types/GenerateInputSchema.d.ts +2 -2
  30. package/dist/file-generators/types/GenerateInputSchema.d.ts.map +1 -1
  31. package/dist/file-generators/types/GenerateInputSchema.js +88 -95
  32. package/dist/file-generators/types/GenerateInputSchema.test.js +60 -91
  33. package/dist/file-generators/types/GenerateInputType.test.js +143 -169
  34. package/dist/file-generators/types/GenerateInputTypes.d.ts +2 -2
  35. package/dist/file-generators/types/GenerateInputTypes.d.ts.map +1 -1
  36. package/dist/file-generators/types/GenerateInputTypes.js +7 -28
  37. package/dist/file-generators/types/GenerateOutput.d.ts +4 -6
  38. package/dist/file-generators/types/GenerateOutput.d.ts.map +1 -1
  39. package/dist/file-generators/types/GenerateOutput.js +46 -57
  40. package/dist/file-generators/types/GenerateOutput.test.js +35 -62
  41. package/package.json +6 -8
@@ -1,31 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const E = __importStar(require("fp-ts/Either"));
27
- const TE = __importStar(require("fp-ts/TaskEither"));
28
- const O = __importStar(require("fp-ts/Option"));
3
+ const effect_1 = require("effect");
29
4
  const GenerateInputSchema_1 = require("./GenerateInputSchema");
30
5
  const GenerateInputTypes_1 = require("./GenerateInputTypes");
31
6
  const SchemaGenerator_1 = require("../SchemaGenerator");
@@ -33,41 +8,39 @@ describe('GenerateInputSchema', () => {
33
8
  it('it should process an endpoint with path and query string parameters and generate input.ts file contents', async () => {
34
9
  const endpoint = {
35
10
  operationId: 'getPost',
36
- description: O.some('Get posts'),
37
- summary: O.none,
38
- tags: O.some([]),
39
- parameters: O.some([
11
+ description: effect_1.Option.some('Get posts'),
12
+ summary: effect_1.Option.none(),
13
+ tags: effect_1.Option.some([]),
14
+ parameters: effect_1.Option.some([
40
15
  {
41
16
  name: 'id',
42
17
  in: 'path',
43
- required: O.some(true),
44
- description: O.some('The user id.'),
18
+ required: effect_1.Option.some(true),
19
+ description: effect_1.Option.some('The user id.'),
45
20
  schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
46
- type: O.some('integer'),
21
+ type: effect_1.Option.some('integer'),
47
22
  }),
48
- additionalProperties: O.none,
23
+ additionalProperties: effect_1.Option.none(),
49
24
  },
50
25
  {
51
26
  name: 'date',
52
27
  in: 'query',
53
- required: O.none,
54
- description: O.some('The date of the post.'),
28
+ required: effect_1.Option.none(),
29
+ description: effect_1.Option.some('The date of the post.'),
55
30
  schema: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
56
- type: O.some('string'),
31
+ type: effect_1.Option.some('string'),
57
32
  }),
58
- additionalProperties: O.none,
33
+ additionalProperties: effect_1.Option.none(),
59
34
  },
60
35
  ]),
61
- requestBody: O.none,
62
- responses: O.none,
36
+ requestBody: effect_1.Option.none(),
37
+ responses: effect_1.Option.none(),
63
38
  };
64
- const inputSchema = E.getOrElse(() => {
39
+ const inputSchema = effect_1.Either.getOrElse(() => {
65
40
  throw new Error('Should have been right');
66
41
  })((0, GenerateInputSchema_1.generateInputSchema)(endpoint));
67
42
  const inputTypes = (0, GenerateInputTypes_1.generateInputTypes)(endpoint.operationId, inputSchema);
68
- const generatedInputFile = await TE.getOrElse((error) => {
69
- throw new Error('Should have been right');
70
- })(inputTypes)();
43
+ const generatedInputFile = await effect_1.Effect.runPromise(inputTypes);
71
44
  const expectedInputFile = `export interface GetPostInput {
72
45
  /**
73
46
  * @description The user id.
@@ -84,44 +57,42 @@ describe('GenerateInputSchema', () => {
84
57
  it('it should process an endpoint with body parameters and generate input.ts file contents', async () => {
85
58
  const endpoint = {
86
59
  operationId: 'createPost',
87
- description: O.some('Create a new post'),
88
- summary: O.none,
89
- tags: O.some([]),
90
- parameters: O.none,
91
- requestBody: O.some({
60
+ description: effect_1.Option.some('Create a new post'),
61
+ summary: effect_1.Option.none(),
62
+ tags: effect_1.Option.some([]),
63
+ parameters: effect_1.Option.none(),
64
+ requestBody: effect_1.Option.some({
92
65
  content: {
93
66
  'application/json': {
94
- schema: O.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
95
- type: O.some('object'),
96
- title: O.some('Post'),
97
- required: O.some(['id', 'userId', 'title', 'body']),
98
- properties: O.some({
67
+ schema: effect_1.Option.some((0, SchemaGenerator_1.generateNonArraySchemaObject)({
68
+ type: effect_1.Option.some('object'),
69
+ title: effect_1.Option.some('Post'),
70
+ required: effect_1.Option.some(['id', 'userId', 'title', 'body']),
71
+ properties: effect_1.Option.some({
99
72
  id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
100
- type: O.some('integer'),
73
+ type: effect_1.Option.some('integer'),
101
74
  }),
102
75
  userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
103
- type: O.some('integer'),
76
+ type: effect_1.Option.some('integer'),
104
77
  }),
105
78
  title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
106
- type: O.some('string'),
79
+ type: effect_1.Option.some('string'),
107
80
  }),
108
81
  body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
109
- type: O.some('string'),
82
+ type: effect_1.Option.some('string'),
110
83
  }),
111
84
  }),
112
85
  })),
113
86
  },
114
87
  },
115
88
  }),
116
- responses: O.none,
89
+ responses: effect_1.Option.none(),
117
90
  };
118
- const inputSchema = E.getOrElse(() => {
91
+ const inputSchema = effect_1.Either.getOrElse(() => {
119
92
  throw new Error('Should have been right');
120
93
  })((0, GenerateInputSchema_1.generateInputSchema)(endpoint));
121
94
  const inputTypes = (0, GenerateInputTypes_1.generateInputTypes)(endpoint.operationId, inputSchema);
122
- const generatedInputFile = await TE.getOrElse((error) => {
123
- throw new Error('Should have been right');
124
- })(inputTypes)();
95
+ const generatedInputFile = await effect_1.Effect.runPromise(inputTypes);
125
96
  const expectedInputFile = `export interface CreatePostInput {
126
97
  id: number;
127
98
  userId: number;
@@ -134,47 +105,45 @@ describe('GenerateInputSchema', () => {
134
105
  it('it should process an endpoint with query string parameter array and generate input.ts file contents', async () => {
135
106
  const endpoint = {
136
107
  operationId: 'getPost',
137
- description: O.some('Get posts'),
138
- summary: O.none,
139
- tags: O.some([]),
140
- parameters: O.some([
108
+ description: effect_1.Option.some('Get posts'),
109
+ summary: effect_1.Option.none(),
110
+ tags: effect_1.Option.some([]),
111
+ parameters: effect_1.Option.some([
141
112
  {
142
113
  name: 'tags',
143
114
  in: 'query',
144
- required: O.some(true),
145
- description: O.some('tags to filter by.'),
115
+ required: effect_1.Option.some(true),
116
+ description: effect_1.Option.some('tags to filter by.'),
146
117
  schema: {
147
- title: O.none,
148
- type: O.some('array'),
149
- format: O.none,
118
+ title: effect_1.Option.none(),
119
+ type: effect_1.Option.some('array'),
120
+ format: effect_1.Option.none(),
150
121
  items: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
151
- type: O.some('string'),
122
+ type: effect_1.Option.some('string'),
152
123
  }),
153
- properties: O.none,
154
- additionalProperties: O.some(false),
155
- required: O.none,
156
- allOf: O.none,
157
- anyOf: O.none,
158
- oneOf: O.none,
159
- not: O.none,
160
- in: O.none,
161
- default: O.none,
162
- nullable: O.none,
163
- enum: O.none,
124
+ properties: effect_1.Option.none(),
125
+ additionalProperties: effect_1.Option.some(false),
126
+ required: effect_1.Option.none(),
127
+ allOf: effect_1.Option.none(),
128
+ anyOf: effect_1.Option.none(),
129
+ oneOf: effect_1.Option.none(),
130
+ not: effect_1.Option.none(),
131
+ in: effect_1.Option.none(),
132
+ default: effect_1.Option.none(),
133
+ nullable: effect_1.Option.none(),
134
+ enum: effect_1.Option.none(),
164
135
  },
165
- additionalProperties: O.none,
136
+ additionalProperties: effect_1.Option.none(),
166
137
  },
167
138
  ]),
168
- requestBody: O.none,
169
- responses: O.none,
139
+ requestBody: effect_1.Option.none(),
140
+ responses: effect_1.Option.none(),
170
141
  };
171
- const inputSchema = E.getOrElse(() => {
142
+ const inputSchema = effect_1.Either.getOrElse(() => {
172
143
  throw new Error('Should have been right');
173
144
  })((0, GenerateInputSchema_1.generateInputSchema)(endpoint));
174
145
  const inputTypes = (0, GenerateInputTypes_1.generateInputTypes)(endpoint.operationId, inputSchema);
175
- const generatedInputFile = await TE.getOrElse((error) => {
176
- throw new Error('Should have been right');
177
- })(inputTypes)();
146
+ const generatedInputFile = await effect_1.Effect.runPromise(inputTypes);
178
147
  const expectedInputFile = `export interface GetPostInput {
179
148
  /**
180
149
  * @description tags to filter by.