typed-openapi 0.1.1 → 0.1.3
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/chunk-E7HJBSR2.js +815 -0
- package/dist/cli.cjs +28 -18
- package/dist/cli.js +12 -802
- package/dist/index.cjs +859 -0
- package/dist/index.d.cts +266 -0
- package/dist/index.d.ts +266 -0
- package/dist/index.js +20 -0
- package/package.json +18 -5
- package/src/cli.ts +0 -1
- package/src/format.ts +18 -10
- package/src/generator.ts +18 -13
- package/src/index.ts +7 -0
package/dist/cli.cjs
CHANGED
|
@@ -30,8 +30,8 @@ var import_arktype2 = require("arktype");
|
|
|
30
30
|
var import_promises = require("fs/promises");
|
|
31
31
|
|
|
32
32
|
// package.json
|
|
33
|
-
var name = "
|
|
34
|
-
var version = "0.1.
|
|
33
|
+
var name = "typed-openapi";
|
|
34
|
+
var version = "0.1.3";
|
|
35
35
|
|
|
36
36
|
// src/generator.ts
|
|
37
37
|
var import_server2 = require("pastable/server");
|
|
@@ -288,14 +288,22 @@ var Box = class _Box {
|
|
|
288
288
|
};
|
|
289
289
|
|
|
290
290
|
// src/format.ts
|
|
291
|
-
var
|
|
292
|
-
var
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
291
|
+
var import_prettier = __toESM(require("prettier"), 1);
|
|
292
|
+
var import_parser_typescript = __toESM(require("prettier/parser-typescript"), 1);
|
|
293
|
+
function maybePretty(input, options) {
|
|
294
|
+
try {
|
|
295
|
+
return import_prettier.default.format(input, {
|
|
296
|
+
parser: "typescript",
|
|
297
|
+
plugins: [import_parser_typescript.default],
|
|
298
|
+
...options
|
|
299
|
+
});
|
|
300
|
+
} catch (err) {
|
|
301
|
+
console.warn("Failed to format code");
|
|
302
|
+
console.warn(err);
|
|
303
|
+
return input;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
var prettify = (str, options) => maybePretty(str, { printWidth: 120, trailingComma: "all", ...options });
|
|
299
307
|
|
|
300
308
|
// src/generator.ts
|
|
301
309
|
var Codegen = __toESM(require("@sinclair/typebox-codegen"), 1);
|
|
@@ -354,9 +362,9 @@ var generateFile = (options) => {
|
|
|
354
362
|
`;
|
|
355
363
|
return prettify(file);
|
|
356
364
|
};
|
|
357
|
-
var generateSchemaList = ({ refs }) => {
|
|
365
|
+
var generateSchemaList = ({ refs, runtime }) => {
|
|
358
366
|
let file = `
|
|
359
|
-
export namespace Schemas {
|
|
367
|
+
${runtime === "none" ? "export namespace Schemas {" : ""}
|
|
360
368
|
// <Schemas>
|
|
361
369
|
`;
|
|
362
370
|
refs.getOrderedSchemas().forEach(([schema, infos]) => {
|
|
@@ -369,7 +377,7 @@ var generateSchemaList = ({ refs }) => {
|
|
|
369
377
|
});
|
|
370
378
|
return file + `
|
|
371
379
|
// </Schemas>
|
|
372
|
-
}
|
|
380
|
+
${runtime === "none" ? "}" : ""}
|
|
373
381
|
`;
|
|
374
382
|
};
|
|
375
383
|
var parameterObjectToString = (parameters) => {
|
|
@@ -384,7 +392,7 @@ var parameterObjectToString = (parameters) => {
|
|
|
384
392
|
};
|
|
385
393
|
var generateEndpointSchemaList = (ctx) => {
|
|
386
394
|
let file = `
|
|
387
|
-
export namespace Endpoints {
|
|
395
|
+
${ctx.runtime === "none" ? "export namespace Endpoints {" : ""}
|
|
388
396
|
// <Endpoints>
|
|
389
397
|
${ctx.runtime === "none" ? "" : "type __ENDPOINTS_START__ = {}"}
|
|
390
398
|
`;
|
|
@@ -398,18 +406,18 @@ var generateEndpointSchemaList = (ctx) => {
|
|
|
398
406
|
${parameters.path ? `path: ${parameterObjectToString(parameters.path)},` : ""}
|
|
399
407
|
${parameters.header ? `header: ${parameterObjectToString(parameters.header)},` : ""}
|
|
400
408
|
}` : "parameters: never,"}
|
|
401
|
-
response: ${endpoint.response.recompute((box) => {
|
|
409
|
+
response: ${ctx.runtime === "none" ? endpoint.response.recompute((box) => {
|
|
402
410
|
if (Box.isReference(box) && !box.params.generics) {
|
|
403
411
|
box.value = `Schemas.${box.value}`;
|
|
404
412
|
}
|
|
405
413
|
return box;
|
|
406
|
-
}).value},
|
|
414
|
+
}).value : endpoint.response.value},
|
|
407
415
|
}
|
|
408
416
|
`;
|
|
409
417
|
});
|
|
410
418
|
return file + `
|
|
411
419
|
// </Endpoints>
|
|
412
|
-
}
|
|
420
|
+
${ctx.runtime === "none" ? "}" : ""}
|
|
413
421
|
${ctx.runtime === "none" ? "" : "type __ENDPOINTS_END__ = {}"}
|
|
414
422
|
`;
|
|
415
423
|
};
|
|
@@ -421,7 +429,9 @@ var generateEndpointByMethod = (ctx) => {
|
|
|
421
429
|
export ${ctx.runtime === "none" ? "type" : "const"} EndpointByMethod = {
|
|
422
430
|
${Object.entries(byMethods).map(([method, list]) => {
|
|
423
431
|
return `${method}: {
|
|
424
|
-
${list.map(
|
|
432
|
+
${list.map(
|
|
433
|
+
(endpoint) => `"${endpoint.path}": ${ctx.runtime === "none" ? "Endpoints." : ""}${endpoint.meta.alias}`
|
|
434
|
+
)}
|
|
425
435
|
}`;
|
|
426
436
|
}).join(",\n")}
|
|
427
437
|
}
|