@forklaunch/core 0.1.2 → 0.1.5

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 (55) hide show
  1. package/dist/http/httpStatusCodes.d.ts +74 -0
  2. package/dist/http/httpStatusCodes.js +1050 -0
  3. package/dist/http/httpStatusCodes.js.map +1 -0
  4. package/dist/http/index.d.ts +3 -1
  5. package/dist/http/index.js +3 -1
  6. package/dist/http/index.js.map +1 -1
  7. package/dist/http/middleware/index.js.map +1 -0
  8. package/dist/http/middleware/request.middleware.js.map +1 -0
  9. package/dist/http/middleware/response.middleware.js.map +1 -0
  10. package/dist/http/openApiV3Generator.d.ts +4 -0
  11. package/dist/http/openApiV3Generator.js +137 -0
  12. package/dist/http/openApiV3Generator.js.map +1 -0
  13. package/dist/http/types/forklaunch.types.d.ts +13 -0
  14. package/dist/http/types/forklaunch.types.js +3 -0
  15. package/dist/http/types/forklaunch.types.js.map +1 -0
  16. package/dist/http/types/index.d.ts +1 -0
  17. package/dist/http/types/index.js +1 -0
  18. package/dist/http/types/index.js.map +1 -1
  19. package/dist/jest.config.js +10 -0
  20. package/dist/tests/http.middleware.test.js +1 -1
  21. package/dist/tests/http.middleware.test.js.map +1 -1
  22. package/dist/tests/openApiV3Generator.test.d.ts +1 -0
  23. package/dist/tests/openApiV3Generator.test.js +71 -0
  24. package/dist/tests/openApiV3Generator.test.js.map +1 -0
  25. package/package.json +4 -2
  26. package/.prettierignore +0 -2
  27. package/.prettierrc +0 -6
  28. package/dist/http/middlewares/index.js.map +0 -1
  29. package/dist/http/middlewares/request.middleware.js.map +0 -1
  30. package/dist/http/middlewares/response.middleware.js.map +0 -1
  31. package/entityMapper/index.ts +0 -2
  32. package/entityMapper/interfaces/entityMapper.interface.ts +0 -17
  33. package/entityMapper/models/baseEntityMapper.model.ts +0 -110
  34. package/entityMapper/models/requestEntityMapper.model.ts +0 -111
  35. package/entityMapper/models/responseEntityMapper.model.ts +0 -98
  36. package/entityMapper/types/entityMapper.types.ts +0 -12
  37. package/eslint.config.mjs +0 -12
  38. package/http/index.ts +0 -2
  39. package/http/middlewares/index.ts +0 -2
  40. package/http/middlewares/request.middleware.ts +0 -257
  41. package/http/middlewares/response.middleware.ts +0 -63
  42. package/http/types/api.types.ts +0 -83
  43. package/http/types/index.ts +0 -2
  44. package/http/types/primitive.types.ts +0 -76
  45. package/index.ts +0 -6
  46. package/jest.config.ts +0 -10
  47. package/tests/entityMapper.test.ts +0 -219
  48. package/tests/http.middleware.test.ts +0 -99
  49. package/tests/redisTtlCache.test.ts +0 -62
  50. /package/dist/http/{middlewares → middleware}/index.d.ts +0 -0
  51. /package/dist/http/{middlewares → middleware}/index.js +0 -0
  52. /package/dist/http/{middlewares → middleware}/request.middleware.d.ts +0 -0
  53. /package/dist/http/{middlewares → middleware}/request.middleware.js +0 -0
  54. /package/dist/http/{middlewares → middleware}/response.middleware.d.ts +0 -0
  55. /package/dist/http/{middlewares → middleware}/response.middleware.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpStatusCodes.js","sourceRoot":"","sources":["../../http/httpStatusCodes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- export * from './middlewares';
1
+ export * from './httpStatusCodes';
2
+ export * from './middleware';
3
+ export * from './openApiV3Generator';
2
4
  export * from './types';
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./middlewares"), exports);
17
+ __exportStar(require("./httpStatusCodes"), exports);
18
+ __exportStar(require("./middleware"), exports);
19
+ __exportStar(require("./openApiV3Generator"), exports);
18
20
  __exportStar(require("./types"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+CAA6B;AAC7B,uDAAqC;AACrC,0CAAwB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../http/middleware/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.middleware.js","sourceRoot":"","sources":["../../../http/middleware/request.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.middleware.js","sourceRoot":"","sources":["../../../http/middleware/response.middleware.ts"],"names":[],"mappings":";;AAmBA,sCA2CC;AAtDD,SAAS,kBAAkB,CACzB,eAAwC;IAExC,OAAO,CACL,eAAe,CAAC,IAAI;QACpB,eAAe,CAAC,MAAM;QACtB,eAAe,CAAC,cAAc;QAC9B,eAAe,CAAC,KAAK,CACtB,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAK3B,GAAY,EAAE,GAAa,EAAE,IAAmB;IAChD,IAAI,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CACzC,GAAG,CAAC,eAAe,CAAC,eAAe,CACpC,CAAC;QACF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IACE,GAAG,CAAC,UAAU,KAAK,GAAG;QACtB,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;QACnE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI;YACvB,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,EACrD,CAAC;QACD,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAClC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAC9B,GAAG,CAAC,UAAU,CACf,EACD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CACF,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,UAAU,2BAA2B,CAAC,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CACzC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAC9C,CAAC;IACF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { OpenAPIObject } from 'openapi3-ts/oas31';
3
+ import { ForklaunchRouter } from './types/forklaunch.types';
4
+ export declare function generateSwaggerDocument<SV extends AnySchemaValidator>(schemaValidator: SV, port: string | number, routers: ForklaunchRouter<SV>[]): OpenAPIObject;
@@ -0,0 +1,137 @@
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.generateSwaggerDocument = generateSwaggerDocument;
7
+ const httpStatusCodes_1 = __importDefault(require("./httpStatusCodes"));
8
+ const toUpperCase = (str) => {
9
+ return str.charAt(0).toUpperCase() + str.slice(1);
10
+ };
11
+ const transformBasePath = (basePath) => {
12
+ if (basePath.startsWith('/')) {
13
+ return toUpperCase(basePath.slice(1));
14
+ }
15
+ return `/${basePath}`;
16
+ };
17
+ const swaggerDocument = (port, tags, paths) => {
18
+ return {
19
+ openapi: '3.1.0',
20
+ info: {
21
+ title: process.env.API_TITLE || '',
22
+ version: process.env.VERSION || '1.0.0'
23
+ },
24
+ components: {
25
+ securitySchemes: {
26
+ bearer: {
27
+ type: 'http',
28
+ scheme: 'bearer',
29
+ bearerFormat: 'JWT'
30
+ }
31
+ }
32
+ },
33
+ tags,
34
+ servers: [
35
+ {
36
+ url: `http://localhost:${port}`
37
+ }
38
+ ],
39
+ paths
40
+ };
41
+ };
42
+ function contentResolver(schemaValidator, body) {
43
+ const bodySpec = schemaValidator.openapi(body);
44
+ return body === schemaValidator.string
45
+ ? {
46
+ 'plain/text': {
47
+ schema: bodySpec
48
+ }
49
+ }
50
+ : {
51
+ 'application/json': {
52
+ schema: bodySpec
53
+ }
54
+ };
55
+ }
56
+ function generateSwaggerDocument(schemaValidator, port, routers) {
57
+ const tags = [];
58
+ const paths = {};
59
+ routers.forEach((router) => {
60
+ const controllerName = transformBasePath(router.basePath);
61
+ tags.push({
62
+ name: controllerName,
63
+ description: `${controllerName} Operations`
64
+ });
65
+ router.routes.forEach((route) => {
66
+ const fullPath = `${router.basePath}${route.path === '/' ? '' : route.path}`.replace(/:(\w+)/g, '{$1}');
67
+ if (!paths[fullPath]) {
68
+ paths[fullPath] = {};
69
+ }
70
+ const { name, summary, query, requestHeaders } = route.contractDetails;
71
+ const responses = {};
72
+ for (const key in route.contractDetails.responses) {
73
+ responses[key] = {
74
+ description: httpStatusCodes_1.default[key],
75
+ content: contentResolver(schemaValidator, route.contractDetails.responses[key])
76
+ };
77
+ }
78
+ const pathItemObject = {
79
+ tags: [controllerName],
80
+ summary: `${name}: ${summary}`,
81
+ parameters: [],
82
+ responses
83
+ };
84
+ if (route.contractDetails.params) {
85
+ for (const key in route.contractDetails.params) {
86
+ pathItemObject.parameters?.push({
87
+ name: key,
88
+ in: 'path'
89
+ });
90
+ }
91
+ }
92
+ const body = route.contractDetails.body;
93
+ if (body) {
94
+ pathItemObject.requestBody = {
95
+ required: true,
96
+ content: contentResolver(schemaValidator, body)
97
+ };
98
+ }
99
+ if (requestHeaders) {
100
+ for (const key in requestHeaders) {
101
+ pathItemObject.parameters?.push({
102
+ name: key,
103
+ in: 'header'
104
+ });
105
+ }
106
+ }
107
+ if (query) {
108
+ for (const key in query) {
109
+ pathItemObject.parameters?.push({
110
+ name: key,
111
+ in: 'query'
112
+ });
113
+ }
114
+ }
115
+ if (route.contractDetails.auth) {
116
+ responses[401] = {
117
+ description: httpStatusCodes_1.default[401],
118
+ content: contentResolver(schemaValidator, schemaValidator.string)
119
+ };
120
+ responses[403] = {
121
+ description: httpStatusCodes_1.default[403],
122
+ content: contentResolver(schemaValidator, schemaValidator.string)
123
+ };
124
+ if (route.contractDetails.auth.method === 'jwt') {
125
+ pathItemObject.security = [
126
+ {
127
+ bearer: Array.from(route.contractDetails.auth.allowedSlugs?.values() || [])
128
+ }
129
+ ];
130
+ }
131
+ }
132
+ paths[fullPath][route.method] = pathItemObject;
133
+ });
134
+ });
135
+ return swaggerDocument(port, tags, paths);
136
+ }
137
+ //# sourceMappingURL=openApiV3Generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openApiV3Generator.js","sourceRoot":"","sources":["../../http/openApiV3Generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { HttpContractDetails, PathParamHttpContractDetails } from './primitive.types';
3
+ export interface ForklaunchRouter<SV extends AnySchemaValidator> {
4
+ basePath: string;
5
+ routes: ForklaunchRoute<SV>[];
6
+ }
7
+ export interface ForklaunchRoute<SV extends AnySchemaValidator> {
8
+ basePath: string;
9
+ path: string | RegExp | (string | RegExp)[];
10
+ sdkPath: string;
11
+ method: 'get' | 'post' | 'put' | 'patch' | 'delete';
12
+ contractDetails: PathParamHttpContractDetails<SV> | HttpContractDetails<SV>;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=forklaunch.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forklaunch.types.js","sourceRoot":"","sources":["../../../http/types/forklaunch.types.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  export * from './api.types';
2
+ export * from './forklaunch.types';
2
3
  export * from './primitive.types';
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./api.types"), exports);
18
+ __exportStar(require("./forklaunch.types"), exports);
18
19
  __exportStar(require("./primitive.types"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../http/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../http/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,qDAAmC;AACnC,oDAAkC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config = {
4
+ verbose: true,
5
+ preset: 'ts-jest',
6
+ testEnvironment: 'node',
7
+ testPathIgnorePatterns: ['dist/', 'node_modules/']
8
+ };
9
+ exports.default = config;
10
+ //# sourceMappingURL=jest.config.js.map
@@ -42,7 +42,7 @@ describe('Http Middleware Tests', () => {
42
42
  status: jest.fn(),
43
43
  send: jest.fn(),
44
44
  json: jest.fn(),
45
- jsonp: jest.fn(),
45
+ jsonp: jest.fn()
46
46
  };
47
47
  });
48
48
  test('Create Request Context', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"http.middleware.test.js","sourceRoot":"","sources":["../../tests/http.middleware.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.middleware.test.js","sourceRoot":"","sources":["../../tests/http.middleware.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mockSchemaValidator_1 = require("@forklaunch/validator/tests/mockSchemaValidator");
4
+ const openApiV3Generator_1 = require("../http/openApiV3Generator");
5
+ describe('OpenApiV3Generator Tests', () => {
6
+ const testSchema = {
7
+ test: (0, mockSchemaValidator_1.union)(['a', (0, mockSchemaValidator_1.optional)((0, mockSchemaValidator_1.literal)('test'))])
8
+ };
9
+ test('Generate OpenApiV3', async () => {
10
+ const generatedOpenApiSpec = (0, openApiV3Generator_1.generateSwaggerDocument)(mockSchemaValidator_1.mockSchemaValidator, 8000, [
11
+ {
12
+ basePath: '/api',
13
+ routes: [
14
+ {
15
+ basePath: '/test',
16
+ path: '/',
17
+ sdkPath: '/test',
18
+ method: 'get',
19
+ contractDetails: {
20
+ name: 'Test Contract',
21
+ summary: 'Test Contract Summary',
22
+ body: testSchema,
23
+ params: testSchema,
24
+ requestHeaders: testSchema,
25
+ query: testSchema,
26
+ responses: {
27
+ 200: testSchema
28
+ }
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ ]);
34
+ console.log(generatedOpenApiSpec);
35
+ expect(generatedOpenApiSpec).toEqual({
36
+ openapi: '3.1.0',
37
+ info: { title: '', version: '1.0.0' },
38
+ components: {
39
+ securitySchemes: {
40
+ bearer: { type: 'http', scheme: 'bearer', bearerFormat: 'JWT' }
41
+ }
42
+ },
43
+ tags: [{ name: 'Api', description: 'Api Operations' }],
44
+ servers: [{ url: 'http://localhost:8000' }],
45
+ paths: {
46
+ '/api': {
47
+ get: {
48
+ tags: ['Api'],
49
+ summary: 'Test Contract: Test Contract Summary',
50
+ parameters: [
51
+ { name: 'test', in: 'path' },
52
+ { name: 'test', in: 'header' },
53
+ { name: 'test', in: 'query' }
54
+ ],
55
+ responses: {
56
+ '200': {
57
+ description: 'OK',
58
+ content: { 'application/json': { schema: {} } }
59
+ }
60
+ },
61
+ requestBody: {
62
+ required: true,
63
+ content: { 'application/json': { schema: {} } }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=openApiV3Generator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openApiV3Generator.test.js","sourceRoot":"","sources":["../../tests/openApiV3Generator.test.ts"],"names":[],"mappings":";;AAAA,yFAKyD;AACzD,mEAAqE;AAErE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,IAAA,2BAAK,EAAC,CAAC,GAAG,EAAE,IAAA,8BAAQ,EAAC,IAAA,6BAAO,EAAC,MAAM,CAAC,CAAC,CAAU,CAAC;KACvD,CAAC;IAEF,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,oBAAoB,GAAG,IAAA,4CAAuB,EAClD,yCAAmB,EACnB,IAAI,EACJ;YACE;gBACE,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE;oBACN;wBACE,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,KAAK;wBACb,eAAe,EAAE;4BACf,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,uBAAuB;4BAChC,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,UAAU;4BAClB,cAAc,EAAE,UAAU;4BAC1B,KAAK,EAAE,UAAU;4BACjB,SAAS,EAAE;gCACT,GAAG,EAAE,UAAU;6BAChB;yBACF;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;YACrC,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;iBAChE;aACF;YACD,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC;YAC3C,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,GAAG,EAAE;wBACH,IAAI,EAAE,CAAC,KAAK,CAAC;wBACb,OAAO,EAAE,sCAAsC;wBAC/C,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE;4BAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;4BAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE;yBAC9B;wBACD,SAAS,EAAE;4BACT,KAAK,EAAE;gCACL,WAAW,EAAE,IAAI;gCACjB,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;6BAChD;yBACF;wBACD,WAAW,EAAE;4BACX,QAAQ,EAAE,IAAI;4BACd,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;yBAChD;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "name": "@forklaunch/core",
3
- "version": "0.1.2",
3
+ "version": "0.1.5",
4
4
  "description": "forklaunch-js core package. Contains useful building blocks.",
5
- "main": "index.js",
5
+ "files": [
6
+ "dist"
7
+ ],
6
8
  "scripts": {
7
9
  "test": "jest",
8
10
  "build": "tsc",
package/.prettierignore DELETED
@@ -1,2 +0,0 @@
1
- node_modules/
2
- dist/
package/.prettierrc DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "semi": true,
3
- "trailingComma": "none",
4
- "singleQuote": true,
5
- "printWidth": 80
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../http/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/request.middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/response.middleware.ts"],"names":[],"mappings":";;AAmBA,sCA2CC;AAtDD,SAAS,kBAAkB,CACzB,eAAwC;IAExC,OAAO,CACL,eAAe,CAAC,IAAI;QACpB,eAAe,CAAC,MAAM;QACtB,eAAe,CAAC,cAAc;QAC9B,eAAe,CAAC,KAAK,CACtB,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAK3B,GAAY,EAAE,GAAa,EAAE,IAAmB;IAChD,IAAI,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CACzC,GAAG,CAAC,eAAe,CAAC,eAAe,CACpC,CAAC;QACF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IACE,GAAG,CAAC,UAAU,KAAK,GAAG;QACtB,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;QACnE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI;YACvB,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,EACrD,CAAC;QACD,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAClC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAC9B,GAAG,CAAC,UAAU,CACf,EACD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CACF,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,UAAU,2BAA2B,CAAC,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CACzC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAC9C,CAAC;IACF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './models/requestEntityMapper.model';
2
- export * from './models/responseEntityMapper.model';
@@ -1,17 +0,0 @@
1
- import { AnySchemaValidator } from '@forklaunch/validator';
2
-
3
- /**
4
- * Interface representing a constructor for an entity mapper.
5
- *
6
- * @template T - The type of the entity mapper.
7
- * @interface EntityMapperConstructor
8
- */
9
- export interface EntityMapperConstructor<T, SV extends AnySchemaValidator> {
10
- /**
11
- * Creates a new instance of the entity mapper.
12
- *
13
- * @param {AnySchemaValidator} schemaValidator - The arguments to pass to the constructor.
14
- * @returns {T} - A new instance of the entity mapper.
15
- */
16
- new (schemaValidator: SV): T;
17
- }
@@ -1,110 +0,0 @@
1
- import {
2
- AnySchemaValidator,
3
- Schema,
4
- SchemaValidator
5
- } from '@forklaunch/validator';
6
- import { EntityMapperConstructor } from '../interfaces/entityMapper.interface';
7
- import { EntityMapperSchemaValidatorObject } from '../types/entityMapper.types';
8
-
9
- /**
10
- * Constructs an instance of a T.
11
- *
12
- * @template T - A type that extends BaseEntityMapper.
13
- * @param {EntityMapperConstructor<T>} self - The constructor of the T.
14
- * @param {...any[]} args - The arguments to pass to the constructor.
15
- * @returns {T} - An instance of the T.
16
- */
17
- export function construct<T, SV extends AnySchemaValidator>(
18
- self: EntityMapperConstructor<T, SV>,
19
- schemaValidator?: SV
20
- ): T {
21
- return new self(schemaValidator || ({} as SV));
22
- }
23
-
24
- /**
25
- * Abstract class representing a base entityMapper.
26
- *
27
- * @template SV - A type that extends SchemaValidator.
28
- */
29
- export abstract class BaseEntityMapper<SV extends AnySchemaValidator> {
30
- /**
31
- * The schema validator exact type.
32
- * @type {SV}
33
- * @protected
34
- */
35
- _SV!: SV;
36
-
37
- /**
38
- * The schema validator as a general type.
39
- * @type {SchemaValidator}
40
- * @protected
41
- */
42
- protected schemaValidator: SchemaValidator;
43
-
44
- /**
45
- * The schema definition.
46
- * @type {EntityMapperSchemaValidatorObject<SV>}
47
- * @abstract
48
- */
49
- abstract schema: EntityMapperSchemaValidatorObject<SV>;
50
-
51
- /**
52
- * The Data Transfer Object (DTO).
53
- * @type {Schema<this['schema'], SV>}
54
- *
55
- */
56
- _dto: Schema<this['schema'], SV> = {} as unknown as Schema<
57
- this['schema'],
58
- SV
59
- >;
60
-
61
- /**
62
- * Creates an instance of BaseEntityMapper.
63
- *
64
- * @param {SV} schemaValidator - The schema provider.
65
- */
66
- constructor(schemaValidator: SV) {
67
- this.schemaValidator = schemaValidator as unknown as SchemaValidator;
68
- }
69
-
70
- /**
71
- * Validates and sets the Data Transfer Object (DTO).
72
- *
73
- * @param {this['_dto']} dto - The Data Transfer Object (DTO).
74
- * @throws {Error} - Throws an error if the DTO is invalid.
75
- */
76
- set dto(_dto: this['_dto']) {
77
- if (
78
- !this.schemaValidator.validate(
79
- this.schemaValidator.schemify(this.schema),
80
- _dto
81
- )
82
- ) {
83
- throw new Error('Invalid DTO');
84
- }
85
- this._dto = _dto as unknown as Schema<this['schema'], SV>;
86
- }
87
-
88
- /**
89
- * Validates and gets the Data Transfer Object (DTO).
90
- *
91
- * @returns {this['_dto']} - The Data Transfer Object (DTO).
92
- * @throws {Error} - Throws an error if the DTO is invalid.
93
- */
94
- get dto(): this['_dto'] {
95
- return this._dto as unknown as this['_dto'];
96
- }
97
-
98
- /**
99
- * Gets the schema of a T.
100
- *
101
- * @template T - A type that extends BaseEntityMapper.
102
- * @param {EntityMapperConstructor<T>} this - The constructor of the T.
103
- * @returns {T['schema']} - The schema of the T.
104
- */
105
- static schema<T extends BaseEntityMapper<SV>, SV extends AnySchemaValidator>(
106
- this: EntityMapperConstructor<T, SV>
107
- ): T['schema'] {
108
- return construct(this).schema;
109
- }
110
- }