@arcaelas/dynamite 1.0.29 → 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/README.md +13 -13
- package/{src → build/cjs}/@types/index.d.ts +26 -1
- package/build/cjs/@types/index.js.map +1 -0
- package/{src → build/cjs}/core/client.d.ts +22 -19
- package/build/cjs/core/client.js +384 -0
- package/build/cjs/core/client.js.map +1 -0
- package/build/cjs/core/decorator.d.ts +50 -0
- package/build/cjs/core/decorator.js +52 -0
- package/build/cjs/core/decorator.js.map +1 -0
- package/build/cjs/core/table.d.ts +73 -0
- package/build/cjs/core/table.js +953 -0
- package/build/cjs/core/table.js.map +1 -0
- 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/indexes.d.ts +20 -0
- package/build/cjs/decorators/indexes.js +45 -0
- package/build/cjs/decorators/indexes.js.map +1 -0
- package/{src → build/cjs}/decorators/relations.d.ts +8 -7
- package/{src → build/cjs}/decorators/relations.js +9 -8
- package/build/cjs/decorators/relations.js.map +1 -0
- package/build/cjs/decorators/timestamps.d.ts +20 -0
- package/build/cjs/decorators/timestamps.js +34 -0
- package/build/cjs/decorators/timestamps.js.map +1 -0
- package/build/cjs/decorators/transforms.d.ts +41 -0
- package/build/cjs/decorators/transforms.js +98 -0
- package/build/cjs/decorators/transforms.js.map +1 -0
- package/{src → build/cjs}/index.d.ts +7 -3
- package/{src → build/cjs}/index.js +15 -6
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/package.json +1 -0
- package/build/cjs/test/basic.d.ts +1 -0
- package/build/cjs/test/basic.js +248 -0
- package/build/cjs/test/basic.js.map +1 -0
- package/build/cjs/test/bulk.d.ts +1 -0
- package/build/cjs/test/bulk.js +108 -0
- package/build/cjs/test/bulk.js.map +1 -0
- package/build/cjs/test/contracts.d.ts +1 -0
- package/build/cjs/test/contracts.js +343 -0
- package/build/cjs/test/contracts.js.map +1 -0
- package/build/cjs/test/filters.d.ts +1 -0
- package/build/cjs/test/filters.js +190 -0
- package/build/cjs/test/filters.js.map +1 -0
- 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 +38 -0
- package/build/cjs/test/index.js.map +1 -0
- package/build/cjs/test/query_scan.d.ts +1 -0
- package/build/cjs/test/query_scan.js +195 -0
- package/build/cjs/test/query_scan.js.map +1 -0
- package/build/cjs/test/relations.d.ts +1 -0
- package/build/cjs/test/relations.js +246 -0
- package/build/cjs/test/relations.js.map +1 -0
- package/build/cjs/test/transactions.d.ts +1 -0
- package/build/cjs/test/transactions.js +145 -0
- package/build/cjs/test/transactions.js.map +1 -0
- package/{src → build/cjs}/utils/relations.js +1 -8
- package/build/cjs/utils/relations.js.map +1 -0
- package/build/cjs/utils/ulid.d.ts +10 -0
- package/build/cjs/utils/ulid.js +55 -0
- package/build/cjs/utils/ulid.js.map +1 -0
- package/build/esm/@types/index.d.ts +213 -0
- package/build/esm/@types/index.js +8 -0
- package/build/esm/@types/index.js.map +1 -0
- package/build/esm/core/client.d.ts +96 -0
- package/build/esm/core/client.js +375 -0
- package/build/esm/core/client.js.map +1 -0
- package/build/esm/core/decorator.d.ts +50 -0
- package/build/esm/core/decorator.js +47 -0
- package/build/esm/core/decorator.js.map +1 -0
- package/build/esm/core/table.d.ts +73 -0
- package/build/esm/core/table.js +950 -0
- package/build/esm/core/table.js.map +1 -0
- 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/indexes.d.ts +20 -0
- package/build/esm/decorators/indexes.js +42 -0
- package/build/esm/decorators/indexes.js.map +1 -0
- package/build/esm/decorators/relations.d.ts +75 -0
- package/build/esm/decorators/relations.js +112 -0
- package/build/esm/decorators/relations.js.map +1 -0
- package/build/esm/decorators/timestamps.d.ts +20 -0
- package/build/esm/decorators/timestamps.js +31 -0
- package/build/esm/decorators/timestamps.js.map +1 -0
- package/build/esm/decorators/transforms.d.ts +41 -0
- package/build/esm/decorators/transforms.js +92 -0
- package/build/esm/decorators/transforms.js.map +1 -0
- package/build/esm/index.d.ts +19 -0
- package/build/esm/index.js +26 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/test/basic.d.ts +1 -0
- package/build/esm/test/basic.js +245 -0
- package/build/esm/test/basic.js.map +1 -0
- package/build/esm/test/bulk.d.ts +1 -0
- package/build/esm/test/bulk.js +105 -0
- package/build/esm/test/bulk.js.map +1 -0
- package/build/esm/test/contracts.d.ts +1 -0
- package/build/esm/test/contracts.js +340 -0
- package/build/esm/test/contracts.js.map +1 -0
- package/build/esm/test/filters.d.ts +1 -0
- package/build/esm/test/filters.js +187 -0
- package/build/esm/test/filters.js.map +1 -0
- 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.d.ts +1 -0
- package/build/esm/test/index.js +33 -0
- package/build/esm/test/index.js.map +1 -0
- package/build/esm/test/query_scan.d.ts +1 -0
- package/build/esm/test/query_scan.js +192 -0
- package/build/esm/test/query_scan.js.map +1 -0
- package/build/esm/test/relations.d.ts +1 -0
- package/build/esm/test/relations.js +243 -0
- package/build/esm/test/relations.js.map +1 -0
- package/build/esm/test/transactions.d.ts +1 -0
- package/build/esm/test/transactions.js +142 -0
- package/build/esm/test/transactions.js.map +1 -0
- package/build/esm/utils/relations.d.ts +42 -0
- package/build/esm/utils/relations.js +207 -0
- package/build/esm/utils/relations.js.map +1 -0
- package/build/esm/utils/ulid.d.ts +10 -0
- package/build/esm/utils/ulid.js +52 -0
- package/build/esm/utils/ulid.js.map +1 -0
- package/package.json +31 -9
- package/src/core/client.js +0 -296
- package/src/core/decorator.d.ts +0 -29
- package/src/core/decorator.js +0 -103
- package/src/core/table.d.ts +0 -81
- package/src/core/table.js +0 -892
- package/src/decorators/indexes.d.ts +0 -38
- package/src/decorators/indexes.js +0 -59
- package/src/decorators/timestamps.d.ts +0 -54
- package/src/decorators/timestamps.js +0 -72
- package/src/decorators/transforms.d.ts +0 -99
- package/src/decorators/transforms.js +0 -166
- package/src/index.test.js +0 -37
- /package/{src → build/cjs}/@types/index.js +0 -0
- /package/{src/index.test.d.ts → build/cjs/test/index.d.ts} +0 -0
- /package/{src → build/cjs}/utils/relations.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/core/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file hooks.ts
|
|
3
|
+
* @description Lifecycle hook decorators: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
4
|
+
* @description Decoradores de hooks de ciclo de vida: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @description Runs before the record is created (opt-in via { hook: true }). `this` is the instance and may be mutated.
|
|
8
|
+
* @description Se ejecuta antes de crear el registro (opt-in con { hook: true }). `this` es la instancia y puede mutarse.
|
|
9
|
+
*/
|
|
10
|
+
export declare const BeforeCreate: () => (target: any, property_key: string | symbol) => void;
|
|
11
|
+
/**
|
|
12
|
+
* @description Runs after the record is created (opt-in via { hook: true }). `this` is the persisted instance.
|
|
13
|
+
* @description Se ejecuta después de crear el registro (opt-in con { hook: true }). `this` es la instancia persistida.
|
|
14
|
+
*/
|
|
15
|
+
export declare const AfterCreate: () => (target: any, property_key: string | symbol) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @description Runs before the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
18
|
+
* @description Se ejecuta antes de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
19
|
+
*/
|
|
20
|
+
export declare const BeforeUpdate: () => (target: any, property_key: string | symbol) => void;
|
|
21
|
+
/**
|
|
22
|
+
* @description Runs after the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
23
|
+
* @description Se ejecuta después de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
24
|
+
*/
|
|
25
|
+
export declare const AfterUpdate: () => (target: any, property_key: string | symbol) => void;
|
|
26
|
+
/**
|
|
27
|
+
* @description Runs before the record is destroyed (opt-in via { hook: true }). `this` is the instance to remove.
|
|
28
|
+
* @description Se ejecuta antes de eliminar el registro (opt-in con { hook: true }). `this` es la instancia a eliminar.
|
|
29
|
+
*/
|
|
30
|
+
export declare const BeforeDestroy: () => (target: any, property_key: string | symbol) => void;
|
|
31
|
+
/**
|
|
32
|
+
* @description Runs after the record is destroyed (opt-in via { hook: true }). `this` is the removed instance.
|
|
33
|
+
* @description Se ejecuta después de eliminar el registro (opt-in con { hook: true }). `this` es la instancia eliminada.
|
|
34
|
+
*/
|
|
35
|
+
export declare const AfterDestroy: () => (target: any, property_key: string | symbol) => void;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file hooks.ts
|
|
4
|
+
* @description Lifecycle hook decorators: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
5
|
+
* @description Decoradores de hooks de ciclo de vida: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.AfterDestroy = exports.BeforeDestroy = exports.AfterUpdate = exports.BeforeUpdate = exports.AfterCreate = exports.BeforeCreate = void 0;
|
|
9
|
+
const decorator_1 = require("../core/decorator");
|
|
10
|
+
/**
|
|
11
|
+
* @description Builds a method decorator that registers the method as a lifecycle hook of the given type.
|
|
12
|
+
* @description Construye un decorador de método que registra el método como hook de ciclo de vida del tipo dado.
|
|
13
|
+
* @param type Lifecycle hook type / Tipo de hook de ciclo de vida
|
|
14
|
+
*/
|
|
15
|
+
function hook(type) {
|
|
16
|
+
return () => (target, property_key) => {
|
|
17
|
+
(0, decorator_1.getSchema)(target.constructor).hooks[type].push(String(property_key));
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @description Runs before the record is created (opt-in via { hook: true }). `this` is the instance and may be mutated.
|
|
22
|
+
* @description Se ejecuta antes de crear el registro (opt-in con { hook: true }). `this` es la instancia y puede mutarse.
|
|
23
|
+
*/
|
|
24
|
+
exports.BeforeCreate = hook('beforeCreate');
|
|
25
|
+
/**
|
|
26
|
+
* @description Runs after the record is created (opt-in via { hook: true }). `this` is the persisted instance.
|
|
27
|
+
* @description Se ejecuta después de crear el registro (opt-in con { hook: true }). `this` es la instancia persistida.
|
|
28
|
+
*/
|
|
29
|
+
exports.AfterCreate = hook('afterCreate');
|
|
30
|
+
/**
|
|
31
|
+
* @description Runs before the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
32
|
+
* @description Se ejecuta antes de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
33
|
+
*/
|
|
34
|
+
exports.BeforeUpdate = hook('beforeUpdate');
|
|
35
|
+
/**
|
|
36
|
+
* @description Runs after the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
37
|
+
* @description Se ejecuta después de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
38
|
+
*/
|
|
39
|
+
exports.AfterUpdate = hook('afterUpdate');
|
|
40
|
+
/**
|
|
41
|
+
* @description Runs before the record is destroyed (opt-in via { hook: true }). `this` is the instance to remove.
|
|
42
|
+
* @description Se ejecuta antes de eliminar el registro (opt-in con { hook: true }). `this` es la instancia a eliminar.
|
|
43
|
+
*/
|
|
44
|
+
exports.BeforeDestroy = hook('beforeDestroy');
|
|
45
|
+
/**
|
|
46
|
+
* @description Runs after the record is destroyed (opt-in via { hook: true }). `this` is the removed instance.
|
|
47
|
+
* @description Se ejecuta después de eliminar el registro (opt-in con { hook: true }). `this` es la instancia eliminada.
|
|
48
|
+
*/
|
|
49
|
+
exports.AfterDestroy = hook('afterDestroy');
|
|
50
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/decorators/hooks.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAA8C;AAG9C;;;;GAIG;AACH,SAAS,IAAI,CAAC,IAAc;IAC1B,OAAO,GAAG,EAAE,CAAC,CAAC,MAAW,EAAE,YAA6B,EAAQ,EAAE;QAChE,IAAA,qBAAS,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;AAEjD;;;GAGG;AACU,QAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAE/C;;;GAGG;AACU,QAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;AAEjD;;;GAGG;AACU,QAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAE/C;;;GAGG;AACU,QAAA,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;AAEnD;;;GAGG;AACU,QAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file indexes.ts
|
|
3
|
+
* @description Index decorators: @Index, @IndexSort, @PrimaryKey
|
|
4
|
+
* @description Decoradores de índices: @Index, @IndexSort, @PrimaryKey
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @description Marks a property as Partition Key for a GSI
|
|
8
|
+
* @description Marca una propiedad como Partition Key de un GSI
|
|
9
|
+
*/
|
|
10
|
+
export declare const Index: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
11
|
+
/**
|
|
12
|
+
* @description Marks a property as Sort Key
|
|
13
|
+
* @description Marca una propiedad como Sort Key
|
|
14
|
+
*/
|
|
15
|
+
export declare const IndexSort: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @description Primary key: Default(ulid) + NotNull + ULID validation + Index + IndexSort
|
|
18
|
+
* @description Clave primaria: Default(ulid) + NotNull + validación ULID + Index + IndexSort
|
|
19
|
+
*/
|
|
20
|
+
export declare const PrimaryKey: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file indexes.ts
|
|
4
|
+
* @description Index decorators: @Index, @IndexSort, @PrimaryKey
|
|
5
|
+
* @description Decoradores de índices: @Index, @IndexSort, @PrimaryKey
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.PrimaryKey = exports.IndexSort = exports.Index = void 0;
|
|
9
|
+
const decorator_1 = require("../core/decorator");
|
|
10
|
+
const ulid_1 = require("../utils/ulid");
|
|
11
|
+
const ULID_RE = /^[0-9A-HJKMNP-TV-Z]{26}$/;
|
|
12
|
+
/**
|
|
13
|
+
* @description Marks a property as Partition Key for a GSI
|
|
14
|
+
* @description Marca una propiedad como Partition Key de un GSI
|
|
15
|
+
*/
|
|
16
|
+
exports.Index = (0, decorator_1.decorator)((_schema, col) => {
|
|
17
|
+
col.store.index = true;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* @description Marks a property as Sort Key
|
|
21
|
+
* @description Marca una propiedad como Sort Key
|
|
22
|
+
*/
|
|
23
|
+
exports.IndexSort = (0, decorator_1.decorator)((_schema, col) => {
|
|
24
|
+
col.store.indexSort = true;
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* @description Primary key: Default(ulid) + NotNull + ULID validation + Index + IndexSort
|
|
28
|
+
* @description Clave primaria: Default(ulid) + NotNull + validación ULID + Index + IndexSort
|
|
29
|
+
*/
|
|
30
|
+
exports.PrimaryKey = (0, decorator_1.decorator)((table_class, col) => {
|
|
31
|
+
const schema = table_class[decorator_1.SCHEMA];
|
|
32
|
+
// Metadata: Index + primaryKey (IndexSort only when separate SK exists)
|
|
33
|
+
col.store.index = true;
|
|
34
|
+
col.store.primaryKey = true;
|
|
35
|
+
schema.primary_key = col.name;
|
|
36
|
+
// Set pipeline: immutable after first assignment, Default(ulid), validate ULID format
|
|
37
|
+
col.set.push((next, current) => {
|
|
38
|
+
const value = current ?? next ?? (0, ulid_1.ulid)();
|
|
39
|
+
if (typeof value !== 'string' || !ULID_RE.test(value)) {
|
|
40
|
+
throw new Error(`Invalid ULID for ${col.name}: '${value}'`);
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../src/decorators/indexes.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAAsD;AACtD,wCAAqC;AAErC,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAE3C;;;GAGG;AACU,QAAA,KAAK,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,SAAS,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAClD,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,MAAM,GAAI,WAAmB,CAAC,kBAAM,CAAC,CAAC;IAE5C,wEAAwE;IACxE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;IAE9B,sFAAsF;IACtF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,IAAI,IAAA,WAAI,GAAE,CAAC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -37,18 +37,19 @@ export declare const HasMany: (...params: any[]) => (target: any, propertyKey: s
|
|
|
37
37
|
*/
|
|
38
38
|
export declare const HasOne: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
39
39
|
/**
|
|
40
|
-
* @description
|
|
41
|
-
* @
|
|
42
|
-
* @param
|
|
43
|
-
* @param foreignKey
|
|
40
|
+
* @description Many-to-one relation (N:1)
|
|
41
|
+
* @description Relación muchos a uno (N:1)
|
|
42
|
+
* @param model () => RelatedClass
|
|
43
|
+
* @param foreignKey Key in the related model (default 'id')
|
|
44
|
+
* @param localKey Key in the current model that references the parent
|
|
44
45
|
* @example
|
|
45
46
|
* ```typescript
|
|
46
47
|
* class Post extends Table<Post> {
|
|
47
48
|
* @PrimaryKey() id: string;
|
|
48
|
-
* id_user: string;
|
|
49
|
+
* @Default('') id_user: string;
|
|
49
50
|
*
|
|
50
|
-
* @BelongsTo(() => User, '
|
|
51
|
-
* declare author:
|
|
51
|
+
* @BelongsTo(() => User, 'id', 'id_user')
|
|
52
|
+
* declare author: NonAttribute<User>;
|
|
52
53
|
* }
|
|
53
54
|
* ```
|
|
54
55
|
*/
|
|
@@ -57,23 +57,24 @@ exports.HasOne = (0, decorator_1.decorator)((_schema, col, params) => {
|
|
|
57
57
|
};
|
|
58
58
|
});
|
|
59
59
|
/**
|
|
60
|
-
* @description
|
|
61
|
-
* @
|
|
62
|
-
* @param
|
|
63
|
-
* @param foreignKey
|
|
60
|
+
* @description Many-to-one relation (N:1)
|
|
61
|
+
* @description Relación muchos a uno (N:1)
|
|
62
|
+
* @param model () => RelatedClass
|
|
63
|
+
* @param foreignKey Key in the related model (default 'id')
|
|
64
|
+
* @param localKey Key in the current model that references the parent
|
|
64
65
|
* @example
|
|
65
66
|
* ```typescript
|
|
66
67
|
* class Post extends Table<Post> {
|
|
67
68
|
* @PrimaryKey() id: string;
|
|
68
|
-
* id_user: string;
|
|
69
|
+
* @Default('') id_user: string;
|
|
69
70
|
*
|
|
70
|
-
* @BelongsTo(() => User, '
|
|
71
|
-
* declare author:
|
|
71
|
+
* @BelongsTo(() => User, 'id', 'id_user')
|
|
72
|
+
* declare author: NonAttribute<User>;
|
|
72
73
|
* }
|
|
73
74
|
* ```
|
|
74
75
|
*/
|
|
75
76
|
exports.BelongsTo = (0, decorator_1.decorator)((_schema, col, params) => {
|
|
76
|
-
const [model,
|
|
77
|
+
const [model, foreignKey = 'id', localKey = 'id'] = params;
|
|
77
78
|
col.store.relation = {
|
|
78
79
|
type: 'BelongsTo',
|
|
79
80
|
model,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../src/decorators/relations.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iDAA8C;AAE9C;;;;;;;;;;;;;;GAcG;AACU,QAAA,OAAO,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACxD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG;QACnB,IAAI,EAAE,SAAS;QACf,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACU,QAAA,MAAM,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACvD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,SAAS,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC1D,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAC3D,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG;QACnB,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3D,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAC9F,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK;QACL,UAAU;QACV,UAAU;QACV,UAAU;QACV,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file timestamps.ts
|
|
3
|
+
* @description Timestamp decorators: @CreatedAt, @UpdatedAt, @DeleteAt
|
|
4
|
+
* @description Decoradores de timestamps: @CreatedAt, @UpdatedAt, @DeleteAt
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @description Auto-sets creation timestamp. Default + immutable after first assignment.
|
|
8
|
+
* @description Timestamp de creación automático. Default + inmutable tras primera asignación.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CreatedAt: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
11
|
+
/**
|
|
12
|
+
* @description Auto-updates timestamp on every write. Always overwrites.
|
|
13
|
+
* @description Timestamp que se actualiza en cada escritura. Siempre sobreescribe.
|
|
14
|
+
*/
|
|
15
|
+
export declare const UpdatedAt: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @description Marks column as soft delete flag. Used by destroy() and where().
|
|
18
|
+
* @description Marca columna como flag de soft delete. Usado por destroy() y where().
|
|
19
|
+
*/
|
|
20
|
+
export declare const DeleteAt: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file timestamps.ts
|
|
4
|
+
* @description Timestamp decorators: @CreatedAt, @UpdatedAt, @DeleteAt
|
|
5
|
+
* @description Decoradores de timestamps: @CreatedAt, @UpdatedAt, @DeleteAt
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.DeleteAt = exports.UpdatedAt = exports.CreatedAt = void 0;
|
|
9
|
+
const decorator_1 = require("../core/decorator");
|
|
10
|
+
/**
|
|
11
|
+
* @description Auto-sets creation timestamp. Default + immutable after first assignment.
|
|
12
|
+
* @description Timestamp de creación automático. Default + inmutable tras primera asignación.
|
|
13
|
+
*/
|
|
14
|
+
exports.CreatedAt = (0, decorator_1.decorator)((_schema, col) => {
|
|
15
|
+
col.store.createdAt = true;
|
|
16
|
+
// Default in set: assigns now() when nullish. Preserves existing value (immutable).
|
|
17
|
+
col.set.push((next, current) => current ?? next ?? new Date().toISOString());
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* @description Auto-updates timestamp on every write. Always overwrites.
|
|
21
|
+
* @description Timestamp que se actualiza en cada escritura. Siempre sobreescribe.
|
|
22
|
+
*/
|
|
23
|
+
exports.UpdatedAt = (0, decorator_1.decorator)((_schema, col) => {
|
|
24
|
+
col.store.updatedAt = true;
|
|
25
|
+
col.set.push((next) => next ?? new Date().toISOString());
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* @description Marks column as soft delete flag. Used by destroy() and where().
|
|
29
|
+
* @description Marca columna como flag de soft delete. Usado por destroy() y where().
|
|
30
|
+
*/
|
|
31
|
+
exports.DeleteAt = (0, decorator_1.decorator)((_schema, col) => {
|
|
32
|
+
col.store.softDelete = true;
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=timestamps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../../../src/decorators/timestamps.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAA8C;AAE9C;;;GAGG;AACU,QAAA,SAAS,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAClD,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC3B,oFAAoF;IACpF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,SAAS,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAClD,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,QAAQ,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IACjD,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file transforms.ts
|
|
3
|
+
* @description Primitive decorators: @Get, @Set, @Validate. Composed: @Default, @NotNull, @Name
|
|
4
|
+
* @description Decoradores primitivos: @Get, @Set, @Validate. Compuestos: @Default, @NotNull, @Name
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @description Output pipeline -- transforms value on read
|
|
8
|
+
* @description Pipeline de salida -- transforma el valor al leer
|
|
9
|
+
* @param fn (current) => any
|
|
10
|
+
*/
|
|
11
|
+
export declare const Get: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
12
|
+
/**
|
|
13
|
+
* @description Input pipeline -- transforms value on write
|
|
14
|
+
* @description Pipeline de entrada -- transforma el valor al escribir
|
|
15
|
+
* @param fn (next, current) => any
|
|
16
|
+
*/
|
|
17
|
+
export declare const Set: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
18
|
+
/**
|
|
19
|
+
* @description Validates value on write. Returns true to pass, or string as error message.
|
|
20
|
+
* @description Valida valor al escribir. Retorna true para pasar, o string como mensaje de error.
|
|
21
|
+
* @param validators (next, current) => true | string
|
|
22
|
+
*/
|
|
23
|
+
export declare const Validate: (...params: any[]) => (target: any, propertyKey: string | symbol) => void;
|
|
24
|
+
/**
|
|
25
|
+
* @description Assigns default value when nullish. Lives in set pipeline.
|
|
26
|
+
* @description Asigna valor default cuando es nullish. Vive en el set pipeline.
|
|
27
|
+
* @param val Static value or () => value
|
|
28
|
+
*/
|
|
29
|
+
export declare const Default: (val: any) => (target: any, propertyKey: string | symbol) => void;
|
|
30
|
+
/**
|
|
31
|
+
* @description Rejects null, undefined, and empty string. Composed from @Validate.
|
|
32
|
+
* @description Rechaza null, undefined y string vacío. Compuesto desde @Validate.
|
|
33
|
+
* @param msg Optional error message
|
|
34
|
+
*/
|
|
35
|
+
export declare const NotNull: (msg?: string) => (target: any, propertyKey: string | symbol) => void;
|
|
36
|
+
/**
|
|
37
|
+
* @description Renames table (on class) or column (on property)
|
|
38
|
+
* @description Renombra tabla (en clase) o columna (en propiedad)
|
|
39
|
+
* @param label Custom name
|
|
40
|
+
*/
|
|
41
|
+
export declare function Name(label: string): ClassDecorator & PropertyDecorator;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file transforms.ts
|
|
4
|
+
* @description Primitive decorators: @Get, @Set, @Validate. Composed: @Default, @NotNull, @Name
|
|
5
|
+
* @description Decoradores primitivos: @Get, @Set, @Validate. Compuestos: @Default, @NotNull, @Name
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.NotNull = exports.Default = exports.Validate = exports.Set = exports.Get = void 0;
|
|
9
|
+
exports.Name = Name;
|
|
10
|
+
const decorator_1 = require("../core/decorator");
|
|
11
|
+
/**
|
|
12
|
+
* @description Output pipeline -- transforms value on read
|
|
13
|
+
* @description Pipeline de salida -- transforma el valor al leer
|
|
14
|
+
* @param fn (current) => any
|
|
15
|
+
*/
|
|
16
|
+
exports.Get = (0, decorator_1.decorator)((_schema, col, params) => {
|
|
17
|
+
col.get.push(params[0]);
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* @description Input pipeline -- transforms value on write
|
|
21
|
+
* @description Pipeline de entrada -- transforma el valor al escribir
|
|
22
|
+
* @param fn (next, current) => any
|
|
23
|
+
*/
|
|
24
|
+
exports.Set = (0, decorator_1.decorator)((_schema, col, params) => {
|
|
25
|
+
col.set.push(params[0]);
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* @description Validates value on write. Returns true to pass, or string as error message.
|
|
29
|
+
* @description Valida valor al escribir. Retorna true para pasar, o string como mensaje de error.
|
|
30
|
+
* @param validators (next, current) => true | string
|
|
31
|
+
*/
|
|
32
|
+
exports.Validate = (0, decorator_1.decorator)((_schema, col, params) => {
|
|
33
|
+
const validators = params[0];
|
|
34
|
+
const list = Array.isArray(validators) ? validators : [validators];
|
|
35
|
+
if (!list.length || list.some((v) => typeof v !== 'function')) {
|
|
36
|
+
throw new TypeError('@Validate requires functions');
|
|
37
|
+
}
|
|
38
|
+
col.set.push((next, current) => {
|
|
39
|
+
for (const fn of list) {
|
|
40
|
+
const result = fn(next, current);
|
|
41
|
+
if (result !== true) {
|
|
42
|
+
throw new Error(typeof result === 'string' ? result : `Validation failed for '${col.name}'`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return next;
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* @description Assigns default value when nullish. Lives in set pipeline.
|
|
50
|
+
* @description Asigna valor default cuando es nullish. Vive en el set pipeline.
|
|
51
|
+
* @param val Static value or () => value
|
|
52
|
+
*/
|
|
53
|
+
const Default = (val) => {
|
|
54
|
+
const fn = typeof val === 'function'
|
|
55
|
+
? (next) => next ?? val()
|
|
56
|
+
: (next) => next ?? val;
|
|
57
|
+
return (0, exports.Set)(fn);
|
|
58
|
+
};
|
|
59
|
+
exports.Default = Default;
|
|
60
|
+
/**
|
|
61
|
+
* @description Rejects null, undefined, and empty string. Composed from @Validate.
|
|
62
|
+
* @description Rechaza null, undefined y string vacío. Compuesto desde @Validate.
|
|
63
|
+
* @param msg Optional error message
|
|
64
|
+
*/
|
|
65
|
+
const NotNull = (msg) => {
|
|
66
|
+
return (0, exports.Validate)((next) => {
|
|
67
|
+
if (next === null || next === undefined || (typeof next === 'string' && next.trim() === '')) {
|
|
68
|
+
return typeof msg === 'string' ? msg : false;
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
exports.NotNull = NotNull;
|
|
74
|
+
/**
|
|
75
|
+
* @description Renames table (on class) or column (on property)
|
|
76
|
+
* @description Renombra tabla (en clase) o columna (en propiedad)
|
|
77
|
+
* @param label Custom name
|
|
78
|
+
*/
|
|
79
|
+
function Name(label) {
|
|
80
|
+
if (!label || typeof label !== 'string') {
|
|
81
|
+
throw new TypeError('@Name requires a non-empty string');
|
|
82
|
+
}
|
|
83
|
+
return (target, prop) => {
|
|
84
|
+
const ctor = prop === undefined ? target : target.constructor;
|
|
85
|
+
const schema = (0, decorator_1.getSchema)(ctor);
|
|
86
|
+
if (prop === undefined) {
|
|
87
|
+
schema.name = label;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const key = String(prop);
|
|
91
|
+
if (!schema.columns[key]) {
|
|
92
|
+
schema.columns[key] = { name: key, get: [], set: [], store: {} };
|
|
93
|
+
}
|
|
94
|
+
schema.columns[key].name = label;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=transforms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../src/decorators/transforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { Dynamite } from "./core/client";
|
|
8
8
|
export { default as Table } from "./core/table";
|
|
9
|
-
export { decorator,
|
|
9
|
+
export { decorator, SCHEMA } from "./core/decorator";
|
|
10
|
+
export type { Schema } from "./core/decorator";
|
|
10
11
|
export { Index, IndexSort, PrimaryKey } from "./decorators/indexes";
|
|
11
12
|
export { CreatedAt, UpdatedAt, DeleteAt } from "./decorators/timestamps";
|
|
12
|
-
export {
|
|
13
|
+
export { Get, Set, Validate, Default, NotNull, Name } from "./decorators/transforms";
|
|
13
14
|
export { HasMany, BelongsTo, HasOne, ManyToMany } from "./decorators/relations";
|
|
14
|
-
export
|
|
15
|
+
export { BeforeCreate, AfterCreate, BeforeUpdate, AfterUpdate, BeforeDestroy, AfterDestroy, } from "./decorators/hooks";
|
|
16
|
+
export type { MutationOptions, HookFn } from "./core/table";
|
|
17
|
+
export type { NonAttribute, CreationOptional, InferAttributes, InferRelations, WhereOptions, QueryOperator, CreateInput, UpdateInput, PickRelations, PickByType, } from "./@types/index";
|
|
18
|
+
export { ulid } from "./utils/ulid";
|
|
15
19
|
export { TransactionContext } from "./core/client";
|
|
@@ -9,7 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TransactionContext = exports.
|
|
12
|
+
exports.TransactionContext = exports.ulid = exports.AfterDestroy = exports.BeforeDestroy = exports.AfterUpdate = exports.BeforeUpdate = exports.AfterCreate = exports.BeforeCreate = exports.ManyToMany = exports.HasOne = exports.BelongsTo = exports.HasMany = exports.Name = exports.NotNull = exports.Default = exports.Validate = exports.Set = exports.Get = exports.DeleteAt = exports.UpdatedAt = exports.CreatedAt = exports.PrimaryKey = exports.IndexSort = exports.Index = exports.SCHEMA = exports.decorator = exports.Table = exports.Dynamite = void 0;
|
|
13
13
|
// Clases núcleo
|
|
14
14
|
var client_1 = require("./core/client");
|
|
15
15
|
Object.defineProperty(exports, "Dynamite", { enumerable: true, get: function () { return client_1.Dynamite; } });
|
|
@@ -18,7 +18,6 @@ Object.defineProperty(exports, "Table", { enumerable: true, get: function () { r
|
|
|
18
18
|
// Factory para crear decoradores personalizados
|
|
19
19
|
var decorator_1 = require("./core/decorator");
|
|
20
20
|
Object.defineProperty(exports, "decorator", { enumerable: true, get: function () { return decorator_1.decorator; } });
|
|
21
|
-
Object.defineProperty(exports, "relationDecorator", { enumerable: true, get: function () { return decorator_1.relationDecorator; } });
|
|
22
21
|
Object.defineProperty(exports, "SCHEMA", { enumerable: true, get: function () { return decorator_1.SCHEMA; } });
|
|
23
22
|
// Decoradores - Índices
|
|
24
23
|
var indexes_1 = require("./decorators/indexes");
|
|
@@ -32,19 +31,29 @@ Object.defineProperty(exports, "UpdatedAt", { enumerable: true, get: function ()
|
|
|
32
31
|
Object.defineProperty(exports, "DeleteAt", { enumerable: true, get: function () { return timestamps_1.DeleteAt; } });
|
|
33
32
|
// Decoradores - Transformación
|
|
34
33
|
var transforms_1 = require("./decorators/transforms");
|
|
35
|
-
Object.defineProperty(exports, "
|
|
36
|
-
Object.defineProperty(exports, "
|
|
34
|
+
Object.defineProperty(exports, "Get", { enumerable: true, get: function () { return transforms_1.Get; } });
|
|
35
|
+
Object.defineProperty(exports, "Set", { enumerable: true, get: function () { return transforms_1.Set; } });
|
|
37
36
|
Object.defineProperty(exports, "Validate", { enumerable: true, get: function () { return transforms_1.Validate; } });
|
|
38
|
-
Object.defineProperty(exports, "
|
|
37
|
+
Object.defineProperty(exports, "Default", { enumerable: true, get: function () { return transforms_1.Default; } });
|
|
39
38
|
Object.defineProperty(exports, "NotNull", { enumerable: true, get: function () { return transforms_1.NotNull; } });
|
|
40
39
|
Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return transforms_1.Name; } });
|
|
41
|
-
Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return transforms_1.Column; } });
|
|
42
40
|
// Decoradores - Relaciones
|
|
43
41
|
var relations_1 = require("./decorators/relations");
|
|
44
42
|
Object.defineProperty(exports, "HasMany", { enumerable: true, get: function () { return relations_1.HasMany; } });
|
|
45
43
|
Object.defineProperty(exports, "BelongsTo", { enumerable: true, get: function () { return relations_1.BelongsTo; } });
|
|
46
44
|
Object.defineProperty(exports, "HasOne", { enumerable: true, get: function () { return relations_1.HasOne; } });
|
|
47
45
|
Object.defineProperty(exports, "ManyToMany", { enumerable: true, get: function () { return relations_1.ManyToMany; } });
|
|
46
|
+
// Decoradores - Hooks de ciclo de vida
|
|
47
|
+
var hooks_1 = require("./decorators/hooks");
|
|
48
|
+
Object.defineProperty(exports, "BeforeCreate", { enumerable: true, get: function () { return hooks_1.BeforeCreate; } });
|
|
49
|
+
Object.defineProperty(exports, "AfterCreate", { enumerable: true, get: function () { return hooks_1.AfterCreate; } });
|
|
50
|
+
Object.defineProperty(exports, "BeforeUpdate", { enumerable: true, get: function () { return hooks_1.BeforeUpdate; } });
|
|
51
|
+
Object.defineProperty(exports, "AfterUpdate", { enumerable: true, get: function () { return hooks_1.AfterUpdate; } });
|
|
52
|
+
Object.defineProperty(exports, "BeforeDestroy", { enumerable: true, get: function () { return hooks_1.BeforeDestroy; } });
|
|
53
|
+
Object.defineProperty(exports, "AfterDestroy", { enumerable: true, get: function () { return hooks_1.AfterDestroy; } });
|
|
54
|
+
// Utilidades
|
|
55
|
+
var ulid_1 = require("./utils/ulid");
|
|
56
|
+
Object.defineProperty(exports, "ulid", { enumerable: true, get: function () { return ulid_1.ulid; } });
|
|
48
57
|
// Re-exportar TransactionContext para compatibilidad
|
|
49
58
|
var client_2 = require("./core/client");
|
|
50
59
|
Object.defineProperty(exports, "TransactionContext", { enumerable: true, get: function () { return client_2.TransactionContext; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,gBAAgB;AAChB,wCAAyC;AAAhC,kGAAA,QAAQ,OAAA;AACjB,sCAAgD;AAAvC,+GAAA,OAAO,OAAS;AAEzB,gDAAgD;AAChD,8CAAqD;AAA5C,sGAAA,SAAS,OAAA;AAAE,mGAAA,MAAM,OAAA;AAK1B,wBAAwB;AACxB,gDAAoE;AAA3D,gGAAA,KAAK,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,qGAAA,UAAU,OAAA;AAErC,2BAA2B;AAC3B,sDAAyE;AAAhE,uGAAA,SAAS,OAAA;AAAE,uGAAA,SAAS,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAEvC,+BAA+B;AAC/B,sDAAqF;AAA5E,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,qGAAA,OAAO,OAAA;AAAE,kGAAA,IAAI,OAAA;AAEnD,2BAA2B;AAC3B,oDAAgF;AAAvE,oGAAA,OAAO,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE/C,uCAAuC;AACvC,4CAI4B;AAH1B,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AACzB,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AACzB,sGAAA,aAAa,OAAA;AAAE,qGAAA,YAAY,OAAA;AA2B7B,aAAa;AACb,qCAAoC;AAA3B,4FAAA,IAAI,OAAA;AAEb,qDAAqD;AACrD,wCAAmD;AAA1C,4GAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function basic(): Promise<number>;
|