@forklaunch/core 0.1.13 → 0.1.15

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.
@@ -1,9 +1,6 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
- import { ForklaunchRouter } from '../types';
3
- export default abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server> {
4
- protected schemaValidator: SV;
5
- protected internal: Server;
6
- protected routers: ForklaunchRouter<SV>[];
2
+ export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server> {
3
+ #private;
7
4
  /**
8
5
  * Creates an instance of the Application class.
9
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"forklaunchExpress.application.interface.d.ts","sourceRoot":"","sources":["../../../http/interfaces/forklaunchExpress.application.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gCAAgC,CAC5D,EAAE,SAAS,kBAAkB,EAC7B,MAAM;IAUJ,SAAS,CAAC,eAAe,EAAE,EAAE;IAC7B,SAAS,CAAC,QAAQ,EAAE,MAAM;IAT5B,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAM;IAE/C;;;;OAIG;gBAES,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAG5B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
1
+ {"version":3,"file":"forklaunchExpress.application.interface.d.ts","sourceRoot":"","sources":["../../../http/interfaces/forklaunchExpress.application.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,8BAAsB,gCAAgC,CACpD,EAAE,SAAS,kBAAkB,EAC7B,MAAM;;IAMN;;;;OAIG;gBACS,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM;IAKjD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
@@ -1,14 +1,14 @@
1
- export default class ForklaunchExpressLikeApplication {
2
- schemaValidator;
3
- internal;
4
- routers = [];
1
+ export class ForklaunchExpressLikeApplication {
2
+ #routers = [];
3
+ #schemaValidator;
4
+ #internal;
5
5
  /**
6
6
  * Creates an instance of the Application class.
7
7
  *
8
8
  * @param {SV} schemaValidator - The schema validator.
9
9
  */
10
10
  constructor(schemaValidator, internal) {
11
- this.schemaValidator = schemaValidator;
12
- this.internal = internal;
11
+ this.#schemaValidator = schemaValidator;
12
+ this.#internal = internal;
13
13
  }
14
14
  }
@@ -1,6 +1,5 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
- import { ParsedQs } from 'qs';
3
- import { Body, ForklaunchMiddlewareHandler, ForklaunchRoute, ForklaunchSchemaMiddlewareHandler, HeadersObject, HttpContractDetails, LiveTypeFunction, ParamsDictionary, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types';
2
+ import { Body, ForklaunchSchemaMiddlewareHandler, HeadersObject, HttpContractDetails, LiveTypeFunction, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types';
4
3
  interface ExpressLikeRouter<RouterFunction> {
5
4
  use: (...args: (string | RouterFunction)[]) => this;
6
5
  get(path: string, ...handlers: RouterFunction[]): void;
@@ -9,44 +8,10 @@ interface ExpressLikeRouter<RouterFunction> {
9
8
  patch(path: string, ...handlers: RouterFunction[]): void;
10
9
  delete(path: string, ...handlers: RouterFunction[]): void;
11
10
  }
12
- export default abstract class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterFunction, Internal extends ExpressLikeRouter<RouterFunction>> {
13
- protected basePath: BasePath;
14
- protected readonly internal: Internal;
15
- protected routes: ForklaunchRoute<SV>[];
11
+ export declare abstract class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterFunction, Internal extends ExpressLikeRouter<RouterFunction>> {
12
+ #private;
13
+ readonly internal: Internal;
16
14
  constructor(basePath: BasePath, internal: Internal);
17
- /**
18
- * Resolves middlewares based on the contract details.
19
- *
20
- * @param {PathParamHttpContractDetails<SV> | HttpContractDetails<SV>} contractDetails - The contract details.
21
- * @returns {MiddlewareHandler<SV>[]} - The resolved middlewares.
22
- */
23
- protected resolveMiddlewares<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(contractDetails: PathParamHttpContractDetails<SV, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders> | HttpContractDetails<SV, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>): ForklaunchSchemaMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
24
- /**
25
- * Parses and runs the controller function with error handling.
26
- *
27
- * @template P - The type of request parameters.
28
- * @template ResBodyMap - The type of response body.
29
- * @template ReqBody - The type of request body.
30
- * @template ReqQuery - The type of request query.
31
- * @template LocalsObj - The type of local variables.
32
- * @template StatusCode - The type of status code.
33
- * @param {MiddlewareHandler<SV, P, ResBodyMap | string, ReqBody, ReqQuery, LocalsObj, StatusCode>} requestHandler - The request handler.
34
- * @returns {ExpressMiddlewareHandler} - The Express request handler.
35
- */
36
- protected parseAndRunControllerFunction<SV extends AnySchemaValidator, P extends ParamsDictionary, ResBodyMap extends Record<number, unknown>, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, string>, LocalsObj extends Record<string, unknown>>(requestHandler: ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
37
- /**
38
- * Extracts the controller function from the provided functions.
39
- *
40
- * @template P - The type of request parameters.
41
- * @template ResBodyMap - The type of response body.
42
- * @template ReqBody - The type of request body.
43
- * @template ReqQuery - The type of request query.
44
- * @template LocalsObj - The type of local variables.
45
- * @param {MiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} functions - The provided functions.
46
- * @returns {MiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>} - The extracted controller function.
47
- * @throws {Error} - Throws an error if the last argument is not a function.
48
- */
49
- protected extractControllerFunction<SV extends AnySchemaValidator, P extends ParamsDictionary, ResBodyMap extends Record<number, unknown>, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, string>, LocalsObj extends Record<string, unknown>>(functions: ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
50
15
  /**
51
16
  * Registers middleware to the router.
52
17
  *
@@ -54,14 +19,6 @@ export default abstract class ForklaunchExpressLikeRouter<SV extends AnySchemaVa
54
19
  * @returns {this} - The router instance.
55
20
  */
56
21
  use(...args: unknown[]): this;
57
- /**
58
- * Executes request locally, applying parameters
59
- *
60
- * @param functions {ForklaunchMiddlewareHandler<SV>}
61
- * @param controllerFunction
62
- * @returns
63
- */
64
- protected localParamRequest<Path extends `/${string}`, SV extends AnySchemaValidator, P extends ParamsDictionary, ResBodyMap extends Record<number, unknown>, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, string>, LocalsObj extends Record<string, unknown>>(functions: ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[], controllerFunction: ForklaunchMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
65
22
  /**
66
23
  * Registers a GET route with the specified contract details and handler functions.
67
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"forklaunchExpress.router.interface.d.ts","sourceRoot":"","sources":["../../../http/interfaces/forklaunchExpress.router.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forklaunchExpress.router.interface.d.ts","sourceRoot":"","sources":["../../../http/interfaces/forklaunchExpress.router.interface.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { enrichRequestDetails, parseReqHeaders, parseRequestAuth, parseRequestBody, parseRequestParams, parseRequestQuery } from '../middleware';
2
- export default class ForklaunchExpressLikeRouter {
3
- basePath;
2
+ export class ForklaunchExpressLikeRouter {
4
3
  internal;
5
- routes = [];
4
+ #routes = [];
5
+ #basePath;
6
+ #internal;
6
7
  constructor(basePath, internal) {
7
- this.basePath = basePath;
8
8
  this.internal = internal;
9
+ this.#basePath = basePath;
10
+ this.#internal = internal;
9
11
  }
10
12
  /**
11
13
  * Resolves middlewares based on the contract details.
@@ -13,7 +15,7 @@ export default class ForklaunchExpressLikeRouter {
13
15
  * @param {PathParamHttpContractDetails<SV> | HttpContractDetails<SV>} contractDetails - The contract details.
14
16
  * @returns {MiddlewareHandler<SV>[]} - The resolved middlewares.
15
17
  */
16
- resolveMiddlewares(contractDetails) {
18
+ #resolveMiddlewares(contractDetails) {
17
19
  const middlewares = [
18
20
  enrichRequestDetails(contractDetails)
19
21
  ];
@@ -46,7 +48,7 @@ export default class ForklaunchExpressLikeRouter {
46
48
  * @param {MiddlewareHandler<SV, P, ResBodyMap | string, ReqBody, ReqQuery, LocalsObj, StatusCode>} requestHandler - The request handler.
47
49
  * @returns {ExpressMiddlewareHandler} - The Express request handler.
48
50
  */
49
- parseAndRunControllerFunction(requestHandler) {
51
+ #parseAndRunControllerFunction(requestHandler) {
50
52
  return (async (req, res, next) => {
51
53
  if (!requestHandler) {
52
54
  throw new Error('Controller function is not defined');
@@ -77,7 +79,7 @@ export default class ForklaunchExpressLikeRouter {
77
79
  * @returns {MiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>} - The extracted controller function.
78
80
  * @throws {Error} - Throws an error if the last argument is not a function.
79
81
  */
80
- extractControllerFunction(functions) {
82
+ #extractControllerFunction(functions) {
81
83
  const controllerFunction = functions.pop();
82
84
  if (typeof controllerFunction !== 'function') {
83
85
  throw new Error('Last argument must be a function');
@@ -92,7 +94,7 @@ export default class ForklaunchExpressLikeRouter {
92
94
  // * @returns {string} - The extracted SDK path.
93
95
  // * @throws {Error} - Throws an error if the path is not defined.
94
96
  // */
95
- // protected extractSdkPath(path: string | RegExp | (string | RegExp)[]): string {
97
+ // #extractSdkPath(path: string | RegExp | (string | RegExp)[]): string {
96
98
  // let sdkPath = path;
97
99
  // if (Array.isArray(path)) {
98
100
  // sdkPath = path.pop() || path[0];
@@ -122,7 +124,7 @@ export default class ForklaunchExpressLikeRouter {
122
124
  * @param controllerFunction
123
125
  * @returns
124
126
  */
125
- localParamRequest(functions, controllerFunction) {
127
+ #localParamRequest(functions, controllerFunction) {
126
128
  return (async (route, request) => {
127
129
  let statusCode;
128
130
  let responseMessage;
@@ -196,16 +198,16 @@ export default class ForklaunchExpressLikeRouter {
196
198
  * @returns {ExpressRouter} - The Express router.
197
199
  */
198
200
  get(path, contractDetails, ...functions) {
199
- const controllerFunction = this.extractControllerFunction(functions);
200
- this.routes.push({
201
- basePath: this.basePath,
201
+ const controllerFunction = this.#extractControllerFunction(functions);
202
+ this.#routes.push({
203
+ basePath: this.#basePath,
202
204
  path,
203
205
  method: 'GET',
204
206
  contractDetails
205
207
  });
206
- this.internal.get(path, ...this.resolveMiddlewares(contractDetails).concat(functions), this.parseAndRunControllerFunction(controllerFunction));
208
+ this.internal.get(path, ...this.#resolveMiddlewares(contractDetails).concat(functions), this.#parseAndRunControllerFunction(controllerFunction));
207
209
  return {
208
- get: this.localParamRequest(functions, controllerFunction)
210
+ get: this.#localParamRequest(functions, controllerFunction)
209
211
  };
210
212
  }
211
213
  /**
@@ -223,16 +225,16 @@ export default class ForklaunchExpressLikeRouter {
223
225
  */
224
226
  post(path, contractDetails, ...functions) {
225
227
  // : LiveType<SV, P, ResBodyMap, ReqBody, ReqQuery> {
226
- const controllerFunction = this.extractControllerFunction(functions);
227
- this.routes.push({
228
- basePath: this.basePath,
228
+ const controllerFunction = this.#extractControllerFunction(functions);
229
+ this.#routes.push({
230
+ basePath: this.#basePath,
229
231
  path,
230
232
  method: 'POST',
231
233
  contractDetails
232
234
  });
233
- this.internal.post(path, ...this.resolveMiddlewares(contractDetails).concat(functions), this.parseAndRunControllerFunction(controllerFunction));
235
+ this.internal.post(path, ...this.#resolveMiddlewares(contractDetails).concat(functions), this.#parseAndRunControllerFunction(controllerFunction));
234
236
  return {
235
- post: this.localParamRequest(functions, controllerFunction)
237
+ post: this.#localParamRequest(functions, controllerFunction)
236
238
  };
237
239
  }
238
240
  /**
@@ -249,16 +251,16 @@ export default class ForklaunchExpressLikeRouter {
249
251
  * @returns {ExpressRouter} - The Express router.
250
252
  */
251
253
  put(path, contractDetails, ...functions) {
252
- const controllerFunction = this.extractControllerFunction(functions);
253
- this.routes.push({
254
- basePath: this.basePath,
254
+ const controllerFunction = this.#extractControllerFunction(functions);
255
+ this.#routes.push({
256
+ basePath: this.#basePath,
255
257
  path,
256
258
  method: 'PUT',
257
259
  contractDetails
258
260
  });
259
- this.internal.put(path, ...this.resolveMiddlewares(contractDetails).concat(functions), this.parseAndRunControllerFunction(controllerFunction));
261
+ this.internal.put(path, ...this.#resolveMiddlewares(contractDetails).concat(functions), this.#parseAndRunControllerFunction(controllerFunction));
260
262
  return {
261
- put: this.localParamRequest(functions, controllerFunction)
263
+ put: this.#localParamRequest(functions, controllerFunction)
262
264
  };
263
265
  }
264
266
  /**
@@ -275,16 +277,16 @@ export default class ForklaunchExpressLikeRouter {
275
277
  * @returns {ExpressRouter} - The Express router.
276
278
  */
277
279
  patch(path, contractDetails, ...functions) {
278
- const controllerFunction = this.extractControllerFunction(functions);
279
- this.routes.push({
280
- basePath: this.basePath,
280
+ const controllerFunction = this.#extractControllerFunction(functions);
281
+ this.#routes.push({
282
+ basePath: this.#basePath,
281
283
  path,
282
284
  method: 'PATCH',
283
285
  contractDetails
284
286
  });
285
- this.internal.patch(path, ...this.resolveMiddlewares(contractDetails).concat(functions), this.parseAndRunControllerFunction(controllerFunction));
287
+ this.internal.patch(path, ...this.#resolveMiddlewares(contractDetails).concat(functions), this.#parseAndRunControllerFunction(controllerFunction));
286
288
  return {
287
- patch: this.localParamRequest(functions, controllerFunction)
289
+ patch: this.#localParamRequest(functions, controllerFunction)
288
290
  };
289
291
  }
290
292
  /**
@@ -301,16 +303,16 @@ export default class ForklaunchExpressLikeRouter {
301
303
  * @returns {ExpressRouter} - The Express router.
302
304
  */
303
305
  delete(path, contractDetails, ...functions) {
304
- const controllerFunction = this.extractControllerFunction(functions);
305
- this.routes.push({
306
- basePath: this.basePath,
306
+ const controllerFunction = this.#extractControllerFunction(functions);
307
+ this.#routes.push({
308
+ basePath: this.#basePath,
307
309
  path,
308
310
  method: 'DELETE',
309
311
  contractDetails
310
312
  });
311
- this.internal.delete(path, ...this.resolveMiddlewares(contractDetails).concat(functions), this.parseAndRunControllerFunction(controllerFunction));
313
+ this.internal.delete(path, ...this.#resolveMiddlewares(contractDetails).concat(functions), this.#parseAndRunControllerFunction(controllerFunction));
312
314
  return {
313
- delete: this.localParamRequest(functions, controllerFunction)
315
+ delete: this.#localParamRequest(functions, controllerFunction)
314
316
  };
315
317
  }
316
318
  }