@bhushanpawar/sqldb 1.0.24 → 1.0.26

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 (38) hide show
  1. package/README.md +581 -1854
  2. package/dist/client.d.ts +23 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +34 -0
  5. package/dist/client.js.map +1 -1
  6. package/dist/decorators/index.d.ts +2 -1
  7. package/dist/decorators/index.d.ts.map +1 -1
  8. package/dist/decorators/index.js +9 -1
  9. package/dist/decorators/index.js.map +1 -1
  10. package/dist/decorators/lifecycle.d.ts +100 -0
  11. package/dist/decorators/lifecycle.d.ts.map +1 -0
  12. package/dist/decorators/lifecycle.js +124 -0
  13. package/dist/decorators/lifecycle.js.map +1 -0
  14. package/dist/decorators/metadata.d.ts +14 -0
  15. package/dist/decorators/metadata.d.ts.map +1 -1
  16. package/dist/decorators/metadata.js +21 -0
  17. package/dist/decorators/metadata.js.map +1 -1
  18. package/dist/index.d.ts +4 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +12 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/query/query-builder.d.ts +36 -0
  23. package/dist/query/query-builder.d.ts.map +1 -1
  24. package/dist/query/query-builder.js +117 -0
  25. package/dist/query/query-builder.js.map +1 -1
  26. package/dist/repository/base-repository.d.ts +256 -0
  27. package/dist/repository/base-repository.d.ts.map +1 -0
  28. package/dist/repository/base-repository.js +460 -0
  29. package/dist/repository/base-repository.js.map +1 -0
  30. package/dist/repository/entity-manager.d.ts +111 -0
  31. package/dist/repository/entity-manager.d.ts.map +1 -0
  32. package/dist/repository/entity-manager.js +192 -0
  33. package/dist/repository/entity-manager.js.map +1 -0
  34. package/dist/repository/index.d.ts +9 -0
  35. package/dist/repository/index.d.ts.map +1 -0
  36. package/dist/repository/index.js +13 -0
  37. package/dist/repository/index.js.map +1 -0
  38. package/package.json +1 -1
package/dist/client.d.ts CHANGED
@@ -9,6 +9,8 @@ import { InMemoryQueryTracker } from './query/query-tracker';
9
9
  import { WarmingStats } from './types/warming';
10
10
  import { CacheAPI } from './types/cache';
11
11
  import { IndexStats } from './types/search';
12
+ import { EntityManager } from './repository/entity-manager';
13
+ import { BaseRepository } from './repository/base-repository';
12
14
  export declare class SqlDBClient {
13
15
  private config;
14
16
  private dbManager;
@@ -28,6 +30,7 @@ export declare class SqlDBClient {
28
30
  private initialized;
29
31
  private discoveredTables;
30
32
  private tableSchemas;
33
+ private entityManager?;
31
34
  constructor(config: SqlDBConfig);
32
35
  initialize(): Promise<void>;
33
36
  private discoverSchema;
@@ -39,6 +42,26 @@ export declare class SqlDBClient {
39
42
  getDiscoveredTables(): string[];
40
43
  getTableSchema(tableName: string): TableSchema | undefined;
41
44
  getAllSchemas(): TableSchema[];
45
+ /**
46
+ * Get repository for entity class (TypeORM-like API)
47
+ * @example
48
+ * ```typescript
49
+ * const userRepo = db.getRepository(User);
50
+ * const user = await userRepo.save({ email: 'john@example.com' });
51
+ * const users = await userRepo.find({ where: { status: 'active' } });
52
+ * ```
53
+ */
54
+ getRepository<T = any>(entity: new (...args: any[]) => T): BaseRepository<T>;
55
+ /**
56
+ * Get entity manager for direct entity operations
57
+ * @example
58
+ * ```typescript
59
+ * const entityManager = db.getEntityManager();
60
+ * const user = await entityManager.save(User, { email: 'john@example.com' });
61
+ * const users = await entityManager.find(User, { where: { status: 'active' } });
62
+ * ```
63
+ */
64
+ getEntityManager(): EntityManager;
42
65
  getStatsTableName(): string;
43
66
  getQueries(correlationId?: string): QueryMetadata[];
44
67
  clearQueries(correlationId?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -19,6 +19,7 @@ const auto_warming_manager_1 = require("./warming/auto-warming-manager");
19
19
  const inverted_index_manager_1 = require("./search/inverted-index-manager");
20
20
  const search_ranker_1 = require("./search/search-ranker");
21
21
  const geo_search_manager_1 = require("./search/geo-search-manager");
22
+ const entity_manager_1 = require("./repository/entity-manager");
22
23
  class SqlDBClient {
23
24
  constructor(config) {
24
25
  this.initialized = false;
@@ -89,6 +90,9 @@ class SqlDBClient {
89
90
  this.searchRanker = new search_ranker_1.SearchRanker();
90
91
  this.log('info', 'Search system enabled');
91
92
  }
93
+ // Initialize entity manager (repository pattern)
94
+ this.entityManager = new entity_manager_1.EntityManager((tableName) => this.getTableOperations(tableName));
95
+ this.log('info', 'EntityManager initialized');
92
96
  this.initialized = true;
93
97
  this.log('info', 'SqlDBClient initialized successfully');
94
98
  }
@@ -162,6 +166,36 @@ class SqlDBClient {
162
166
  getAllSchemas() {
163
167
  return Array.from(this.tableSchemas.values());
164
168
  }
169
+ /**
170
+ * Get repository for entity class (TypeORM-like API)
171
+ * @example
172
+ * ```typescript
173
+ * const userRepo = db.getRepository(User);
174
+ * const user = await userRepo.save({ email: 'john@example.com' });
175
+ * const users = await userRepo.find({ where: { status: 'active' } });
176
+ * ```
177
+ */
178
+ getRepository(entity) {
179
+ if (!this.entityManager) {
180
+ throw new Error('EntityManager not initialized. Call initialize() first.');
181
+ }
182
+ return this.entityManager.getRepository(entity);
183
+ }
184
+ /**
185
+ * Get entity manager for direct entity operations
186
+ * @example
187
+ * ```typescript
188
+ * const entityManager = db.getEntityManager();
189
+ * const user = await entityManager.save(User, { email: 'john@example.com' });
190
+ * const users = await entityManager.find(User, { where: { status: 'active' } });
191
+ * ```
192
+ */
193
+ getEntityManager() {
194
+ if (!this.entityManager) {
195
+ throw new Error('EntityManager not initialized. Call initialize() first.');
196
+ }
197
+ return this.entityManager;
198
+ }
165
199
  getStatsTableName() {
166
200
  return this.config.warming?.statsTableName || '__sqldb_query_stats';
167
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,11 @@ export { Entity } from './entity';
7
7
  export { Column, PrimaryColumn } from './column';
8
8
  export { Computed } from './computed';
9
9
  export { OneToOne, OneToMany, ManyToOne, ManyToMany } from './relation';
10
+ export { AfterLoad, BeforeInsert, AfterInsert, BeforeUpdate, AfterUpdate, BeforeDelete, AfterDelete, } from './lifecycle';
10
11
  export { metadataStorage } from './metadata';
11
12
  export type { EntityOptions } from './entity';
12
13
  export type { ColumnOptions } from './column';
13
14
  export type { ComputedOptions } from './computed';
14
15
  export type { RelationOptions } from './relation';
15
- export type { ColumnMetadata, ComputedMetadata, RelationMetadata, EntityMetadata } from './metadata';
16
+ export type { ColumnMetadata, ComputedMetadata, RelationMetadata, EntityMetadata, LifecycleMetadata, LifecycleHookType, } from './metadata';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Provides TypeORM-like decorators for defining entities, columns, computed fields, and relations
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.metadataStorage = exports.ManyToMany = exports.ManyToOne = exports.OneToMany = exports.OneToOne = exports.Computed = exports.PrimaryColumn = exports.Column = exports.Entity = void 0;
8
+ exports.metadataStorage = exports.AfterDelete = exports.BeforeDelete = exports.AfterUpdate = exports.BeforeUpdate = exports.AfterInsert = exports.BeforeInsert = exports.AfterLoad = exports.ManyToMany = exports.ManyToOne = exports.OneToMany = exports.OneToOne = exports.Computed = exports.PrimaryColumn = exports.Column = exports.Entity = void 0;
9
9
  var entity_1 = require("./entity");
10
10
  Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return entity_1.Entity; } });
11
11
  var column_1 = require("./column");
@@ -18,6 +18,14 @@ Object.defineProperty(exports, "OneToOne", { enumerable: true, get: function ()
18
18
  Object.defineProperty(exports, "OneToMany", { enumerable: true, get: function () { return relation_1.OneToMany; } });
19
19
  Object.defineProperty(exports, "ManyToOne", { enumerable: true, get: function () { return relation_1.ManyToOne; } });
20
20
  Object.defineProperty(exports, "ManyToMany", { enumerable: true, get: function () { return relation_1.ManyToMany; } });
21
+ var lifecycle_1 = require("./lifecycle");
22
+ Object.defineProperty(exports, "AfterLoad", { enumerable: true, get: function () { return lifecycle_1.AfterLoad; } });
23
+ Object.defineProperty(exports, "BeforeInsert", { enumerable: true, get: function () { return lifecycle_1.BeforeInsert; } });
24
+ Object.defineProperty(exports, "AfterInsert", { enumerable: true, get: function () { return lifecycle_1.AfterInsert; } });
25
+ Object.defineProperty(exports, "BeforeUpdate", { enumerable: true, get: function () { return lifecycle_1.BeforeUpdate; } });
26
+ Object.defineProperty(exports, "AfterUpdate", { enumerable: true, get: function () { return lifecycle_1.AfterUpdate; } });
27
+ Object.defineProperty(exports, "BeforeDelete", { enumerable: true, get: function () { return lifecycle_1.BeforeDelete; } });
28
+ Object.defineProperty(exports, "AfterDelete", { enumerable: true, get: function () { return lifecycle_1.AfterDelete; } });
21
29
  var metadata_1 = require("./metadata");
22
30
  Object.defineProperty(exports, "metadataStorage", { enumerable: true, get: function () { return metadata_1.metadataStorage; } });
23
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAiD;AAAxC,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAC9B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAwE;AAA/D,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AACnD,uCAA6C;AAApC,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAiD;AAAxC,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAC9B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAwE;AAA/D,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AACnD,yCAQqB;AAPnB,sGAAA,SAAS,OAAA;AACT,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AAEb,uCAA6C;AAApC,2GAAA,eAAe,OAAA"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Lifecycle Hook Decorators
3
+ *
4
+ * Provides TypeORM-like lifecycle hooks for entity operations:
5
+ * - @AfterLoad: Called after entity is loaded from database
6
+ * - @BeforeInsert: Called before entity is inserted
7
+ * - @BeforeUpdate: Called before entity is updated
8
+ * - @AfterInsert: Called after entity is inserted
9
+ * - @AfterUpdate: Called after entity is updated
10
+ * - @BeforeDelete: Called before entity is deleted
11
+ * - @AfterDelete: Called after entity is deleted
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * @Entity()
16
+ * class User {
17
+ * @Column()
18
+ * password: string;
19
+ *
20
+ * @Column()
21
+ * price: number;
22
+ *
23
+ * @Computed()
24
+ * priceInUserCurrency: number;
25
+ *
26
+ * @BeforeInsert()
27
+ * @BeforeUpdate()
28
+ * async hashPassword() {
29
+ * if (this.password) {
30
+ * this.password = await bcrypt.hash(this.password, 10);
31
+ * }
32
+ * }
33
+ *
34
+ * @AfterLoad()
35
+ * convertCurrency() {
36
+ * this.priceInUserCurrency = this.price * getCurrentExchangeRate();
37
+ * }
38
+ * }
39
+ * ```
40
+ */
41
+ export type LifecycleHookType = 'afterLoad' | 'beforeInsert' | 'afterInsert' | 'beforeUpdate' | 'afterUpdate' | 'beforeDelete' | 'afterDelete';
42
+ /**
43
+ * Called after entity is loaded from database
44
+ * Useful for:
45
+ * - Calculating computed properties
46
+ * - Currency conversion
47
+ * - Data transformation
48
+ */
49
+ export declare const AfterLoad: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
50
+ /**
51
+ * Called before entity is inserted into database
52
+ * Useful for:
53
+ * - Password hashing
54
+ * - Setting default values
55
+ * - Validation
56
+ * - Audit logging
57
+ */
58
+ export declare const BeforeInsert: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
59
+ /**
60
+ * Called after entity is inserted into database
61
+ * Useful for:
62
+ * - Sending notifications
63
+ * - Creating audit logs
64
+ * - Triggering side effects
65
+ */
66
+ export declare const AfterInsert: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
67
+ /**
68
+ * Called before entity is updated in database
69
+ * Useful for:
70
+ * - Password hashing
71
+ * - Validation
72
+ * - Setting updatedAt timestamp
73
+ * - Audit logging
74
+ */
75
+ export declare const BeforeUpdate: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
76
+ /**
77
+ * Called after entity is updated in database
78
+ * Useful for:
79
+ * - Cache invalidation
80
+ * - Sending notifications
81
+ * - Creating audit logs
82
+ */
83
+ export declare const AfterUpdate: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
84
+ /**
85
+ * Called before entity is deleted from database
86
+ * Useful for:
87
+ * - Soft deletes
88
+ * - Validation (prevent deletion)
89
+ * - Backup data
90
+ */
91
+ export declare const BeforeDelete: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
92
+ /**
93
+ * Called after entity is deleted from database
94
+ * Useful for:
95
+ * - Cache invalidation
96
+ * - Cleanup related data
97
+ * - Audit logging
98
+ */
99
+ export declare const AfterDelete: () => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
100
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/decorators/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,CAAC;AA2BlB;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,SA3BD,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SA2BvB,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,SArCJ,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SAqCjB,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,SA9CH,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SA8CnB,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,SAxDJ,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SAwDjB,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,SAjEH,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SAiEnB,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,SA1EJ,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SA0EjB,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,SAnFH,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SAmFnB,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * Lifecycle Hook Decorators
4
+ *
5
+ * Provides TypeORM-like lifecycle hooks for entity operations:
6
+ * - @AfterLoad: Called after entity is loaded from database
7
+ * - @BeforeInsert: Called before entity is inserted
8
+ * - @BeforeUpdate: Called before entity is updated
9
+ * - @AfterInsert: Called after entity is inserted
10
+ * - @AfterUpdate: Called after entity is updated
11
+ * - @BeforeDelete: Called before entity is deleted
12
+ * - @AfterDelete: Called after entity is deleted
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * @Entity()
17
+ * class User {
18
+ * @Column()
19
+ * password: string;
20
+ *
21
+ * @Column()
22
+ * price: number;
23
+ *
24
+ * @Computed()
25
+ * priceInUserCurrency: number;
26
+ *
27
+ * @BeforeInsert()
28
+ * @BeforeUpdate()
29
+ * async hashPassword() {
30
+ * if (this.password) {
31
+ * this.password = await bcrypt.hash(this.password, 10);
32
+ * }
33
+ * }
34
+ *
35
+ * @AfterLoad()
36
+ * convertCurrency() {
37
+ * this.priceInUserCurrency = this.price * getCurrentExchangeRate();
38
+ * }
39
+ * }
40
+ * ```
41
+ */
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.AfterDelete = exports.BeforeDelete = exports.AfterUpdate = exports.BeforeUpdate = exports.AfterInsert = exports.BeforeInsert = exports.AfterLoad = void 0;
44
+ const metadata_1 = require("./metadata");
45
+ /**
46
+ * Create lifecycle hook decorator
47
+ */
48
+ function createLifecycleDecorator(hookType) {
49
+ return function () {
50
+ return function (target, propertyKey, descriptor) {
51
+ const constructor = target.constructor;
52
+ const metadata = metadata_1.metadataStorage.getOrCreateMetadata(constructor);
53
+ if (!metadata.lifecycleHooks) {
54
+ metadata.lifecycleHooks = new Map();
55
+ }
56
+ if (!metadata.lifecycleHooks.has(hookType)) {
57
+ metadata.lifecycleHooks.set(hookType, []);
58
+ }
59
+ metadata.lifecycleHooks.get(hookType).push({
60
+ propertyKey,
61
+ hookType,
62
+ });
63
+ };
64
+ };
65
+ }
66
+ /**
67
+ * Called after entity is loaded from database
68
+ * Useful for:
69
+ * - Calculating computed properties
70
+ * - Currency conversion
71
+ * - Data transformation
72
+ */
73
+ exports.AfterLoad = createLifecycleDecorator('afterLoad');
74
+ /**
75
+ * Called before entity is inserted into database
76
+ * Useful for:
77
+ * - Password hashing
78
+ * - Setting default values
79
+ * - Validation
80
+ * - Audit logging
81
+ */
82
+ exports.BeforeInsert = createLifecycleDecorator('beforeInsert');
83
+ /**
84
+ * Called after entity is inserted into database
85
+ * Useful for:
86
+ * - Sending notifications
87
+ * - Creating audit logs
88
+ * - Triggering side effects
89
+ */
90
+ exports.AfterInsert = createLifecycleDecorator('afterInsert');
91
+ /**
92
+ * Called before entity is updated in database
93
+ * Useful for:
94
+ * - Password hashing
95
+ * - Validation
96
+ * - Setting updatedAt timestamp
97
+ * - Audit logging
98
+ */
99
+ exports.BeforeUpdate = createLifecycleDecorator('beforeUpdate');
100
+ /**
101
+ * Called after entity is updated in database
102
+ * Useful for:
103
+ * - Cache invalidation
104
+ * - Sending notifications
105
+ * - Creating audit logs
106
+ */
107
+ exports.AfterUpdate = createLifecycleDecorator('afterUpdate');
108
+ /**
109
+ * Called before entity is deleted from database
110
+ * Useful for:
111
+ * - Soft deletes
112
+ * - Validation (prevent deletion)
113
+ * - Backup data
114
+ */
115
+ exports.BeforeDelete = createLifecycleDecorator('beforeDelete');
116
+ /**
117
+ * Called after entity is deleted from database
118
+ * Useful for:
119
+ * - Cache invalidation
120
+ * - Cleanup related data
121
+ * - Audit logging
122
+ */
123
+ exports.AfterDelete = createLifecycleDecorator('afterDelete');
124
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/decorators/lifecycle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,yCAAgE;AAWhE;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAA2B;IAC3D,OAAO;QACL,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;YAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACvC,MAAM,QAAQ,GAAG,0BAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAElE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC7B,QAAQ,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC;gBAC1C,WAAW;gBACX,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACU,QAAA,SAAS,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,YAAY,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAErE;;;;;;GAMG;AACU,QAAA,WAAW,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACU,QAAA,YAAY,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAErE;;;;;;GAMG;AACU,QAAA,WAAW,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;AAEnE;;;;;;GAMG;AACU,QAAA,YAAY,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAErE;;;;;;GAMG;AACU,QAAA,WAAW,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC"}
@@ -21,11 +21,17 @@ export interface RelationMetadata {
21
21
  inverseSide?: string;
22
22
  joinColumn?: string;
23
23
  }
24
+ export type LifecycleHookType = 'afterLoad' | 'beforeInsert' | 'afterInsert' | 'beforeUpdate' | 'afterUpdate' | 'beforeDelete' | 'afterDelete';
25
+ export interface LifecycleMetadata {
26
+ propertyKey: string;
27
+ hookType: LifecycleHookType;
28
+ }
24
29
  export interface EntityMetadata {
25
30
  tableName?: string;
26
31
  columns: Map<string, ColumnMetadata>;
27
32
  computed: Map<string, ComputedMetadata>;
28
33
  relations: Map<string, RelationMetadata>;
34
+ lifecycleHooks?: Map<LifecycleHookType, LifecycleMetadata[]>;
29
35
  primaryKey?: string;
30
36
  }
31
37
  declare class MetadataStorage {
@@ -51,6 +57,14 @@ declare class MetadataStorage {
51
57
  * Set table name for entity
52
58
  */
53
59
  setTableName(target: Function, tableName: string): void;
60
+ /**
61
+ * Get lifecycle hooks for entity
62
+ */
63
+ getLifecycleHooks(target: Function, hookType: LifecycleHookType): LifecycleMetadata[];
64
+ /**
65
+ * Execute lifecycle hooks on entity instance
66
+ */
67
+ executeLifecycleHooks(entity: any, hookType: LifecycleHookType): Promise<void>;
54
68
  }
55
69
  export declare const metadataStorage: MetadataStorage;
56
70
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;IACpE,YAAY,EAAE,MAAM,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAuC;IAEvD,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc;IAWrD,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS;IAIzD,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAQ1C,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAO7C,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAO7C;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAOhD;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAOjE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAKlD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIxD;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;IACpE,YAAY,EAAE,MAAM,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAuC;IAEvD,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc;IAWrD,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS;IAIzD,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAQ1C,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAO7C,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAO7C;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;IAOhD;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAOjE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAKlD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE;IAOrF;;OAEG;IACG,qBAAqB,CACzB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;CAUjB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -73,6 +73,27 @@ class MetadataStorage {
73
73
  const metadata = this.getOrCreateMetadata(target);
74
74
  metadata.tableName = tableName;
75
75
  }
76
+ /**
77
+ * Get lifecycle hooks for entity
78
+ */
79
+ getLifecycleHooks(target, hookType) {
80
+ const metadata = this.getMetadata(target);
81
+ if (!metadata || !metadata.lifecycleHooks)
82
+ return [];
83
+ return metadata.lifecycleHooks.get(hookType) || [];
84
+ }
85
+ /**
86
+ * Execute lifecycle hooks on entity instance
87
+ */
88
+ async executeLifecycleHooks(entity, hookType) {
89
+ const hooks = this.getLifecycleHooks(entity.constructor, hookType);
90
+ for (const hook of hooks) {
91
+ const method = entity[hook.propertyKey];
92
+ if (typeof method === 'function') {
93
+ await method.call(entity);
94
+ }
95
+ }
96
+ }
76
97
  }
77
98
  // Singleton instance
78
99
  exports.metadataStorage = new MetadataStorage();
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgCH,MAAM,eAAe;IAArB;QACU,aAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IA0EzD,CAAC;IAxEC,mBAAmB,CAAC,MAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;gBACxB,OAAO,EAAE,IAAI,GAAG,EAAE;gBAClB,QAAQ,EAAE,IAAI,GAAG,EAAE;gBACnB,SAAS,EAAE,IAAI,GAAG,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,MAAgB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,MAAgB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACzC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB,CAAC,MAAgB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB,CAAC,MAAgB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAgB;QACnC,OAAO;YACL,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAgB,EAAE,YAAoB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;QAEnE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAgB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,QAAQ,EAAE,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAgB,EAAE,SAAiB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACjC,CAAC;CACF;AAED,qBAAqB;AACR,QAAA,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -19,10 +19,12 @@ export { QueryBuilder } from './query/query-builder';
19
19
  export { InMemoryQueryTracker, generateQueryId, QueryMetrics } from './query/query-tracker';
20
20
  export { SchemaGenerator } from './cli/schema-generator';
21
21
  export { CaseConverter } from './utils/case-converter';
22
- export { Entity, Column, PrimaryColumn, Computed, OneToOne, OneToMany, ManyToOne, ManyToMany, metadataStorage, } from './decorators';
23
- export type { EntityOptions, ColumnOptions, ComputedOptions, RelationOptions, ColumnMetadata, ComputedMetadata, RelationMetadata, EntityMetadata, } from './decorators';
22
+ export { Entity, Column, PrimaryColumn, Computed, OneToOne, OneToMany, ManyToOne, ManyToMany, AfterLoad, BeforeInsert, AfterInsert, BeforeUpdate, AfterUpdate, BeforeDelete, AfterDelete, metadataStorage, } from './decorators';
23
+ export type { EntityOptions, ColumnOptions, ComputedOptions, RelationOptions, ColumnMetadata, ComputedMetadata, RelationMetadata, EntityMetadata, LifecycleMetadata, LifecycleHookType, } from './decorators';
24
24
  export { defineEntitySchema, entitySchemaRegistry, } from './schema/entity-schema';
25
25
  export type { EntitySchema, EntitySchemaColumn, } from './schema/entity-schema';
26
+ export { BaseRepository, EntityManager } from './repository';
27
+ export type { RepositoryFindOptions, RepositoryOptions } from './repository';
26
28
  declare const _default: {
27
29
  createSqlDB: typeof createSqlDB;
28
30
  getSqlDB: typeof getSqlDB;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,WAAW,CAAC,CAuBtB;AAgCD,wBAAgB,QAAQ,IAAI,WAAW,CAOtC;AAGD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,YAAY,EACZ,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;;;;;;;AAGhC,wBAKE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,WAAW,CAAC,CAuBtB;AAgCD,wBAAgB,QAAQ,IAAI,WAAW,CAOtC;AAGD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,YAAY,EACZ,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;;;;;;;AAG7E,wBAKE"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.entitySchemaRegistry = exports.defineEntitySchema = exports.metadataStorage = exports.ManyToMany = exports.ManyToOne = exports.OneToMany = exports.OneToOne = exports.Computed = exports.PrimaryColumn = exports.Column = exports.Entity = exports.CaseConverter = exports.SchemaGenerator = exports.generateQueryId = exports.InMemoryQueryTracker = exports.QueryBuilder = exports.HooksManager = exports.DependencyGraph = exports.InvalidationManager = exports.CacheManager = exports.SqlDBClient = void 0;
17
+ exports.EntityManager = exports.BaseRepository = exports.entitySchemaRegistry = exports.defineEntitySchema = exports.metadataStorage = exports.AfterDelete = exports.BeforeDelete = exports.AfterUpdate = exports.BeforeUpdate = exports.AfterInsert = exports.BeforeInsert = exports.AfterLoad = exports.ManyToMany = exports.ManyToOne = exports.OneToMany = exports.OneToOne = exports.Computed = exports.PrimaryColumn = exports.Column = exports.Entity = exports.CaseConverter = exports.SchemaGenerator = exports.generateQueryId = exports.InMemoryQueryTracker = exports.QueryBuilder = exports.HooksManager = exports.DependencyGraph = exports.InvalidationManager = exports.CacheManager = exports.SqlDBClient = void 0;
18
18
  exports.createSqlDB = createSqlDB;
19
19
  exports.getSqlDB = getSqlDB;
20
20
  exports.clearSqlDBSingleton = clearSqlDBSingleton;
@@ -115,11 +115,22 @@ Object.defineProperty(exports, "OneToOne", { enumerable: true, get: function ()
115
115
  Object.defineProperty(exports, "OneToMany", { enumerable: true, get: function () { return decorators_1.OneToMany; } });
116
116
  Object.defineProperty(exports, "ManyToOne", { enumerable: true, get: function () { return decorators_1.ManyToOne; } });
117
117
  Object.defineProperty(exports, "ManyToMany", { enumerable: true, get: function () { return decorators_1.ManyToMany; } });
118
+ Object.defineProperty(exports, "AfterLoad", { enumerable: true, get: function () { return decorators_1.AfterLoad; } });
119
+ Object.defineProperty(exports, "BeforeInsert", { enumerable: true, get: function () { return decorators_1.BeforeInsert; } });
120
+ Object.defineProperty(exports, "AfterInsert", { enumerable: true, get: function () { return decorators_1.AfterInsert; } });
121
+ Object.defineProperty(exports, "BeforeUpdate", { enumerable: true, get: function () { return decorators_1.BeforeUpdate; } });
122
+ Object.defineProperty(exports, "AfterUpdate", { enumerable: true, get: function () { return decorators_1.AfterUpdate; } });
123
+ Object.defineProperty(exports, "BeforeDelete", { enumerable: true, get: function () { return decorators_1.BeforeDelete; } });
124
+ Object.defineProperty(exports, "AfterDelete", { enumerable: true, get: function () { return decorators_1.AfterDelete; } });
118
125
  Object.defineProperty(exports, "metadataStorage", { enumerable: true, get: function () { return decorators_1.metadataStorage; } });
119
126
  // Export schema registry (NO experimentalDecorators needed!)
120
127
  var entity_schema_1 = require("./schema/entity-schema");
121
128
  Object.defineProperty(exports, "defineEntitySchema", { enumerable: true, get: function () { return entity_schema_1.defineEntitySchema; } });
122
129
  Object.defineProperty(exports, "entitySchemaRegistry", { enumerable: true, get: function () { return entity_schema_1.entitySchemaRegistry; } });
130
+ // Export repository pattern (TypeORM-like high-level API)
131
+ var repository_1 = require("./repository");
132
+ Object.defineProperty(exports, "BaseRepository", { enumerable: true, get: function () { return repository_1.BaseRepository; } });
133
+ Object.defineProperty(exports, "EntityManager", { enumerable: true, get: function () { return repository_1.EntityManager; } });
123
134
  // Default export
124
135
  exports.default = {
125
136
  createSqlDB,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}