@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.
- package/README.md +1165 -152
- package/package.json +8 -10
- package/SECURITY.md +0 -41
- package/build/__tests__/crud.spec.d.ts +0 -7
- package/build/__tests__/crud.spec.js +0 -287
- package/build/__tests__/crud.spec.js.map +0 -1
- package/build/__tests__/debug-decorators.spec.d.ts +0 -7
- package/build/__tests__/debug-decorators.spec.js +0 -143
- package/build/__tests__/debug-decorators.spec.js.map +0 -1
- package/build/__tests__/decorators.spec.d.ts +0 -7
- package/build/__tests__/decorators.spec.js +0 -203
- package/build/__tests__/decorators.spec.js.map +0 -1
- package/build/__tests__/instance-crud.spec.d.ts +0 -7
- package/build/__tests__/instance-crud.spec.js +0 -184
- package/build/__tests__/instance-crud.spec.js.map +0 -1
- package/build/src/core/client.d.ts +0 -65
- package/build/src/core/client.js +0 -152
- package/build/src/core/client.js.map +0 -1
- package/build/src/core/table.d.ts +0 -164
- package/build/src/core/table.js +0 -406
- package/build/src/core/table.js.map +0 -1
- package/build/src/core/wrapper.d.ts +0 -54
- package/build/src/core/wrapper.js +0 -27
- package/build/src/core/wrapper.js.map +0 -1
- package/build/src/decorators/created_at.d.ts +0 -8
- package/build/src/decorators/created_at.js +0 -18
- package/build/src/decorators/created_at.js.map +0 -1
- package/build/src/decorators/default.d.ts +0 -8
- package/build/src/decorators/default.js +0 -57
- package/build/src/decorators/default.js.map +0 -1
- package/build/src/decorators/index.d.ts +0 -8
- package/build/src/decorators/index.js +0 -26
- package/build/src/decorators/index.js.map +0 -1
- package/build/src/decorators/index_sort.d.ts +0 -8
- package/build/src/decorators/index_sort.js +0 -30
- package/build/src/decorators/index_sort.js.map +0 -1
- package/build/src/decorators/mutate.d.ts +0 -9
- package/build/src/decorators/mutate.js +0 -60
- package/build/src/decorators/mutate.js.map +0 -1
- package/build/src/decorators/name.d.ts +0 -8
- package/build/src/decorators/name.js +0 -42
- package/build/src/decorators/name.js.map +0 -1
- package/build/src/decorators/not_null.d.ts +0 -8
- package/build/src/decorators/not_null.js +0 -20
- package/build/src/decorators/not_null.js.map +0 -1
- package/build/src/decorators/primary_key.d.ts +0 -8
- package/build/src/decorators/primary_key.js +0 -26
- package/build/src/decorators/primary_key.js.map +0 -1
- package/build/src/decorators/updated_at.d.ts +0 -8
- package/build/src/decorators/updated_at.js +0 -18
- package/build/src/decorators/updated_at.js.map +0 -1
- package/build/src/decorators/validate.d.ts +0 -8
- package/build/src/decorators/validate.js +0 -60
- package/build/src/decorators/validate.js.map +0 -1
- package/build/src/index.d.ts +0 -13
- package/build/src/index.js +0 -38
- package/build/src/index.js.map +0 -1
- package/build/src/utils/batch-relations.d.ts +0 -14
- package/build/src/utils/batch-relations.js +0 -130
- package/build/src/utils/batch-relations.js.map +0 -1
- package/build/src/utils/naming.d.ts +0 -8
- package/build/src/utils/naming.js +0 -18
- package/build/src/utils/naming.js.map +0 -1
- package/build/src/utils/projection.d.ts +0 -12
- package/build/src/utils/projection.js +0 -50
- package/build/src/utils/projection.js.map +0 -1
- package/build/src/utils/relations.d.ts +0 -23
- package/build/src/utils/relations.js +0 -205
- 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
|
-
"
|
|
31
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
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.
|
|
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,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,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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"}
|