framework-do-dede 3.2.0 → 3.3.1

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.
@@ -30,11 +30,17 @@ export function flushControllers() {
30
30
  });
31
31
  controllers = [];
32
32
  }
33
+ function isClass(fn) {
34
+ return /^\s*class\s/.test(Function.prototype.toString.call(fn));
35
+ }
33
36
  export function UseMiddleware(middlewareClass) {
34
37
  return function (target, propertyKey, descriptor) {
35
38
  if (typeof middlewareClass !== 'function' && !middlewareClass?.execute) {
36
39
  throw new FrameworkError('Middleware must implement execute()');
37
40
  }
41
+ if (typeof middlewareClass === 'function' && isClass(middlewareClass) && !middlewareClass.prototype?.execute) {
42
+ throw new FrameworkError('Middleware must implement execute()');
43
+ }
38
44
  if (typeof middlewareClass === 'function' && middlewareClass.prototype?.execute) {
39
45
  const middlewares = Reflect.getMetadata('middlewares', target, propertyKey) || [];
40
46
  middlewares.push(middlewareClass);
@@ -52,6 +58,9 @@ export function UseMiddlewares(middlewareClasses) {
52
58
  if (typeof middlewareClass !== 'function' && !middlewareClass?.execute) {
53
59
  throw new FrameworkError('Middleware must implement execute()');
54
60
  }
61
+ if (typeof middlewareClass === 'function' && isClass(middlewareClass) && !middlewareClass.prototype?.execute) {
62
+ throw new FrameworkError('Middleware must implement execute()');
63
+ }
55
64
  }
56
65
  const existingMiddlewares = Reflect.getMetadata('middlewares', target, propertyKey) || [];
57
66
  existingMiddlewares.push(...middlewareClasses);
@@ -1,7 +1,5 @@
1
1
  export const USE_CASE_DECORATORS = Symbol('USE_CASE_DECORATORS');
2
2
  export class UseCase {
3
- data;
4
- context;
5
3
  constructor(input) {
6
4
  this.data = input?.data || undefined;
7
5
  if (input?.context) {
package/dist/dede.js CHANGED
@@ -3,9 +3,6 @@ import { ElysiaServerAdapter } from "./http/elysia-server.adapter";
3
3
  import { ExpressServerAdapter } from "./http/express-server.adapter";
4
4
  import { Registry } from "./infra/di/registry";
5
5
  export class Dede {
6
- framework;
7
- defaultServerError;
8
- httpServer;
9
6
  constructor(framework, defaultServerError) {
10
7
  this.framework = framework;
11
8
  this.defaultServerError = defaultServerError;
@@ -28,9 +28,9 @@ export default class ControllerHandler {
28
28
  const filterParams = this.filter(input.params, params);
29
29
  const filterQueryParams = this.filter(input.query, query);
30
30
  const filterHeaders = this.filter(input.headers, headers);
31
- const normalizeBody = this.normalizeBracketNotation(body);
31
+ const normalizeBody = this.normalizeBracketNotation(input.body);
32
32
  let filterBody = this.filter(normalizeBody, body);
33
- if (bodyFilter === 'none') {
33
+ if (bodyFilter !== 'restrict') {
34
34
  filterBody = { ...normalizeBody, ...filterBody };
35
35
  }
36
36
  mergedParams = { ...filterHeaders, ...filterParams, ...filterQueryParams, ...filterBody };
@@ -173,6 +173,8 @@ export default class ControllerHandler {
173
173
  }
174
174
  if (type === 'string')
175
175
  value = value.toString();
176
+ if (type === 'number')
177
+ value = parseFloat(value);
176
178
  filter[paramNameFiltered] = value;
177
179
  }
178
180
  return filter;
@@ -1,5 +1,4 @@
1
1
  export class ServerError extends Error {
2
- statusCode;
3
2
  constructor(message, statusCode) {
4
3
  super(message);
5
4
  this.name = this.constructor.name;
@@ -10,8 +9,6 @@ export class ServerError extends Error {
10
9
  }
11
10
  }
12
11
  export class CustomServerError extends Error {
13
- statusCode;
14
- custom;
15
12
  constructor(custom, statusCode, nameError = '') {
16
13
  super();
17
14
  this.name = nameError || this.constructor.name;
@@ -56,7 +53,6 @@ export class BadRequest extends ServerError {
56
53
  }
57
54
  }
58
55
  export class InternalServerError extends ServerError {
59
- unexpectedError;
60
56
  constructor(unexpectedError, defaultMessage = 'Ops, An unexpected error occurred') {
61
57
  super(defaultMessage, 500);
62
58
  this.unexpectedError = unexpectedError;
@@ -1,8 +1,5 @@
1
1
  import { FrameworkError } from "./errors/framework";
2
2
  export default class HttpServer {
3
- framework;
4
- frameworkName;
5
- defaultMessageError;
6
3
  constructor(framework, frameworkName) {
7
4
  if (frameworkName !== 'elysia' && frameworkName !== 'express')
8
5
  throw new FrameworkError('Framework not supported');
@@ -1,6 +1,7 @@
1
1
  class ComponentRegistry {
2
- static instance;
3
- dependencies = new Map();
2
+ constructor() {
3
+ this.dependencies = new Map();
4
+ }
4
5
  static getInstance() {
5
6
  if (!this.instance) {
6
7
  this.instance = new ComponentRegistry();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framework-do-dede",
3
- "version": "3.2.0",
3
+ "version": "3.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -12,7 +12,7 @@
12
12
  "require": "./dist/index.cjs"
13
13
  },
14
14
  "scripts": {
15
- "test": "jest && jest ./example/test",
15
+ "test": "jest",
16
16
  "test:watch": "jest --watch",
17
17
  "clean": "rimraf dist",
18
18
  "build": "npm run clean && tsc -p tsconfig.build.json && tsc-alias",