@forklaunch/hyper-express 0.1.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 (35) hide show
  1. package/.prettierignore +2 -0
  2. package/.prettierrc +7 -0
  3. package/dist/forklaunch.hyperExpress.d.ts +192 -0
  4. package/dist/forklaunch.hyperExpress.js +358 -0
  5. package/dist/forklaunch.hyperExpress.js.map +1 -0
  6. package/dist/jest.config.d.ts +3 -0
  7. package/dist/jest.config.js.map +1 -0
  8. package/dist/main.d.ts +1 -0
  9. package/dist/main.js +90 -0
  10. package/dist/main.js.map +1 -0
  11. package/dist/middleware/contentParse.middleware.d.ts +7 -0
  12. package/dist/middleware/contentParse.middleware.js +30 -0
  13. package/dist/middleware/contentParse.middleware.js.map +1 -0
  14. package/dist/middleware/response.middleware.d.ts +12 -0
  15. package/dist/middleware/response.middleware.js +54 -0
  16. package/dist/middleware/response.middleware.js.map +1 -0
  17. package/dist/middleware/swagger.middleware.d.ts +24 -0
  18. package/dist/middleware/swagger.middleware.js +90 -0
  19. package/dist/middleware/swagger.middleware.js.map +1 -0
  20. package/dist/tests/typebox.forklaunch.hyperExpress.test.d.ts +1 -0
  21. package/dist/tests/typebox.forklaunch.hyperExpress.test.js +141 -0
  22. package/dist/tests/typebox.forklaunch.hyperExpress.test.js.map +1 -0
  23. package/dist/tests/zod.forklaunch.hyperExpress.test.d.ts +1 -0
  24. package/dist/tests/zod.forklaunch.hyperExpress.test.js +141 -0
  25. package/dist/tests/zod.forklaunch.hyperExpress.test.js.map +1 -0
  26. package/dist/types/forklaunch.hyperExpress.types.d.ts +67 -0
  27. package/dist/types/forklaunch.hyperExpress.types.js +3 -0
  28. package/dist/types/forklaunch.hyperExpress.types.js.map +1 -0
  29. package/eslint.config.mjs +12 -0
  30. package/forklaunch.hyperExpress.ts +649 -0
  31. package/jest.config.ts +10 -0
  32. package/main.ts +97 -0
  33. package/package.json +45 -0
  34. package/tests/typebox.forklaunch.hyperExpress.test.ts +164 -0
  35. package/tests/zod.forklaunch.hyperExpress.test.ts +164 -0
package/dist/main.js ADDED
@@ -0,0 +1,90 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const typebox_1 = require("@forklaunch/validator/typebox");
27
+ const forklaunch_hyperExpress_1 = __importStar(require("./forklaunch.hyperExpress"));
28
+ const typeboxSchemaValidator = new typebox_1.TypeboxSchemaValidator();
29
+ const forklaunchApplication = (0, forklaunch_hyperExpress_1.default)(typeboxSchemaValidator);
30
+ const forklaunchRouterInstance = (0, forklaunch_hyperExpress_1.forklaunchRouter)('/testpath', typeboxSchemaValidator);
31
+ forklaunchRouterInstance.get('/test', {
32
+ name: 'Test',
33
+ summary: 'Test Summary',
34
+ responses: {
35
+ 200: typebox_1.string
36
+ }
37
+ }, (req, res) => {
38
+ res.status(200).send('Hello World');
39
+ });
40
+ forklaunchRouterInstance.post('/test', {
41
+ name: 'Test',
42
+ summary: 'Test Summary',
43
+ body: {
44
+ test: typebox_1.string
45
+ },
46
+ responses: {
47
+ 200: typebox_1.string
48
+ }
49
+ }, (req, res) => {
50
+ res.status(200).send(req.body.test);
51
+ });
52
+ forklaunchRouterInstance.put('/test', {
53
+ name: 'Test',
54
+ summary: 'Test Summary',
55
+ body: {
56
+ test: typebox_1.string
57
+ },
58
+ responses: {
59
+ 200: typebox_1.string
60
+ }
61
+ }, (req, res) => {
62
+ res.status(200).send(req.body.test);
63
+ });
64
+ forklaunchRouterInstance.patch('/test', {
65
+ name: 'Test',
66
+ summary: 'Test Summary',
67
+ body: {
68
+ test: typebox_1.string
69
+ },
70
+ responses: {
71
+ 200: typebox_1.string
72
+ }
73
+ }, (req, res) => {
74
+ res.status(200).send(req.body.test);
75
+ });
76
+ forklaunchRouterInstance.delete('/test', {
77
+ name: 'Test',
78
+ summary: 'Test Summary',
79
+ responses: {
80
+ 200: typebox_1.string
81
+ }
82
+ }, (req, res) => {
83
+ res.status(200).send('Hello World');
84
+ });
85
+ forklaunchApplication.use(forklaunchRouterInstance);
86
+ console.log(forklaunchApplication.internal.routes);
87
+ forklaunchApplication.listen(6934, () => {
88
+ console.log('Server started');
89
+ });
90
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+E;AAC/E,qFAAgF;AAEhF,MAAM,sBAAsB,GAAG,IAAI,gCAAsB,EAAE,CAAC;AAE5D,MAAM,qBAAqB,GAAG,IAAA,iCAAiB,EAAC,sBAAsB,CAAC,CAAC;AACxE,MAAM,wBAAwB,GAAG,IAAA,0CAAgB,EAC/C,WAAW,EACX,sBAAsB,CACvB,CAAC;AAEF,wBAAwB,CAAC,GAAG,CAC1B,OAAO,EACP;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE;QACT,GAAG,EAAE,gBAAM;KACZ;CACF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC,CACF,CAAC;AAEF,wBAAwB,CAAC,IAAI,CAC3B,OAAO,EACP;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAM;KACb;IACD,SAAS,EAAE;QACT,GAAG,EAAE,gBAAM;KACZ;CACF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CACF,CAAC;AAEF,wBAAwB,CAAC,GAAG,CAC1B,OAAO,EACP;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAM;KACb;IACD,SAAS,EAAE;QACT,GAAG,EAAE,gBAAM;KACZ;CACF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CACF,CAAC;AAEF,wBAAwB,CAAC,KAAK,CAC5B,OAAO,EACP;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAM;KACb;IACD,SAAS,EAAE;QACT,GAAG,EAAE,gBAAM;KACZ;CACF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CACF,CAAC;AAEF,wBAAwB,CAAC,MAAM,CAC7B,OAAO,EACP;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE;QACT,GAAG,EAAE,gBAAM;KACZ;CACF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC,CACF,CAAC;AAEF,qBAAqB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEnD,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { MiddlewareHandler } from 'hyper-express';
2
+ /**
3
+ * Middleware function to parse the request body based on the content type.
4
+ *
5
+ * @returns {Function} - The middleware function.
6
+ */
7
+ export declare function contentParse(): MiddlewareHandler;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentParse = contentParse;
4
+ /**
5
+ * Middleware function to parse the request body based on the content type.
6
+ *
7
+ * @returns {Function} - The middleware function.
8
+ */
9
+ function contentParse() {
10
+ return async (req) => {
11
+ switch (req.headers['content-type']) {
12
+ case 'application/json':
13
+ req.body = await req.json();
14
+ break;
15
+ case 'application/x-www-form-urlencoded':
16
+ req.body = await req.urlencoded();
17
+ break;
18
+ case 'text/plain':
19
+ req.body = await req.text();
20
+ break;
21
+ case 'application/octet-stream':
22
+ req.body = await req.buffer();
23
+ break;
24
+ default:
25
+ req.body = await req.json();
26
+ break;
27
+ }
28
+ };
29
+ }
30
+ //# sourceMappingURL=contentParse.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentParse.middleware.js","sourceRoot":"","sources":["../../middleware/contentParse.middleware.ts"],"names":[],"mappings":";;AAOA,oCAoBC;AAzBD;;;;GAIG;AACH,SAAgB,YAAY;IAC1B,OAAO,KAAK,EAAE,GAAY,EAAE,EAAE;QAC5B,QAAQ,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,KAAK,kBAAkB;gBACrB,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM;YACR,KAAK,mCAAmC;gBACtC,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM;YACR,KAAK,YAAY;gBACf,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM;YACR,KAAK,0BAA0B;gBAC7B,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM;YACR;gBACE,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM;QACV,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { MiddlewareNext } from 'hyper-express';
3
+ import { Request, Response } from '../types/forklaunch.hyperExpress.types';
4
+ /**
5
+ * Middleware to enrich the response transmission by intercepting and parsing responses before they are sent.
6
+ *
7
+ * @template SV - A type that extends AnySchemaValidator.
8
+ * @param {Request<SV>} req - The request object.
9
+ * @param {Response} res - The response object.
10
+ * @param {MiddlewareNext} next - The next middleware function.
11
+ */
12
+ export declare function enrichResponseTransmission<SV extends AnySchemaValidator>(req: Request<SV>, res: Response, next: MiddlewareNext): void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichResponseTransmission = enrichResponseTransmission;
4
+ const core_1 = require("@forklaunch/core");
5
+ /**
6
+ * Middleware to enrich the response transmission by intercepting and parsing responses before they are sent.
7
+ *
8
+ * @template SV - A type that extends AnySchemaValidator.
9
+ * @param {Request<SV>} req - The request object.
10
+ * @param {Response} res - The response object.
11
+ * @param {MiddlewareNext} next - The next middleware function.
12
+ */
13
+ function enrichResponseTransmission(req, res, next) {
14
+ const originalSend = res.send;
15
+ const originalJson = res.json;
16
+ /**
17
+ * Intercepts the JSON response to include additional processing.
18
+ *
19
+ * @param {unknown} data - The data to send in the response.
20
+ * @returns {boolean} - The result of the original JSON method.
21
+ */
22
+ res.json = function (data) {
23
+ res.bodyData = data;
24
+ const result = originalJson.call(this, data);
25
+ return result;
26
+ };
27
+ /**
28
+ * Intercepts the send response to include additional processing and error handling.
29
+ *
30
+ * @param {unknown} data - The data to send in the response.
31
+ * @returns {Response} - The result of the original send method.
32
+ */
33
+ res.send = function (data) {
34
+ if (!res.bodyData) {
35
+ res.bodyData = data;
36
+ res.statusCode = res._status_code;
37
+ res.corked = res._corked;
38
+ }
39
+ try {
40
+ if ((res._cork && !res.corked) || !res._cork) {
41
+ (0, core_1.parseResponse)(req, res);
42
+ }
43
+ return originalSend.call(this, data);
44
+ }
45
+ catch (error) {
46
+ console.error(error);
47
+ res.status(500);
48
+ originalSend.call(this, 'Internal Server Error: ' + error.message);
49
+ throw error;
50
+ }
51
+ };
52
+ next();
53
+ }
54
+ //# sourceMappingURL=response.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.middleware.js","sourceRoot":"","sources":["../../middleware/response.middleware.ts"],"names":[],"mappings":";;AAaA,gEAkDC;AA/DD,2CAAiD;AAKjD;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CACxC,GAAgB,EAChB,GAAa,EACb,IAAoB;IAEpB,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;IAE9B;;;;;OAKG;IACH,GAAG,CAAC,IAAI,GAAG,UAAU,IAAa;QAChC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF;;;;;OAKG;IACH,GAAG,CAAC,IAAI,GAAG,UAAU,IAAI;QACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC;YAClC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAA,oBAAa,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,YAAY,CAAC,IAAI,CACf,IAAI,EACJ,yBAAyB,GAAI,KAAe,CAAC,OAAO,CACrD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { MiddlewareHandler } from 'hyper-express';
2
+ import { OpenAPIObject } from 'openapi3-ts/oas31';
3
+ import swaggerUi from 'swagger-ui-express';
4
+ /**
5
+ * Middleware to redirect requests to the Swagger UI base path.
6
+ *
7
+ * @param {string} path - The base path for the Swagger UI.
8
+ * @returns {MiddlewareHandler} - The middleware handler for redirecting requests.
9
+ */
10
+ export declare function swaggerRedirect(path: string): MiddlewareHandler;
11
+ /**
12
+ * Sets up the Swagger UI middleware for serving API documentation.
13
+ *
14
+ * @param {string} path - The base path for the Swagger UI.
15
+ * @param {OpenAPIObject} document - The OpenAPI document to display.
16
+ * @param {swaggerUi.SwaggerUiOptions} [opts] - Optional Swagger UI options.
17
+ * @param {swaggerUi.SwaggerOptions} [options] - Optional Swagger options.
18
+ * @param {string} [customCss] - Custom CSS to apply to the Swagger UI.
19
+ * @param {string} [customfavIcon] - Custom favicon to use in the Swagger UI.
20
+ * @param {string} [swaggerUrl] - Custom Swagger URL.
21
+ * @param {string} [customSiteTitle] - Custom site title for the Swagger UI.
22
+ * @returns {MiddlewareHandler[]} - An array of middleware handlers for serving the Swagger UI.
23
+ */
24
+ export declare function swagger(path: string, document: OpenAPIObject, opts?: swaggerUi.SwaggerUiOptions, options?: swaggerUi.SwaggerOptions, customCss?: string, customfavIcon?: string, swaggerUrl?: string, customSiteTitle?: string): MiddlewareHandler[];
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.swaggerRedirect = swaggerRedirect;
7
+ exports.swagger = swagger;
8
+ const live_directory_1 = __importDefault(require("live-directory"));
9
+ const absolute_path_1 = __importDefault(require("swagger-ui-dist/absolute-path"));
10
+ const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
11
+ /**
12
+ * Middleware to redirect requests to the Swagger UI base path.
13
+ *
14
+ * @param {string} path - The base path for the Swagger UI.
15
+ * @returns {MiddlewareHandler} - The middleware handler for redirecting requests.
16
+ */
17
+ function swaggerRedirect(path) {
18
+ return (req, res, next) => {
19
+ if (req.path === path) {
20
+ res.redirect(`${path}/`);
21
+ }
22
+ if (next) {
23
+ return next();
24
+ }
25
+ };
26
+ }
27
+ /**
28
+ * Sets up the Swagger UI middleware for serving API documentation.
29
+ *
30
+ * @param {string} path - The base path for the Swagger UI.
31
+ * @param {OpenAPIObject} document - The OpenAPI document to display.
32
+ * @param {swaggerUi.SwaggerUiOptions} [opts] - Optional Swagger UI options.
33
+ * @param {swaggerUi.SwaggerOptions} [options] - Optional Swagger options.
34
+ * @param {string} [customCss] - Custom CSS to apply to the Swagger UI.
35
+ * @param {string} [customfavIcon] - Custom favicon to use in the Swagger UI.
36
+ * @param {string} [swaggerUrl] - Custom Swagger URL.
37
+ * @param {string} [customSiteTitle] - Custom site title for the Swagger UI.
38
+ * @returns {MiddlewareHandler[]} - An array of middleware handlers for serving the Swagger UI.
39
+ */
40
+ function swagger(path, document, opts, options, customCss, customfavIcon, swaggerUrl, customSiteTitle) {
41
+ const LiveAssets = new live_directory_1.default((0, absolute_path_1.default)(), {
42
+ filter: {
43
+ keep: {
44
+ names: [
45
+ 'swagger-ui-bundle.js',
46
+ 'swagger-ui-standalone-preset.js',
47
+ 'swagger-ui-init.js',
48
+ 'swagger-ui.css',
49
+ 'favicon-32x32.png',
50
+ 'favicon-16x16.png'
51
+ ]
52
+ }
53
+ },
54
+ cache: {
55
+ max_file_count: 10,
56
+ max_file_size: 1024 * 1024 * 1.5
57
+ }
58
+ });
59
+ const serve = swagger_ui_express_1.default.serve[0];
60
+ /**
61
+ * Middleware to serve static assets for the Swagger UI.
62
+ *
63
+ * @param {Request} req - The request object.
64
+ * @param {Response} res - The response object.
65
+ * @param {MiddlewareNext} [next] - The next middleware function.
66
+ * @returns {void}
67
+ */
68
+ const staticAssets = (req, res, next) => {
69
+ const filePath = req.path.replace(path, '');
70
+ const file = LiveAssets.get(filePath);
71
+ if (file === undefined) {
72
+ if (next) {
73
+ return next();
74
+ }
75
+ return res.status(404).send();
76
+ }
77
+ const fileParts = file.path.split('.');
78
+ const extension = fileParts[fileParts.length - 1];
79
+ const content = file.content;
80
+ if (content instanceof Buffer) {
81
+ return res.type(extension).send(content);
82
+ }
83
+ else {
84
+ return res.type(extension).stream(content);
85
+ }
86
+ };
87
+ const ui = swagger_ui_express_1.default.setup(document, opts, options, customCss, customfavIcon, swaggerUrl, customSiteTitle);
88
+ return [serve, staticAssets, ui];
89
+ }
90
+ //# sourceMappingURL=swagger.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.middleware.js","sourceRoot":"","sources":["../../middleware/swagger.middleware.ts"],"names":[],"mappings":";;;;;AAiBA,0CASC;AAeD,0BAwEC;AA3GD,oEAA2C;AAE3C,kFAAqE;AACrE,4EAA2C;AAE3C;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAqB,EAAE,EAAE;QAC5D,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,OAAO,CACrB,IAAY,EACZ,QAAuB,EACvB,IAAiC,EACjC,OAAkC,EAClC,SAAkB,EAClB,aAAsB,EACtB,UAAmB,EACnB,eAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,wBAAa,CAAC,IAAA,uBAAwB,GAAE,EAAE;QAC/D,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,sBAAsB;oBACtB,iCAAiC;oBACjC,oBAAoB;oBACpB,gBAAgB;oBAChB,mBAAmB;oBACnB,mBAAmB;iBACpB;aACF;SACF;QACD,KAAK,EAAE;YACL,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;SACjC;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,4BAAS,CAAC,KAAK,CAAC,CAAC,CAAiC,CAAC;IAEjE;;;;;;;OAOG;IACH,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAqB,EAAE,EAAE;QAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,4BAAS,CAAC,KAAK,CACxB,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,CACgB,CAAC;IAElC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,141 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const typebox_1 = require("@forklaunch/validator/typebox");
27
+ const kill_port_process_1 = require("kill-port-process");
28
+ const forklaunch_hyperExpress_1 = __importStar(require("../forklaunch.hyperExpress"));
29
+ const typeboxSchemaValidator = new typebox_1.TypeboxSchemaValidator();
30
+ describe('Forklaunch Hyper-Express Tests', () => {
31
+ let forklaunchApplication;
32
+ let forklaunchRouterInstance;
33
+ beforeAll(async () => {
34
+ await (0, kill_port_process_1.killPortProcess)(6934);
35
+ forklaunchApplication = (0, forklaunch_hyperExpress_1.default)(typeboxSchemaValidator);
36
+ forklaunchRouterInstance = (0, forklaunch_hyperExpress_1.forklaunchRouter)('/testpath', typeboxSchemaValidator);
37
+ forklaunchRouterInstance.get('/test', {
38
+ name: 'Test',
39
+ summary: 'Test Summary',
40
+ responses: {
41
+ 200: typebox_1.string
42
+ }
43
+ }, (req, res) => {
44
+ res.status(200).send('Hello World');
45
+ });
46
+ forklaunchRouterInstance.post('/test', {
47
+ name: 'Test',
48
+ summary: 'Test Summary',
49
+ body: {
50
+ test: typebox_1.string
51
+ },
52
+ responses: {
53
+ 200: typebox_1.string
54
+ }
55
+ }, (req, res) => {
56
+ res.status(200).send(req.body.test);
57
+ });
58
+ forklaunchRouterInstance.put('/test', {
59
+ name: 'Test',
60
+ summary: 'Test Summary',
61
+ body: {
62
+ test: typebox_1.string
63
+ },
64
+ responses: {
65
+ 200: typebox_1.string
66
+ }
67
+ }, (req, res) => {
68
+ res.status(200).send(req.body.test);
69
+ });
70
+ forklaunchRouterInstance.patch('/test', {
71
+ name: 'Test',
72
+ summary: 'Test Summary',
73
+ body: {
74
+ test: typebox_1.string
75
+ },
76
+ responses: {
77
+ 200: typebox_1.string
78
+ }
79
+ }, (req, res) => {
80
+ res.status(200).send(req.body.test);
81
+ });
82
+ forklaunchRouterInstance.delete('/test', {
83
+ name: 'Test',
84
+ summary: 'Test Summary',
85
+ responses: {
86
+ 200: typebox_1.string
87
+ }
88
+ }, (req, res) => {
89
+ res.status(200).send('Hello World');
90
+ });
91
+ forklaunchApplication.use(forklaunchRouterInstance);
92
+ await forklaunchApplication.listen(6934, () => {
93
+ console.log('Server started');
94
+ });
95
+ });
96
+ test('Get', async () => {
97
+ const testGet = await fetch('http://localhost:6934/testpath/test', {
98
+ method: 'GET'
99
+ });
100
+ expect(testGet.status).toBe(200);
101
+ expect(await testGet.text()).toBe('Hello World');
102
+ });
103
+ test('Post', async () => {
104
+ const testPost = await fetch('http://localhost:6934/testpath/test', {
105
+ method: 'POST',
106
+ body: JSON.stringify({ test: 'Hello World' }),
107
+ headers: { 'Content-Type': 'application/json' }
108
+ });
109
+ expect(testPost.status).toBe(200);
110
+ expect(await testPost.text()).toBe('Hello World');
111
+ });
112
+ test('Put', async () => {
113
+ const testPut = await fetch('http://localhost:6934/testpath/test', {
114
+ method: 'PUT',
115
+ body: JSON.stringify({ test: 'Hello World' }),
116
+ headers: { 'Content-Type': 'application/json' }
117
+ });
118
+ expect(testPut.status).toBe(200);
119
+ expect(await testPut.text()).toBe('Hello World');
120
+ });
121
+ test('Patch', async () => {
122
+ const testPatch = await fetch('http://localhost:6934/testpath/test', {
123
+ method: 'PATCH',
124
+ body: JSON.stringify({ test: 'Hello World' }),
125
+ headers: { 'Content-Type': 'application/json' }
126
+ });
127
+ expect(testPatch.status).toBe(200);
128
+ expect(await testPatch.text()).toBe('Hello World');
129
+ });
130
+ test('Delete', async () => {
131
+ const testDelete = await fetch('http://localhost:6934/testpath/test', {
132
+ method: 'DELETE'
133
+ });
134
+ expect(testDelete.status).toBe(200);
135
+ expect(await testDelete.text()).toBe('Hello World');
136
+ });
137
+ afterAll(async () => {
138
+ setTimeout(async () => await (0, kill_port_process_1.killPortProcess)(6934), 500);
139
+ });
140
+ });
141
+ //# sourceMappingURL=typebox.forklaunch.hyperExpress.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typebox.forklaunch.hyperExpress.test.js","sourceRoot":"","sources":["../../tests/typebox.forklaunch.hyperExpress.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,141 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const zod_1 = require("@forklaunch/validator/zod");
27
+ const kill_port_process_1 = require("kill-port-process");
28
+ const forklaunch_hyperExpress_1 = __importStar(require("../forklaunch.hyperExpress"));
29
+ const zodSchemaValidator = new zod_1.ZodSchemaValidator();
30
+ describe('Forklaunch Hyper-Express Tests', () => {
31
+ let forklaunchApplication;
32
+ let forklaunchRouterInstance;
33
+ beforeAll(async () => {
34
+ await (0, kill_port_process_1.killPortProcess)(6935);
35
+ forklaunchApplication = (0, forklaunch_hyperExpress_1.default)(zodSchemaValidator);
36
+ forklaunchRouterInstance = (0, forklaunch_hyperExpress_1.forklaunchRouter)('/testpath', zodSchemaValidator);
37
+ forklaunchRouterInstance.get('/test', {
38
+ name: 'Test',
39
+ summary: 'Test Summary',
40
+ responses: {
41
+ 200: zod_1.string
42
+ }
43
+ }, (req, res) => {
44
+ res.status(200).send('Hello World');
45
+ });
46
+ forklaunchRouterInstance.post('/test', {
47
+ name: 'Test',
48
+ summary: 'Test Summary',
49
+ body: {
50
+ test: zod_1.string
51
+ },
52
+ responses: {
53
+ 200: zod_1.string
54
+ }
55
+ }, (req, res) => {
56
+ res.status(200).send(req.body.test);
57
+ });
58
+ forklaunchRouterInstance.put('/test', {
59
+ name: 'Test',
60
+ summary: 'Test Summary',
61
+ body: {
62
+ test: zod_1.string
63
+ },
64
+ responses: {
65
+ 200: zod_1.string
66
+ }
67
+ }, (req, res) => {
68
+ res.status(200).send(req.body.test);
69
+ });
70
+ forklaunchRouterInstance.patch('/test', {
71
+ name: 'Test',
72
+ summary: 'Test Summary',
73
+ body: {
74
+ test: zod_1.string
75
+ },
76
+ responses: {
77
+ 200: zod_1.string
78
+ }
79
+ }, (req, res) => {
80
+ res.status(200).send(req.body.test);
81
+ });
82
+ forklaunchRouterInstance.delete('/test', {
83
+ name: 'Test',
84
+ summary: 'Test Summary',
85
+ responses: {
86
+ 200: zod_1.string
87
+ }
88
+ }, (req, res) => {
89
+ res.status(200).send('Hello World');
90
+ });
91
+ forklaunchApplication.use(forklaunchRouterInstance);
92
+ await forklaunchApplication.listen(6935, () => {
93
+ console.log('Server started');
94
+ });
95
+ });
96
+ test('Get', async () => {
97
+ const testGet = await fetch('http://localhost:6934/testpath/test', {
98
+ method: 'GET'
99
+ });
100
+ expect(testGet.status).toBe(200);
101
+ expect(await testGet.text()).toBe('Hello World');
102
+ });
103
+ test('Post', async () => {
104
+ const testPost = await fetch('http://localhost:6934/testpath/test', {
105
+ method: 'POST',
106
+ body: JSON.stringify({ test: 'Hello World' }),
107
+ headers: { 'Content-Type': 'application/json' }
108
+ });
109
+ expect(testPost.status).toBe(200);
110
+ expect(await testPost.text()).toBe('Hello World');
111
+ });
112
+ test('Put', async () => {
113
+ const testPut = await fetch('http://localhost:6934/testpath/test', {
114
+ method: 'PUT',
115
+ body: JSON.stringify({ test: 'Hello World' }),
116
+ headers: { 'Content-Type': 'application/json' }
117
+ });
118
+ expect(testPut.status).toBe(200);
119
+ expect(await testPut.text()).toBe('Hello World');
120
+ });
121
+ test('Patch', async () => {
122
+ const testPatch = await fetch('http://localhost:6934/testpath/test', {
123
+ method: 'PATCH',
124
+ body: JSON.stringify({ test: 'Hello World' }),
125
+ headers: { 'Content-Type': 'application/json' }
126
+ });
127
+ expect(testPatch.status).toBe(200);
128
+ expect(await testPatch.text()).toBe('Hello World');
129
+ });
130
+ test('Delete', async () => {
131
+ const testDelete = await fetch('http://localhost:6934/testpath/test', {
132
+ method: 'DELETE'
133
+ });
134
+ expect(testDelete.status).toBe(200);
135
+ expect(await testDelete.text()).toBe('Hello World');
136
+ });
137
+ afterAll(async () => {
138
+ setTimeout(async () => await (0, kill_port_process_1.killPortProcess)(6935), 500);
139
+ });
140
+ });
141
+ //# sourceMappingURL=zod.forklaunch.hyperExpress.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.forklaunch.hyperExpress.test.js","sourceRoot":"","sources":["../../tests/zod.forklaunch.hyperExpress.test.ts"],"names":[],"mappings":"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"}