@arcaelas/dynamite 1.0.25 → 2.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.
Files changed (129) hide show
  1. package/README.md +13 -13
  2. package/{src → build/cjs}/@types/index.d.ts +26 -1
  3. package/build/cjs/@types/index.js.map +1 -0
  4. package/{src → build/cjs}/core/client.d.ts +22 -19
  5. package/build/cjs/core/client.js +384 -0
  6. package/build/cjs/core/client.js.map +1 -0
  7. package/build/cjs/core/decorator.d.ts +38 -0
  8. package/build/cjs/core/decorator.js +38 -0
  9. package/build/cjs/core/decorator.js.map +1 -0
  10. package/build/cjs/core/table.d.ts +55 -0
  11. package/build/cjs/core/table.js +851 -0
  12. package/build/cjs/core/table.js.map +1 -0
  13. package/build/cjs/decorators/indexes.d.ts +20 -0
  14. package/build/cjs/decorators/indexes.js +45 -0
  15. package/build/cjs/decorators/indexes.js.map +1 -0
  16. package/{src → build/cjs}/decorators/relations.d.ts +8 -7
  17. package/{src → build/cjs}/decorators/relations.js +9 -8
  18. package/build/cjs/decorators/relations.js.map +1 -0
  19. package/build/cjs/decorators/timestamps.d.ts +20 -0
  20. package/build/cjs/decorators/timestamps.js +34 -0
  21. package/build/cjs/decorators/timestamps.js.map +1 -0
  22. package/build/cjs/decorators/transforms.d.ts +41 -0
  23. package/build/cjs/decorators/transforms.js +98 -0
  24. package/build/cjs/decorators/transforms.js.map +1 -0
  25. package/{src → build/cjs}/index.d.ts +5 -3
  26. package/{src → build/cjs}/index.js +7 -6
  27. package/build/cjs/index.js.map +1 -0
  28. package/build/cjs/package.json +1 -0
  29. package/build/cjs/test/basic.d.ts +1 -0
  30. package/build/cjs/test/basic.js +248 -0
  31. package/build/cjs/test/basic.js.map +1 -0
  32. package/build/cjs/test/bulk.d.ts +1 -0
  33. package/build/cjs/test/bulk.js +108 -0
  34. package/build/cjs/test/bulk.js.map +1 -0
  35. package/build/cjs/test/contracts.d.ts +1 -0
  36. package/build/cjs/test/contracts.js +343 -0
  37. package/build/cjs/test/contracts.js.map +1 -0
  38. package/build/cjs/test/filters.d.ts +1 -0
  39. package/build/cjs/test/filters.js +190 -0
  40. package/build/cjs/test/filters.js.map +1 -0
  41. package/build/cjs/test/index.d.ts +1 -0
  42. package/build/cjs/test/index.js +36 -0
  43. package/build/cjs/test/index.js.map +1 -0
  44. package/build/cjs/test/query_scan.d.ts +1 -0
  45. package/build/cjs/test/query_scan.js +195 -0
  46. package/build/cjs/test/query_scan.js.map +1 -0
  47. package/build/cjs/test/relations.d.ts +1 -0
  48. package/build/cjs/test/relations.js +246 -0
  49. package/build/cjs/test/relations.js.map +1 -0
  50. package/build/cjs/test/transactions.d.ts +1 -0
  51. package/build/cjs/test/transactions.js +145 -0
  52. package/build/cjs/test/transactions.js.map +1 -0
  53. package/{src → build/cjs}/utils/relations.d.ts +1 -0
  54. package/{src → build/cjs}/utils/relations.js +5 -10
  55. package/build/cjs/utils/relations.js.map +1 -0
  56. package/build/cjs/utils/ulid.d.ts +10 -0
  57. package/build/cjs/utils/ulid.js +55 -0
  58. package/build/cjs/utils/ulid.js.map +1 -0
  59. package/build/esm/@types/index.d.ts +213 -0
  60. package/build/esm/@types/index.js +8 -0
  61. package/build/esm/@types/index.js.map +1 -0
  62. package/build/esm/core/client.d.ts +96 -0
  63. package/build/esm/core/client.js +375 -0
  64. package/build/esm/core/client.js.map +1 -0
  65. package/build/esm/core/decorator.d.ts +38 -0
  66. package/build/esm/core/decorator.js +34 -0
  67. package/build/esm/core/decorator.js.map +1 -0
  68. package/build/esm/core/table.d.ts +55 -0
  69. package/build/esm/core/table.js +848 -0
  70. package/build/esm/core/table.js.map +1 -0
  71. package/build/esm/decorators/indexes.d.ts +20 -0
  72. package/build/esm/decorators/indexes.js +42 -0
  73. package/build/esm/decorators/indexes.js.map +1 -0
  74. package/build/esm/decorators/relations.d.ts +75 -0
  75. package/build/esm/decorators/relations.js +112 -0
  76. package/build/esm/decorators/relations.js.map +1 -0
  77. package/build/esm/decorators/timestamps.d.ts +20 -0
  78. package/build/esm/decorators/timestamps.js +31 -0
  79. package/build/esm/decorators/timestamps.js.map +1 -0
  80. package/build/esm/decorators/transforms.d.ts +41 -0
  81. package/build/esm/decorators/transforms.js +92 -0
  82. package/build/esm/decorators/transforms.js.map +1 -0
  83. package/build/esm/index.d.ts +17 -0
  84. package/build/esm/index.js +24 -0
  85. package/build/esm/index.js.map +1 -0
  86. package/build/esm/package.json +1 -0
  87. package/build/esm/test/basic.d.ts +1 -0
  88. package/build/esm/test/basic.js +245 -0
  89. package/build/esm/test/basic.js.map +1 -0
  90. package/build/esm/test/bulk.d.ts +1 -0
  91. package/build/esm/test/bulk.js +105 -0
  92. package/build/esm/test/bulk.js.map +1 -0
  93. package/build/esm/test/contracts.d.ts +1 -0
  94. package/build/esm/test/contracts.js +340 -0
  95. package/build/esm/test/contracts.js.map +1 -0
  96. package/build/esm/test/filters.d.ts +1 -0
  97. package/build/esm/test/filters.js +187 -0
  98. package/build/esm/test/filters.js.map +1 -0
  99. package/build/esm/test/index.d.ts +1 -0
  100. package/build/esm/test/index.js +31 -0
  101. package/build/esm/test/index.js.map +1 -0
  102. package/build/esm/test/query_scan.d.ts +1 -0
  103. package/build/esm/test/query_scan.js +192 -0
  104. package/build/esm/test/query_scan.js.map +1 -0
  105. package/build/esm/test/relations.d.ts +1 -0
  106. package/build/esm/test/relations.js +243 -0
  107. package/build/esm/test/relations.js.map +1 -0
  108. package/build/esm/test/transactions.d.ts +1 -0
  109. package/build/esm/test/transactions.js +142 -0
  110. package/build/esm/test/transactions.js.map +1 -0
  111. package/build/esm/utils/relations.d.ts +42 -0
  112. package/build/esm/utils/relations.js +207 -0
  113. package/build/esm/utils/relations.js.map +1 -0
  114. package/build/esm/utils/ulid.d.ts +10 -0
  115. package/build/esm/utils/ulid.js +52 -0
  116. package/build/esm/utils/ulid.js.map +1 -0
  117. package/package.json +31 -9
  118. package/src/core/client.js +0 -294
  119. package/src/core/decorator.d.ts +0 -29
  120. package/src/core/decorator.js +0 -103
  121. package/src/core/table.d.ts +0 -81
  122. package/src/core/table.js +0 -892
  123. package/src/decorators/indexes.d.ts +0 -38
  124. package/src/decorators/indexes.js +0 -59
  125. package/src/decorators/timestamps.d.ts +0 -54
  126. package/src/decorators/timestamps.js +0 -72
  127. package/src/decorators/transforms.d.ts +0 -99
  128. package/src/decorators/transforms.js +0 -166
  129. /package/{src → build/cjs}/@types/index.js +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,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 Decorador para relaciones muchos a uno (N:1)
41
- * @param model Función que retorna la clase del modelo relacionado
42
- * @param localKey Clave local que referencia al modelo padre
43
- * @param foreignKey Clave en el modelo padre (por defecto 'id')
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, 'id_user', 'id')
51
- * declare author: BelongsTo<User>;
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 Decorador para relaciones muchos a uno (N:1)
61
- * @param model Función que retorna la clase del modelo relacionado
62
- * @param localKey Clave local que referencia al modelo padre
63
- * @param foreignKey Clave en el modelo padre (por defecto 'id')
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, 'id_user', 'id')
71
- * declare author: BelongsTo<User>;
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, localKey, foreignKey = 'id'] = params;
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 = ctor[decorator_1.SCHEMA];
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":";AAAA;;;;GAIG;;;AA6EH,oBAmBC;AA9FD,iDAAsD;AAEtD;;;;GAIG;AACU,QAAA,GAAG,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,GAAG,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,QAAQ,GAAG,IAAA,qBAAS,EAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACtD,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACI,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;IAClC,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,UAAU;QAClC,CAAC,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE;QAC9B,CAAC,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;IAC/B,OAAO,IAAA,WAAG,EAAC,EAAE,CAAC,CAAC;AACjB,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF;;;;GAIG;AACI,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,OAAO,IAAA,gBAAQ,EAAC,CAAC,IAAS,EAAE,EAAE;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC5F,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB;AAEF;;;;GAIG;AACH,SAAgB,IAAI,CAAC,KAAa;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,MAAW,EAAE,IAAsB,EAAQ,EAAE;QACnD,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9D,MAAM,MAAM,GAAI,IAAY,CAAC,kBAAM,CAAC,CAAC;QAErC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -6,10 +6,12 @@
6
6
  */
7
7
  export { Dynamite } from "./core/client";
8
8
  export { default as Table } from "./core/table";
9
- export { decorator, relationDecorator, SCHEMA } from "./core/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 { Default, Mutate, Validate, Serialize, NotNull, Name, Column } from "./decorators/transforms";
13
+ export { Get, Set, Validate, Default, NotNull, Name } from "./decorators/transforms";
13
14
  export { HasMany, BelongsTo, HasOne, ManyToMany } from "./decorators/relations";
14
- export type { NonAttribute, CreationOptional, InferAttributes, InferRelations, WhereOptions, QueryOperator, CreateInput, UpdateInput, PickRelations, } from "./@types/index";
15
+ export type { NonAttribute, CreationOptional, InferAttributes, InferRelations, WhereOptions, QueryOperator, CreateInput, UpdateInput, PickRelations, PickByType, } from "./@types/index";
16
+ export { ulid } from "./utils/ulid";
15
17
  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.ManyToMany = exports.HasOne = exports.BelongsTo = exports.HasMany = exports.Column = exports.Name = exports.NotNull = exports.Serialize = exports.Validate = exports.Mutate = exports.Default = exports.DeleteAt = exports.UpdatedAt = exports.CreatedAt = exports.PrimaryKey = exports.IndexSort = exports.Index = exports.SCHEMA = exports.relationDecorator = exports.decorator = exports.Table = exports.Dynamite = void 0;
12
+ exports.TransactionContext = exports.ulid = 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,21 @@ 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, "Default", { enumerable: true, get: function () { return transforms_1.Default; } });
36
- Object.defineProperty(exports, "Mutate", { enumerable: true, get: function () { return transforms_1.Mutate; } });
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, "Serialize", { enumerable: true, get: function () { return transforms_1.Serialize; } });
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
+ // Utilidades
47
+ var ulid_1 = require("./utils/ulid");
48
+ Object.defineProperty(exports, "ulid", { enumerable: true, get: function () { return ulid_1.ulid; } });
48
49
  // Re-exportar TransactionContext para compatibilidad
49
50
  var client_2 = require("./core/client");
50
51
  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;AAuB/C,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>;