@hemia/core 0.0.2 → 0.0.3

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/README.md CHANGED
@@ -12,6 +12,10 @@ Paquete generado con [Hemia CLI](https://www.npmjs.com/package/@hemia/cli)
12
12
  npm install @hemia/hemia-core
13
13
  ```
14
14
 
15
+ ```bash
16
+ bun add @hemia/hemia-core
17
+ ```
18
+
15
19
  ---
16
20
 
17
21
  ## 🛠️ Scripts disponibles
@@ -32,5 +36,18 @@ npm install @hemia/hemia-core
32
36
 
33
37
  ---
34
38
 
39
+ ## 🚀 Funciones y Clases Exportadas
40
+
41
+ | Nombre | Tipo | Descripción breve |
42
+ |-------------------------|---------|-------------------|
43
+ | `HemiaFactory` | Clase | Inicializa la app Hemia conectando Express con Inversify y registra controladores. |
44
+ | `ResponseSerializer` | Clase | Transforma entidades a DTO usando class-transformer. |
45
+ | `GuardsConsumer` | Clase | Ejecuta guards secuencialmente y lanza error si alguno falla. |
46
+ | `AuthGuard` | Clase | Guard de autenticación y autorización basado en roles/permisos. |
47
+ | `HemiaExecutionContext` | Clase | Contexto de ejecución para requests HTTP, accede a argumentos y request/response. |
48
+ | `Reflector` | Clase | Utilidad para obtener metadata de clases y métodos (roles, permisos, etc). |
49
+
50
+ ---
51
+
35
52
  ## ✨ Generado con Hemia CLI
36
53
 
@@ -261,6 +261,11 @@ class HemiaFactory {
261
261
  const app = express();
262
262
  app.use(express.json());
263
263
  app.use(express.urlencoded({ extended: true }));
264
+ if (options.middlewares && Array.isArray(options.middlewares)) {
265
+ options.middlewares.forEach(middleware => {
266
+ app.use(middleware);
267
+ });
268
+ }
264
269
  app.use((req, res, next) => {
265
270
  const defaultHeaders = {
266
271
  'Access-Control-Allow-Origin': req.headers.origin || '*',
@@ -263,6 +263,11 @@ class HemiaFactory {
263
263
  const app = express();
264
264
  app.use(express.json());
265
265
  app.use(express.urlencoded({ extended: true }));
266
+ if (options.middlewares && Array.isArray(options.middlewares)) {
267
+ options.middlewares.forEach(middleware => {
268
+ app.use(middleware);
269
+ });
270
+ }
266
271
  app.use((req, res, next) => {
267
272
  const defaultHeaders = {
268
273
  'Access-Control-Allow-Origin': req.headers.origin || '*',
@@ -6,6 +6,7 @@ export interface HemiaFactoryOptions {
6
6
  onTraceFinish?: TraceFinishCallback;
7
7
  logger?: boolean;
8
8
  corsHeaders?: Record<string, string>;
9
+ middlewares?: any[];
9
10
  }
10
11
  export declare class HemiaFactory {
11
12
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hemia/core",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Core utilities for Hemia projects",
5
5
  "main": "dist/hemia-core.js",
6
6
  "module": "dist/hemia-core.esm.js",