@coherent.js/core 1.0.0-beta.5 → 1.0.0-beta.7

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 (110) hide show
  1. package/dist/coherent.d.ts +150 -10
  2. package/dist/coherent.d.ts.map +1 -1
  3. package/dist/coherent.js +166 -33
  4. package/dist/coherent.js.map +1 -1
  5. package/dist/components/component-system.js +109 -109
  6. package/dist/components/lifecycle.d.ts +212 -0
  7. package/dist/components/lifecycle.d.ts.map +1 -0
  8. package/dist/components/lifecycle.js +525 -0
  9. package/dist/components/lifecycle.js.map +1 -0
  10. package/dist/core/html-utils.js +5 -5
  11. package/dist/core/object-factory.js +21 -21
  12. package/dist/core/object-utils.js +2 -2
  13. package/dist/dev/dev-tools.d.ts +1 -1
  14. package/dist/dev/dev-tools.js +28 -28
  15. package/dist/forms/validation.d.ts +271 -0
  16. package/dist/forms/validation.d.ts.map +1 -0
  17. package/dist/forms/validation.js +573 -0
  18. package/dist/forms/validation.js.map +1 -0
  19. package/dist/index.cjs +2839 -1464
  20. package/dist/index.cjs.map +4 -4
  21. package/dist/index.js +2837 -1473
  22. package/dist/index.js.map +4 -4
  23. package/dist/performance/bundle-optimizer.js +11 -11
  24. package/dist/performance/cache-manager.js +6 -6
  25. package/dist/performance/component-cache.d.ts +120 -0
  26. package/dist/performance/component-cache.d.ts.map +1 -0
  27. package/dist/performance/component-cache.js +364 -0
  28. package/dist/performance/component-cache.js.map +1 -0
  29. package/dist/performance/monitor.js +10 -10
  30. package/dist/performance/monitor.js.map +1 -1
  31. package/dist/rendering/base-renderer.js +13 -13
  32. package/dist/rendering/css-manager.d.ts +73 -0
  33. package/dist/rendering/css-manager.d.ts.map +1 -0
  34. package/dist/rendering/css-manager.js +176 -0
  35. package/dist/rendering/css-manager.js.map +1 -0
  36. package/dist/rendering/dom-renderer.d.ts +23 -0
  37. package/dist/rendering/dom-renderer.d.ts.map +1 -1
  38. package/dist/rendering/dom-renderer.js +77 -9
  39. package/dist/rendering/dom-renderer.js.map +1 -1
  40. package/dist/rendering/html-renderer.d.ts +15 -0
  41. package/dist/rendering/html-renderer.d.ts.map +1 -1
  42. package/dist/rendering/html-renderer.js +85 -4
  43. package/dist/rendering/html-renderer.js.map +1 -1
  44. package/dist/rendering/streaming-renderer.js +12 -12
  45. package/dist/rendering/vdom-diff.d.ts +47 -0
  46. package/dist/rendering/vdom-diff.d.ts.map +1 -0
  47. package/dist/rendering/vdom-diff.js +416 -0
  48. package/dist/rendering/vdom-diff.js.map +1 -0
  49. package/dist/routing/router.d.ts +241 -0
  50. package/dist/routing/router.d.ts.map +1 -0
  51. package/dist/routing/router.js +648 -0
  52. package/dist/routing/router.js.map +1 -0
  53. package/dist/state/reactive-state.d.ts +166 -0
  54. package/dist/state/reactive-state.d.ts.map +1 -0
  55. package/dist/state/reactive-state.js +546 -0
  56. package/dist/state/reactive-state.js.map +1 -0
  57. package/dist/utils/dependency-utils.js +2 -2
  58. package/dist/utils/error-handler.d.ts +148 -0
  59. package/dist/utils/error-handler.d.ts.map +1 -0
  60. package/dist/utils/error-handler.js +468 -0
  61. package/dist/utils/error-handler.js.map +1 -0
  62. package/dist/utils/normalization.js +1 -1
  63. package/dist/utils/validation.js +1 -1
  64. package/package.json +7 -22
  65. package/types/elements.d.ts +1080 -0
  66. package/types/index.d.ts +199 -65
  67. package/dist/database/adapters/mongodb.d.ts +0 -15
  68. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  69. package/dist/database/adapters/mongodb.js +0 -216
  70. package/dist/database/adapters/mongodb.js.map +0 -1
  71. package/dist/database/adapters/mysql.d.ts +0 -12
  72. package/dist/database/adapters/mysql.d.ts.map +0 -1
  73. package/dist/database/adapters/mysql.js +0 -171
  74. package/dist/database/adapters/mysql.js.map +0 -1
  75. package/dist/database/adapters/postgresql.d.ts +0 -12
  76. package/dist/database/adapters/postgresql.d.ts.map +0 -1
  77. package/dist/database/adapters/postgresql.js +0 -177
  78. package/dist/database/adapters/postgresql.js.map +0 -1
  79. package/dist/database/adapters/sqlite.d.ts +0 -15
  80. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  81. package/dist/database/adapters/sqlite.js +0 -241
  82. package/dist/database/adapters/sqlite.js.map +0 -1
  83. package/dist/database/connection-manager.d.ts +0 -135
  84. package/dist/database/connection-manager.d.ts.map +0 -1
  85. package/dist/database/connection-manager.js +0 -362
  86. package/dist/database/connection-manager.js.map +0 -1
  87. package/dist/database/index.d.ts +0 -38
  88. package/dist/database/index.d.ts.map +0 -1
  89. package/dist/database/index.js +0 -60
  90. package/dist/database/index.js.map +0 -1
  91. package/dist/database/middleware.d.ts +0 -122
  92. package/dist/database/middleware.d.ts.map +0 -1
  93. package/dist/database/middleware.js +0 -390
  94. package/dist/database/middleware.js.map +0 -1
  95. package/dist/database/migration.d.ts +0 -62
  96. package/dist/database/migration.d.ts.map +0 -1
  97. package/dist/database/migration.js +0 -423
  98. package/dist/database/migration.js.map +0 -1
  99. package/dist/database/model.d.ts +0 -8
  100. package/dist/database/model.d.ts.map +0 -1
  101. package/dist/database/model.js +0 -167
  102. package/dist/database/model.js.map +0 -1
  103. package/dist/database/query-builder.d.ts +0 -111
  104. package/dist/database/query-builder.d.ts.map +0 -1
  105. package/dist/database/query-builder.js +0 -187
  106. package/dist/database/query-builder.js.map +0 -1
  107. package/dist/database/utils.d.ts +0 -196
  108. package/dist/database/utils.d.ts.map +0 -1
  109. package/dist/database/utils.js +0 -372
  110. package/dist/database/utils.js.map +0 -1
@@ -1,122 +0,0 @@
1
- /**
2
- * Database Middleware for Coherent.js Router Integration
3
- *
4
- * @fileoverview Provides middleware for seamless database integration with the router,
5
- * including connection management, transaction handling, and query helpers.
6
- */
7
- /**
8
- * Database middleware for router integration
9
- *
10
- * @param {DatabaseManager} db - Database manager instance
11
- * @param {Object} [options={}] - Middleware options
12
- * @returns {Function} Middleware function
13
- *
14
- * @example
15
- * import { withDatabase } from '@coherent/database';
16
- *
17
- * const router = new SimpleRouter();
18
- * router.use(withDatabase(db));
19
- *
20
- * router.get('/users', async (req, res) => {
21
- * const users = await req.db.query('SELECT * FROM users');
22
- * res.json(users.rows);
23
- * });
24
- */
25
- export function withDatabase(db: DatabaseManager, options?: Object): Function;
26
- /**
27
- * Transaction middleware for automatic transaction management
28
- *
29
- * @param {DatabaseManager} db - Database manager instance
30
- * @param {Object} [options={}] - Transaction options
31
- * @returns {Function} Middleware function
32
- *
33
- * @example
34
- * router.post('/transfer', withTransaction(db), async (req, res) => {
35
- * // All database operations in this handler will be wrapped in a transaction
36
- * await req.tx.query('UPDATE accounts SET balance = balance - ? WHERE id = ?', [amount, fromId]);
37
- * await req.tx.query('UPDATE accounts SET balance = balance + ? WHERE id = ?', [amount, toId]);
38
- * // Transaction is automatically committed on success or rolled back on error
39
- * });
40
- */
41
- export function withTransaction(db: DatabaseManager, options?: Object): Function;
42
- /**
43
- * Model binding middleware
44
- *
45
- * @param {Function} ModelClass - Model class to bind
46
- * @param {string} [paramName='id'] - Route parameter name
47
- * @param {string} [requestKey] - Request key to attach model (defaults to model name)
48
- * @returns {Function} Middleware function
49
- *
50
- * @example
51
- * router.get('/users/:id', withModel(User), async (req, res) => {
52
- * // req.user contains the loaded User model
53
- * res.json(req.user.toJSON());
54
- * });
55
- *
56
- * router.get('/posts/:postId', withModel(Post, 'postId', 'post'), async (req, res) => {
57
- * // req.post contains the loaded Post model
58
- * res.json(req.post.toJSON());
59
- * });
60
- */
61
- export function withModel(ModelClass: Function, paramName?: string, requestKey?: string): Function;
62
- /**
63
- * Pagination middleware
64
- *
65
- * @param {Object} [options={}] - Pagination options
66
- * @returns {Function} Middleware function
67
- *
68
- * @example
69
- * router.get('/users', withPagination(), async (req, res) => {
70
- * const users = await User.query()
71
- * .limit(req.pagination.limit)
72
- * .offset(req.pagination.offset)
73
- * .execute();
74
- *
75
- * res.json({
76
- * data: users.rows,
77
- * pagination: req.pagination
78
- * });
79
- * });
80
- */
81
- export function withPagination(options?: Object): Function;
82
- /**
83
- * Query validation middleware
84
- *
85
- * @param {Object} schema - Validation schema
86
- * @param {Object} [options={}] - Validation options
87
- * @returns {Function} Middleware function
88
- *
89
- * @example
90
- * router.get('/users', withQueryValidation({
91
- * status: { type: 'string', enum: ['active', 'inactive'] },
92
- * age: { type: 'number', min: 0, max: 120 }
93
- * }), async (req, res) => {
94
- * // req.query is validated and sanitized
95
- * });
96
- */
97
- export function withQueryValidation(schema: Object, options?: Object): Function;
98
- /**
99
- * Database health check middleware
100
- *
101
- * @param {DatabaseManager} db - Database manager instance
102
- * @param {Object} [options={}] - Health check options
103
- * @returns {Function} Middleware function
104
- *
105
- * @example
106
- * router.get('/health', withHealthCheck(db), (req, res) => {
107
- * res.json({ status: 'healthy', database: req.dbHealth });
108
- * });
109
- */
110
- export function withHealthCheck(db: DatabaseManager, options?: Object): Function;
111
- /**
112
- * Connection pooling middleware for request-scoped connections
113
- *
114
- * @param {DatabaseManager} db - Database manager instance
115
- * @param {Object} [options={}] - Pool options
116
- * @returns {Function} Middleware function
117
- *
118
- * @example
119
- * router.use(withConnectionPool(db, { acquireTimeout: 10000 }));
120
- */
121
- export function withConnectionPool(db: DatabaseManager, options?: Object): Function;
122
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/database/middleware.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,iCAfW,eAAe,YACf,MAAM,YAsEhB;AAED;;;;;;;;;;;;;;GAcG;AACH,oCAZW,eAAe,YACf,MAAM,YAuChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,4DAfW,MAAM,eACN,MAAM,YA8ChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,yCAhBW,MAAM,YA6ChB;AAED;;;;;;;;;;;;;;GAcG;AACH,4CAZW,MAAM,YACN,MAAM,YA8FhB;AAED;;;;;;;;;;;GAWG;AACH,oCATW,eAAe,YACf,MAAM,YAmDhB;AAED;;;;;;;;;GASG;AACH,uCAPW,eAAe,YACf,MAAM,YAgDhB"}
@@ -1,390 +0,0 @@
1
- /**
2
- * Database Middleware for Coherent.js Router Integration
3
- *
4
- * @fileoverview Provides middleware for seamless database integration with the router,
5
- * including connection management, transaction handling, and query helpers.
6
- */
7
- /**
8
- * Database middleware for router integration
9
- *
10
- * @param {DatabaseManager} db - Database manager instance
11
- * @param {Object} [options={}] - Middleware options
12
- * @returns {Function} Middleware function
13
- *
14
- * @example
15
- * import { withDatabase } from '@coherent/database';
16
- *
17
- * const router = new SimpleRouter();
18
- * router.use(withDatabase(db));
19
- *
20
- * router.get('/users', async (req, res) => {
21
- * const users = await req.db.query('SELECT * FROM users');
22
- * res.json(users.rows);
23
- * });
24
- */
25
- export function withDatabase(db, options = {}) {
26
- const config = {
27
- autoConnect: true,
28
- attachModels: true,
29
- transactionKey: 'tx',
30
- ...options
31
- };
32
- return async (req, res, next) => {
33
- try {
34
- // Ensure database is connected
35
- if (config.autoConnect && !db.isConnected) {
36
- await db.connect();
37
- }
38
- // Attach database to request
39
- req.db = db;
40
- // Attach query helper
41
- req.query = async (sql, params, queryOptions) => {
42
- return await db.query(sql, params, queryOptions);
43
- };
44
- // Attach transaction helper
45
- req.transaction = async (callback) => {
46
- const tx = await db.transaction();
47
- try {
48
- const result = await callback(tx);
49
- await tx.commit();
50
- return result;
51
- }
52
- catch (_error) {
53
- await tx.rollback();
54
- throw _error;
55
- }
56
- };
57
- // Attach models if configured
58
- if (config.attachModels && db.models) {
59
- req.models = db.models;
60
- }
61
- await next();
62
- }
63
- catch (_error) {
64
- // Log database errors
65
- console._error('Database middleware _error:', _error);
66
- // Pass _error to _error handler
67
- if (typeof next === 'function') {
68
- next(_error);
69
- }
70
- else {
71
- throw _error;
72
- }
73
- }
74
- };
75
- }
76
- /**
77
- * Transaction middleware for automatic transaction management
78
- *
79
- * @param {DatabaseManager} db - Database manager instance
80
- * @param {Object} [options={}] - Transaction options
81
- * @returns {Function} Middleware function
82
- *
83
- * @example
84
- * router.post('/transfer', withTransaction(db), async (req, res) => {
85
- * // All database operations in this handler will be wrapped in a transaction
86
- * await req.tx.query('UPDATE accounts SET balance = balance - ? WHERE id = ?', [amount, fromId]);
87
- * await req.tx.query('UPDATE accounts SET balance = balance + ? WHERE id = ?', [amount, toId]);
88
- * // Transaction is automatically committed on success or rolled back on _error
89
- * });
90
- */
91
- export function withTransaction(db, options = {}) {
92
- const config = {
93
- isolationLevel: null,
94
- readOnly: false,
95
- ...options
96
- };
97
- return async (req, res, next) => {
98
- const tx = await db.transaction(config);
99
- req.tx = tx;
100
- try {
101
- await next();
102
- // Commit transaction if not already committed
103
- if (!tx.isCommitted && !tx.isRolledBack) {
104
- await tx.commit();
105
- }
106
- }
107
- catch (_error) {
108
- // Rollback transaction if not already rolled back
109
- if (!tx.isRolledBack && !tx.isCommitted) {
110
- await tx.rollback();
111
- }
112
- throw _error;
113
- }
114
- };
115
- }
116
- /**
117
- * Model binding middleware
118
- *
119
- * @param {Function} ModelClass - Model class to bind
120
- * @param {string} [paramName='id'] - Route parameter name
121
- * @param {string} [requestKey] - Request key to attach model (defaults to model name)
122
- * @returns {Function} Middleware function
123
- *
124
- * @example
125
- * router.get('/users/:id', withModel(User), async (req, res) => {
126
- * // req.user contains the loaded User model
127
- * res.json(req.user.toJSON());
128
- * });
129
- *
130
- * router.get('/posts/:postId', withModel(Post, 'postId', 'post'), async (req, res) => {
131
- * // req.post contains the loaded Post model
132
- * res.json(req.post.toJSON());
133
- * });
134
- */
135
- export function withModel(ModelClass, paramName = 'id', requestKey = null) {
136
- const key = requestKey || ModelClass.name.toLowerCase();
137
- return async (req, res, next) => {
138
- try {
139
- const paramValue = req.params[paramName];
140
- if (!paramValue) {
141
- const _error = new Error(`Parameter '${paramName}' is required`);
142
- _error.status = 400;
143
- throw _error;
144
- }
145
- const model = await ModelClass.find(paramValue);
146
- if (!model) {
147
- const _error = new Error(`${ModelClass.name} not found`);
148
- _error.status = 404;
149
- throw _error;
150
- }
151
- req[key] = model;
152
- await next();
153
- }
154
- catch (_error) {
155
- if (typeof next === 'function') {
156
- next(_error);
157
- }
158
- else {
159
- throw _error;
160
- }
161
- }
162
- };
163
- }
164
- /**
165
- * Pagination middleware
166
- *
167
- * @param {Object} [options={}] - Pagination options
168
- * @returns {Function} Middleware function
169
- *
170
- * @example
171
- * router.get('/users', withPagination(), async (req, res) => {
172
- * const users = await User.query()
173
- * .limit(req.pagination.limit)
174
- * .offset(req.pagination.offset)
175
- * .execute();
176
- *
177
- * res.json({
178
- * data: users.rows,
179
- * pagination: req.pagination
180
- * });
181
- * });
182
- */
183
- export function withPagination(options = {}) {
184
- const config = {
185
- defaultLimit: 20,
186
- maxLimit: 100,
187
- pageParam: 'page',
188
- limitParam: 'limit',
189
- ...options
190
- };
191
- return async (req, res, next) => {
192
- const page = Math.max(1, parseInt(req.query[config.pageParam]) || 1);
193
- const limit = Math.min(config.maxLimit, Math.max(1, parseInt(req.query[config.limitParam]) || config.defaultLimit));
194
- const offset = (page - 1) * limit;
195
- req.pagination = {
196
- page,
197
- limit,
198
- offset,
199
- hasNext: null, // To be set by the handler
200
- hasPrev: page > 1,
201
- totalPages: null, // To be set by the handler
202
- totalCount: null // To be set by the handler
203
- };
204
- await next();
205
- };
206
- }
207
- /**
208
- * Query validation middleware
209
- *
210
- * @param {Object} schema - Validation schema
211
- * @param {Object} [options={}] - Validation options
212
- * @returns {Function} Middleware function
213
- *
214
- * @example
215
- * router.get('/users', withQueryValidation({
216
- * status: { type: 'string', enum: ['active', 'inactive'] },
217
- * age: { type: 'number', min: 0, max: 120 }
218
- * }), async (req, res) => {
219
- * // req.query is validated and sanitized
220
- * });
221
- */
222
- export function withQueryValidation(schema, options = {}) {
223
- const config = {
224
- stripUnknown: true,
225
- coerceTypes: true,
226
- ...options
227
- };
228
- return async (req, res, next) => {
229
- try {
230
- const validatedQuery = {};
231
- for (const [key, rules] of Object.entries(schema)) {
232
- const value = req.query[key];
233
- // Skip if not provided and not required
234
- if (value === undefined || value === null || value === '') {
235
- if (rules.required) {
236
- const _error = new Error(`Query parameter '${key}' is required`);
237
- _error.status = 400;
238
- throw _error;
239
- }
240
- continue;
241
- }
242
- // Type coercion
243
- let coercedValue = value;
244
- if (config.coerceTypes) {
245
- switch (rules.type) {
246
- case 'number':
247
- coercedValue = Number(value);
248
- if (isNaN(coercedValue)) {
249
- const _error = new Error(`Query parameter '${key}' must be a number`);
250
- _error.status = 400;
251
- throw _error;
252
- }
253
- break;
254
- case 'boolean':
255
- coercedValue = value === 'true' || value === '1';
256
- break;
257
- case 'array':
258
- coercedValue = Array.isArray(value) ? value : [value];
259
- break;
260
- }
261
- }
262
- // Validation
263
- if (rules.enum && !rules.enum.includes(coercedValue)) {
264
- const _error = new Error(`Query parameter '${key}' must be one of: ${rules.enum.join(', ')}`);
265
- _error.status = 400;
266
- throw _error;
267
- }
268
- if (rules.min !== undefined && coercedValue < rules.min) {
269
- const _error = new Error(`Query parameter '${key}' must be at least ${rules.min}`);
270
- _error.status = 400;
271
- throw _error;
272
- }
273
- if (rules.max !== undefined && coercedValue > rules.max) {
274
- const _error = new Error(`Query parameter '${key}' must be at most ${rules.max}`);
275
- _error.status = 400;
276
- throw _error;
277
- }
278
- validatedQuery[key] = coercedValue;
279
- }
280
- // Replace query with validated version
281
- if (!config.stripUnknown) {
282
- Object.assign(validatedQuery, req.query);
283
- }
284
- req.query = validatedQuery;
285
- await next();
286
- }
287
- catch (_error) {
288
- if (typeof next === 'function') {
289
- next(_error);
290
- }
291
- else {
292
- throw _error;
293
- }
294
- }
295
- };
296
- }
297
- /**
298
- * Database health check middleware
299
- *
300
- * @param {DatabaseManager} db - Database manager instance
301
- * @param {Object} [options={}] - Health check options
302
- * @returns {Function} Middleware function
303
- *
304
- * @example
305
- * router.get('/health', withHealthCheck(db), (req, res) => {
306
- * res.json({ status: 'healthy', database: req.dbHealth });
307
- * });
308
- */
309
- export function withHealthCheck(db, options = {}) {
310
- const config = {
311
- timeout: 5000,
312
- includeStats: true,
313
- ...options
314
- };
315
- return async (req, res, next) => {
316
- try {
317
- const startTime = Date.now();
318
- // Test database connection
319
- await Promise.race([
320
- db.query('SELECT 1'),
321
- new Promise((_, reject) => setTimeout(() => reject(new Error('Health check timeout')), config.timeout))
322
- ]);
323
- const responseTime = Date.now() - startTime;
324
- req.dbHealth = {
325
- status: 'healthy',
326
- responseTime,
327
- connected: db.isConnected
328
- };
329
- if (config.includeStats) {
330
- req.dbHealth.stats = db.getStats();
331
- }
332
- await next();
333
- }
334
- catch (_error) {
335
- req.dbHealth = {
336
- status: 'unhealthy',
337
- _error: _error.message,
338
- connected: db.isConnected
339
- };
340
- await next();
341
- }
342
- };
343
- }
344
- /**
345
- * Connection pooling middleware for request-scoped connections
346
- *
347
- * @param {DatabaseManager} db - Database manager instance
348
- * @param {Object} [options={}] - Pool options
349
- * @returns {Function} Middleware function
350
- *
351
- * @example
352
- * router.use(withConnectionPool(db, { acquireTimeout: 10000 }));
353
- */
354
- export function withConnectionPool(db, options = {}) {
355
- const config = {
356
- acquireTimeout: 30000,
357
- releaseOnResponse: true,
358
- ...options
359
- };
360
- return async (req, res, next) => {
361
- let connection = null;
362
- try {
363
- // Acquire connection from pool
364
- connection = await db.pool.acquire(config.acquireTimeout);
365
- // Attach connection to request
366
- req.dbConnection = connection;
367
- // Override query method to use this connection
368
- req.query = async (sql, params, queryOptions) => {
369
- return await db.adapter.query(connection, sql, params, queryOptions);
370
- };
371
- // Release connection when response finishes
372
- if (config.releaseOnResponse) {
373
- res.on('finish', () => {
374
- if (connection) {
375
- db.pool.release(connection);
376
- }
377
- });
378
- }
379
- await next();
380
- }
381
- catch (_error) {
382
- // Release connection on _error
383
- if (connection) {
384
- db.pool.release(connection);
385
- }
386
- throw _error;
387
- }
388
- };
389
- }
390
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/database/middleware.js"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Create migration instance
3
- *
4
- * @param {DatabaseManager} db - Database manager instance
5
- * @param {Object} [config={}] - Migration configuration
6
- * @returns {Object} Migration instance
7
- *
8
- * @example
9
- * const migration = createMigration(db, {
10
- * directory: './migrations',
11
- * tableName: 'coherent_migrations'
12
- * });
13
- *
14
- * await migration.run();
15
- */
16
- export function createMigration(db: DatabaseManager, config?: Object): Object;
17
- /**
18
- * Create schema builder instance
19
- */
20
- export function createSchemaBuilder(db: any): {
21
- createTable(tableName: any, callback: any): Promise<void>;
22
- alterTable(tableName: any, callback: any): Promise<void>;
23
- dropTable(tableName: any): Promise<void>;
24
- raw(sql: any, params?: any[]): Promise<any>;
25
- };
26
- /**
27
- * Create table builder instance
28
- */
29
- export function createTableBuilder(tableName: any): {
30
- id(name?: string): /*elided*/ any;
31
- string(name: any, length?: number): {
32
- notNull(): /*elided*/ any;
33
- unique(): /*elided*/ any;
34
- default(value: any): /*elided*/ any;
35
- };
36
- text(name: any): {
37
- notNull(): /*elided*/ any;
38
- unique(): /*elided*/ any;
39
- default(value: any): /*elided*/ any;
40
- };
41
- integer(name: any): {
42
- notNull(): /*elided*/ any;
43
- unique(): /*elided*/ any;
44
- default(value: any): /*elided*/ any;
45
- };
46
- boolean(name: any): {
47
- notNull(): /*elided*/ any;
48
- unique(): /*elided*/ any;
49
- default(value: any): /*elided*/ any;
50
- };
51
- datetime(name: any): {
52
- notNull(): /*elided*/ any;
53
- unique(): /*elided*/ any;
54
- default(value: any): /*elided*/ any;
55
- };
56
- timestamps(): /*elided*/ any;
57
- addColumn(name: any, type: any): /*elided*/ any;
58
- dropColumn(name: any): /*elided*/ any;
59
- toCreateSQL(): string;
60
- toAlterSQL(): string[];
61
- };
62
- //# sourceMappingURL=migration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../src/database/migration.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;GAcG;AACH,oCAZW,eAAe,WACf,MAAM,GACJ,MAAM,CAqTlB;AAED;;GAEG;AACH;;;;;EA4BC;AAED;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0JC"}