@arcaelas/dynamite 2.1.0 → 3.1.0
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/build/cjs/core/client.d.ts +3 -3
- package/build/cjs/core/client.js +3 -3
- package/build/cjs/core/client.js.map +1 -1
- package/build/cjs/core/decorator.d.ts +12 -0
- package/build/cjs/core/decorator.js +18 -4
- package/build/cjs/core/decorator.js.map +1 -1
- package/build/cjs/core/table.d.ts +27 -9
- package/build/cjs/core/table.js +130 -28
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/decorators/hooks.d.ts +35 -0
- package/build/cjs/decorators/hooks.js +50 -0
- package/build/cjs/decorators/hooks.js.map +1 -0
- package/build/cjs/decorators/transforms.js +1 -1
- package/build/cjs/decorators/transforms.js.map +1 -1
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +9 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/test/basic.js +2 -2
- package/build/cjs/test/basic.js.map +1 -1
- package/build/cjs/test/contracts.js +7 -7
- package/build/cjs/test/contracts.js.map +1 -1
- package/build/cjs/test/hooks.d.ts +1 -0
- package/build/cjs/test/hooks.js +191 -0
- package/build/cjs/test/hooks.js.map +1 -0
- package/build/cjs/test/index.js +2 -0
- package/build/cjs/test/index.js.map +1 -1
- package/build/cjs/test/transactions.js +11 -11
- package/build/cjs/test/transactions.js.map +1 -1
- package/build/esm/core/client.d.ts +3 -3
- package/build/esm/core/client.js +3 -3
- package/build/esm/core/client.js.map +1 -1
- package/build/esm/core/decorator.d.ts +12 -0
- package/build/esm/core/decorator.js +17 -4
- package/build/esm/core/decorator.js.map +1 -1
- package/build/esm/core/table.d.ts +27 -9
- package/build/esm/core/table.js +130 -28
- package/build/esm/core/table.js.map +1 -1
- package/build/esm/decorators/hooks.d.ts +35 -0
- package/build/esm/decorators/hooks.js +47 -0
- package/build/esm/decorators/hooks.js.map +1 -0
- package/build/esm/decorators/transforms.js +2 -2
- package/build/esm/decorators/transforms.js.map +1 -1
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/test/basic.js +2 -2
- package/build/esm/test/basic.js.map +1 -1
- package/build/esm/test/contracts.js +7 -7
- package/build/esm/test/contracts.js.map +1 -1
- package/build/esm/test/hooks.d.ts +1 -0
- package/build/esm/test/hooks.js +188 -0
- package/build/esm/test/hooks.js.map +1 -0
- package/build/esm/test/index.js +2 -0
- package/build/esm/test/index.js.map +1 -1
- package/build/esm/test/transactions.js +11 -11
- package/build/esm/test/transactions.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.default = hooks;
|
|
13
|
+
const index_1 = require("../index");
|
|
14
|
+
const calls = [];
|
|
15
|
+
let HUser = class HUser extends index_1.Table {
|
|
16
|
+
// Dos @BeforeCreate para validar el orden de ejecución (declaración top-to-bottom)
|
|
17
|
+
fill_slug() { this.slug = String(this.name).toLowerCase(); calls.push('beforeCreate'); }
|
|
18
|
+
mark_create() { calls.push('beforeCreate2'); }
|
|
19
|
+
after_create() { calls.push('afterCreate'); }
|
|
20
|
+
before_update(changes) { calls.push('beforeUpdate:' + Object.keys(changes ?? {}).sort().join(',')); }
|
|
21
|
+
after_update() { calls.push('afterUpdate'); }
|
|
22
|
+
before_destroy() { calls.push('beforeDestroy'); }
|
|
23
|
+
after_destroy() { calls.push('afterDestroy'); }
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, index_1.PrimaryKey)(),
|
|
27
|
+
__metadata("design:type", Object)
|
|
28
|
+
], HUser.prototype, "id", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, index_1.Default)(''),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], HUser.prototype, "name", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, index_1.Default)(''),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], HUser.prototype, "slug", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, index_1.Default)(() => 0),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], HUser.prototype, "version", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, index_1.DeleteAt)(),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], HUser.prototype, "deleted_at", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, index_1.BeforeCreate)(),
|
|
47
|
+
__metadata("design:type", Function),
|
|
48
|
+
__metadata("design:paramtypes", []),
|
|
49
|
+
__metadata("design:returntype", void 0)
|
|
50
|
+
], HUser.prototype, "fill_slug", null);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, index_1.BeforeCreate)(),
|
|
53
|
+
__metadata("design:type", Function),
|
|
54
|
+
__metadata("design:paramtypes", []),
|
|
55
|
+
__metadata("design:returntype", void 0)
|
|
56
|
+
], HUser.prototype, "mark_create", null);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, index_1.AfterCreate)(),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", []),
|
|
61
|
+
__metadata("design:returntype", void 0)
|
|
62
|
+
], HUser.prototype, "after_create", null);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, index_1.BeforeUpdate)(),
|
|
65
|
+
__metadata("design:type", Function),
|
|
66
|
+
__metadata("design:paramtypes", [Object]),
|
|
67
|
+
__metadata("design:returntype", void 0)
|
|
68
|
+
], HUser.prototype, "before_update", null);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, index_1.AfterUpdate)(),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", []),
|
|
73
|
+
__metadata("design:returntype", void 0)
|
|
74
|
+
], HUser.prototype, "after_update", null);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, index_1.BeforeDestroy)(),
|
|
77
|
+
__metadata("design:type", Function),
|
|
78
|
+
__metadata("design:paramtypes", []),
|
|
79
|
+
__metadata("design:returntype", void 0)
|
|
80
|
+
], HUser.prototype, "before_destroy", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, index_1.AfterDestroy)(),
|
|
83
|
+
__metadata("design:type", Function),
|
|
84
|
+
__metadata("design:paramtypes", []),
|
|
85
|
+
__metadata("design:returntype", void 0)
|
|
86
|
+
], HUser.prototype, "after_destroy", null);
|
|
87
|
+
HUser = __decorate([
|
|
88
|
+
(0, index_1.Name)('test_hook_users')
|
|
89
|
+
], HUser);
|
|
90
|
+
let passed = 0;
|
|
91
|
+
let failed = 0;
|
|
92
|
+
function assert(label, condition, detail) {
|
|
93
|
+
if (condition) {
|
|
94
|
+
console.log(` OK ${label}`);
|
|
95
|
+
passed++;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.error(` FAIL ${label}${detail ? ` -- ${detail}` : ''}`);
|
|
99
|
+
failed++;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function hooks() {
|
|
103
|
+
console.log('\n=== HOOKS ===\n');
|
|
104
|
+
const dynamite = new index_1.Dynamite({
|
|
105
|
+
tables: [HUser],
|
|
106
|
+
region: 'local',
|
|
107
|
+
endpoint: 'http://localhost:8000',
|
|
108
|
+
credentials: { accessKeyId: 'local', secretAccessKey: 'local' },
|
|
109
|
+
});
|
|
110
|
+
await dynamite.connect();
|
|
111
|
+
await dynamite.sync();
|
|
112
|
+
// =====================================================
|
|
113
|
+
// 1. Opt-in vs opt-out en create
|
|
114
|
+
// =====================================================
|
|
115
|
+
console.log('-- create opt-in / opt-out --');
|
|
116
|
+
calls.length = 0;
|
|
117
|
+
const u_no = await HUser.create({ name: 'Ann' });
|
|
118
|
+
assert('create sin hook: no ejecuta hooks', calls.length === 0);
|
|
119
|
+
assert('create sin hook: beforeCreate no mutó slug', u_no.slug === '');
|
|
120
|
+
calls.length = 0;
|
|
121
|
+
const u_yes = await HUser.create({ name: 'Bob' }, { hook: true });
|
|
122
|
+
assert('create con hook: orden beforeCreate -> beforeCreate2 -> afterCreate', JSON.stringify(calls) === JSON.stringify(['beforeCreate', 'beforeCreate2', 'afterCreate']), JSON.stringify(calls));
|
|
123
|
+
assert('create con hook: beforeCreate mutó slug en la instancia', u_yes.slug === 'bob');
|
|
124
|
+
const u_yes_db = await HUser.first({ id: u_yes.id });
|
|
125
|
+
assert('create con hook: mutación persistida', u_yes_db?.slug === 'bob');
|
|
126
|
+
// =====================================================
|
|
127
|
+
// 2. Update de instancia
|
|
128
|
+
// =====================================================
|
|
129
|
+
console.log('\n-- instance update --');
|
|
130
|
+
calls.length = 0;
|
|
131
|
+
await u_yes.update({ name: 'Bobby' }, { hook: true });
|
|
132
|
+
assert('instance update con hook: beforeUpdate recibe changes', calls.includes('beforeUpdate:name'));
|
|
133
|
+
assert('instance update con hook: afterUpdate ejecutado', calls.includes('afterUpdate'));
|
|
134
|
+
const bobby = await HUser.first({ id: u_yes.id });
|
|
135
|
+
assert('instance update con hook: persistido', bobby?.name === 'Bobby');
|
|
136
|
+
calls.length = 0;
|
|
137
|
+
await u_yes.update({ name: 'Bib' });
|
|
138
|
+
assert('instance update sin hook: no ejecuta hooks', calls.length === 0);
|
|
139
|
+
const bib = await HUser.first({ id: u_yes.id });
|
|
140
|
+
assert('instance update sin hook: persistido igual', bib?.name === 'Bib');
|
|
141
|
+
// =====================================================
|
|
142
|
+
// 3. Update estático masivo: una vez por entidad
|
|
143
|
+
// =====================================================
|
|
144
|
+
console.log('\n-- static update masivo --');
|
|
145
|
+
await HUser.create({ name: 'batch' });
|
|
146
|
+
await HUser.create({ name: 'batch' });
|
|
147
|
+
calls.length = 0;
|
|
148
|
+
const affected = await HUser.update({ version: 7 }, { name: 'batch' }, { hook: true });
|
|
149
|
+
const before_count = calls.filter(c => c.startsWith('beforeUpdate')).length;
|
|
150
|
+
const after_count = calls.filter(c => c === 'afterUpdate').length;
|
|
151
|
+
assert('static update masivo: afecta 2 registros', affected === 2);
|
|
152
|
+
assert('static update masivo: beforeUpdate por entidad', before_count === 2);
|
|
153
|
+
assert('static update masivo: afterUpdate por entidad', after_count === 2);
|
|
154
|
+
// =====================================================
|
|
155
|
+
// 4. Destroy de instancia (soft delete)
|
|
156
|
+
// =====================================================
|
|
157
|
+
console.log('\n-- instance destroy (soft) --');
|
|
158
|
+
calls.length = 0;
|
|
159
|
+
await u_yes.destroy({ hook: true });
|
|
160
|
+
assert('instance destroy con hook: beforeDestroy + afterDestroy', calls.includes('beforeDestroy') && calls.includes('afterDestroy'));
|
|
161
|
+
const after_soft = await HUser.where({ id: u_yes.id });
|
|
162
|
+
assert('instance destroy: excluido de where (soft delete)', after_soft.length === 0);
|
|
163
|
+
// =====================================================
|
|
164
|
+
// 5. Delete estático con hooks de destroy
|
|
165
|
+
// =====================================================
|
|
166
|
+
console.log('\n-- static delete --');
|
|
167
|
+
const del_user = await HUser.create({ name: 'to_delete' });
|
|
168
|
+
calls.length = 0;
|
|
169
|
+
const deleted = await HUser.delete({ id: del_user.id }, { hook: true });
|
|
170
|
+
assert('static delete con hook: retorna 1', deleted === 1);
|
|
171
|
+
assert('static delete con hook: beforeDestroy + afterDestroy', calls.includes('beforeDestroy') && calls.includes('afterDestroy'));
|
|
172
|
+
const del_check = await HUser.where({ id: del_user.id }, { _includeTrashed: true });
|
|
173
|
+
assert('static delete con hook: eliminado (hard)', del_check.length === 0);
|
|
174
|
+
// =====================================================
|
|
175
|
+
// 6. Hooks dentro de una transacción
|
|
176
|
+
// =====================================================
|
|
177
|
+
console.log('\n-- hooks en transacción --');
|
|
178
|
+
calls.length = 0;
|
|
179
|
+
let tx_user;
|
|
180
|
+
await dynamite.tx(async (tx) => {
|
|
181
|
+
tx_user = await HUser.create({ name: 'TxHook' }, { hook: true, tx });
|
|
182
|
+
assert('tx: afterCreate aún no corre antes del commit', !calls.includes('afterCreate'));
|
|
183
|
+
});
|
|
184
|
+
assert('tx: beforeCreate corrió durante create', calls.includes('beforeCreate'));
|
|
185
|
+
assert('tx: afterCreate corrió tras el commit', calls.includes('afterCreate'));
|
|
186
|
+
const tx_db = await HUser.first({ id: tx_user.id });
|
|
187
|
+
assert('tx: registro persistido con slug mutado', tx_db?.slug === 'txhook');
|
|
188
|
+
console.log(`\n Hooks: ${passed} passed, ${failed} failed`);
|
|
189
|
+
return failed;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/test/hooks.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/test/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const filters_1 = __importDefault(require("./filters"));
|
|
|
10
10
|
const bulk_1 = __importDefault(require("./bulk"));
|
|
11
11
|
const query_scan_1 = __importDefault(require("./query_scan"));
|
|
12
12
|
const contracts_1 = __importDefault(require("./contracts"));
|
|
13
|
+
const hooks_1 = __importDefault(require("./hooks"));
|
|
13
14
|
(async function () {
|
|
14
15
|
try {
|
|
15
16
|
let total_failures = 0;
|
|
@@ -20,6 +21,7 @@ const contracts_1 = __importDefault(require("./contracts"));
|
|
|
20
21
|
total_failures += await (0, bulk_1.default)();
|
|
21
22
|
total_failures += await (0, query_scan_1.default)();
|
|
22
23
|
total_failures += await (0, contracts_1.default)();
|
|
24
|
+
total_failures += await (0, hooks_1.default)();
|
|
23
25
|
console.log(`\n${'='.repeat(40)}`);
|
|
24
26
|
console.log(total_failures === 0
|
|
25
27
|
? ` ALL TESTS PASSED`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,kEAA0C;AAC1C,4DAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAC1B,8DAAsC;AACtC,4DAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,kEAA0C;AAC1C,4DAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAC1B,8DAAsC;AACtC,4DAAoC;AACpC,oDAA4B;AAE5B,CAAC,KAAK;IACJ,IAAI,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,cAAc,IAAI,MAAM,IAAA,eAAK,GAAE,CAAC;QAChC,cAAc,IAAI,MAAM,IAAA,sBAAY,GAAE,CAAC;QACvC,cAAc,IAAI,MAAM,IAAA,mBAAS,GAAE,CAAC;QACpC,cAAc,IAAI,MAAM,IAAA,iBAAO,GAAE,CAAC;QAClC,cAAc,IAAI,MAAM,IAAA,cAAI,GAAE,CAAC;QAC/B,cAAc,IAAI,MAAM,IAAA,oBAAU,GAAE,CAAC;QACrC,cAAc,IAAI,MAAM,IAAA,mBAAS,GAAE,CAAC;QACpC,cAAc,IAAI,MAAM,IAAA,eAAK,GAAE,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC;YAC9B,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,KAAK,cAAc,iBAAiB,CACvC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -79,8 +79,8 @@ async function transactions() {
|
|
|
79
79
|
console.log('-- Multi-create --');
|
|
80
80
|
let a1, a2;
|
|
81
81
|
await dynamite.tx(async (tx) => {
|
|
82
|
-
a1 = await Account.create({ name: 'Alice', balance: 1000 }, tx);
|
|
83
|
-
a2 = await Account.create({ name: 'Bob', balance: 500 }, tx);
|
|
82
|
+
a1 = await Account.create({ name: 'Alice', balance: 1000 }, { tx });
|
|
83
|
+
a2 = await Account.create({ name: 'Bob', balance: 500 }, { tx });
|
|
84
84
|
});
|
|
85
85
|
assert('tx multi-create: ambos persistidos', a1.__isPersisted && a2.__isPersisted);
|
|
86
86
|
const alice = await Account.first({ id: a1.id });
|
|
@@ -91,8 +91,8 @@ async function transactions() {
|
|
|
91
91
|
console.log('\n-- Create + increment --');
|
|
92
92
|
let log1;
|
|
93
93
|
await dynamite.tx(async (tx) => {
|
|
94
|
-
log1 = await TxLog.create({ account_id: a1.id, action: 'deposit', amount: 200 }, tx);
|
|
95
|
-
await Account.increment('balance', 200, { id: a1.id }, tx);
|
|
94
|
+
log1 = await TxLog.create({ account_id: a1.id, action: 'deposit', amount: 200 }, { tx });
|
|
95
|
+
await Account.increment('balance', 200, { id: a1.id }, { tx });
|
|
96
96
|
});
|
|
97
97
|
const alice_after = await Account.first({ id: a1.id });
|
|
98
98
|
assert('tx increment: balance +200', alice_after?.balance === 1200);
|
|
@@ -102,10 +102,10 @@ async function transactions() {
|
|
|
102
102
|
// -- Transferencia atomica (decrement + increment + log) --
|
|
103
103
|
console.log('\n-- Transferencia atomica --');
|
|
104
104
|
await dynamite.tx(async (tx) => {
|
|
105
|
-
await Account.decrement('balance', 300, { id: a1.id }, tx);
|
|
106
|
-
await Account.increment('balance', 300, { id: a2.id }, tx);
|
|
107
|
-
await TxLog.create({ account_id: a1.id, action: 'transfer_out', amount: 300 }, tx);
|
|
108
|
-
await TxLog.create({ account_id: a2.id, action: 'transfer_in', amount: 300 }, tx);
|
|
105
|
+
await Account.decrement('balance', 300, { id: a1.id }, { tx });
|
|
106
|
+
await Account.increment('balance', 300, { id: a2.id }, { tx });
|
|
107
|
+
await TxLog.create({ account_id: a1.id, action: 'transfer_out', amount: 300 }, { tx });
|
|
108
|
+
await TxLog.create({ account_id: a2.id, action: 'transfer_in', amount: 300 }, { tx });
|
|
109
109
|
});
|
|
110
110
|
const alice_transfer = await Account.first({ id: a1.id });
|
|
111
111
|
const bob_transfer = await Account.first({ id: a2.id });
|
|
@@ -117,8 +117,8 @@ async function transactions() {
|
|
|
117
117
|
let failed_account;
|
|
118
118
|
try {
|
|
119
119
|
await dynamite.tx(async (tx) => {
|
|
120
|
-
failed_account = await Account.create({ name: 'Ghost' }, tx);
|
|
121
|
-
await Account.increment('balance', 99999, { id: a1.id }, tx);
|
|
120
|
+
failed_account = await Account.create({ name: 'Ghost' }, { tx });
|
|
121
|
+
await Account.increment('balance', 99999, { id: a1.id }, { tx });
|
|
122
122
|
throw new Error('Simulated failure');
|
|
123
123
|
});
|
|
124
124
|
}
|
|
@@ -133,7 +133,7 @@ async function transactions() {
|
|
|
133
133
|
const ids = [];
|
|
134
134
|
await dynamite.tx(async (tx) => {
|
|
135
135
|
for (let i = 0; i < 30; i++) {
|
|
136
|
-
const acc = await Account.create({ name: `Bulk_${i}`, balance: i }, tx);
|
|
136
|
+
const acc = await Account.create({ name: `Bulk_${i}`, balance: i }, { tx });
|
|
137
137
|
ids.push(acc.id);
|
|
138
138
|
}
|
|
139
139
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/test/transactions.ts"],"names":[],"mappings":";;;;;;;;;;;AA+BA,+BAkFC;AAjHD,oCAGkB;AAIlB,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,aAAc;CAMnC,CAAA;AAJS;IADP,IAAA,kBAAU,GAAE;;mCACwB;AAClB;IAAlB,IAAA,eAAO,GAAE;;qCAAsB;AACN;IAAzB,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;;wCAA2C;AACvC;IAApB,IAAA,iBAAS,GAAE;;2CAA8C;AALtD,OAAO;IADZ,IAAA,YAAI,EAAC,kBAAkB,CAAC;GACnB,OAAO,CAMZ;AAGD,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,aAAY;CAM/B,CAAA;AAJS;IADP,IAAA,kBAAU,GAAE;;iCACwB;AAChB;IAApB,IAAA,eAAO,EAAC,EAAE,CAAC;;yCAA4B;AACnB;IAApB,IAAA,eAAO,EAAC,EAAE,CAAC;;qCAAwB;AACV;IAAzB,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;;qCAA0C;AALvD,KAAK;IADV,IAAA,YAAI,EAAC,cAAc,CAAC;GACf,KAAK,CAMV;AAED,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,SAAS,MAAM,CAAC,KAAa,EAAE,SAAkB,EAAE,MAAe;IAChE,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,CAAC;IAAC,CAAC;SACtD,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,CAAC;IAAC,CAAC;AACvF,CAAC;AAEc,KAAK,UAAU,YAAY;IACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC;QAC5B,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;QACxB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,uBAAuB;QACjC,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEtB,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,EAAuB,EAAE,EAAuB,CAAC;IACrD,MAAM,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC7B,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/test/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,10 +87,10 @@ export declare class TransactionContext {
|
|
|
87
87
|
addDelete(table_name: string, key: Record<string, any>): void;
|
|
88
88
|
addUpdate(table_name: string, key: Record<string, any>, expression: string, names: Record<string, string>, values: Record<string, any>): void;
|
|
89
89
|
/**
|
|
90
|
-
* @description Register a callback to run after successful commit.
|
|
91
|
-
* @description Registra un callback que se ejecuta después de un commit exitoso.
|
|
90
|
+
* @description Register a callback (sync or async) to run after successful commit.
|
|
91
|
+
* @description Registra un callback (síncrono o asíncrono) que se ejecuta después de un commit exitoso.
|
|
92
92
|
*/
|
|
93
|
-
onCommit(fn: () => void): void;
|
|
93
|
+
onCommit(fn: () => void | Promise<void>): void;
|
|
94
94
|
commit(): Promise<void>;
|
|
95
95
|
private guard;
|
|
96
96
|
}
|
package/build/esm/core/client.js
CHANGED
|
@@ -349,8 +349,8 @@ export class TransactionContext {
|
|
|
349
349
|
});
|
|
350
350
|
}
|
|
351
351
|
/**
|
|
352
|
-
* @description Register a callback to run after successful commit.
|
|
353
|
-
* @description Registra un callback que se ejecuta después de un commit exitoso.
|
|
352
|
+
* @description Register a callback (sync or async) to run after successful commit.
|
|
353
|
+
* @description Registra un callback (síncrono o asíncrono) que se ejecuta después de un commit exitoso.
|
|
354
354
|
*/
|
|
355
355
|
onCommit(fn) {
|
|
356
356
|
this.after_commit.push(fn);
|
|
@@ -364,7 +364,7 @@ export class TransactionContext {
|
|
|
364
364
|
await this.client.send(new TransactWriteItemsCommand({ TransactItems: chunk }));
|
|
365
365
|
}
|
|
366
366
|
for (const fn of this.after_commit)
|
|
367
|
-
fn();
|
|
367
|
+
await fn();
|
|
368
368
|
}
|
|
369
369
|
guard() {
|
|
370
370
|
if (this.operations.length >= 100) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EAEd,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC;;GAEG;AACH,MAAM,OAAO,QAAQ;IAMnB;;;OAGG;IACH,YAAY,MAAsB;QAP1B,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAOrB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC;YAC/B,GAAG,OAAO;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAY,EAAU,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvF,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAY,EAAU,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAAE,SAAS;gBACxE,MAAM,OAAO,GAAuB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,gCAAgC;QAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgE,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsD,CAAC;QAE7E,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,MAAM,GAAY,WAAmB,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAE1F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAExE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,MAAM,GAAY,WAAmB,CAAC,MAAM,CAAC,CAAC;YAEpD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACzD,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9D,MAAM,cAAc,GAAuB,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBACtE,IAAI,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC;wBAC/C,IAAI,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;4BACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBAC1D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE;wBAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAW;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAU,CAAC,CACpE,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAW,CAAC;YACxD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,IAAI,KAAK,2BAA2B;oBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,GAAG,EAAU,EAAW,CAAC;gBACtH,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,6CAA6C;QAC7C,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAS;YAE1B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAc,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,EAAE;gBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE9D,MAAM,UAAU,GAA2D;gBACzE,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC7C,CAAC;YACF,IAAI,KAAK,CAAC,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7E,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7C,SAAS,EAAE,GAAG,KAAK,QAAQ;gBAC3B,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;gBAC/D,UAAU,EAAE,EAAE,cAAc,EAAE,KAAc,EAAE;aAC/C,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC;gBACtC,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,oBAAoB,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC5G,SAAS,EAAE,UAAU;gBACrB,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;aACjE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAS;YAE1B,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC;gBACtC,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACrD,oBAAoB,EAAE;oBACpB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;oBAC3C,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE;oBACtD,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE;iBACvD;gBACD,sBAAsB,EAAE;oBACtB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;oBAClJ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;iBACnJ;aACF,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7B,qFAAqF;QACrF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEjD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAE3B,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAE3B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC,CAAC;YAC1E,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAoB,EAAE,CAAC;YAElC,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAG,CAAC;gBAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEzD,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC;oBACtC,SAAS,EAAE,UAAU;oBACrB,oBAAoB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;oBACpE,2BAA2B,EAAE,CAAC;4BAC5B,MAAM,EAAE;gCACN,SAAS,EAAE,GAAG,KAAK,QAAQ;gCAC3B,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gCACtD,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;6BACtC;yBACF,CAAC;iBACH,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzB,mDAAmD;YACnD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;YACrC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,uDAAuD;gBACvD,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,CAAC;gBACD,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAAC,WAAqB;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrF,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,IAAI,EAAE,CAAC;qBAC5D,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;gBAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC9B,CAAC,CAAC,CACH,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,CAAC;gBAC1C,IAAI,UAAU;oBAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,CAAI,QAAgD;QAC1D,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAED,IAAI,YAAwC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAQ,EAAE;IAC9D,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAmB,EAAE;IAClD,IAAI,CAAC,YAAY;QACf,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE;IAC3C,OAAO,YAAY,KAAK,SAAS,CAAC;AACpC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAmB,EAAE;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAK7B,YAAY,MAAsB;QAJ1B,eAAU,GAAsB,EAAE,CAAC;QACnC,iBAAY,GAAmC,EAAE,CAAC;QAIxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,IAAyB,EAAE,SAAiE;QACrH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAQ;YACd,GAAG,EAAE;gBACH,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;aACtD;SACF,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,EAAE,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC;YAClD,EAAE,CAAC,GAAG,CAAC,wBAAwB,GAAG,SAAS,CAAC,KAAK,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,GAAwB;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE;gBACN,SAAS,EAAE,UAAU;gBACrB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,GAAwB,EAAE,UAAkB,EAAE,KAA6B,EAAE,MAA2B;QACpI,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE;gBACN,SAAS,EAAE,UAAU;gBACrB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;gBAClB,gBAAgB,EAAE,UAAU;gBAC5B,wBAAwB,EAAE,KAAK;gBAC/B,yBAAyB,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;aAC7E;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,EAA8B;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,8DAA8D;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACpB,IAAI,yBAAyB,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,EAAE,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;CACF"}
|
|
@@ -4,10 +4,16 @@
|
|
|
4
4
|
* @description Sistema de decoradores minimalista con Symbol storage
|
|
5
5
|
*/
|
|
6
6
|
export declare const SCHEMA: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* @description Lifecycle hook types supported by models.
|
|
9
|
+
* @description Tipos de hooks de ciclo de vida soportados por los modelos.
|
|
10
|
+
*/
|
|
11
|
+
export type HookType = 'beforeCreate' | 'afterCreate' | 'beforeUpdate' | 'afterUpdate' | 'beforeDestroy' | 'afterDestroy';
|
|
7
12
|
export interface Schema {
|
|
8
13
|
name: string;
|
|
9
14
|
primary_key: string;
|
|
10
15
|
gsis: Set<string>;
|
|
16
|
+
hooks: Record<HookType, string[]>;
|
|
11
17
|
columns: Record<string, {
|
|
12
18
|
name: string;
|
|
13
19
|
get: ((value: any) => any)[];
|
|
@@ -31,6 +37,12 @@ export interface Schema {
|
|
|
31
37
|
};
|
|
32
38
|
}>;
|
|
33
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Get (or lazily create) the Schema bound to a model class, with columns and hooks initialized.
|
|
42
|
+
* @description Obtiene (o crea perezosamente) el Schema asociado a una clase de modelo, con columns y hooks inicializados.
|
|
43
|
+
* @param ctor Model class constructor / Constructor de la clase del modelo
|
|
44
|
+
*/
|
|
45
|
+
export declare function getSchema(ctor: any): Schema;
|
|
34
46
|
/**
|
|
35
47
|
* @description Factory to create decorators with argument support and composition
|
|
36
48
|
* @description Factory para crear decoradores con soporte de argumentos y composición
|
|
@@ -11,13 +11,26 @@ function toSnakePlural(str) {
|
|
|
11
11
|
.replace(/^_/, "");
|
|
12
12
|
return snake.endsWith("s") ? snake : snake + "s";
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @description Get (or lazily create) the Schema bound to a model class, with columns and hooks initialized.
|
|
16
|
+
* @description Obtiene (o crea perezosamente) el Schema asociado a una clase de modelo, con columns y hooks inicializados.
|
|
17
|
+
* @param ctor Model class constructor / Constructor de la clase del modelo
|
|
18
|
+
*/
|
|
19
|
+
export function getSchema(ctor) {
|
|
16
20
|
if (!Object.prototype.hasOwnProperty.call(ctor, SCHEMA)) {
|
|
17
|
-
ctor[SCHEMA] = {
|
|
21
|
+
ctor[SCHEMA] = {
|
|
22
|
+
name: toSnakePlural(ctor.name),
|
|
23
|
+
primary_key: 'id',
|
|
24
|
+
gsis: new Set(),
|
|
25
|
+
hooks: { beforeCreate: [], afterCreate: [], beforeUpdate: [], afterUpdate: [], beforeDestroy: [], afterDestroy: [] },
|
|
26
|
+
columns: {},
|
|
27
|
+
};
|
|
18
28
|
}
|
|
29
|
+
return ctor[SCHEMA];
|
|
30
|
+
}
|
|
31
|
+
function resolve(target, propertyKey) {
|
|
32
|
+
const schema = getSchema(target.constructor);
|
|
19
33
|
const key = String(propertyKey);
|
|
20
|
-
const schema = ctor[SCHEMA];
|
|
21
34
|
schema.columns[key] ||= { name: key, get: [], set: [], store: {} };
|
|
22
35
|
return [schema, schema.columns[key]];
|
|
23
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/core/decorator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/core/decorator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAwChD,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG;SACd,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAS;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG;YACb,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI,GAAG,EAAU;YACvB,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACpH,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,OAAO,CAAC,MAAW,EAAE,WAA4B;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAmF;IAC3G,OAAO,CAAC,GAAG,MAAa,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;QACzE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -7,6 +7,19 @@ type WhereFilters<M> = {
|
|
|
7
7
|
[N in QueryOperator]?: InferAttributes<M>[K];
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* @description Lifecycle hook signature. `this` is the model instance; update hooks receive the changes delta.
|
|
12
|
+
* @description Firma de un hook de ciclo de vida. `this` es la instancia del modelo; los hooks de update reciben el delta de cambios.
|
|
13
|
+
*/
|
|
14
|
+
export type HookFn<T = any> = (this: T, changes?: Partial<InferAttributes<T>>) => void | Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* @description Options for mutation operations. `hook` is opt-in (default false); `tx` runs the operation inside a transaction.
|
|
17
|
+
* @description Opciones para operaciones de mutación. `hook` es opt-in (default false); `tx` ejecuta la operación dentro de una transacción.
|
|
18
|
+
*/
|
|
19
|
+
export interface MutationOptions {
|
|
20
|
+
hook?: boolean;
|
|
21
|
+
tx?: TransactionContext;
|
|
22
|
+
}
|
|
10
23
|
export default class Table<T = any> {
|
|
11
24
|
static [SCHEMA]: Schema;
|
|
12
25
|
constructor(props?: Partial<T>);
|
|
@@ -17,10 +30,10 @@ export default class Table<T = any> {
|
|
|
17
30
|
*/
|
|
18
31
|
private _toDBPayload;
|
|
19
32
|
toString(): string;
|
|
20
|
-
save(): Promise<boolean>;
|
|
21
|
-
update(data: Partial<InferAttributes<T
|
|
22
|
-
destroy(): Promise<null>;
|
|
23
|
-
forceDestroy(): Promise<null>;
|
|
33
|
+
save(options?: MutationOptions): Promise<boolean>;
|
|
34
|
+
update(data: Partial<InferAttributes<T>>, options?: MutationOptions): Promise<boolean>;
|
|
35
|
+
destroy(options?: MutationOptions): Promise<null>;
|
|
36
|
+
forceDestroy(options?: MutationOptions): Promise<null>;
|
|
24
37
|
attach<R>(RelatedModel: new () => R, related_id: string, pivot_data?: Record<string, any>): Promise<void>;
|
|
25
38
|
detach<R>(RelatedModel: new () => R, related_id: string): Promise<void>;
|
|
26
39
|
/**
|
|
@@ -29,21 +42,26 @@ export default class Table<T = any> {
|
|
|
29
42
|
* @param related_ids Array de IDs a sincronizar
|
|
30
43
|
*/
|
|
31
44
|
sync<R>(RelatedModel: new () => R, related_ids: string[]): Promise<void>;
|
|
32
|
-
|
|
45
|
+
/**
|
|
46
|
+
* @description Run the registered hooks of a given type on an instance, in declaration order.
|
|
47
|
+
* @description Ejecuta los hooks registrados de un tipo dado sobre una instancia, en orden de declaración.
|
|
48
|
+
*/
|
|
49
|
+
private static _run_hooks;
|
|
50
|
+
static create<M extends Table>(this: new (data: any) => M, data: Partial<InferAttributes<M>>, options?: MutationOptions): Promise<M>;
|
|
33
51
|
/**
|
|
34
52
|
* @description Extract PK value from filters if the filter is a simple PK equality. Returns null otherwise.
|
|
35
53
|
* @description Extrae el valor de PK de los filtros si es una igualdad simple por PK. Retorna null en otro caso.
|
|
36
54
|
*/
|
|
37
55
|
private static _extractPK;
|
|
38
|
-
static update<M extends Table>(this: new (data: any) => M, updates: Partial<InferAttributes<M>>, filters: Partial<InferAttributes<M>>,
|
|
39
|
-
static delete<M extends Table>(this: new (data: any) => M, filters: Partial<InferAttributes<M>>,
|
|
56
|
+
static update<M extends Table>(this: new (data: any) => M, updates: Partial<InferAttributes<M>>, filters: Partial<InferAttributes<M>>, options?: MutationOptions): Promise<number>;
|
|
57
|
+
static delete<M extends Table>(this: new (data: any) => M, filters: Partial<InferAttributes<M>>, options?: MutationOptions): Promise<number>;
|
|
40
58
|
/**
|
|
41
59
|
* @description Atomically increment a numeric field by amount. Uses DynamoDB SET expression.
|
|
42
60
|
* @description Incrementa atómicamente un campo numérico. Usa expresión SET de DynamoDB.
|
|
43
61
|
*/
|
|
44
62
|
private static _atomicAdd;
|
|
45
|
-
static increment<M extends Table>(this: new (data: any) => M, field: keyof PickByType<InferAttributes<M>, number>, amount: number, filters: WhereFilters<M>,
|
|
46
|
-
static decrement<M extends Table>(this: new (data: any) => M, field: keyof PickByType<InferAttributes<M>, number>, amount: number, filters: WhereFilters<M>,
|
|
63
|
+
static increment<M extends Table>(this: new (data: any) => M, field: keyof PickByType<InferAttributes<M>, number>, amount: number, filters: WhereFilters<M>, options?: MutationOptions): Promise<number>;
|
|
64
|
+
static decrement<M extends Table>(this: new (data: any) => M, field: keyof PickByType<InferAttributes<M>, number>, amount: number, filters: WhereFilters<M>, options?: MutationOptions): Promise<number>;
|
|
47
65
|
increment<K extends keyof PickByType<InferAttributes<T>, number>>(field: K, amount?: number): Promise<void>;
|
|
48
66
|
decrement<K extends keyof PickByType<InferAttributes<T>, number>>(field: K, amount?: number): Promise<void>;
|
|
49
67
|
static where<M extends Table>(this: new (props?: any) => M, key: keyof InferAttributes<M>, value: InferAttributes<M>[typeof key], options?: WhereOptions<M>): Promise<M[]>;
|