@tahminator/sapling 2.0.5-beta.2f539758 → 2.0.5-beta.30231b0a
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/index.cjs +68 -14
- package/dist/index.d.cts +30 -4
- package/dist/index.d.mts +30 -4
- package/dist/index.mjs +64 -13
- package/package.json +6 -2
package/dist/index.cjs
CHANGED
|
@@ -23,6 +23,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
//#endregion
|
|
24
24
|
let express = require("express");
|
|
25
25
|
express = __toESM(express);
|
|
26
|
+
let swagger_ui_express = require("swagger-ui-express");
|
|
27
|
+
swagger_ui_express = __toESM(swagger_ui_express);
|
|
26
28
|
//#region src/html/404.ts
|
|
27
29
|
/**
|
|
28
30
|
* Default Express.js 404 error page, as a string.
|
|
@@ -262,10 +264,13 @@ var ParserError = class ParserError extends ResponseStatusError {
|
|
|
262
264
|
};
|
|
263
265
|
//#endregion
|
|
264
266
|
//#region src/helper/sapling.ts
|
|
265
|
-
const
|
|
267
|
+
const _settings = {
|
|
266
268
|
serialize: JSON.stringify,
|
|
267
269
|
deserialize: JSON.parse,
|
|
268
|
-
|
|
270
|
+
doc: {
|
|
271
|
+
openApiPath: "/openapi.json",
|
|
272
|
+
swaggerPath: "/swagger.html"
|
|
273
|
+
}
|
|
269
274
|
};
|
|
270
275
|
/**
|
|
271
276
|
* Collection of utility functions which are essential for Sapling to function.
|
|
@@ -344,13 +349,13 @@ var Sapling = class Sapling {
|
|
|
344
349
|
* @defaultValue `JSON.stringify`
|
|
345
350
|
*/
|
|
346
351
|
static serialize(value) {
|
|
347
|
-
return
|
|
352
|
+
return _settings.serialize(value);
|
|
348
353
|
}
|
|
349
354
|
/**
|
|
350
355
|
* Replace the function used for `serialize`.
|
|
351
356
|
*/
|
|
352
357
|
static setSerializeFn(fn) {
|
|
353
|
-
|
|
358
|
+
_settings.serialize = fn;
|
|
354
359
|
}
|
|
355
360
|
/**
|
|
356
361
|
* De-serialize a JSON string back to a JavaScript object.
|
|
@@ -362,16 +367,32 @@ var Sapling = class Sapling {
|
|
|
362
367
|
* @defaultValue `JSON.parse`
|
|
363
368
|
*/
|
|
364
369
|
static deserialize(value) {
|
|
365
|
-
return
|
|
370
|
+
return _settings.deserialize(value);
|
|
366
371
|
}
|
|
367
372
|
/**
|
|
368
373
|
* Replace the function used for `deserialize`
|
|
369
374
|
*/
|
|
370
375
|
static setDeserializeFn(fn) {
|
|
371
|
-
|
|
376
|
+
_settings.deserialize = fn;
|
|
372
377
|
}
|
|
373
378
|
static setOpenApiPath(path) {
|
|
374
|
-
|
|
379
|
+
_settings.doc.openApiPath = path;
|
|
380
|
+
}
|
|
381
|
+
static setSwaggerPath(path) {
|
|
382
|
+
_settings.doc.swaggerPath = path;
|
|
383
|
+
}
|
|
384
|
+
static chainHandlers(handlers, request, response, next, index = 0) {
|
|
385
|
+
if (index >= handlers.length) {
|
|
386
|
+
next();
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
handlers[index]?.(request, response, (err) => {
|
|
390
|
+
if (err) {
|
|
391
|
+
next(err);
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
Sapling.chainHandlers(handlers, request, response, next, index + 1);
|
|
395
|
+
});
|
|
375
396
|
}
|
|
376
397
|
};
|
|
377
398
|
//#endregion
|
|
@@ -655,17 +676,22 @@ var OpenAPIGenerator = class {
|
|
|
655
676
|
};
|
|
656
677
|
}
|
|
657
678
|
toJsonSchema(schema) {
|
|
658
|
-
|
|
679
|
+
try {
|
|
680
|
+
return schema["~standard"].jsonSchema.output({ target: "openapi-3.0" });
|
|
681
|
+
} catch (e) {
|
|
682
|
+
if (e instanceof Error && e.message.includes("Transforms cannot be represented in JSON Schema")) throw new Error(`${e.message}.\nIt appears that you are using z.transform() - it is highly recommended that you use z.codec instead - https://zod.dev/codecs`);
|
|
683
|
+
throw e;
|
|
684
|
+
}
|
|
659
685
|
}
|
|
660
686
|
};
|
|
661
687
|
const openApiGenerator = new OpenAPIGenerator();
|
|
662
688
|
function _registerControllerClass(controllerClass, prefix) {
|
|
663
689
|
openApiGenerator.registerController(controllerClass, prefix);
|
|
664
690
|
}
|
|
665
|
-
function
|
|
691
|
+
function _setOpenApiConfig(config) {
|
|
666
692
|
openApiGenerator.setConfig(config);
|
|
667
693
|
}
|
|
668
|
-
function
|
|
694
|
+
function _generateOpenApiSpec() {
|
|
669
695
|
return openApiGenerator.generateSpec();
|
|
670
696
|
}
|
|
671
697
|
//#endregion
|
|
@@ -937,12 +963,38 @@ DefaultResponseStatusErrorMiddleware = __decorate([MiddlewareClass()], DefaultRe
|
|
|
937
963
|
//#region src/middleware/default/openapi/index.ts
|
|
938
964
|
let DefaultOpenApiMiddleware = class DefaultOpenApiMiddleware {
|
|
939
965
|
handle(_request, _response, _next) {
|
|
940
|
-
return ResponseEntity.ok().body(
|
|
966
|
+
return ResponseEntity.ok().body(_generateOpenApiSpec());
|
|
941
967
|
}
|
|
942
968
|
};
|
|
943
|
-
__decorate([GET(
|
|
969
|
+
__decorate([GET(_settings.doc.openApiPath)], DefaultOpenApiMiddleware.prototype, "handle", null);
|
|
944
970
|
DefaultOpenApiMiddleware = __decorate([MiddlewareClass()], DefaultOpenApiMiddleware);
|
|
945
971
|
//#endregion
|
|
972
|
+
//#region src/middleware/default/swagger/index.ts
|
|
973
|
+
let Serve = class Serve {
|
|
974
|
+
constructor() {
|
|
975
|
+
this.handlers = swagger_ui_express.default.serve;
|
|
976
|
+
}
|
|
977
|
+
handle(request, response, next) {
|
|
978
|
+
return Sapling.chainHandlers(this.handlers, request, response, next);
|
|
979
|
+
}
|
|
980
|
+
};
|
|
981
|
+
__decorate([Middleware(_settings.doc.swaggerPath)], Serve.prototype, "handle", null);
|
|
982
|
+
Serve = __decorate([MiddlewareClass()], Serve);
|
|
983
|
+
let Setup = class Setup {
|
|
984
|
+
constructor() {
|
|
985
|
+
this.handler = swagger_ui_express.default.setup(null, { swaggerOptions: { url: _settings.doc.openApiPath } });
|
|
986
|
+
}
|
|
987
|
+
handle(request, response, next) {
|
|
988
|
+
return this.handler(request, response, next);
|
|
989
|
+
}
|
|
990
|
+
};
|
|
991
|
+
__decorate([Middleware(_settings.doc.swaggerPath)], Setup.prototype, "handle", null);
|
|
992
|
+
Setup = __decorate([MiddlewareClass()], Setup);
|
|
993
|
+
const DefaultSwaggerMiddleware = {
|
|
994
|
+
Serve,
|
|
995
|
+
Setup
|
|
996
|
+
};
|
|
997
|
+
//#endregion
|
|
946
998
|
exports.Controller = Controller;
|
|
947
999
|
exports.DELETE = DELETE;
|
|
948
1000
|
Object.defineProperty(exports, "DefaultBaseErrorMiddleware", {
|
|
@@ -969,6 +1021,7 @@ Object.defineProperty(exports, "DefaultResponseStatusErrorMiddleware", {
|
|
|
969
1021
|
return DefaultResponseStatusErrorMiddleware;
|
|
970
1022
|
}
|
|
971
1023
|
});
|
|
1024
|
+
exports.DefaultSwaggerMiddleware = DefaultSwaggerMiddleware;
|
|
972
1025
|
exports.GET = GET;
|
|
973
1026
|
exports.HEAD = HEAD;
|
|
974
1027
|
exports.Html404ErrorPage = Html404ErrorPage;
|
|
@@ -993,12 +1046,13 @@ exports._ControllerRegistry = _ControllerRegistry;
|
|
|
993
1046
|
exports._InjectableDeps = _InjectableDeps;
|
|
994
1047
|
exports._InjectableRegistry = _InjectableRegistry;
|
|
995
1048
|
exports._Route = _Route;
|
|
1049
|
+
exports._generateOpenApiSpec = _generateOpenApiSpec;
|
|
996
1050
|
exports._getRequestSchemas = _getRequestSchemas;
|
|
997
1051
|
exports._getRoutes = _getRoutes;
|
|
998
1052
|
exports._parseOrThrow = _parseOrThrow;
|
|
999
1053
|
exports._registerControllerClass = _registerControllerClass;
|
|
1000
1054
|
exports._resolve = _resolve;
|
|
1001
|
-
exports.
|
|
1055
|
+
exports._setOpenApiConfig = _setOpenApiConfig;
|
|
1056
|
+
exports._settings = _settings;
|
|
1002
1057
|
exports.methodResolve = methodResolve;
|
|
1003
1058
|
exports.openApiGenerator = openApiGenerator;
|
|
1004
|
-
exports.setOpenApiConfig = setOpenApiConfig;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e, { ErrorRequestHandler, NextFunction, Request, Response as Response$1, Router } from "express";
|
|
1
|
+
import e, { ErrorRequestHandler, NextFunction, Request, RequestHandler, Response as Response$1, Router } from "express";
|
|
2
2
|
|
|
3
3
|
//#region src/html/404.d.ts
|
|
4
4
|
/**
|
|
@@ -447,6 +447,15 @@ declare class ParserError extends ResponseStatusError {
|
|
|
447
447
|
}
|
|
448
448
|
//#endregion
|
|
449
449
|
//#region src/helper/sapling.d.ts
|
|
450
|
+
type Settings = {
|
|
451
|
+
serialize: (value: any) => string;
|
|
452
|
+
deserialize: (value: string) => any;
|
|
453
|
+
doc: {
|
|
454
|
+
openApiPath: string;
|
|
455
|
+
swaggerPath: string;
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
declare const _settings: Settings;
|
|
450
459
|
/**
|
|
451
460
|
* Collection of utility functions which are essential for Sapling to function.
|
|
452
461
|
*/
|
|
@@ -521,6 +530,8 @@ declare class Sapling {
|
|
|
521
530
|
*/
|
|
522
531
|
static setDeserializeFn(this: void, fn: (value: string) => any): void;
|
|
523
532
|
static setOpenApiPath(this: void, path: string): void;
|
|
533
|
+
static setSwaggerPath(this: void, path: string): void;
|
|
534
|
+
static chainHandlers(this: void, handlers: RequestHandler[], request: Request, response: Response$1, next: NextFunction, index?: number): void;
|
|
524
535
|
}
|
|
525
536
|
//#endregion
|
|
526
537
|
//#region node_modules/.pnpm/openapi-types@12.1.3/node_modules/openapi-types/dist/index.d.ts
|
|
@@ -859,8 +870,8 @@ declare class OpenAPIGenerator {
|
|
|
859
870
|
}
|
|
860
871
|
declare const openApiGenerator: OpenAPIGenerator;
|
|
861
872
|
declare function _registerControllerClass(controllerClass: Function, prefix: string): void;
|
|
862
|
-
declare function
|
|
863
|
-
declare function
|
|
873
|
+
declare function _setOpenApiConfig(config: OpenAPIConfig): void;
|
|
874
|
+
declare function _generateOpenApiSpec(): OpenAPIV3.Document;
|
|
864
875
|
//#endregion
|
|
865
876
|
//#region src/annotation/request.d.ts
|
|
866
877
|
type RequestSchemaDefinition = {
|
|
@@ -979,4 +990,19 @@ declare class DefaultOpenApiMiddleware {
|
|
|
979
990
|
handle(_request: Request, _response: Response$1, _next: NextFunction): ResponseEntity<OpenAPIV3.Document<{}>>;
|
|
980
991
|
}
|
|
981
992
|
//#endregion
|
|
982
|
-
|
|
993
|
+
//#region src/middleware/default/swagger/index.d.ts
|
|
994
|
+
declare class Serve {
|
|
995
|
+
private readonly handlers;
|
|
996
|
+
handle(request: Request, response: Response$1, next: NextFunction): void;
|
|
997
|
+
}
|
|
998
|
+
declare class Setup {
|
|
999
|
+
private readonly handler;
|
|
1000
|
+
constructor();
|
|
1001
|
+
handle(request: Request, response: Response$1, next: NextFunction): unknown;
|
|
1002
|
+
}
|
|
1003
|
+
declare const DefaultSwaggerMiddleware: {
|
|
1004
|
+
Serve: typeof Serve;
|
|
1005
|
+
Setup: typeof Setup;
|
|
1006
|
+
};
|
|
1007
|
+
//#endregion
|
|
1008
|
+
export { Class, Controller, DELETE, DefaultBaseErrorMiddleware, DefaultOpenApiMiddleware, DefaultParserErrorMiddleware, DefaultResponseStatusErrorMiddleware, DefaultSwaggerMiddleware, ExpressMiddlewareFn, ExpressRouterMethodKey, ExpressRouterMethods, GET, HEAD, Html404ErrorPage, HttpHeaders, HttpStatus, Injectable, Middleware, MiddlewareClass, OPTIONS, PATCH, POST, PUT, ParserError, ParserErrorLocation, RedirectView, RequestBody, RequestParam, RequestQuery, ResponseEntity, ResponseEntityBuilder, ResponseStatusError, RouteDefinition, Sapling, _ControllerRegistry, _InjectableDeps, _InjectableRegistry, _Route, _generateOpenApiSpec, _getRequestSchemas, _getRoutes, _parseOrThrow, _registerControllerClass, _resolve, _setOpenApiConfig, _settings, methodResolve, openApiGenerator };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e, { ErrorRequestHandler, NextFunction, Request, Response as Response$1, Router } from "express";
|
|
1
|
+
import e, { ErrorRequestHandler, NextFunction, Request, RequestHandler, Response as Response$1, Router } from "express";
|
|
2
2
|
|
|
3
3
|
//#region src/html/404.d.ts
|
|
4
4
|
/**
|
|
@@ -447,6 +447,15 @@ declare class ParserError extends ResponseStatusError {
|
|
|
447
447
|
}
|
|
448
448
|
//#endregion
|
|
449
449
|
//#region src/helper/sapling.d.ts
|
|
450
|
+
type Settings = {
|
|
451
|
+
serialize: (value: any) => string;
|
|
452
|
+
deserialize: (value: string) => any;
|
|
453
|
+
doc: {
|
|
454
|
+
openApiPath: string;
|
|
455
|
+
swaggerPath: string;
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
declare const _settings: Settings;
|
|
450
459
|
/**
|
|
451
460
|
* Collection of utility functions which are essential for Sapling to function.
|
|
452
461
|
*/
|
|
@@ -521,6 +530,8 @@ declare class Sapling {
|
|
|
521
530
|
*/
|
|
522
531
|
static setDeserializeFn(this: void, fn: (value: string) => any): void;
|
|
523
532
|
static setOpenApiPath(this: void, path: string): void;
|
|
533
|
+
static setSwaggerPath(this: void, path: string): void;
|
|
534
|
+
static chainHandlers(this: void, handlers: RequestHandler[], request: Request, response: Response$1, next: NextFunction, index?: number): void;
|
|
524
535
|
}
|
|
525
536
|
//#endregion
|
|
526
537
|
//#region node_modules/.pnpm/openapi-types@12.1.3/node_modules/openapi-types/dist/index.d.ts
|
|
@@ -859,8 +870,8 @@ declare class OpenAPIGenerator {
|
|
|
859
870
|
}
|
|
860
871
|
declare const openApiGenerator: OpenAPIGenerator;
|
|
861
872
|
declare function _registerControllerClass(controllerClass: Function, prefix: string): void;
|
|
862
|
-
declare function
|
|
863
|
-
declare function
|
|
873
|
+
declare function _setOpenApiConfig(config: OpenAPIConfig): void;
|
|
874
|
+
declare function _generateOpenApiSpec(): OpenAPIV3.Document;
|
|
864
875
|
//#endregion
|
|
865
876
|
//#region src/annotation/request.d.ts
|
|
866
877
|
type RequestSchemaDefinition = {
|
|
@@ -979,4 +990,19 @@ declare class DefaultOpenApiMiddleware {
|
|
|
979
990
|
handle(_request: Request, _response: Response$1, _next: NextFunction): ResponseEntity<OpenAPIV3.Document<{}>>;
|
|
980
991
|
}
|
|
981
992
|
//#endregion
|
|
982
|
-
|
|
993
|
+
//#region src/middleware/default/swagger/index.d.ts
|
|
994
|
+
declare class Serve {
|
|
995
|
+
private readonly handlers;
|
|
996
|
+
handle(request: Request, response: Response$1, next: NextFunction): void;
|
|
997
|
+
}
|
|
998
|
+
declare class Setup {
|
|
999
|
+
private readonly handler;
|
|
1000
|
+
constructor();
|
|
1001
|
+
handle(request: Request, response: Response$1, next: NextFunction): unknown;
|
|
1002
|
+
}
|
|
1003
|
+
declare const DefaultSwaggerMiddleware: {
|
|
1004
|
+
Serve: typeof Serve;
|
|
1005
|
+
Setup: typeof Setup;
|
|
1006
|
+
};
|
|
1007
|
+
//#endregion
|
|
1008
|
+
export { Class, Controller, DELETE, DefaultBaseErrorMiddleware, DefaultOpenApiMiddleware, DefaultParserErrorMiddleware, DefaultResponseStatusErrorMiddleware, DefaultSwaggerMiddleware, ExpressMiddlewareFn, ExpressRouterMethodKey, ExpressRouterMethods, GET, HEAD, Html404ErrorPage, HttpHeaders, HttpStatus, Injectable, Middleware, MiddlewareClass, OPTIONS, PATCH, POST, PUT, ParserError, ParserErrorLocation, RedirectView, RequestBody, RequestParam, RequestQuery, ResponseEntity, ResponseEntityBuilder, ResponseStatusError, RouteDefinition, Sapling, _ControllerRegistry, _InjectableDeps, _InjectableRegistry, _Route, _generateOpenApiSpec, _getRequestSchemas, _getRoutes, _parseOrThrow, _registerControllerClass, _resolve, _setOpenApiConfig, _settings, methodResolve, openApiGenerator };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import e, { Router } from "express";
|
|
2
|
+
import swagger from "swagger-ui-express";
|
|
2
3
|
//#region src/html/404.ts
|
|
3
4
|
/**
|
|
4
5
|
* Default Express.js 404 error page, as a string.
|
|
@@ -238,10 +239,13 @@ var ParserError = class ParserError extends ResponseStatusError {
|
|
|
238
239
|
};
|
|
239
240
|
//#endregion
|
|
240
241
|
//#region src/helper/sapling.ts
|
|
241
|
-
const
|
|
242
|
+
const _settings = {
|
|
242
243
|
serialize: JSON.stringify,
|
|
243
244
|
deserialize: JSON.parse,
|
|
244
|
-
|
|
245
|
+
doc: {
|
|
246
|
+
openApiPath: "/openapi.json",
|
|
247
|
+
swaggerPath: "/swagger.html"
|
|
248
|
+
}
|
|
245
249
|
};
|
|
246
250
|
/**
|
|
247
251
|
* Collection of utility functions which are essential for Sapling to function.
|
|
@@ -320,13 +324,13 @@ var Sapling = class Sapling {
|
|
|
320
324
|
* @defaultValue `JSON.stringify`
|
|
321
325
|
*/
|
|
322
326
|
static serialize(value) {
|
|
323
|
-
return
|
|
327
|
+
return _settings.serialize(value);
|
|
324
328
|
}
|
|
325
329
|
/**
|
|
326
330
|
* Replace the function used for `serialize`.
|
|
327
331
|
*/
|
|
328
332
|
static setSerializeFn(fn) {
|
|
329
|
-
|
|
333
|
+
_settings.serialize = fn;
|
|
330
334
|
}
|
|
331
335
|
/**
|
|
332
336
|
* De-serialize a JSON string back to a JavaScript object.
|
|
@@ -338,16 +342,32 @@ var Sapling = class Sapling {
|
|
|
338
342
|
* @defaultValue `JSON.parse`
|
|
339
343
|
*/
|
|
340
344
|
static deserialize(value) {
|
|
341
|
-
return
|
|
345
|
+
return _settings.deserialize(value);
|
|
342
346
|
}
|
|
343
347
|
/**
|
|
344
348
|
* Replace the function used for `deserialize`
|
|
345
349
|
*/
|
|
346
350
|
static setDeserializeFn(fn) {
|
|
347
|
-
|
|
351
|
+
_settings.deserialize = fn;
|
|
348
352
|
}
|
|
349
353
|
static setOpenApiPath(path) {
|
|
350
|
-
|
|
354
|
+
_settings.doc.openApiPath = path;
|
|
355
|
+
}
|
|
356
|
+
static setSwaggerPath(path) {
|
|
357
|
+
_settings.doc.swaggerPath = path;
|
|
358
|
+
}
|
|
359
|
+
static chainHandlers(handlers, request, response, next, index = 0) {
|
|
360
|
+
if (index >= handlers.length) {
|
|
361
|
+
next();
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
handlers[index]?.(request, response, (err) => {
|
|
365
|
+
if (err) {
|
|
366
|
+
next(err);
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
Sapling.chainHandlers(handlers, request, response, next, index + 1);
|
|
370
|
+
});
|
|
351
371
|
}
|
|
352
372
|
};
|
|
353
373
|
//#endregion
|
|
@@ -631,17 +651,22 @@ var OpenAPIGenerator = class {
|
|
|
631
651
|
};
|
|
632
652
|
}
|
|
633
653
|
toJsonSchema(schema) {
|
|
634
|
-
|
|
654
|
+
try {
|
|
655
|
+
return schema["~standard"].jsonSchema.output({ target: "openapi-3.0" });
|
|
656
|
+
} catch (e) {
|
|
657
|
+
if (e instanceof Error && e.message.includes("Transforms cannot be represented in JSON Schema")) throw new Error(`${e.message}.\nIt appears that you are using z.transform() - it is highly recommended that you use z.codec instead - https://zod.dev/codecs`);
|
|
658
|
+
throw e;
|
|
659
|
+
}
|
|
635
660
|
}
|
|
636
661
|
};
|
|
637
662
|
const openApiGenerator = new OpenAPIGenerator();
|
|
638
663
|
function _registerControllerClass(controllerClass, prefix) {
|
|
639
664
|
openApiGenerator.registerController(controllerClass, prefix);
|
|
640
665
|
}
|
|
641
|
-
function
|
|
666
|
+
function _setOpenApiConfig(config) {
|
|
642
667
|
openApiGenerator.setConfig(config);
|
|
643
668
|
}
|
|
644
|
-
function
|
|
669
|
+
function _generateOpenApiSpec() {
|
|
645
670
|
return openApiGenerator.generateSpec();
|
|
646
671
|
}
|
|
647
672
|
//#endregion
|
|
@@ -913,10 +938,36 @@ DefaultResponseStatusErrorMiddleware = __decorate([MiddlewareClass()], DefaultRe
|
|
|
913
938
|
//#region src/middleware/default/openapi/index.ts
|
|
914
939
|
let DefaultOpenApiMiddleware = class DefaultOpenApiMiddleware {
|
|
915
940
|
handle(_request, _response, _next) {
|
|
916
|
-
return ResponseEntity.ok().body(
|
|
941
|
+
return ResponseEntity.ok().body(_generateOpenApiSpec());
|
|
917
942
|
}
|
|
918
943
|
};
|
|
919
|
-
__decorate([GET(
|
|
944
|
+
__decorate([GET(_settings.doc.openApiPath)], DefaultOpenApiMiddleware.prototype, "handle", null);
|
|
920
945
|
DefaultOpenApiMiddleware = __decorate([MiddlewareClass()], DefaultOpenApiMiddleware);
|
|
921
946
|
//#endregion
|
|
922
|
-
|
|
947
|
+
//#region src/middleware/default/swagger/index.ts
|
|
948
|
+
let Serve = class Serve {
|
|
949
|
+
constructor() {
|
|
950
|
+
this.handlers = swagger.serve;
|
|
951
|
+
}
|
|
952
|
+
handle(request, response, next) {
|
|
953
|
+
return Sapling.chainHandlers(this.handlers, request, response, next);
|
|
954
|
+
}
|
|
955
|
+
};
|
|
956
|
+
__decorate([Middleware(_settings.doc.swaggerPath)], Serve.prototype, "handle", null);
|
|
957
|
+
Serve = __decorate([MiddlewareClass()], Serve);
|
|
958
|
+
let Setup = class Setup {
|
|
959
|
+
constructor() {
|
|
960
|
+
this.handler = swagger.setup(null, { swaggerOptions: { url: _settings.doc.openApiPath } });
|
|
961
|
+
}
|
|
962
|
+
handle(request, response, next) {
|
|
963
|
+
return this.handler(request, response, next);
|
|
964
|
+
}
|
|
965
|
+
};
|
|
966
|
+
__decorate([Middleware(_settings.doc.swaggerPath)], Setup.prototype, "handle", null);
|
|
967
|
+
Setup = __decorate([MiddlewareClass()], Setup);
|
|
968
|
+
const DefaultSwaggerMiddleware = {
|
|
969
|
+
Serve,
|
|
970
|
+
Setup
|
|
971
|
+
};
|
|
972
|
+
//#endregion
|
|
973
|
+
export { Controller, DELETE, DefaultBaseErrorMiddleware, DefaultOpenApiMiddleware, DefaultParserErrorMiddleware, DefaultResponseStatusErrorMiddleware, DefaultSwaggerMiddleware, GET, HEAD, Html404ErrorPage, HttpStatus, Injectable, Middleware, MiddlewareClass, OPTIONS, PATCH, POST, PUT, ParserError, RedirectView, RequestBody, RequestParam, RequestQuery, ResponseEntity, ResponseEntityBuilder, ResponseStatusError, Sapling, _ControllerRegistry, _InjectableDeps, _InjectableRegistry, _Route, _generateOpenApiSpec, _getRequestSchemas, _getRoutes, _parseOrThrow, _registerControllerClass, _resolve, _setOpenApiConfig, _settings, methodResolve, openApiGenerator };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tahminator/sapling",
|
|
3
|
-
"version": "2.0.5-beta.
|
|
3
|
+
"version": "2.0.5-beta.30231b0a",
|
|
4
4
|
"author": "Tahmid Ahmed",
|
|
5
5
|
"description": "A library to help you write cleaner Express.js code",
|
|
6
6
|
"repository": {
|
|
@@ -44,13 +44,14 @@
|
|
|
44
44
|
"@standard-schema/spec": "^1.1.0",
|
|
45
45
|
"@types/express": "^5",
|
|
46
46
|
"@types/supertest": "^7.2.0",
|
|
47
|
+
"@types/swagger-ui-express": "^4.1.8",
|
|
47
48
|
"@vitest/coverage-istanbul": "^4.1.2",
|
|
48
|
-
"openapi-types": "12.1.3",
|
|
49
49
|
"eslint": "^10.1.0",
|
|
50
50
|
"eslint-plugin-perfectionist": "^5.7.0",
|
|
51
51
|
"globals": "^17.4.0",
|
|
52
52
|
"jiti": "^2.6.1",
|
|
53
53
|
"jsdom": "^29.0.1",
|
|
54
|
+
"openapi-types": "12.1.3",
|
|
54
55
|
"prettier": "^3.8.1",
|
|
55
56
|
"superjson": "^2.2.6",
|
|
56
57
|
"supertest": "^7.2.2",
|
|
@@ -63,5 +64,8 @@
|
|
|
63
64
|
"inlinedDependencies": {
|
|
64
65
|
"@standard-schema/spec": "1.1.0",
|
|
65
66
|
"openapi-types": "12.1.3"
|
|
67
|
+
},
|
|
68
|
+
"dependencies": {
|
|
69
|
+
"swagger-ui-express": "^5.0.1"
|
|
66
70
|
}
|
|
67
71
|
}
|