@tahminator/sapling 2.0.1 → 2.0.2-beta.3bec30d8

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 CHANGED
@@ -549,7 +549,10 @@ function _getRequestSchemas(ctor, fnName) {
549
549
  }
550
550
  async function _parseOrThrow(schema, input, kind) {
551
551
  const result = await schema["~standard"].validate(input);
552
- if (result.issues) throw new ParserError(kind, result.issues, schema["~standard"].vendor);
552
+ if (result.issues) {
553
+ console.debug(`Failed to parse a schema`);
554
+ throw new ParserError(kind, result.issues, schema["~standard"].vendor);
555
+ }
553
556
  return result.value;
554
557
  }
555
558
  //#endregion
@@ -691,7 +694,19 @@ Split these into separate @MiddlewareClass classes, or merge the logic into a si
691
694
  if (schemas) {
692
695
  if (schemas.body) request.body = await _parseOrThrow(schemas.body, request.body, "reqbody");
693
696
  if (schemas.param) request.params = await _parseOrThrow(schemas.param, request.params, "reqparams");
694
- if (schemas.query) request.query = await _parseOrThrow(schemas.query, request.query, "reqquery");
697
+ if (schemas.query) {
698
+ console.log("schemas.query exists");
699
+ console.log("schemas.query exists as " + { query: schemas.query });
700
+ const parsedQuery = await _parseOrThrow(schemas.query, request.query, "reqquery");
701
+ console.log({ parsedQuery });
702
+ if (request.query && typeof request.query === "object") {
703
+ Object.keys(request.query).forEach((key) => {
704
+ console.log(`request.query[${key}]`);
705
+ delete request.query[key];
706
+ });
707
+ Object.assign(request.query, parsedQuery);
708
+ } else console.log("request.query does not exist or is not object", { query: request.query });
709
+ }
695
710
  }
696
711
  const result = await fn.bind(controllerInstance)(request, response, next);
697
712
  if (result instanceof ResponseEntity) {
@@ -741,8 +756,9 @@ DefaultBaseErrorMiddleware = __decorate([MiddlewareClass()], DefaultBaseErrorMid
741
756
  //#endregion
742
757
  //#region src/middleware/default/responsestatus.ts
743
758
  let DefaultResponseStatusErrorMiddleware = class DefaultResponseStatusErrorMiddleware {
744
- handle(err, _request, _response, _next) {
759
+ handle(err, _request, _response, next) {
745
760
  if (err instanceof ResponseStatusError) return ResponseEntity.status(err.status).body({ message: err.message });
761
+ next(err);
746
762
  }
747
763
  };
748
764
  __decorate([Middleware()], DefaultResponseStatusErrorMiddleware.prototype, "handle", null);
package/dist/index.d.cts CHANGED
@@ -509,7 +509,7 @@ declare class DefaultBaseErrorMiddleware {
509
509
  //#endregion
510
510
  //#region src/middleware/default/responsestatus.d.ts
511
511
  declare class DefaultResponseStatusErrorMiddleware {
512
- handle(err: unknown, _request: Request, _response: Response, _next: NextFunction): ResponseEntity<{
512
+ handle(err: unknown, _request: Request, _response: Response, next: NextFunction): ResponseEntity<{
513
513
  message: string;
514
514
  }> | undefined;
515
515
  }
package/dist/index.d.mts CHANGED
@@ -509,7 +509,7 @@ declare class DefaultBaseErrorMiddleware {
509
509
  //#endregion
510
510
  //#region src/middleware/default/responsestatus.d.ts
511
511
  declare class DefaultResponseStatusErrorMiddleware {
512
- handle(err: unknown, _request: Request, _response: Response, _next: NextFunction): ResponseEntity<{
512
+ handle(err: unknown, _request: Request, _response: Response, next: NextFunction): ResponseEntity<{
513
513
  message: string;
514
514
  }> | undefined;
515
515
  }
package/dist/index.mjs CHANGED
@@ -525,7 +525,10 @@ function _getRequestSchemas(ctor, fnName) {
525
525
  }
526
526
  async function _parseOrThrow(schema, input, kind) {
527
527
  const result = await schema["~standard"].validate(input);
528
- if (result.issues) throw new ParserError(kind, result.issues, schema["~standard"].vendor);
528
+ if (result.issues) {
529
+ console.debug(`Failed to parse a schema`);
530
+ throw new ParserError(kind, result.issues, schema["~standard"].vendor);
531
+ }
529
532
  return result.value;
530
533
  }
531
534
  //#endregion
@@ -667,7 +670,19 @@ Split these into separate @MiddlewareClass classes, or merge the logic into a si
667
670
  if (schemas) {
668
671
  if (schemas.body) request.body = await _parseOrThrow(schemas.body, request.body, "reqbody");
669
672
  if (schemas.param) request.params = await _parseOrThrow(schemas.param, request.params, "reqparams");
670
- if (schemas.query) request.query = await _parseOrThrow(schemas.query, request.query, "reqquery");
673
+ if (schemas.query) {
674
+ console.log("schemas.query exists");
675
+ console.log("schemas.query exists as " + { query: schemas.query });
676
+ const parsedQuery = await _parseOrThrow(schemas.query, request.query, "reqquery");
677
+ console.log({ parsedQuery });
678
+ if (request.query && typeof request.query === "object") {
679
+ Object.keys(request.query).forEach((key) => {
680
+ console.log(`request.query[${key}]`);
681
+ delete request.query[key];
682
+ });
683
+ Object.assign(request.query, parsedQuery);
684
+ } else console.log("request.query does not exist or is not object", { query: request.query });
685
+ }
671
686
  }
672
687
  const result = await fn.bind(controllerInstance)(request, response, next);
673
688
  if (result instanceof ResponseEntity) {
@@ -717,8 +732,9 @@ DefaultBaseErrorMiddleware = __decorate([MiddlewareClass()], DefaultBaseErrorMid
717
732
  //#endregion
718
733
  //#region src/middleware/default/responsestatus.ts
719
734
  let DefaultResponseStatusErrorMiddleware = class DefaultResponseStatusErrorMiddleware {
720
- handle(err, _request, _response, _next) {
735
+ handle(err, _request, _response, next) {
721
736
  if (err instanceof ResponseStatusError) return ResponseEntity.status(err.status).body({ message: err.message });
737
+ next(err);
722
738
  }
723
739
  };
724
740
  __decorate([Middleware()], DefaultResponseStatusErrorMiddleware.prototype, "handle", null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tahminator/sapling",
3
- "version": "2.0.1",
3
+ "version": "2.0.2-beta.3bec30d8",
4
4
  "author": "Tahmid Ahmed",
5
5
  "description": "A library to help you write cleaner Express.js code",
6
6
  "repository": {