@bhushanpawar/sqldb 1.0.6 → 1.0.8

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 (172) hide show
  1. package/dist/cache/cache-manager.d.ts +18 -1
  2. package/dist/cache/cache-manager.d.ts.map +1 -1
  3. package/dist/cache/cache-manager.js +76 -2
  4. package/dist/cache/cache-manager.js.map +1 -1
  5. package/dist/cli/index.js +0 -0
  6. package/dist/client.d.ts +55 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +127 -1
  9. package/dist/client.js.map +1 -1
  10. package/dist/connection/mariadb.d.ts +15 -0
  11. package/dist/connection/mariadb.d.ts.map +1 -1
  12. package/dist/connection/mariadb.js +25 -0
  13. package/dist/connection/mariadb.js.map +1 -1
  14. package/dist/discovery/relationship-parser.d.ts.map +1 -1
  15. package/dist/discovery/relationship-parser.js +8 -1
  16. package/dist/discovery/relationship-parser.js.map +1 -1
  17. package/dist/discovery/schema-reader.d.ts +2 -0
  18. package/dist/discovery/schema-reader.d.ts.map +1 -1
  19. package/dist/discovery/schema-reader.js +91 -0
  20. package/dist/discovery/schema-reader.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/query/operations.d.ts +35 -1
  26. package/dist/query/operations.d.ts.map +1 -1
  27. package/dist/query/operations.js +307 -4
  28. package/dist/query/operations.js.map +1 -1
  29. package/dist/query/query-tracker.d.ts +30 -0
  30. package/dist/query/query-tracker.d.ts.map +1 -1
  31. package/dist/query/query-tracker.js +86 -1
  32. package/dist/query/query-tracker.js.map +1 -1
  33. package/dist/search/inverted-index-manager.d.ts +76 -0
  34. package/dist/search/inverted-index-manager.d.ts.map +1 -0
  35. package/dist/search/inverted-index-manager.js +371 -0
  36. package/dist/search/inverted-index-manager.js.map +1 -0
  37. package/dist/search/search-ranker.d.ts +91 -0
  38. package/dist/search/search-ranker.d.ts.map +1 -0
  39. package/dist/search/search-ranker.js +281 -0
  40. package/dist/search/search-ranker.js.map +1 -0
  41. package/dist/search/tokenizer.d.ts +80 -0
  42. package/dist/search/tokenizer.d.ts.map +1 -0
  43. package/dist/search/tokenizer.js +398 -0
  44. package/dist/search/tokenizer.js.map +1 -0
  45. package/dist/types/cache.d.ts +16 -0
  46. package/dist/types/cache.d.ts.map +1 -1
  47. package/dist/types/cache.js.map +1 -1
  48. package/dist/types/config.d.ts +10 -0
  49. package/dist/types/config.d.ts.map +1 -1
  50. package/dist/types/config.js +13 -1
  51. package/dist/types/config.js.map +1 -1
  52. package/dist/types/query.d.ts +4 -0
  53. package/dist/types/query.d.ts.map +1 -1
  54. package/dist/types/schema.d.ts +35 -0
  55. package/dist/types/schema.d.ts.map +1 -1
  56. package/dist/types/search.d.ts +223 -0
  57. package/dist/types/search.d.ts.map +1 -0
  58. package/dist/types/search.js +54 -0
  59. package/dist/types/search.js.map +1 -0
  60. package/dist/types/warming.d.ts +1 -1
  61. package/dist/types/warming.d.ts.map +1 -1
  62. package/dist/utils/case-converter.d.ts +38 -0
  63. package/dist/utils/case-converter.d.ts.map +1 -0
  64. package/dist/utils/case-converter.js +90 -0
  65. package/dist/utils/case-converter.js.map +1 -0
  66. package/dist/warming/auto-warming-manager.d.ts.map +1 -1
  67. package/dist/warming/auto-warming-manager.js +5 -0
  68. package/dist/warming/auto-warming-manager.js.map +1 -1
  69. package/dist/warming/query-stats-tracker.d.ts.map +1 -1
  70. package/dist/warming/query-stats-tracker.js +4 -0
  71. package/dist/warming/query-stats-tracker.js.map +1 -1
  72. package/package.json +7 -3
  73. package/dist/best-practice-example.d.ts +0 -35
  74. package/dist/best-practice-example.d.ts.map +0 -1
  75. package/dist/best-practice-example.js +0 -171
  76. package/dist/best-practice-example.js.map +0 -1
  77. package/dist/db-schema.d.ts +0 -413
  78. package/dist/db-schema.d.ts.map +0 -1
  79. package/dist/db-schema.js +0 -1149
  80. package/dist/db-schema.js.map +0 -1
  81. package/dist/demo-debug.d.ts +0 -2
  82. package/dist/demo-debug.d.ts.map +0 -1
  83. package/dist/demo-debug.js +0 -36
  84. package/dist/demo-debug.js.map +0 -1
  85. package/dist/smart-cache/cache/cache-key-builder.d.ts +0 -17
  86. package/dist/smart-cache/cache/cache-key-builder.d.ts.map +0 -1
  87. package/dist/smart-cache/cache/cache-key-builder.js +0 -100
  88. package/dist/smart-cache/cache/cache-key-builder.js.map +0 -1
  89. package/dist/smart-cache/cache/cache-manager.d.ts +0 -22
  90. package/dist/smart-cache/cache/cache-manager.d.ts.map +0 -1
  91. package/dist/smart-cache/cache/cache-manager.js +0 -124
  92. package/dist/smart-cache/cache/cache-manager.js.map +0 -1
  93. package/dist/smart-cache/cache/invalidation.d.ts +0 -15
  94. package/dist/smart-cache/cache/invalidation.d.ts.map +0 -1
  95. package/dist/smart-cache/cache/invalidation.js +0 -59
  96. package/dist/smart-cache/cache/invalidation.js.map +0 -1
  97. package/dist/smart-cache/client.d.ts +0 -36
  98. package/dist/smart-cache/client.d.ts.map +0 -1
  99. package/dist/smart-cache/client.js +0 -138
  100. package/dist/smart-cache/client.js.map +0 -1
  101. package/dist/smart-cache/connection/mariadb.d.ts +0 -14
  102. package/dist/smart-cache/connection/mariadb.d.ts.map +0 -1
  103. package/dist/smart-cache/connection/mariadb.js +0 -82
  104. package/dist/smart-cache/connection/mariadb.js.map +0 -1
  105. package/dist/smart-cache/connection/redis.d.ts +0 -20
  106. package/dist/smart-cache/connection/redis.d.ts.map +0 -1
  107. package/dist/smart-cache/connection/redis.js +0 -168
  108. package/dist/smart-cache/connection/redis.js.map +0 -1
  109. package/dist/smart-cache/discovery/dependency-graph.d.ts +0 -20
  110. package/dist/smart-cache/discovery/dependency-graph.d.ts.map +0 -1
  111. package/dist/smart-cache/discovery/dependency-graph.js +0 -89
  112. package/dist/smart-cache/discovery/dependency-graph.js.map +0 -1
  113. package/dist/smart-cache/discovery/relationship-parser.d.ts +0 -10
  114. package/dist/smart-cache/discovery/relationship-parser.d.ts.map +0 -1
  115. package/dist/smart-cache/discovery/relationship-parser.js +0 -40
  116. package/dist/smart-cache/discovery/relationship-parser.js.map +0 -1
  117. package/dist/smart-cache/discovery/schema-reader.d.ts +0 -15
  118. package/dist/smart-cache/discovery/schema-reader.d.ts.map +0 -1
  119. package/dist/smart-cache/discovery/schema-reader.js +0 -82
  120. package/dist/smart-cache/discovery/schema-reader.js.map +0 -1
  121. package/dist/smart-cache/examples/basic-usage.d.ts +0 -3
  122. package/dist/smart-cache/examples/basic-usage.d.ts.map +0 -1
  123. package/dist/smart-cache/examples/basic-usage.js +0 -105
  124. package/dist/smart-cache/examples/basic-usage.js.map +0 -1
  125. package/dist/smart-cache/examples/hooks-example.d.ts +0 -3
  126. package/dist/smart-cache/examples/hooks-example.d.ts.map +0 -1
  127. package/dist/smart-cache/examples/hooks-example.js +0 -133
  128. package/dist/smart-cache/examples/hooks-example.js.map +0 -1
  129. package/dist/smart-cache/examples/relationships-example.d.ts +0 -3
  130. package/dist/smart-cache/examples/relationships-example.d.ts.map +0 -1
  131. package/dist/smart-cache/examples/relationships-example.js +0 -88
  132. package/dist/smart-cache/examples/relationships-example.js.map +0 -1
  133. package/dist/smart-cache/hooks/hooks-manager.d.ts +0 -22
  134. package/dist/smart-cache/hooks/hooks-manager.d.ts.map +0 -1
  135. package/dist/smart-cache/hooks/hooks-manager.js +0 -117
  136. package/dist/smart-cache/hooks/hooks-manager.js.map +0 -1
  137. package/dist/smart-cache/index.d.ts +0 -19
  138. package/dist/smart-cache/index.d.ts.map +0 -1
  139. package/dist/smart-cache/index.js +0 -49
  140. package/dist/smart-cache/index.js.map +0 -1
  141. package/dist/smart-cache/query/operations.d.ts +0 -31
  142. package/dist/smart-cache/query/operations.d.ts.map +0 -1
  143. package/dist/smart-cache/query/operations.js +0 -187
  144. package/dist/smart-cache/query/operations.js.map +0 -1
  145. package/dist/smart-cache/query/query-builder.d.ts +0 -15
  146. package/dist/smart-cache/query/query-builder.d.ts.map +0 -1
  147. package/dist/smart-cache/query/query-builder.js +0 -169
  148. package/dist/smart-cache/query/query-builder.js.map +0 -1
  149. package/dist/smart-cache/query/table-proxy.d.ts +0 -11
  150. package/dist/smart-cache/query/table-proxy.d.ts.map +0 -1
  151. package/dist/smart-cache/query/table-proxy.js +0 -25
  152. package/dist/smart-cache/query/table-proxy.js.map +0 -1
  153. package/dist/smart-cache/types/cache.d.ts +0 -29
  154. package/dist/smart-cache/types/cache.d.ts.map +0 -1
  155. package/dist/smart-cache/types/cache.js +0 -10
  156. package/dist/smart-cache/types/cache.js.map +0 -1
  157. package/dist/smart-cache/types/config.d.ts +0 -47
  158. package/dist/smart-cache/types/config.d.ts.map +0 -1
  159. package/dist/smart-cache/types/config.js +0 -27
  160. package/dist/smart-cache/types/config.js.map +0 -1
  161. package/dist/smart-cache/types/query.d.ts +0 -36
  162. package/dist/smart-cache/types/query.d.ts.map +0 -1
  163. package/dist/smart-cache/types/query.js +0 -3
  164. package/dist/smart-cache/types/query.js.map +0 -1
  165. package/dist/smart-cache/types/schema.d.ts +0 -25
  166. package/dist/smart-cache/types/schema.d.ts.map +0 -1
  167. package/dist/smart-cache/types/schema.js +0 -3
  168. package/dist/smart-cache/types/schema.js.map +0 -1
  169. package/dist/trial.d.ts +0 -7
  170. package/dist/trial.d.ts.map +0 -1
  171. package/dist/trial.js +0 -30
  172. package/dist/trial.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-reader.d.ts","sourceRoot":"","sources":["../../../src/smart-cache/discovery/schema-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAc,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe;IAKlE,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAqBhC,kBAAkB;YAKlB,aAAa;IAa3B,OAAO,CAAC,YAAY;YAoBN,eAAe;IA8B7B,OAAO,CAAC,cAAc;CAIvB"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaReader = void 0;
4
- class SchemaReader {
5
- constructor(dbManager, config) {
6
- this.dbManager = dbManager;
7
- this.config = config;
8
- }
9
- async discoverTables() {
10
- const database = await this.getCurrentDatabase();
11
- const tables = await this.getTableNames(database);
12
- const filteredTables = this.filterTables(tables);
13
- const tableSchemas = [];
14
- for (const tableName of filteredTables) {
15
- const columns = await this.getTableColumns(database, tableName);
16
- const primaryKey = this.findPrimaryKey(columns);
17
- tableSchemas.push({
18
- tableName,
19
- columns,
20
- primaryKey,
21
- });
22
- }
23
- return tableSchemas;
24
- }
25
- async getCurrentDatabase() {
26
- const result = await this.dbManager.query('SELECT DATABASE() as db');
27
- return result[0].db;
28
- }
29
- async getTableNames(database) {
30
- const sql = `
31
- SELECT TABLE_NAME
32
- FROM INFORMATION_SCHEMA.TABLES
33
- WHERE TABLE_SCHEMA = ?
34
- AND TABLE_TYPE = 'BASE TABLE'
35
- ORDER BY TABLE_NAME
36
- `;
37
- const result = await this.dbManager.query(sql, [database]);
38
- return result.map((row) => row.TABLE_NAME);
39
- }
40
- filterTables(tables) {
41
- let filtered = tables;
42
- // Apply include list
43
- if (this.config.includeTables && this.config.includeTables.length > 0) {
44
- filtered = filtered.filter((table) => this.config.includeTables.includes(table));
45
- }
46
- // Apply exclude list
47
- if (this.config.excludeTables && this.config.excludeTables.length > 0) {
48
- filtered = filtered.filter((table) => !this.config.excludeTables.includes(table));
49
- }
50
- return filtered;
51
- }
52
- async getTableColumns(database, tableName) {
53
- const sql = `
54
- SELECT
55
- COLUMN_NAME as columnName,
56
- DATA_TYPE as dataType,
57
- IS_NULLABLE as isNullable,
58
- COLUMN_KEY as columnKey,
59
- COLUMN_DEFAULT as columnDefault,
60
- EXTRA as extra
61
- FROM INFORMATION_SCHEMA.COLUMNS
62
- WHERE TABLE_SCHEMA = ?
63
- AND TABLE_NAME = ?
64
- ORDER BY ORDINAL_POSITION
65
- `;
66
- const result = await this.dbManager.query(sql, [database, tableName]);
67
- return result.map((row) => ({
68
- columnName: row.columnName,
69
- dataType: row.dataType,
70
- isNullable: row.isNullable === 'YES',
71
- columnKey: row.columnKey || '',
72
- columnDefault: row.columnDefault,
73
- extra: row.extra || '',
74
- }));
75
- }
76
- findPrimaryKey(columns) {
77
- const pkColumn = columns.find((col) => col.columnKey === 'PRI');
78
- return pkColumn?.columnName;
79
- }
80
- }
81
- exports.SchemaReader = SchemaReader;
82
- //# sourceMappingURL=schema-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-reader.js","sourceRoot":"","sources":["../../../src/smart-cache/discovery/schema-reader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare function basicUsageExample(): Promise<void>;
2
- export { basicUsageExample };
3
- //# sourceMappingURL=basic-usage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.d.ts","sourceRoot":"","sources":["../../../src/smart-cache/examples/basic-usage.ts"],"names":[],"mappings":"AAEA,iBAAe,iBAAiB,kBA+H/B;AAOD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.basicUsageExample = basicUsageExample;
4
- const index_1 = require("../index");
5
- async function basicUsageExample() {
6
- // Initialize the smart cache client
7
- const db = await (0, index_1.createSmartDB)({
8
- mariadb: {
9
- host: 'localhost',
10
- user: 'root',
11
- password: 'password',
12
- database: 'mydb',
13
- },
14
- redis: {
15
- host: 'localhost',
16
- port: 6379,
17
- },
18
- cache: {
19
- enabled: true,
20
- defaultTTL: 60, // 60 seconds
21
- maxKeys: 1000,
22
- invalidateOnWrite: true,
23
- cascadeInvalidation: true,
24
- },
25
- discovery: {
26
- autoDiscover: true,
27
- refreshInterval: 0, // manual refresh only
28
- },
29
- logging: {
30
- level: 'info',
31
- },
32
- });
33
- try {
34
- // === READ OPERATIONS (Cache-first) ===
35
- // Find one user
36
- const user = await db.users.findOne({ email: 'john@example.com' });
37
- console.log('User:', user);
38
- // Find many users with options
39
- const activeUsers = await db.users.findMany({ status: 'active' }, { limit: 10, orderBy: { column: 'created_at', direction: 'DESC' } });
40
- console.log('Active users:', activeUsers.length);
41
- // Find by ID (optimized cache key)
42
- const userById = await db.users.findById(1);
43
- console.log('User by ID:', userById);
44
- // Count records
45
- const userCount = await db.users.count({ status: 'active' });
46
- console.log('Active user count:', userCount);
47
- // === WRITE OPERATIONS (Auto-invalidates cache) ===
48
- // Insert one record
49
- const newUser = await db.users.insertOne({
50
- name: 'Jane Doe',
51
- email: 'jane@example.com',
52
- status: 'active',
53
- });
54
- console.log('New user created:', newUser);
55
- // Insert many records
56
- const newUsers = await db.users.insertMany([
57
- { name: 'Alice', email: 'alice@example.com', status: 'active' },
58
- { name: 'Bob', email: 'bob@example.com', status: 'inactive' },
59
- ]);
60
- console.log('Created', newUsers.length, 'users');
61
- // Update one record
62
- const updated = await db.users.updateOne({ email: 'jane@example.com' }, { status: 'verified' });
63
- console.log('Updated user:', updated);
64
- // Update by ID
65
- const updatedById = await db.users.updateById(1, {
66
- last_login: new Date(),
67
- });
68
- console.log('Updated user by ID:', updatedById);
69
- // Update many records
70
- const updateCount = await db.users.updateMany({ status: 'inactive' }, { status: 'archived' });
71
- console.log('Updated', updateCount, 'users');
72
- // Delete one record
73
- const deleted = await db.users.deleteOne({ email: 'test@example.com' });
74
- console.log('Deleted:', deleted);
75
- // Delete by ID
76
- const deletedById = await db.users.deleteById(999);
77
- console.log('Deleted by ID:', deletedById);
78
- // === RAW SQL (Bypass cache) ===
79
- const customQuery = await db.users.raw('SELECT COUNT(*) as total FROM users WHERE created_at > ?', [new Date('2024-01-01')]);
80
- console.log('Custom query result:', customQuery);
81
- // === CACHE MANAGEMENT ===
82
- // Get cache statistics
83
- const stats = db.getCacheManager().getStats();
84
- console.log('Cache stats:', stats);
85
- // Manually invalidate cache for a table
86
- await db.users.invalidateCache();
87
- // Warm cache (pre-populate for common queries)
88
- await db.users.warmCache({ status: 'active' });
89
- // === HEALTH CHECK ===
90
- const health = await db.healthCheck();
91
- console.log('Health:', health);
92
- // === DISCOVERED TABLES ===
93
- const tables = db.getDiscoveredTables();
94
- console.log('Discovered tables:', tables);
95
- }
96
- finally {
97
- // Close connections
98
- await db.close();
99
- }
100
- }
101
- // Run the example
102
- if (require.main === module) {
103
- basicUsageExample().catch(console.error);
104
- }
105
- //# sourceMappingURL=basic-usage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../../src/smart-cache/examples/basic-usage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare function hooksExample(): Promise<void>;
2
- export { hooksExample };
3
- //# sourceMappingURL=hooks-example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-example.d.ts","sourceRoot":"","sources":["../../../src/smart-cache/examples/hooks-example.ts"],"names":[],"mappings":"AAEA,iBAAe,YAAY,kBAgJ1B;AAOD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hooksExample = hooksExample;
4
- const index_1 = require("../index");
5
- async function hooksExample() {
6
- const db = await (0, index_1.createSmartDB)({
7
- mariadb: {
8
- host: 'localhost',
9
- user: 'root',
10
- password: 'password',
11
- database: 'mydb',
12
- },
13
- redis: {
14
- host: 'localhost',
15
- port: 6379,
16
- },
17
- logging: {
18
- level: 'info',
19
- },
20
- });
21
- try {
22
- console.log('=== Hooks Example ===\n');
23
- // === BEFORE HOOKS (Transform data before operation) ===
24
- // 1. Auto-add timestamps on insert
25
- db.hooks.registerBefore('users', 'insertOne', (data) => {
26
- console.log('[Before Hook] Adding timestamp to new user');
27
- return {
28
- ...data,
29
- created_at: new Date(),
30
- updated_at: new Date(),
31
- };
32
- });
33
- // 2. Hash password before inserting
34
- db.hooks.registerBefore('users', 'insertOne', (data) => {
35
- if (data.password) {
36
- console.log('[Before Hook] Hashing password');
37
- // In real app, use bcrypt
38
- data.password = `hashed_${data.password}`;
39
- }
40
- return data;
41
- });
42
- // 3. Validate email format
43
- db.hooks.registerBefore('users', 'insertOne', (data) => {
44
- if (data.email && !data.email.includes('@')) {
45
- throw new Error('Invalid email format');
46
- }
47
- return data;
48
- });
49
- // 4. Auto-update timestamp on update
50
- db.hooks.registerBefore('users', 'updateOne', (data) => {
51
- console.log('[Before Hook] Updating timestamp');
52
- return {
53
- ...data,
54
- updated_at: new Date(),
55
- };
56
- });
57
- db.hooks.registerBefore('users', 'updateById', (data) => {
58
- return {
59
- ...data,
60
- updated_at: new Date(),
61
- };
62
- });
63
- // === AFTER HOOKS (Side effects after operation) ===
64
- // 1. Audit logging
65
- db.hooks.registerAfter('users', 'insertOne', (result) => {
66
- console.log('[After Hook] User created - Logging to audit table', {
67
- userId: result.id,
68
- action: 'create',
69
- timestamp: new Date(),
70
- });
71
- });
72
- db.hooks.registerAfter('users', 'updateOne', (result, where, data) => {
73
- console.log('[After Hook] User updated - Logging to audit table', {
74
- userId: result?.id,
75
- action: 'update',
76
- changes: data,
77
- timestamp: new Date(),
78
- });
79
- });
80
- db.hooks.registerAfter('users', 'deleteOne', (result, where) => {
81
- console.log('[After Hook] User deleted - Logging to audit table', {
82
- where,
83
- action: 'delete',
84
- timestamp: new Date(),
85
- });
86
- });
87
- // 2. Send notification email
88
- db.hooks.registerAfter('users', 'insertOne', async (result) => {
89
- console.log('[After Hook] Sending welcome email to', result.email);
90
- // In real app: await sendEmail(result.email, 'Welcome!');
91
- });
92
- // 3. Trigger external webhook
93
- db.hooks.registerAfter('orders', 'insertOne', async (result) => {
94
- console.log('[After Hook] Notifying external system of new order', result.id);
95
- // In real app: await fetch('https://webhook.site/...', { method: 'POST', body: JSON.stringify(result) });
96
- });
97
- // === TEST THE HOOKS ===
98
- console.log('\n--- Testing Hooks ---\n');
99
- // This will trigger:
100
- // - 3 before hooks (timestamp, password hash, email validation)
101
- // - 2 after hooks (audit log, welcome email)
102
- const newUser = await db.users.insertOne({
103
- name: 'John Doe',
104
- email: 'john@example.com',
105
- password: 'secret123',
106
- });
107
- console.log('\nCreated user:', newUser);
108
- console.log();
109
- // This will trigger:
110
- // - 1 before hook (timestamp)
111
- // - 1 after hook (audit log)
112
- const updated = await db.users.updateById(newUser.id, {
113
- name: 'John Smith',
114
- });
115
- console.log('Updated user:', updated);
116
- console.log();
117
- // === VIEW REGISTERED HOOKS ===
118
- const registeredHooks = db.hooks.getRegisteredHooks();
119
- console.log('Registered hooks:', registeredHooks);
120
- // === CLEAR HOOKS ===
121
- // db.hooks.clearHooks('users', 'before', 'insertOne'); // Clear specific hook
122
- // db.hooks.clearHooks('users'); // Clear all hooks for users table
123
- // db.hooks.clearHooks(); // Clear all hooks
124
- }
125
- finally {
126
- await db.close();
127
- }
128
- }
129
- // Run the example
130
- if (require.main === module) {
131
- hooksExample().catch(console.error);
132
- }
133
- //# sourceMappingURL=hooks-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-example.js","sourceRoot":"","sources":["../../../src/smart-cache/examples/hooks-example.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare function relationshipsExample(): Promise<void>;
2
- export { relationshipsExample };
3
- //# sourceMappingURL=relationships-example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationships-example.d.ts","sourceRoot":"","sources":["../../../src/smart-cache/examples/relationships-example.ts"],"names":[],"mappings":"AAEA,iBAAe,oBAAoB,kBA4FlC;AAOD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.relationshipsExample = relationshipsExample;
4
- const index_1 = require("../index");
5
- async function relationshipsExample() {
6
- const db = await (0, index_1.createSmartDB)({
7
- mariadb: {
8
- host: 'localhost',
9
- user: 'root',
10
- password: 'password',
11
- database: 'mydb',
12
- },
13
- redis: {
14
- host: 'localhost',
15
- port: 6379,
16
- },
17
- cache: {
18
- cascadeInvalidation: true, // Enable cascading invalidation
19
- },
20
- discovery: {
21
- autoDiscover: true,
22
- },
23
- logging: {
24
- level: 'debug',
25
- },
26
- });
27
- try {
28
- console.log('=== Cascading Invalidation Example ===\n');
29
- // Assume we have these tables with relationships:
30
- // users (id, name, email)
31
- // orders (id, user_id, total, status) -> FK to users.id
32
- // order_items (id, order_id, product, quantity) -> FK to orders.id
33
- // 1. Query orders (will be cached)
34
- console.log('1. Fetching orders...');
35
- const orders = await db.orders.findMany({ status: 'pending' });
36
- console.log(`Found ${orders.length} pending orders\n`);
37
- // 2. Query order_items (will be cached)
38
- console.log('2. Fetching order items...');
39
- const items = await db.order_items.findMany({ order_id: 1 });
40
- console.log(`Found ${items.length} items for order 1\n`);
41
- // 3. Update a user record
42
- console.log('3. Updating user...');
43
- await db.users.updateById(1, { name: 'Updated Name' });
44
- // This will automatically invalidate:
45
- // - users:* cache entries
46
- // - orders:* cache entries (because orders.user_id -> users.id)
47
- // - order_items:* cache entries (because order_items.order_id -> orders.id)
48
- console.log('Cache invalidated for: users, orders, order_items\n');
49
- // 4. View dependency graph
50
- const graph = db.getDependencyGraph();
51
- const invalidationTargets = graph.getInvalidationTargets('users');
52
- console.log('Tables affected by users update:', invalidationTargets);
53
- const graphInfo = graph.getGraphInfo();
54
- console.log('Graph info:', graphInfo);
55
- console.log();
56
- // 5. Manual cascade control
57
- console.log('4. Update with custom invalidation...');
58
- // Update without cascading (only invalidate orders table)
59
- await db.getInvalidationManager().invalidateTable('orders', {
60
- cascade: false,
61
- });
62
- console.log('Invalidated only orders table (no cascade)\n');
63
- // 6. View all relationships
64
- const tables = db.getDiscoveredTables();
65
- console.log('All discovered tables:', tables);
66
- for (const table of tables) {
67
- const dependents = graph.getDependents(table);
68
- const dependencies = graph.getDependencies(table);
69
- if (dependents.length > 0 || dependencies.length > 0) {
70
- console.log(`\n${table}:`);
71
- if (dependencies.length > 0) {
72
- console.log(` depends on: ${dependencies.join(', ')}`);
73
- }
74
- if (dependents.length > 0) {
75
- console.log(` referenced by: ${dependents.join(', ')}`);
76
- }
77
- }
78
- }
79
- }
80
- finally {
81
- await db.close();
82
- }
83
- }
84
- // Run the example
85
- if (require.main === module) {
86
- relationshipsExample().catch(console.error);
87
- }
88
- //# sourceMappingURL=relationships-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationships-example.js","sourceRoot":"","sources":["../../../src/smart-cache/examples/relationships-example.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- type HookFunction = (...args: any[]) => Promise<any> | any;
2
- export type HookType = 'before' | 'after';
3
- export type Operation = 'findOne' | 'findMany' | 'findById' | 'count' | 'insertOne' | 'insertMany' | 'updateOne' | 'updateMany' | 'updateById' | 'deleteOne' | 'deleteMany' | 'deleteById';
4
- export declare class HooksManager {
5
- private hooks;
6
- registerBefore(table: string, operation: Operation, hook: HookFunction): void;
7
- registerAfter(table: string, operation: Operation, hook: HookFunction): void;
8
- private registerHook;
9
- executeBefore(table: string, operation: Operation, data: any): Promise<any>;
10
- executeAfter(table: string, operation: Operation, result: any, ...args: any[]): Promise<void>;
11
- private getHooks;
12
- removeHook(table: string, hookType: HookType, operation: Operation, hook: HookFunction): void;
13
- clearHooks(table?: string, hookType?: HookType, operation?: Operation): void;
14
- getRegisteredHooks(): {
15
- table: string;
16
- hookType: HookType;
17
- operation: Operation;
18
- count: number;
19
- }[];
20
- }
21
- export {};
22
- //# sourceMappingURL=hooks-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-manager.d.ts","sourceRoot":"","sources":["../../../src/smart-cache/hooks/hooks-manager.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,UAAU,GACV,UAAU,GACV,OAAO,GACP,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,CAAC;AAEjB,qBAAa,YAAY;IAEvB,OAAO,CAAC,KAAK,CACD;IAEZ,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,YAAY,GACjB,IAAI;IAIP,aAAa,CACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,YAAY,GACjB,IAAI;IAIP,OAAO,CAAC,YAAY;IAyBd,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,GAAG,CAAC;IAwBT,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,GAAG,EACX,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;IAgBhB,OAAO,CAAC,QAAQ;IAkBhB,UAAU,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,YAAY,GACjB,IAAI;IASP,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IA2B5E,kBAAkB,IAAI;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC;QACnB,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE;CAuBJ"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HooksManager = void 0;
4
- class HooksManager {
5
- constructor() {
6
- // Map: table -> hookType -> operation -> hooks[]
7
- this.hooks = new Map();
8
- }
9
- registerBefore(table, operation, hook) {
10
- this.registerHook(table, 'before', operation, hook);
11
- }
12
- registerAfter(table, operation, hook) {
13
- this.registerHook(table, 'after', operation, hook);
14
- }
15
- registerHook(table, hookType, operation, hook) {
16
- if (!this.hooks.has(table)) {
17
- this.hooks.set(table, new Map());
18
- }
19
- const tableHooks = this.hooks.get(table);
20
- if (!tableHooks.has(hookType)) {
21
- tableHooks.set(hookType, new Map());
22
- }
23
- const typeHooks = tableHooks.get(hookType);
24
- if (!typeHooks.has(operation)) {
25
- typeHooks.set(operation, []);
26
- }
27
- typeHooks.get(operation).push(hook);
28
- }
29
- async executeBefore(table, operation, data) {
30
- const hooks = this.getHooks(table, 'before', operation);
31
- let transformedData = data;
32
- for (const hook of hooks) {
33
- try {
34
- const result = await hook(transformedData);
35
- // If hook returns something, use it as transformed data
36
- if (result !== undefined) {
37
- transformedData = result;
38
- }
39
- }
40
- catch (error) {
41
- console.error(`[HooksManager] Error in before hook for ${table}.${operation}:`, error);
42
- throw error;
43
- }
44
- }
45
- return transformedData;
46
- }
47
- async executeAfter(table, operation, result, ...args) {
48
- const hooks = this.getHooks(table, 'after', operation);
49
- for (const hook of hooks) {
50
- try {
51
- await hook(result, ...args);
52
- }
53
- catch (error) {
54
- console.error(`[HooksManager] Error in after hook for ${table}.${operation}:`, error);
55
- // Don't throw - after hooks shouldn't break the main operation
56
- }
57
- }
58
- }
59
- getHooks(table, hookType, operation) {
60
- const tableHooks = this.hooks.get(table);
61
- if (!tableHooks) {
62
- return [];
63
- }
64
- const typeHooks = tableHooks.get(hookType);
65
- if (!typeHooks) {
66
- return [];
67
- }
68
- return typeHooks.get(operation) || [];
69
- }
70
- removeHook(table, hookType, operation, hook) {
71
- const hooks = this.getHooks(table, hookType, operation);
72
- const index = hooks.indexOf(hook);
73
- if (index !== -1) {
74
- hooks.splice(index, 1);
75
- }
76
- }
77
- clearHooks(table, hookType, operation) {
78
- if (!table) {
79
- this.hooks.clear();
80
- return;
81
- }
82
- if (!hookType) {
83
- this.hooks.delete(table);
84
- return;
85
- }
86
- const tableHooks = this.hooks.get(table);
87
- if (!tableHooks) {
88
- return;
89
- }
90
- if (!operation) {
91
- tableHooks.delete(hookType);
92
- return;
93
- }
94
- const typeHooks = tableHooks.get(hookType);
95
- if (typeHooks) {
96
- typeHooks.delete(operation);
97
- }
98
- }
99
- getRegisteredHooks() {
100
- const result = [];
101
- for (const [table, tableHooks] of this.hooks.entries()) {
102
- for (const [hookType, typeHooks] of tableHooks.entries()) {
103
- for (const [operation, hooks] of typeHooks.entries()) {
104
- result.push({
105
- table,
106
- hookType,
107
- operation,
108
- count: hooks.length,
109
- });
110
- }
111
- }
112
- }
113
- return result;
114
- }
115
- }
116
- exports.HooksManager = HooksManager;
117
- //# sourceMappingURL=hooks-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-manager.js","sourceRoot":"","sources":["../../../src/smart-cache/hooks/hooks-manager.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { SmartDBClient } from './client';
2
- import { SmartDBConfig } from './types/config';
3
- export declare function createSmartDB(config: SmartDBConfig): Promise<SmartDBClient>;
4
- export { SmartDBClient } from './client';
5
- export * from './types/config';
6
- export * from './types/query';
7
- export * from './types/cache';
8
- export * from './types/schema';
9
- export { CacheManager } from './cache/cache-manager';
10
- export { InvalidationManager } from './cache/invalidation';
11
- export { DependencyGraph } from './discovery/dependency-graph';
12
- export { HooksManager } from './hooks/hooks-manager';
13
- export { QueryBuilder } from './query/query-builder';
14
- declare const _default: {
15
- createSmartDB: typeof createSmartDB;
16
- SmartDBClient: typeof SmartDBClient;
17
- };
18
- export default _default;
19
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smart-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CAIxB;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,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;;;;;AAGrD,wBAGE"}