@trayio/tray-openapi 5.35.0-unstable.fd7158a → 6.0.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.
Files changed (41) hide show
  1. package/dist/OpenApiCodecs.d.ts +4 -207
  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 +55 -33
  7. package/dist/OpenApiSchemaImporter.unit.test.js +13 -24
  8. package/dist/OpenApiSchemaTransformer.d.ts +2 -2
  9. package/dist/OpenApiSchemaTransformer.d.ts.map +1 -1
  10. package/dist/OpenApiSchemaTransformer.js +25 -2
  11. package/dist/OpenApiSchemaTransformer.unit.test.js +44 -30
  12. package/dist/OpenApiTypeDescriptors.d.ts +32 -389
  13. package/dist/OpenApiTypeDescriptors.d.ts.map +1 -1
  14. package/dist/OpenApiTypeDescriptors.js +109 -80
  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 +78 -75
  18. package/dist/file-generators/GenerateHandler.unit.test.js +97 -73
  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 +76 -69
  22. package/dist/file-generators/GenerateHandlerTest.unit.test.js +230 -206
  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 +29 -4
  26. package/dist/file-generators/GenerateOperationJson.unit.test.js +49 -25
  27. package/dist/file-generators/SchemaGenerator.d.ts.map +1 -1
  28. package/dist/file-generators/SchemaGenerator.js +37 -14
  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 +95 -88
  32. package/dist/file-generators/types/GenerateInputSchema.test.js +91 -60
  33. package/dist/file-generators/types/GenerateInputType.test.js +169 -143
  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 +28 -7
  37. package/dist/file-generators/types/GenerateOutput.d.ts +6 -4
  38. package/dist/file-generators/types/GenerateOutput.d.ts.map +1 -1
  39. package/dist/file-generators/types/GenerateOutput.js +57 -46
  40. package/dist/file-generators/types/GenerateOutput.test.js +62 -35
  41. package/package.json +8 -6
@@ -1,6 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const effect_1 = require("effect");
26
+ const E = __importStar(require("fp-ts/Either"));
27
+ const O = __importStar(require("fp-ts/Option"));
4
28
  const GenerateHandler_1 = require("./GenerateHandler");
5
29
  const SchemaGenerator_1 = require("./SchemaGenerator");
6
30
  const getGenerateHandlerInput = (input) => ({
@@ -17,7 +41,7 @@ describe('GenerateHandler', () => {
17
41
  it('it should generate a handler with no inputs', () => {
18
42
  const payload = getGenerateHandlerInput({});
19
43
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
20
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
44
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
21
45
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
22
46
  import { GetPhotoInput } from "./input";
23
47
  import { GetPhotoOutput } from "./output";
@@ -38,22 +62,22 @@ import { globalConfigHttp } from "../GlobalConfig";
38
62
  });
39
63
  it('it should generate a handler with a path parameter', () => {
40
64
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
41
- type: effect_1.Option.some('object'),
42
- properties: effect_1.Option.some({
65
+ type: O.some('object'),
66
+ properties: O.some({
43
67
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
44
- type: effect_1.Option.some('string'),
45
- in: effect_1.Option.some('path'),
68
+ type: O.some('string'),
69
+ in: O.some('path'),
46
70
  }),
47
71
  }),
48
- required: effect_1.Option.some(['photoId']),
49
- additionalProperties: effect_1.Option.some(false),
72
+ required: O.some(['photoId']),
73
+ additionalProperties: O.some(false),
50
74
  });
51
75
  const payload = getGenerateHandlerInput({
52
76
  input,
53
77
  httpPath: '/photos/{photoId}',
54
78
  });
55
79
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
56
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
80
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
57
81
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
58
82
  import { GetPhotoInput } from "./input";
59
83
  import { GetPhotoOutput } from "./output";
@@ -74,19 +98,19 @@ import { globalConfigHttp } from "../GlobalConfig";
74
98
  });
75
99
  it('it should generate a handler with a body input as json', () => {
76
100
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
77
- type: effect_1.Option.some('object'),
78
- properties: effect_1.Option.some({
101
+ type: O.some('object'),
102
+ properties: O.some({
79
103
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
80
- type: effect_1.Option.some('string'),
81
- in: effect_1.Option.some('body'),
104
+ type: O.some('string'),
105
+ in: O.some('body'),
82
106
  }),
83
107
  }),
84
- required: effect_1.Option.some(['photoId']),
85
- additionalProperties: effect_1.Option.some(false),
108
+ required: O.some(['photoId']),
109
+ additionalProperties: O.some(false),
86
110
  });
87
111
  const payload = getGenerateHandlerInput({ input });
88
112
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
89
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
113
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
90
114
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
91
115
  import { GetPhotoInput } from "./input";
92
116
  import { GetPhotoOutput } from "./output";
@@ -107,19 +131,19 @@ import { globalConfigHttp } from "../GlobalConfig";
107
131
  });
108
132
  it('it should generate a handler with a query string input', () => {
109
133
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
110
- type: effect_1.Option.some('object'),
111
- properties: effect_1.Option.some({
134
+ type: O.some('object'),
135
+ properties: O.some({
112
136
  id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
113
- type: effect_1.Option.some('string'),
114
- in: effect_1.Option.some('query'),
137
+ type: O.some('string'),
138
+ in: O.some('query'),
115
139
  }),
116
140
  }),
117
- required: effect_1.Option.some(['id']),
118
- additionalProperties: effect_1.Option.some(false),
141
+ required: O.some(['id']),
142
+ additionalProperties: O.some(false),
119
143
  });
120
144
  const payload = getGenerateHandlerInput({ input });
121
145
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
122
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
146
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
123
147
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
124
148
  import { GetPhotoInput } from "./input";
125
149
  import { GetPhotoOutput } from "./output";
@@ -140,19 +164,19 @@ import { globalConfigHttp } from "../GlobalConfig";
140
164
  });
141
165
  it('it should generate a handler with a header input', () => {
142
166
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
143
- type: effect_1.Option.some('object'),
144
- properties: effect_1.Option.some({
167
+ type: O.some('object'),
168
+ properties: O.some({
145
169
  'Content-Type': (0, SchemaGenerator_1.generateNonArraySchemaObject)({
146
- type: effect_1.Option.some('string'),
147
- in: effect_1.Option.some('header'),
170
+ type: O.some('string'),
171
+ in: O.some('header'),
148
172
  }),
149
173
  }),
150
- required: effect_1.Option.some(['Content-Type']),
151
- additionalProperties: effect_1.Option.some(false),
174
+ required: O.some(['Content-Type']),
175
+ additionalProperties: O.some(false),
152
176
  });
153
177
  const payload = getGenerateHandlerInput({ input });
154
178
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
155
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
179
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
156
180
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
157
181
  import { GetPhotoInput } from "./input";
158
182
  import { GetPhotoOutput } from "./output";
@@ -173,18 +197,18 @@ import { globalConfigHttp } from "../GlobalConfig";
173
197
  });
174
198
  it('it should generate a handler and transform number type to string for input', () => {
175
199
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
176
- type: effect_1.Option.some('object'),
177
- properties: effect_1.Option.some({
200
+ type: O.some('object'),
201
+ properties: O.some({
178
202
  'Content-Type': (0, SchemaGenerator_1.generateNonArraySchemaObject)({
179
- type: effect_1.Option.some('integer'),
180
- in: effect_1.Option.some('header'),
203
+ type: O.some('integer'),
204
+ in: O.some('header'),
181
205
  }),
182
206
  }),
183
- additionalProperties: effect_1.Option.some(false),
207
+ additionalProperties: O.some(false),
184
208
  });
185
209
  const payload = getGenerateHandlerInput({ input });
186
210
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
187
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
211
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
188
212
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
189
213
  import { GetPhotoInput } from "./input";
190
214
  import { GetPhotoOutput } from "./output";
@@ -205,30 +229,30 @@ import { globalConfigHttp } from "../GlobalConfig";
205
229
  });
206
230
  it('it should generate a handler with a query string and path param input', () => {
207
231
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
208
- type: effect_1.Option.some('object'),
209
- properties: effect_1.Option.some({
232
+ type: O.some('object'),
233
+ properties: O.some({
210
234
  id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
211
- type: effect_1.Option.some('string'),
212
- in: effect_1.Option.some('query'),
235
+ type: O.some('string'),
236
+ in: O.some('query'),
213
237
  }),
214
238
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
215
- type: effect_1.Option.some('string'),
216
- in: effect_1.Option.some('path'),
239
+ type: O.some('string'),
240
+ in: O.some('path'),
217
241
  }),
218
242
  commentId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
219
- type: effect_1.Option.some('string'),
220
- in: effect_1.Option.some('path'),
243
+ type: O.some('string'),
244
+ in: O.some('path'),
221
245
  }),
222
246
  }),
223
- required: effect_1.Option.some(['photoId']),
224
- additionalProperties: effect_1.Option.some(false),
247
+ required: O.some(['photoId']),
248
+ additionalProperties: O.some(false),
225
249
  });
226
250
  const payload = getGenerateHandlerInput({
227
251
  input,
228
252
  httpPath: '/photos/{photoId}/{commentId}',
229
253
  });
230
254
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
231
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
255
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
232
256
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
233
257
  import { GetPhotoInput } from "./input";
234
258
  import { GetPhotoOutput } from "./output";
@@ -249,23 +273,23 @@ import { globalConfigHttp } from "../GlobalConfig";
249
273
  });
250
274
  it('it should generate a handler with a query string and body param input', () => {
251
275
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
252
- type: effect_1.Option.some('object'),
253
- properties: effect_1.Option.some({
276
+ type: O.some('object'),
277
+ properties: O.some({
254
278
  id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
255
- type: effect_1.Option.some('string'),
256
- in: effect_1.Option.some('query'),
279
+ type: O.some('string'),
280
+ in: O.some('query'),
257
281
  }),
258
282
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
259
- type: effect_1.Option.some('string'),
260
- in: effect_1.Option.some('body'),
283
+ type: O.some('string'),
284
+ in: O.some('body'),
261
285
  }),
262
286
  }),
263
- required: effect_1.Option.some(['id', 'photoId']),
264
- additionalProperties: effect_1.Option.some(false),
287
+ required: O.some(['id', 'photoId']),
288
+ additionalProperties: O.some(false),
265
289
  });
266
290
  const payload = getGenerateHandlerInput({ input });
267
291
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
268
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
292
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
269
293
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
270
294
  import { GetPhotoInput } from "./input";
271
295
  import { GetPhotoOutput } from "./output";
@@ -286,23 +310,23 @@ import { globalConfigHttp } from "../GlobalConfig";
286
310
  });
287
311
  it('it should generate a handler with an optional query string and body param input', () => {
288
312
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
289
- type: effect_1.Option.some('object'),
290
- properties: effect_1.Option.some({
313
+ type: O.some('object'),
314
+ properties: O.some({
291
315
  id: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
292
- type: effect_1.Option.some('string'),
293
- in: effect_1.Option.some('query'),
316
+ type: O.some('string'),
317
+ in: O.some('query'),
294
318
  }),
295
319
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
296
- type: effect_1.Option.some('string'),
297
- in: effect_1.Option.some('body'),
320
+ type: O.some('string'),
321
+ in: O.some('body'),
298
322
  }),
299
323
  }),
300
- required: effect_1.Option.some(['photoId']),
301
- additionalProperties: effect_1.Option.some(false),
324
+ required: O.some(['photoId']),
325
+ additionalProperties: O.some(false),
302
326
  });
303
327
  const payload = getGenerateHandlerInput({ input });
304
328
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
305
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
329
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
306
330
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
307
331
  import { GetPhotoInput } from "./input";
308
332
  import { GetPhotoOutput } from "./output";
@@ -323,20 +347,20 @@ import { globalConfigHttp } from "../GlobalConfig";
323
347
  });
324
348
  it('it should generate a handler with a nullable body input', () => {
325
349
  const input = (0, SchemaGenerator_1.generateNonArraySchemaObject)({
326
- type: effect_1.Option.some('object'),
327
- properties: effect_1.Option.some({
350
+ type: O.some('object'),
351
+ properties: O.some({
328
352
  photoId: (0, SchemaGenerator_1.generateNonArraySchemaObject)({
329
- type: effect_1.Option.some('string'),
330
- in: effect_1.Option.some('body'),
331
- nullable: effect_1.Option.some(true),
353
+ type: O.some('string'),
354
+ in: O.some('body'),
355
+ nullable: O.some(true),
332
356
  }),
333
357
  }),
334
- required: effect_1.Option.none(),
335
- additionalProperties: effect_1.Option.some(false),
358
+ required: O.none,
359
+ additionalProperties: O.some(false),
336
360
  });
337
361
  const payload = getGenerateHandlerInput({ input });
338
362
  const generatedHandler = (0, GenerateHandler_1.generateHandler)(payload);
339
- expect(effect_1.Either.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
363
+ expect(E.right(`import { OperationHandlerSetup } from "@trayio/cdk-dsl/connector/operation/OperationHandlerSetup";
340
364
  import { castUndefinedPropertyToNull } from "@trayio/commons/dynamictype/DynamicType";
341
365
  import { OpenApiTestAuth } from "../OpenApiTestAuth";
342
366
  import { GetPhotoInput } from "./input";
@@ -1,9 +1,9 @@
1
- import { Either } from 'effect';
1
+ import * as E from 'fp-ts/Either';
2
2
  import { SchemaObject } from '../OpenApiTypeDescriptors';
3
3
  export type GenerateHandlerTestInput = {
4
4
  operationNameCamelCase: string;
5
5
  input: SchemaObject;
6
6
  output: SchemaObject;
7
7
  };
8
- export declare const generateHandlerTest: ({ operationNameCamelCase, input, output, }: GenerateHandlerTestInput) => Either.Either<string, Error>;
8
+ export declare const generateHandlerTest: ({ operationNameCamelCase, input, output, }: GenerateHandlerTestInput) => E.Either<Error, string>;
9
9
  //# sourceMappingURL=GenerateHandlerTest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateHandlerTest.d.ts","sourceRoot":"","sources":["../../src/file-generators/GenerateHandlerTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAqB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACrB,CAAC;AAgGF,eAAO,MAAM,mBAAmB,GAAI,4CAIjC,wBAAwB,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAqCtD,CAAC"}
1
+ {"version":3,"file":"GenerateHandlerTest.d.ts","sourceRoot":"","sources":["../../src/file-generators/GenerateHandlerTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAqB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACrB,CAAC;AA8FF,eAAO,MAAM,mBAAmB,+CAI7B,wBAAwB,KAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAqClD,CAAC"}
@@ -1,66 +1,82 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.generateHandlerTest = void 0;
4
- const effect_1 = require("effect");
5
- const getDefaultValue = (prop) => (0, effect_1.pipe)(prop.default, effect_1.Option.match({
6
- onNone: () => effect_1.Option.match(prop.type, {
7
- onNone: () => {
8
- if (effect_1.Option.isSome(prop.oneOf)) {
9
- const oneOfProp = effect_1.Option.getOrElse(prop.oneOf, () => []);
10
- if (oneOfProp.length > 0) {
11
- return getDefaultValue(oneOfProp[0]);
27
+ const E = __importStar(require("fp-ts/Either"));
28
+ const O = __importStar(require("fp-ts/Option"));
29
+ const function_1 = require("fp-ts/function");
30
+ const getDefaultValue = (prop) => (0, function_1.pipe)(prop.default, O.fold(() => O.fold(() => {
31
+ if (O.isSome(prop.oneOf)) {
32
+ const oneOfProp = O.getOrElse(() => [])(prop.oneOf);
33
+ if (oneOfProp.length > 0) {
34
+ return getDefaultValue(oneOfProp[0]);
35
+ }
36
+ }
37
+ return `'test_value'`;
38
+ }, (type) => {
39
+ switch (type) {
40
+ case 'string':
41
+ const isEnum = O.isSome(prop.enum);
42
+ if (isEnum) {
43
+ const enumValues = O.getOrElse(() => ['test'])(prop.enum);
44
+ if (enumValues.length > 0) {
45
+ return `'${enumValues[0]}'`;
12
46
  }
13
47
  }
48
+ return `'test'`;
49
+ case 'number':
50
+ case 'integer':
51
+ return 2;
52
+ case 'boolean':
53
+ return true;
54
+ case 'array':
55
+ const arrayProp = prop;
56
+ return arrayProp.items
57
+ ? `[${getDefaultValue(arrayProp.items)}]`
58
+ : '[]';
59
+ case 'object':
60
+ return O.fold(() => `{}`, (properties) => handleInput(properties))(prop.properties);
61
+ default:
14
62
  return `'test_value'`;
15
- },
16
- onSome: (type) => {
17
- switch (type) {
18
- case 'string':
19
- const isEnum = effect_1.Option.isSome(prop.enum);
20
- if (isEnum) {
21
- const enumValues = effect_1.Option.getOrElse(prop.enum, () => ['test']);
22
- if (enumValues.length > 0) {
23
- return `'${enumValues[0]}'`;
24
- }
25
- }
26
- return `'test'`;
27
- case 'number':
28
- case 'integer':
29
- return 2;
30
- case 'boolean':
31
- return true;
32
- case 'array':
33
- const arrayProp = prop;
34
- return arrayProp.items
35
- ? `[${getDefaultValue(arrayProp.items)}]`
36
- : '[]';
37
- case 'object':
38
- return effect_1.Option.match(prop.properties, {
39
- onNone: () => `{}`,
40
- onSome: (properties) => handleInput(properties),
41
- });
42
- default:
43
- return `'test_value'`;
44
- }
45
- },
46
- }),
47
- onSome: (defaultEntry) => {
48
- if (Array.isArray(defaultEntry)) {
49
- if (defaultEntry.length === 0) {
50
- return getDefaultValue({ ...prop, default: effect_1.Option.none() });
51
- }
52
- return `'${defaultEntry[0]}'`;
53
- }
54
- switch (typeof defaultEntry) {
55
- case 'string':
56
- return `'${defaultEntry}'`;
57
- case 'number':
58
- case 'boolean':
59
- return defaultEntry;
60
- default:
61
- return `'test_value'`;
63
+ }
64
+ })(prop.type), (defaultEntry) => {
65
+ if (Array.isArray(defaultEntry)) {
66
+ if (defaultEntry.length === 0) {
67
+ return getDefaultValue({ ...prop, default: O.none });
62
68
  }
63
- },
69
+ return `'${defaultEntry[0]}'`;
70
+ }
71
+ switch (typeof defaultEntry) {
72
+ case 'string':
73
+ return `'${defaultEntry}'`;
74
+ case 'number':
75
+ case 'boolean':
76
+ return defaultEntry;
77
+ default:
78
+ return `'test_value'`;
79
+ }
64
80
  }));
65
81
  // TODO: make handleInput and handleOutput accept an option and do the fold inside, will make the code cleaner in the template and switch case
66
82
  const handleInput = (inputs) => {
@@ -71,8 +87,7 @@ const handleOutput = (outputs) => {
71
87
  const expectations = Object.entries(outputs).map(([key, prop]) => `expect(outputValue['${key}']).toEqual(${getDefaultValue(prop)});`);
72
88
  return expectations.join('\n');
73
89
  };
74
- const generateHandlerTest = ({ operationNameCamelCase, input, output, }) => effect_1.Either.try({
75
- try: () => `import { OperationHandlerTestSetup } from '@trayio/cdk-dsl/connector/operation/OperationHandlerTest';
90
+ const generateHandlerTest = ({ operationNameCamelCase, input, output, }) => E.tryCatch(() => `import { OperationHandlerTestSetup } from '@trayio/cdk-dsl/connector/operation/OperationHandlerTest';
76
91
  import { OperationHandlerResult } from '@trayio/cdk-dsl/connector/operation/OperationHandler';
77
92
  import { ${operationNameCamelCase}Handler } from './handler';
78
93
  import '@trayio/cdk-runtime/connector/operation/OperationHandlerTestRunner';
@@ -84,27 +99,19 @@ const generateHandlerTest = ({ operationNameCamelCase, input, output, }) => effe
84
99
  .testCase('should ${operationNameCamelCase}', (testCase) =>
85
100
  testCase
86
101
  .givenNothing()
87
- .when(() => (${effect_1.Option.match(input.properties, {
88
- onNone: () => `{}`,
89
- onSome: (properties) => handleInput(properties),
90
- })}
102
+ .when(() => (${O.fold(() => `{}`, (properties) => handleInput(properties))(input.properties)}
91
103
  ))
92
104
  .then(({ output }) => {
93
105
  // console.log(output);
94
106
  const outputValue =
95
107
  OperationHandlerResult.getSuccessfulValueOrFail(output);
96
- ${effect_1.Option.match(output.properties, {
97
- onNone: () => `{}`,
98
- onSome: (properties) => handleOutput(properties),
99
- })}
108
+ ${O.fold(() => `{}`, (properties) => handleOutput(properties))(output.properties)}
100
109
 
101
110
  })
102
111
  .finallyDoNothing()
103
112
  )
104
113
  .nothingAfterAll()
105
- );`,
106
- catch: (e) => new Error(`Failed to generate handler test: ${e}`),
107
- });
114
+ );`, (e) => new Error(`Failed to generate handler test: ${e}`));
108
115
  exports.generateHandlerTest = generateHandlerTest;
109
116
  // ${handleOutput(output.properties || {})}
110
117
  // .when(() => (${O.fold(input.properties ? handleInput(input.properties) : `{}`