@trayio/tray-openapi 5.33.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.
- package/dist/OpenApiCodecs.d.ts +207 -4
- package/dist/OpenApiCodecs.d.ts.map +1 -1
- package/dist/OpenApiCodecs.js +3 -3
- package/dist/OpenApiSchemaImporter.d.ts +2 -2
- package/dist/OpenApiSchemaImporter.d.ts.map +1 -1
- package/dist/OpenApiSchemaImporter.js +33 -55
- package/dist/OpenApiSchemaImporter.unit.test.js +24 -13
- package/dist/OpenApiSchemaTransformer.d.ts +2 -2
- package/dist/OpenApiSchemaTransformer.d.ts.map +1 -1
- package/dist/OpenApiSchemaTransformer.js +2 -25
- package/dist/OpenApiSchemaTransformer.unit.test.js +30 -44
- package/dist/OpenApiTypeDescriptors.d.ts +389 -32
- package/dist/OpenApiTypeDescriptors.d.ts.map +1 -1
- package/dist/OpenApiTypeDescriptors.js +80 -109
- package/dist/file-generators/GenerateHandler.d.ts +2 -2
- package/dist/file-generators/GenerateHandler.d.ts.map +1 -1
- package/dist/file-generators/GenerateHandler.js +75 -78
- package/dist/file-generators/GenerateHandler.unit.test.js +73 -97
- package/dist/file-generators/GenerateHandlerTest.d.ts +2 -2
- package/dist/file-generators/GenerateHandlerTest.d.ts.map +1 -1
- package/dist/file-generators/GenerateHandlerTest.js +69 -76
- package/dist/file-generators/GenerateHandlerTest.unit.test.js +206 -230
- package/dist/file-generators/GenerateOperationJson.d.ts +2 -2
- package/dist/file-generators/GenerateOperationJson.d.ts.map +1 -1
- package/dist/file-generators/GenerateOperationJson.js +4 -29
- package/dist/file-generators/GenerateOperationJson.unit.test.js +25 -49
- package/dist/file-generators/SchemaGenerator.d.ts.map +1 -1
- package/dist/file-generators/SchemaGenerator.js +14 -37
- package/dist/file-generators/types/GenerateInputSchema.d.ts +2 -2
- package/dist/file-generators/types/GenerateInputSchema.d.ts.map +1 -1
- package/dist/file-generators/types/GenerateInputSchema.js +88 -95
- package/dist/file-generators/types/GenerateInputSchema.test.js +60 -91
- package/dist/file-generators/types/GenerateInputType.test.js +143 -169
- package/dist/file-generators/types/GenerateInputTypes.d.ts +2 -2
- package/dist/file-generators/types/GenerateInputTypes.d.ts.map +1 -1
- package/dist/file-generators/types/GenerateInputTypes.js +7 -28
- package/dist/file-generators/types/GenerateOutput.d.ts +4 -6
- package/dist/file-generators/types/GenerateOutput.d.ts.map +1 -1
- package/dist/file-generators/types/GenerateOutput.js +46 -57
- package/dist/file-generators/types/GenerateOutput.test.js +35 -62
- 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
|
|
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:
|
|
37
|
-
summary:
|
|
38
|
-
tags:
|
|
39
|
-
parameters:
|
|
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:
|
|
44
|
-
description:
|
|
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:
|
|
21
|
+
type: effect_1.Option.some('integer'),
|
|
47
22
|
}),
|
|
48
|
-
additionalProperties:
|
|
23
|
+
additionalProperties: effect_1.Option.none(),
|
|
49
24
|
},
|
|
50
25
|
{
|
|
51
26
|
name: 'date',
|
|
52
27
|
in: 'query',
|
|
53
|
-
required:
|
|
54
|
-
description:
|
|
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:
|
|
31
|
+
type: effect_1.Option.some('string'),
|
|
57
32
|
}),
|
|
58
|
-
additionalProperties:
|
|
33
|
+
additionalProperties: effect_1.Option.none(),
|
|
59
34
|
},
|
|
60
35
|
]),
|
|
61
|
-
requestBody:
|
|
62
|
-
responses:
|
|
36
|
+
requestBody: effect_1.Option.none(),
|
|
37
|
+
responses: effect_1.Option.none(),
|
|
63
38
|
};
|
|
64
|
-
const inputSchema =
|
|
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
|
|
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:
|
|
88
|
-
summary:
|
|
89
|
-
tags:
|
|
90
|
-
parameters:
|
|
91
|
-
requestBody:
|
|
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:
|
|
95
|
-
type:
|
|
96
|
-
title:
|
|
97
|
-
required:
|
|
98
|
-
properties:
|
|
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:
|
|
73
|
+
type: effect_1.Option.some('integer'),
|
|
101
74
|
}),
|
|
102
75
|
userId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
|
|
103
|
-
type:
|
|
76
|
+
type: effect_1.Option.some('integer'),
|
|
104
77
|
}),
|
|
105
78
|
title: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
|
|
106
|
-
type:
|
|
79
|
+
type: effect_1.Option.some('string'),
|
|
107
80
|
}),
|
|
108
81
|
body: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
|
|
109
|
-
type:
|
|
82
|
+
type: effect_1.Option.some('string'),
|
|
110
83
|
}),
|
|
111
84
|
}),
|
|
112
85
|
})),
|
|
113
86
|
},
|
|
114
87
|
},
|
|
115
88
|
}),
|
|
116
|
-
responses:
|
|
89
|
+
responses: effect_1.Option.none(),
|
|
117
90
|
};
|
|
118
|
-
const inputSchema =
|
|
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
|
|
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:
|
|
138
|
-
summary:
|
|
139
|
-
tags:
|
|
140
|
-
parameters:
|
|
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:
|
|
145
|
-
description:
|
|
115
|
+
required: effect_1.Option.some(true),
|
|
116
|
+
description: effect_1.Option.some('tags to filter by.'),
|
|
146
117
|
schema: {
|
|
147
|
-
title:
|
|
148
|
-
type:
|
|
149
|
-
format:
|
|
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:
|
|
122
|
+
type: effect_1.Option.some('string'),
|
|
152
123
|
}),
|
|
153
|
-
properties:
|
|
154
|
-
additionalProperties:
|
|
155
|
-
required:
|
|
156
|
-
allOf:
|
|
157
|
-
anyOf:
|
|
158
|
-
oneOf:
|
|
159
|
-
not:
|
|
160
|
-
in:
|
|
161
|
-
default:
|
|
162
|
-
nullable:
|
|
163
|
-
enum:
|
|
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:
|
|
136
|
+
additionalProperties: effect_1.Option.none(),
|
|
166
137
|
},
|
|
167
138
|
]),
|
|
168
|
-
requestBody:
|
|
169
|
-
responses:
|
|
139
|
+
requestBody: effect_1.Option.none(),
|
|
140
|
+
responses: effect_1.Option.none(),
|
|
170
141
|
};
|
|
171
|
-
const inputSchema =
|
|
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
|
|
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.
|