@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
|
@@ -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/cjs/core/client.js
CHANGED
|
@@ -357,8 +357,8 @@ class TransactionContext {
|
|
|
357
357
|
});
|
|
358
358
|
}
|
|
359
359
|
/**
|
|
360
|
-
* @description Register a callback to run after successful commit.
|
|
361
|
-
* @description Registra un callback que se ejecuta después de un commit exitoso.
|
|
360
|
+
* @description Register a callback (sync or async) to run after successful commit.
|
|
361
|
+
* @description Registra un callback (síncrono o asíncrono) que se ejecuta después de un commit exitoso.
|
|
362
362
|
*/
|
|
363
363
|
onCommit(fn) {
|
|
364
364
|
this.after_commit.push(fn);
|
|
@@ -372,7 +372,7 @@ class TransactionContext {
|
|
|
372
372
|
await this.client.send(new client_dynamodb_1.TransactWriteItemsCommand({ TransactItems: chunk }));
|
|
373
373
|
}
|
|
374
374
|
for (const fn of this.after_commit)
|
|
375
|
-
fn();
|
|
375
|
+
await fn();
|
|
376
376
|
}
|
|
377
377
|
guard() {
|
|
378
378
|
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,8DAOkC;AAClC,0DAAkD;AAClD,2CAAqC;AAUrC;;GAEG;AACH,MAAa,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,gCAAc,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,IAAA,uBAAe,EAAC,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,kBAAM,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,kBAAM,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,kBAAM,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,kBAAM,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,kBAAM,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,kBAAM,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,sCAAoB,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,oCAAkB,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,oCAAkB,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,oCAAkB,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,sCAAoB,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;AAnSD,4BAmSC;AAED,IAAI,YAAwC,CAAC;AAE7C;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,MAAsB,EAAQ,EAAE;IAC9D,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEF;;GAEG;AACI,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;AANW,QAAA,eAAe,mBAM1B;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,GAAY,EAAE;IAC3C,OAAO,YAAY,KAAK,SAAS,CAAC;AACpC,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEF;;GAEG;AACI,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;AAPW,QAAA,aAAa,iBAOxB;AAEF;;;GAGG;AACH,MAAa,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,IAAA,wBAAQ,EAAC,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,IAAA,wBAAQ,EAAC,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,IAAA,wBAAQ,EAAC,GAAG,CAAC;gBAClB,gBAAgB,EAAE,UAAU;gBAC5B,wBAAwB,EAAE,KAAK;gBAC/B,yBAAyB,EAAE,IAAA,wBAAQ,EAAC,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,2CAAyB,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;AA1ED,gDA0EC"}
|
|
@@ -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
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.SCHEMA = void 0;
|
|
9
|
+
exports.getSchema = getSchema;
|
|
9
10
|
exports.decorator = decorator;
|
|
10
11
|
exports.SCHEMA = Symbol('dynamite:schema');
|
|
11
12
|
function toSnakePlural(str) {
|
|
@@ -15,13 +16,26 @@ function toSnakePlural(str) {
|
|
|
15
16
|
.replace(/^_/, "");
|
|
16
17
|
return snake.endsWith("s") ? snake : snake + "s";
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @description Get (or lazily create) the Schema bound to a model class, with columns and hooks initialized.
|
|
21
|
+
* @description Obtiene (o crea perezosamente) el Schema asociado a una clase de modelo, con columns y hooks inicializados.
|
|
22
|
+
* @param ctor Model class constructor / Constructor de la clase del modelo
|
|
23
|
+
*/
|
|
24
|
+
function getSchema(ctor) {
|
|
20
25
|
if (!Object.prototype.hasOwnProperty.call(ctor, exports.SCHEMA)) {
|
|
21
|
-
ctor[exports.SCHEMA] = {
|
|
26
|
+
ctor[exports.SCHEMA] = {
|
|
27
|
+
name: toSnakePlural(ctor.name),
|
|
28
|
+
primary_key: 'id',
|
|
29
|
+
gsis: new Set(),
|
|
30
|
+
hooks: { beforeCreate: [], afterCreate: [], beforeUpdate: [], afterUpdate: [], beforeDestroy: [], afterDestroy: [] },
|
|
31
|
+
columns: {},
|
|
32
|
+
};
|
|
22
33
|
}
|
|
34
|
+
return ctor[exports.SCHEMA];
|
|
35
|
+
}
|
|
36
|
+
function resolve(target, propertyKey) {
|
|
37
|
+
const schema = getSchema(target.constructor);
|
|
23
38
|
const key = String(propertyKey);
|
|
24
|
-
const schema = ctor[exports.SCHEMA];
|
|
25
39
|
schema.columns[key] ||= { name: key, get: [], set: [], store: {} };
|
|
26
40
|
return [schema, schema.columns[key]];
|
|
27
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/core/decorator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuDH,8BAKC;
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/core/decorator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuDH,8BAWC;AAaD,8BAKC;AAlFY,QAAA,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,SAAgB,SAAS,CAAC,IAAS;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAM,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,cAAM,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,cAAM,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,SAAgB,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[]>;
|
package/build/cjs/core/table.js
CHANGED
|
@@ -143,28 +143,43 @@ class Table {
|
|
|
143
143
|
toString() {
|
|
144
144
|
return JSON.stringify(this);
|
|
145
145
|
}
|
|
146
|
-
async save() {
|
|
146
|
+
async save(options) {
|
|
147
147
|
const schema = this.constructor[decorator_1.SCHEMA];
|
|
148
|
-
const
|
|
148
|
+
const tx = options?.tx;
|
|
149
149
|
if (this.__isPersisted) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
if (options?.hook)
|
|
151
|
+
await Table._run_hooks(this, 'beforeUpdate', {});
|
|
152
|
+
if (tx) {
|
|
153
|
+
tx.addPut(schema.name, this._toDBPayload());
|
|
154
|
+
if (options?.hook)
|
|
155
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterUpdate', {}));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
await (0, client_1.requireClient)().send(new client_dynamodb_1.PutItemCommand({
|
|
159
|
+
TableName: schema.name,
|
|
160
|
+
Item: (0, util_dynamodb_1.marshall)(this._toDBPayload(), { removeUndefinedValues: true }),
|
|
161
|
+
}));
|
|
162
|
+
if (options?.hook)
|
|
163
|
+
await Table._run_hooks(this, 'afterUpdate', {});
|
|
164
|
+
}
|
|
154
165
|
return true;
|
|
155
166
|
}
|
|
167
|
+
if (options?.hook)
|
|
168
|
+
await Table._run_hooks(this, 'beforeCreate');
|
|
156
169
|
const created = await this.constructor.create(Object.fromEntries(Object.keys(schema.columns)
|
|
157
170
|
.filter(k => !schema.columns[k].store?.relation)
|
|
158
|
-
.map(k => [k, this[k]])));
|
|
171
|
+
.map(k => [k, this[k]])), { hook: false, tx });
|
|
159
172
|
for (const key in schema.columns) {
|
|
160
173
|
if (!schema.columns[key].store?.relation) {
|
|
161
174
|
this[key] = created[key];
|
|
162
175
|
}
|
|
163
176
|
}
|
|
164
177
|
this.__isPersisted = true;
|
|
178
|
+
if (options?.hook)
|
|
179
|
+
await Table._run_hooks(this, 'afterCreate');
|
|
165
180
|
return true;
|
|
166
181
|
}
|
|
167
|
-
async update(data) {
|
|
182
|
+
async update(data, options) {
|
|
168
183
|
const schema = this.constructor[decorator_1.SCHEMA];
|
|
169
184
|
// Filtrar relaciones (ignorarlas) en vez de lanzar error
|
|
170
185
|
const filtered_data = {};
|
|
@@ -175,9 +190,35 @@ class Table {
|
|
|
175
190
|
filtered_data[key] = data[key];
|
|
176
191
|
}
|
|
177
192
|
}
|
|
193
|
+
// Ruta con hooks: aplicar cambios y persistir sobre esta misma instancia
|
|
194
|
+
if (options?.hook) {
|
|
195
|
+
for (const key in filtered_data) {
|
|
196
|
+
this[key] = filtered_data[key];
|
|
197
|
+
}
|
|
198
|
+
// Auto-renovar campos @UpdatedAt no incluidos en los cambios
|
|
199
|
+
for (const col_name in schema.columns) {
|
|
200
|
+
if (schema.columns[col_name].store?.updatedAt && !(col_name in filtered_data)) {
|
|
201
|
+
this[col_name] = undefined;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
await Table._run_hooks(this, 'beforeUpdate', filtered_data);
|
|
205
|
+
const tx = options.tx;
|
|
206
|
+
if (tx) {
|
|
207
|
+
tx.addPut(schema.name, this._toDBPayload());
|
|
208
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterUpdate', filtered_data));
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
await (0, client_1.requireClient)().send(new client_dynamodb_1.PutItemCommand({
|
|
212
|
+
TableName: schema.name,
|
|
213
|
+
Item: (0, util_dynamodb_1.marshall)(this._toDBPayload(), { removeUndefinedValues: true }),
|
|
214
|
+
}));
|
|
215
|
+
await Table._run_hooks(this, 'afterUpdate', filtered_data);
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
178
219
|
const affected = await this.constructor.update(filtered_data, {
|
|
179
220
|
[schema.primary_key]: this[schema.primary_key],
|
|
180
|
-
});
|
|
221
|
+
}, { tx: options?.tx });
|
|
181
222
|
if (affected > 0) {
|
|
182
223
|
// Actualizar la instancia con los nuevos valores (incluyendo updated_at)
|
|
183
224
|
for (const key in filtered_data) {
|
|
@@ -186,29 +227,58 @@ class Table {
|
|
|
186
227
|
}
|
|
187
228
|
return affected > 0;
|
|
188
229
|
}
|
|
189
|
-
async destroy() {
|
|
230
|
+
async destroy(options) {
|
|
190
231
|
const schema = this.constructor[decorator_1.SCHEMA];
|
|
191
232
|
const id = this[schema.primary_key];
|
|
192
233
|
if (!id)
|
|
193
234
|
throw new Error("Cannot destroy record without ID");
|
|
235
|
+
if (options?.hook)
|
|
236
|
+
await Table._run_hooks(this, 'beforeDestroy');
|
|
237
|
+
let soft_col = null;
|
|
194
238
|
for (const column_name in schema.columns) {
|
|
195
239
|
if (schema.columns[column_name].store?.softDelete) {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
return null;
|
|
240
|
+
soft_col = column_name;
|
|
241
|
+
break;
|
|
199
242
|
}
|
|
200
243
|
}
|
|
201
|
-
|
|
244
|
+
if (soft_col) {
|
|
245
|
+
this[soft_col] = new Date().toISOString();
|
|
246
|
+
await this.save({ tx: options?.tx });
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
await this.forceDestroy({ tx: options?.tx });
|
|
250
|
+
}
|
|
251
|
+
if (options?.hook) {
|
|
252
|
+
if (options.tx)
|
|
253
|
+
options.tx.onCommit(() => Table._run_hooks(this, 'afterDestroy'));
|
|
254
|
+
else
|
|
255
|
+
await Table._run_hooks(this, 'afterDestroy');
|
|
256
|
+
}
|
|
257
|
+
return null;
|
|
202
258
|
}
|
|
203
|
-
async forceDestroy() {
|
|
259
|
+
async forceDestroy(options) {
|
|
204
260
|
const schema = this.constructor[decorator_1.SCHEMA];
|
|
205
261
|
const id = this[schema.primary_key];
|
|
206
262
|
if (!id)
|
|
207
263
|
throw new Error("Cannot destroy record without ID");
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
264
|
+
if (options?.hook)
|
|
265
|
+
await Table._run_hooks(this, 'beforeDestroy');
|
|
266
|
+
const tx = options?.tx;
|
|
267
|
+
if (tx) {
|
|
268
|
+
tx.addDelete(schema.name, { [schema.primary_key]: id });
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
await (0, client_1.requireClient)().send(new client_dynamodb_1.DeleteItemCommand({
|
|
272
|
+
TableName: schema.name,
|
|
273
|
+
Key: (0, util_dynamodb_1.marshall)({ [schema.primary_key]: id }),
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
276
|
+
if (options?.hook) {
|
|
277
|
+
if (tx)
|
|
278
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterDestroy'));
|
|
279
|
+
else
|
|
280
|
+
await Table._run_hooks(this, 'afterDestroy');
|
|
281
|
+
}
|
|
212
282
|
return null;
|
|
213
283
|
}
|
|
214
284
|
async attach(RelatedModel, related_id, pivot_data) {
|
|
@@ -350,9 +420,22 @@ class Table {
|
|
|
350
420
|
}
|
|
351
421
|
}
|
|
352
422
|
}
|
|
353
|
-
|
|
423
|
+
/**
|
|
424
|
+
* @description Run the registered hooks of a given type on an instance, in declaration order.
|
|
425
|
+
* @description Ejecuta los hooks registrados de un tipo dado sobre una instancia, en orden de declaración.
|
|
426
|
+
*/
|
|
427
|
+
static async _run_hooks(instance, type, changes) {
|
|
428
|
+
const schema = instance.constructor[decorator_1.SCHEMA];
|
|
429
|
+
for (const method_name of schema.hooks[type]) {
|
|
430
|
+
await instance[method_name]?.(changes);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
static async create(data, options) {
|
|
354
434
|
const instance = new this(data);
|
|
355
435
|
const schema = this[decorator_1.SCHEMA];
|
|
436
|
+
const tx = options?.tx;
|
|
437
|
+
if (options?.hook)
|
|
438
|
+
await Table._run_hooks(instance, 'beforeCreate');
|
|
356
439
|
const payload = instance._toDBPayload();
|
|
357
440
|
const pk_db_name = schema.columns[schema.primary_key]?.name || schema.primary_key;
|
|
358
441
|
const condition = {
|
|
@@ -362,6 +445,8 @@ class Table {
|
|
|
362
445
|
if (tx) {
|
|
363
446
|
tx.addPut(schema.name, payload, condition);
|
|
364
447
|
tx.onCommit(() => { instance.__isPersisted = true; });
|
|
448
|
+
if (options?.hook)
|
|
449
|
+
tx.onCommit(() => Table._run_hooks(instance, 'afterCreate'));
|
|
365
450
|
}
|
|
366
451
|
else {
|
|
367
452
|
try {
|
|
@@ -379,6 +464,8 @@ class Table {
|
|
|
379
464
|
throw e;
|
|
380
465
|
}
|
|
381
466
|
instance.__isPersisted = true;
|
|
467
|
+
if (options?.hook)
|
|
468
|
+
await Table._run_hooks(instance, 'afterCreate');
|
|
382
469
|
}
|
|
383
470
|
return instance;
|
|
384
471
|
}
|
|
@@ -402,8 +489,9 @@ class Table {
|
|
|
402
489
|
return val[op_keys[0]];
|
|
403
490
|
return null;
|
|
404
491
|
}
|
|
405
|
-
static async update(updates, filters,
|
|
492
|
+
static async update(updates, filters, options) {
|
|
406
493
|
const schema = this[decorator_1.SCHEMA];
|
|
494
|
+
const tx = options?.tx;
|
|
407
495
|
const parsed_updates = {};
|
|
408
496
|
for (const key in updates) {
|
|
409
497
|
const column = schema.columns[key];
|
|
@@ -450,24 +538,32 @@ class Table {
|
|
|
450
538
|
record[col_name] = undefined;
|
|
451
539
|
}
|
|
452
540
|
}
|
|
541
|
+
if (options?.hook)
|
|
542
|
+
await Table._run_hooks(record, 'beforeUpdate', parsed_updates);
|
|
453
543
|
if (tx) {
|
|
454
544
|
tx.addPut(schema.name, record._toDBPayload());
|
|
545
|
+
if (options?.hook)
|
|
546
|
+
tx.onCommit(() => Table._run_hooks(record, 'afterUpdate', parsed_updates));
|
|
455
547
|
}
|
|
456
548
|
else {
|
|
457
549
|
await (0, client_1.requireClient)().send(new client_dynamodb_1.PutItemCommand({
|
|
458
550
|
TableName: schema.name,
|
|
459
551
|
Item: (0, util_dynamodb_1.marshall)(record._toDBPayload(), { removeUndefinedValues: true }),
|
|
460
552
|
}));
|
|
553
|
+
if (options?.hook)
|
|
554
|
+
await Table._run_hooks(record, 'afterUpdate', parsed_updates);
|
|
461
555
|
}
|
|
462
556
|
}
|
|
463
557
|
return records.length;
|
|
464
558
|
}
|
|
465
|
-
static async delete(filters,
|
|
559
|
+
static async delete(filters, options) {
|
|
466
560
|
const schema = this[decorator_1.SCHEMA];
|
|
467
|
-
|
|
561
|
+
const tx = options?.tx;
|
|
562
|
+
// Optimización: si el filtro es PK exacta, sin softDelete y sin hooks de destroy, DeleteItem directo
|
|
468
563
|
const pk_value = this._extractPK(filters);
|
|
469
564
|
const has_soft_delete = Object.values(schema.columns).some(c => c.store.softDelete);
|
|
470
|
-
|
|
565
|
+
const has_destroy_hooks = !!options?.hook && (schema.hooks.beforeDestroy.length > 0 || schema.hooks.afterDestroy.length > 0);
|
|
566
|
+
if (pk_value !== null && !has_soft_delete && !has_destroy_hooks) {
|
|
471
567
|
if (tx) {
|
|
472
568
|
tx.addDelete(schema.name, { [schema.primary_key]: pk_value });
|
|
473
569
|
}
|
|
@@ -487,14 +583,20 @@ class Table {
|
|
|
487
583
|
const id = record[schema.primary_key];
|
|
488
584
|
if (!id)
|
|
489
585
|
continue;
|
|
586
|
+
if (options?.hook)
|
|
587
|
+
await Table._run_hooks(record, 'beforeDestroy');
|
|
490
588
|
if (tx) {
|
|
491
589
|
tx.addDelete(schema.name, { [schema.primary_key]: id });
|
|
590
|
+
if (options?.hook)
|
|
591
|
+
tx.onCommit(() => Table._run_hooks(record, 'afterDestroy'));
|
|
492
592
|
}
|
|
493
593
|
else {
|
|
494
594
|
await (0, client_1.requireClient)().send(new client_dynamodb_1.DeleteItemCommand({
|
|
495
595
|
TableName: schema.name,
|
|
496
596
|
Key: (0, util_dynamodb_1.marshall)({ [schema.primary_key]: id }),
|
|
497
597
|
}));
|
|
598
|
+
if (options?.hook)
|
|
599
|
+
await Table._run_hooks(record, 'afterDestroy');
|
|
498
600
|
}
|
|
499
601
|
}
|
|
500
602
|
return records.length;
|
|
@@ -549,11 +651,11 @@ class Table {
|
|
|
549
651
|
}
|
|
550
652
|
return records.length;
|
|
551
653
|
}
|
|
552
|
-
static async increment(field, amount, filters,
|
|
553
|
-
return Table._atomicAdd(this, field, amount, filters, tx);
|
|
654
|
+
static async increment(field, amount, filters, options) {
|
|
655
|
+
return Table._atomicAdd(this, field, amount, filters, options?.tx);
|
|
554
656
|
}
|
|
555
|
-
static async decrement(field, amount, filters,
|
|
556
|
-
return Table._atomicAdd(this, field, -amount, filters, tx);
|
|
657
|
+
static async decrement(field, amount, filters, options) {
|
|
658
|
+
return Table._atomicAdd(this, field, -amount, filters, options?.tx);
|
|
557
659
|
}
|
|
558
660
|
async increment(field, amount = 1) {
|
|
559
661
|
const schema = this.constructor[decorator_1.SCHEMA];
|