@arcaelas/dynamite 1.0.10 → 1.0.14

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 (69) hide show
  1. package/README.md +1165 -152
  2. package/package.json +8 -10
  3. package/SECURITY.md +0 -41
  4. package/build/__tests__/crud.spec.d.ts +0 -7
  5. package/build/__tests__/crud.spec.js +0 -287
  6. package/build/__tests__/crud.spec.js.map +0 -1
  7. package/build/__tests__/debug-decorators.spec.d.ts +0 -7
  8. package/build/__tests__/debug-decorators.spec.js +0 -143
  9. package/build/__tests__/debug-decorators.spec.js.map +0 -1
  10. package/build/__tests__/decorators.spec.d.ts +0 -7
  11. package/build/__tests__/decorators.spec.js +0 -203
  12. package/build/__tests__/decorators.spec.js.map +0 -1
  13. package/build/__tests__/instance-crud.spec.d.ts +0 -7
  14. package/build/__tests__/instance-crud.spec.js +0 -184
  15. package/build/__tests__/instance-crud.spec.js.map +0 -1
  16. package/build/src/core/client.d.ts +0 -65
  17. package/build/src/core/client.js +0 -152
  18. package/build/src/core/client.js.map +0 -1
  19. package/build/src/core/table.d.ts +0 -164
  20. package/build/src/core/table.js +0 -406
  21. package/build/src/core/table.js.map +0 -1
  22. package/build/src/core/wrapper.d.ts +0 -54
  23. package/build/src/core/wrapper.js +0 -27
  24. package/build/src/core/wrapper.js.map +0 -1
  25. package/build/src/decorators/created_at.d.ts +0 -8
  26. package/build/src/decorators/created_at.js +0 -18
  27. package/build/src/decorators/created_at.js.map +0 -1
  28. package/build/src/decorators/default.d.ts +0 -8
  29. package/build/src/decorators/default.js +0 -57
  30. package/build/src/decorators/default.js.map +0 -1
  31. package/build/src/decorators/index.d.ts +0 -8
  32. package/build/src/decorators/index.js +0 -26
  33. package/build/src/decorators/index.js.map +0 -1
  34. package/build/src/decorators/index_sort.d.ts +0 -8
  35. package/build/src/decorators/index_sort.js +0 -30
  36. package/build/src/decorators/index_sort.js.map +0 -1
  37. package/build/src/decorators/mutate.d.ts +0 -9
  38. package/build/src/decorators/mutate.js +0 -60
  39. package/build/src/decorators/mutate.js.map +0 -1
  40. package/build/src/decorators/name.d.ts +0 -8
  41. package/build/src/decorators/name.js +0 -42
  42. package/build/src/decorators/name.js.map +0 -1
  43. package/build/src/decorators/not_null.d.ts +0 -8
  44. package/build/src/decorators/not_null.js +0 -20
  45. package/build/src/decorators/not_null.js.map +0 -1
  46. package/build/src/decorators/primary_key.d.ts +0 -8
  47. package/build/src/decorators/primary_key.js +0 -26
  48. package/build/src/decorators/primary_key.js.map +0 -1
  49. package/build/src/decorators/updated_at.d.ts +0 -8
  50. package/build/src/decorators/updated_at.js +0 -18
  51. package/build/src/decorators/updated_at.js.map +0 -1
  52. package/build/src/decorators/validate.d.ts +0 -8
  53. package/build/src/decorators/validate.js +0 -60
  54. package/build/src/decorators/validate.js.map +0 -1
  55. package/build/src/index.d.ts +0 -13
  56. package/build/src/index.js +0 -38
  57. package/build/src/index.js.map +0 -1
  58. package/build/src/utils/batch-relations.d.ts +0 -14
  59. package/build/src/utils/batch-relations.js +0 -130
  60. package/build/src/utils/batch-relations.js.map +0 -1
  61. package/build/src/utils/naming.d.ts +0 -8
  62. package/build/src/utils/naming.js +0 -18
  63. package/build/src/utils/naming.js.map +0 -1
  64. package/build/src/utils/projection.d.ts +0 -12
  65. package/build/src/utils/projection.js +0 -50
  66. package/build/src/utils/projection.js.map +0 -1
  67. package/build/src/utils/relations.d.ts +0 -23
  68. package/build/src/utils/relations.js +0 -205
  69. package/build/src/utils/relations.js.map +0 -1
package/package.json CHANGED
@@ -27,14 +27,12 @@
27
27
  "typescript": "^5.8.3"
28
28
  },
29
29
  "files": [
30
- "build/",
31
- "*.md",
32
- "*.json",
33
- "!tsconfig.json"
30
+ "src/**/*.js",
31
+ "src/**/*.d.ts"
34
32
  ],
35
33
  "homepage": "https://github.com/arcaelas/dynamite",
36
34
  "license": "ISC",
37
- "main": "build/index.js",
35
+ "main": "src/index.js",
38
36
  "name": "@arcaelas/dynamite",
39
37
  "publishConfig": {
40
38
  "access": "public",
@@ -45,11 +43,11 @@
45
43
  "url": "https://github.com/arcaelas/dynamite.git"
46
44
  },
47
45
  "scripts": {
48
- "test": "jest",
49
46
  "build": "tsc && tsc-alias",
50
- "prepublishOnly": "yarn test && yarn build && npm version patch",
51
- "commit": "npm publish --access=public",
52
- "postpublish": "rm -rf build"
47
+ "docs": "mkdocs gh-deploy --force",
48
+ "deploy": "npm version patch && npm publish --access=public",
49
+ "prepublishOnly": "yarn build",
50
+ "postpublish": "find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete"
53
51
  },
54
- "version": "1.0.10"
52
+ "version": "1.0.14"
55
53
  }
package/SECURITY.md DELETED
@@ -1,41 +0,0 @@
1
- # Security Policies and Procedures
2
-
3
- This document outlines security procedures and general policies for the `standard`
4
- project.
5
-
6
- - [Reporting a Bug](https://github.com/arcaelas/dynamite/issues)
7
- - [Read Wiki - BETA](https://github.com/arcaelas/dynamite/wiki)
8
-
9
- ## Reporting a Bug
10
-
11
- The `standard` team and community take all security bugs in `standard` seriously.
12
- Thank you for improving the security of `standard`. We appreciate your efforts and
13
- responsible disclosure and will make every effort to acknowledge your
14
- contributions.
15
-
16
- Report security bugs by emailing the lead maintainer at arcaelas12@gmail.com.
17
-
18
- The lead maintainer will acknowledge your email within 48 hours, and will send a
19
- more detailed response within 48 hours indicating the next steps in handling
20
- your report. After the initial reply to your report, the security team will
21
- endeavor to keep you informed of the progress towards a fix and full
22
- announcement, and may ask for additional information or guidance.
23
-
24
- Report security bugs in third-party modules to the person or team maintaining
25
- the module.
26
-
27
- ## Disclosure Policy
28
-
29
- When the security team receives a security bug report, they will assign it to a
30
- primary handler. This person will coordinate the fix and release process,
31
- involving the following steps:
32
-
33
- - Confirm the problem and determine the affected versions.
34
- - Audit code to find any potential similar problems.
35
- - Prepare fixes for all releases still under maintenance. These fixes will be
36
- released as fast as possible to npm.
37
-
38
- ## Comments on this Policy
39
-
40
- If you have suggestions on how this process could be improved please submit a
41
- pull request.
@@ -1,7 +0,0 @@
1
- /**
2
- * @file crud.spec.ts
3
- * @descripcion Tests CRUD básicos y operaciones de tabla
4
- * @autor Miguel Alejandro
5
- * @fecha 2025-01-27
6
- */
7
- export {};
@@ -1,287 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file crud.spec.ts
4
- * @descripcion Tests CRUD básicos y operaciones de tabla
5
- * @autor Miguel Alejandro
6
- * @fecha 2025-01-27
7
- */
8
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
- var __metadata = (this && this.__metadata) || function (k, v) {
15
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- const client_1 = require("../src/core/client");
22
- const table_1 = __importDefault(require("../src/core/table"));
23
- const primary_key_1 = __importDefault(require("../src/decorators/primary_key"));
24
- const default_1 = __importDefault(require("../src/decorators/default"));
25
- const created_at_1 = __importDefault(require("../src/decorators/created_at"));
26
- const updated_at_1 = __importDefault(require("../src/decorators/updated_at"));
27
- const relations_1 = require("../src/utils/relations");
28
- // =============================================================================
29
- // MODELOS DE PRUEBA - ESTRUCTURA MODULAR
30
- // =============================================================================
31
- class User extends table_1.default {
32
- }
33
- __decorate([
34
- (0, primary_key_1.default)(),
35
- __metadata("design:type", Object)
36
- ], User.prototype, "id", void 0);
37
- __decorate([
38
- (0, default_1.default)(""),
39
- __metadata("design:type", Object)
40
- ], User.prototype, "email", void 0);
41
- __decorate([
42
- (0, default_1.default)(18),
43
- __metadata("design:type", Object)
44
- ], User.prototype, "age", void 0);
45
- __decorate([
46
- (0, created_at_1.default)(),
47
- __metadata("design:type", Object)
48
- ], User.prototype, "created_at", void 0);
49
- __decorate([
50
- (0, updated_at_1.default)(),
51
- __metadata("design:type", Object)
52
- ], User.prototype, "updated_at", void 0);
53
- class Product extends table_1.default {
54
- }
55
- __decorate([
56
- (0, primary_key_1.default)(),
57
- __metadata("design:type", Object)
58
- ], Product.prototype, "id", void 0);
59
- __decorate([
60
- (0, default_1.default)("Default Product"),
61
- __metadata("design:type", Object)
62
- ], Product.prototype, "name", void 0);
63
- __decorate([
64
- (0, default_1.default)(0),
65
- __metadata("design:type", Object)
66
- ], Product.prototype, "price", void 0);
67
- __decorate([
68
- (0, default_1.default)("default"),
69
- __metadata("design:type", Object)
70
- ], Product.prototype, "category", void 0);
71
- class Order extends table_1.default {
72
- }
73
- __decorate([
74
- (0, primary_key_1.default)(),
75
- __metadata("design:type", Object)
76
- ], Order.prototype, "id", void 0);
77
- __decorate([
78
- (0, default_1.default)("unknown"),
79
- __metadata("design:type", Object)
80
- ], Order.prototype, "customer_id", void 0);
81
- __decorate([
82
- (0, default_1.default)(0),
83
- __metadata("design:type", Object)
84
- ], Order.prototype, "total", void 0);
85
- __decorate([
86
- (0, default_1.default)("pending"),
87
- __metadata("design:type", Object)
88
- ], Order.prototype, "status", void 0);
89
- __decorate([
90
- (0, default_1.default)("normal"),
91
- __metadata("design:type", Object)
92
- ], Order.prototype, "priority", void 0);
93
- __decorate([
94
- (0, default_1.default)(""),
95
- __metadata("design:type", Object)
96
- ], Order.prototype, "notes", void 0);
97
- // =============================================================================
98
- // CONFIGURACIÓN DE CLIENTE PARA TESTS CRUD
99
- // =============================================================================
100
- const client = new client_1.Dynamite({
101
- region: "local",
102
- endpoint: "http://localhost:8000",
103
- credentials: { accessKeyId: "x", secretAccessKey: "x" },
104
- tables: [User, Product, Order],
105
- });
106
- // =============================================================================
107
- // SUITE DE TESTS CRUD
108
- // =============================================================================
109
- describe("🔄 CRUD Operations", () => {
110
- jest.setTimeout(30_000);
111
- beforeAll(async () => {
112
- await client.sync();
113
- client.connect();
114
- // Limpieza completa de datos residuales de otros archivos de test
115
- const allUsers = await User.where({});
116
- for (const user of allUsers) {
117
- await User.destroy(user.id);
118
- }
119
- const allProducts = await Product.where({});
120
- for (const product of allProducts) {
121
- await Product.destroy(product.id);
122
- }
123
- const allOrders = await Order.where({});
124
- for (const order of allOrders) {
125
- await Order.destroy(order.id);
126
- }
127
- });
128
- afterEach(async () => {
129
- // Limpieza después de cada test
130
- try {
131
- await User.destroy("u1");
132
- await User.destroy("u2");
133
- await Product.destroy("p1");
134
- await Product.destroy("p2");
135
- await Order.destroy("o1");
136
- await Order.destroy("o2");
137
- }
138
- catch (e) {
139
- // Ignorar errores de limpieza
140
- }
141
- });
142
- afterAll(() => {
143
- // Limpiar interval para evitar warning de Jest
144
- (0, relations_1.stopCleanupInterval)();
145
- });
146
- // ===========================================================================
147
- // TESTS CREATE
148
- // ===========================================================================
149
- describe("create()", () => {
150
- beforeEach(async () => {
151
- // Limpiar datos antes de cada test
152
- const users = await User.where({});
153
- for (const user of users) {
154
- await User.destroy(user.id);
155
- }
156
- const products = await Product.where({});
157
- for (const product of products) {
158
- await Product.destroy(product.id);
159
- }
160
- });
161
- it("crea un nuevo registro con datos completos", async () => {
162
- const user = await User.create({
163
- id: "u1",
164
- email: "test@example.com",
165
- age: 25,
166
- });
167
- expect(user.id).toBe("u1");
168
- expect(user.email).toBe("test@example.com");
169
- expect(user.age).toBe(25);
170
- expect(user.created_at).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/);
171
- });
172
- it("aplica valores por defecto", async () => {
173
- const product = await Product.create({ id: "p1" });
174
- expect(product.name).toBe("Default Product");
175
- expect(product.price).toBe(0);
176
- expect(product.category).toBe("default");
177
- });
178
- });
179
- // ===========================================================================
180
- // TESTS WHERE
181
- // ===========================================================================
182
- describe("where()", () => {
183
- beforeEach(async () => {
184
- // Limpiar datos antes de cada test
185
- const users = await User.where({});
186
- for (const user of users) {
187
- await User.destroy(user.id);
188
- }
189
- // Crear datos específicos para estos tests
190
- await User.create({ id: "u1", email: "a@b.com", age: 20 });
191
- await User.create({ id: "u2", email: "c@d.com", age: 30 });
192
- });
193
- it("busca por ID (clave primaria)", async () => {
194
- const users = await User.where("id", "u1");
195
- expect(users).toHaveLength(1);
196
- expect(users[0].id).toBe("u1");
197
- expect(users[0].email).toBe("a@b.com");
198
- });
199
- it("busca con operador de igualdad", async () => {
200
- const users = await User.where("age", "=", 20);
201
- expect(users).toHaveLength(1);
202
- expect(users[0].id).toBe("u1");
203
- });
204
- it("busca con operador de desigualdad", async () => {
205
- const users = await User.where("age", "!=", 20);
206
- expect(users).toHaveLength(1);
207
- expect(users[0].id).toBe("u2");
208
- });
209
- it("aplica límites correctamente", async () => {
210
- const users = await User.where({}, { limit: 1 });
211
- expect(users).toHaveLength(1);
212
- });
213
- it("aplica skip correctamente", async () => {
214
- const users = await User.where({}, { skip: 1, limit: 1 });
215
- expect(users).toHaveLength(1);
216
- });
217
- });
218
- // ===========================================================================
219
- // TESTS UPDATE
220
- // ===========================================================================
221
- describe("update()", () => {
222
- beforeEach(async () => {
223
- // Limpiar datos antes de cada test
224
- const users = await User.where({});
225
- for (const user of users) {
226
- await User.destroy(user.id);
227
- }
228
- // Crear datos específicos para este test
229
- await User.create({ id: "u1", email: "old@example.com", age: 25 });
230
- });
231
- it("actualiza campos específicos", async () => {
232
- // Usar método de instancia para actualización parcial
233
- const user = await User.where("id", "u1");
234
- await user[0].update({ email: "new@example.com" });
235
- const updatedUsers = await User.where("id", "u1");
236
- expect(updatedUsers[0].email).toBe("new@example.com");
237
- expect(updatedUsers[0].age).toBe(25); // No cambió
238
- });
239
- });
240
- // ===========================================================================
241
- // TESTS DESTROY
242
- // ===========================================================================
243
- describe("destroy()", () => {
244
- beforeEach(async () => {
245
- // Limpiar datos antes de cada test
246
- const users = await User.where({});
247
- for (const user of users) {
248
- await User.destroy(user.id);
249
- }
250
- // Crear datos específicos para este test
251
- await User.create({ id: "u1", email: "test@example.com", age: 25 });
252
- });
253
- it("elimina un registro existente", async () => {
254
- await User.destroy("u1");
255
- const users = await User.where("id", "u1");
256
- expect(users).toHaveLength(0);
257
- });
258
- });
259
- // ===========================================================================
260
- // TESTS OPERADORES AVANZADOS
261
- // ===========================================================================
262
- describe("operadores avanzados", () => {
263
- beforeEach(async () => {
264
- // Limpiar datos antes de cada test
265
- const orders = await Order.where({});
266
- for (const order of orders) {
267
- await Order.destroy(order.id);
268
- }
269
- // Crear datos específicos para estos tests
270
- await Order.create({ id: "o1", status: "pending", priority: "high" });
271
- await Order.create({ id: "o2", status: "completed", priority: "low" });
272
- });
273
- it("operadores 'in' y 'not-in'", async () => {
274
- const pending = await Order.where("status", "in", ["pending", "processing"]);
275
- expect(pending).toHaveLength(1);
276
- expect(pending[0].status).toBe("pending");
277
- const notCompleted = await Order.where("status", "not-in", ["completed"]);
278
- expect(notCompleted).toHaveLength(1);
279
- expect(notCompleted[0].status).toBe("pending");
280
- });
281
- it("arrays en objetos de filtro (conversión automática a 'in')", async () => {
282
- const orders = await Order.where({ status: ["pending", "completed"] });
283
- expect(orders).toHaveLength(2);
284
- });
285
- });
286
- });
287
- //# sourceMappingURL=crud.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud.spec.js","sourceRoot":"","sources":["../../__tests__/crud.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @file debug-decorators.spec.ts
3
- * @descripcion Test diagnóstico para entender el problema de decoradores
4
- * @autor Miguel Alejandro
5
- * @fecha 2025-01-27
6
- */
7
- export {};
@@ -1,143 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file debug-decorators.spec.ts
4
- * @descripcion Test diagnóstico para entender el problema de decoradores
5
- * @autor Miguel Alejandro
6
- * @fecha 2025-01-27
7
- */
8
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
- var __metadata = (this && this.__metadata) || function (k, v) {
15
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- const client_1 = require("../src/core/client");
22
- const relations_1 = require("../src/utils/relations");
23
- const table_1 = __importDefault(require("../src/core/table"));
24
- const wrapper_1 = __importDefault(require("../src/core/wrapper"));
25
- const primary_key_1 = __importDefault(require("../src/decorators/primary_key"));
26
- const default_1 = __importDefault(require("../src/decorators/default"));
27
- describe("🔍 Diagnóstico de Decoradores", () => {
28
- // Configuración del cliente DynamoDB para tests
29
- const client = new client_1.Dynamite({
30
- tables: [],
31
- region: "us-east-1",
32
- endpoint: "http://localhost:8000",
33
- credentials: {
34
- accessKeyId: "fake",
35
- secretAccessKey: "fake",
36
- },
37
- });
38
- beforeAll(async () => {
39
- await client.sync();
40
- client.connect();
41
- });
42
- // Hooks simplificados - funcionalidad de diagnóstico básica
43
- beforeEach(() => {
44
- // Setup test state if needed
45
- });
46
- afterEach(() => {
47
- // Cleanup test state if needed
48
- });
49
- afterAll(() => {
50
- // Limpiar interval para evitar warning de Jest
51
- (0, relations_1.stopCleanupInterval)();
52
- });
53
- it("debería registrar una clase simple con decoradores", () => {
54
- console.log("📝 Definiendo clase TestModel...");
55
- class TestModel extends table_1.default {
56
- }
57
- __decorate([
58
- (0, primary_key_1.default)(),
59
- __metadata("design:type", Object)
60
- ], TestModel.prototype, "id", void 0);
61
- __decorate([
62
- (0, default_1.default)("test"),
63
- __metadata("design:type", Object)
64
- ], TestModel.prototype, "name", void 0);
65
- console.log("✅ Clase definida. Verificando registro...");
66
- console.log("TestModel registrado:", wrapper_1.default.has(TestModel));
67
- if (wrapper_1.default.has(TestModel)) {
68
- const meta = wrapper_1.default.get(TestModel);
69
- console.log("Metadatos:", meta);
70
- console.log("Columnas:", Array.from(meta.columns.keys()));
71
- }
72
- expect(wrapper_1.default.has(TestModel)).toBe(true);
73
- });
74
- it("debería crear instancia de clase registrada", () => {
75
- class TestModel2 extends table_1.default {
76
- }
77
- __decorate([
78
- (0, primary_key_1.default)(),
79
- __metadata("design:type", Object)
80
- ], TestModel2.prototype, "id", void 0);
81
- __decorate([
82
- (0, default_1.default)("test"),
83
- __metadata("design:type", Object)
84
- ], TestModel2.prototype, "name", void 0);
85
- console.log("📦 Intentando crear instancia...");
86
- try {
87
- const instance = new TestModel2({ id: "test1" });
88
- console.log("✅ Instancia creada:", instance);
89
- expect(instance.id).toBe("test1");
90
- }
91
- catch (error) {
92
- console.error("❌ Error al crear instancia:", error);
93
- throw error;
94
- }
95
- });
96
- it("debería mostrar orden de ejecución de decoradores", () => {
97
- console.log("📋 Orden de ejecución de decoradores:");
98
- let executionOrder = [];
99
- // Mock decorators para tracking
100
- const trackingPrimaryKey = () => {
101
- executionOrder.push("PrimaryKey");
102
- return (0, primary_key_1.default)();
103
- };
104
- const trackingDefault = (value) => {
105
- executionOrder.push(`Default(${value})`);
106
- return (0, default_1.default)(value);
107
- };
108
- class TestModel3 extends table_1.default {
109
- }
110
- __decorate([
111
- trackingPrimaryKey(),
112
- __metadata("design:type", Object)
113
- ], TestModel3.prototype, "id", void 0);
114
- __decorate([
115
- trackingDefault("tracking"),
116
- __metadata("design:type", Object)
117
- ], TestModel3.prototype, "name", void 0);
118
- console.log("🔄 Orden de ejecución:", executionOrder);
119
- console.log("📊 Estado del wrapper:", wrapper_1.default.has(TestModel3));
120
- expect(executionOrder.length).toBeGreaterThan(0);
121
- });
122
- it("debería mostrar diferencias entre entorno consolidado y separado", () => {
123
- console.log("🔍 Análisis de entorno:");
124
- console.log("Jest describe actual:", expect.getState().currentTestName);
125
- console.log("Variables de entorno:", process.env.NODE_ENV);
126
- console.log("Contexto de ejecución:", typeof global !== 'undefined' ? 'global' : 'window');
127
- // Verificar si los decoradores están siendo aplicados
128
- const descriptor = Object.getOwnPropertyDescriptor(primary_key_1.default, 'name');
129
- console.log("Descriptor de PrimaryKey:", descriptor);
130
- // Verificar prototipo de clases
131
- class TestModel4 extends table_1.default {
132
- }
133
- __decorate([
134
- (0, primary_key_1.default)(),
135
- __metadata("design:type", Object)
136
- ], TestModel4.prototype, "id", void 0);
137
- const proto = Object.getPrototypeOf(TestModel4);
138
- console.log("Prototipo de TestModel4:", proto);
139
- console.log("Propiedades de TestModel4:", Object.getOwnPropertyNames(TestModel4));
140
- expect(true).toBe(true);
141
- });
142
- });
143
- //# sourceMappingURL=debug-decorators.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-decorators.spec.js","sourceRoot":"","sources":["../../__tests__/debug-decorators.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @file decorators.spec.ts
3
- * @descripcion Tests de decoradores y metadatos
4
- * @autor Miguel Alejandro
5
- * @fecha 2025-01-27
6
- */
7
- export {};