@warlock.js/cascade 4.0.132 → 4.0.133

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 (53) hide show
  1. package/cjs/contracts/migration-driver.contract.d.ts +70 -1
  2. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  3. package/cjs/drivers/mongodb/mongodb-driver.d.ts +12 -0
  4. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  5. package/cjs/drivers/mongodb/mongodb-driver.js +26 -4
  6. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
  7. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
  8. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  9. package/cjs/drivers/mongodb/mongodb-migration-driver.js +68 -0
  10. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  11. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +52 -1
  12. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  13. package/cjs/drivers/postgres/postgres-migration-driver.js +226 -27
  14. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -1
  15. package/cjs/migration/column-builder.d.ts +201 -1
  16. package/cjs/migration/column-builder.d.ts.map +1 -1
  17. package/cjs/migration/column-builder.js +295 -0
  18. package/cjs/migration/column-builder.js.map +1 -1
  19. package/cjs/migration/foreign-key-builder.d.ts +10 -17
  20. package/cjs/migration/foreign-key-builder.d.ts.map +1 -1
  21. package/cjs/migration/foreign-key-builder.js +11 -19
  22. package/cjs/migration/foreign-key-builder.js.map +1 -1
  23. package/cjs/migration/migration.d.ts +223 -15
  24. package/cjs/migration/migration.d.ts.map +1 -1
  25. package/cjs/migration/migration.js +249 -29
  26. package/cjs/migration/migration.js.map +1 -1
  27. package/esm/contracts/migration-driver.contract.d.ts +70 -1
  28. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  29. package/esm/drivers/mongodb/mongodb-driver.d.ts +12 -0
  30. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  31. package/esm/drivers/mongodb/mongodb-driver.js +26 -4
  32. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
  33. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
  34. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  35. package/esm/drivers/mongodb/mongodb-migration-driver.js +68 -0
  36. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  37. package/esm/drivers/postgres/postgres-migration-driver.d.ts +52 -1
  38. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  39. package/esm/drivers/postgres/postgres-migration-driver.js +226 -27
  40. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -1
  41. package/esm/migration/column-builder.d.ts +201 -1
  42. package/esm/migration/column-builder.d.ts.map +1 -1
  43. package/esm/migration/column-builder.js +295 -0
  44. package/esm/migration/column-builder.js.map +1 -1
  45. package/esm/migration/foreign-key-builder.d.ts +10 -17
  46. package/esm/migration/foreign-key-builder.d.ts.map +1 -1
  47. package/esm/migration/foreign-key-builder.js +11 -19
  48. package/esm/migration/foreign-key-builder.js.map +1 -1
  49. package/esm/migration/migration.d.ts +223 -15
  50. package/esm/migration/migration.d.ts.map +1 -1
  51. package/esm/migration/migration.js +249 -29
  52. package/esm/migration/migration.js.map +1 -1
  53. package/package.json +4 -4
@@ -102,10 +102,6 @@ class Migration {
102
102
  * Queued operations to execute.
103
103
  */
104
104
  pendingOperations = [];
105
- /**
106
- * Pending indexes from column builders.
107
- */
108
- pendingIndexes = [];
109
105
  // ============================================================================
110
106
  // STATIC FACTORY
111
107
  // ============================================================================
@@ -172,31 +168,24 @@ class Migration {
172
168
  * @internal
173
169
  */
174
170
  async execute() {
175
- // Execute column/table operations
176
171
  for (const op of this.pendingOperations) {
177
172
  await this.executeOperation(op);
178
173
  }
179
- // Execute pending indexes from column builders
180
- for (const index of this.pendingIndexes) {
181
- if (index.unique) {
182
- await this.driver.createUniqueIndex(this.table, index.columns, index.name);
183
- }
184
- else {
185
- await this.driver.createIndex(this.table, index);
186
- }
187
- }
188
- // Clear pending operations after execution
189
174
  this.pendingOperations.length = 0;
190
- this.pendingIndexes.length = 0;
191
175
  }
192
176
  /**
193
177
  * Execute a single pending operation.
194
178
  */
195
179
  async executeOperation(op) {
196
180
  switch (op.type) {
197
- case "addColumn":
198
- await this.driver.addColumn(this.table, op.payload);
181
+ case "addColumn": {
182
+ const column = op.payload;
183
+ await this.driver.addColumn(this.table, column);
184
+ if (column.checkConstraint) {
185
+ await this.driver.addCheck(this.table, column.checkConstraint.name, column.checkConstraint.expression);
186
+ }
199
187
  break;
188
+ }
200
189
  case "dropColumn":
201
190
  await this.driver.dropColumn(this.table, op.payload);
202
191
  break;
@@ -269,6 +258,14 @@ class Migration {
269
258
  case "dropPrimaryKey":
270
259
  await this.driver.dropPrimaryKey(this.table);
271
260
  break;
261
+ case "addCheck": {
262
+ const { name, expression } = op.payload;
263
+ await this.driver.addCheck(this.table, name, expression);
264
+ break;
265
+ }
266
+ case "dropCheck":
267
+ await this.driver.dropCheck(this.table, op.payload);
268
+ break;
272
269
  case "createTable":
273
270
  await this.driver.createTable(this.table);
274
271
  break;
@@ -284,6 +281,9 @@ class Migration {
284
281
  case "renameTable":
285
282
  await this.driver.renameTable(this.table, op.payload);
286
283
  break;
284
+ case "truncateTable":
285
+ await this.driver.truncateTable(this.table);
286
+ break;
287
287
  case "setSchemaValidation":
288
288
  await this.driver.setSchemaValidation(this.table, op.payload);
289
289
  break;
@@ -293,23 +293,124 @@ class Migration {
293
293
  }
294
294
  }
295
295
  // ============================================================================
296
+ // SCHEMA INSPECTION
297
+ // ============================================================================
298
+ /**
299
+ * Check if a table exists.
300
+ *
301
+ * Useful for conditional migrations and idempotent operations.
302
+ *
303
+ * @param tableName - Table name to check
304
+ * @returns Promise resolving to true if table exists
305
+ *
306
+ * @example
307
+ * ```typescript
308
+ * public async up() {
309
+ * if (await this.hasTable("users_backup")) {
310
+ * this.dropTable("users_backup");
311
+ * }
312
+ * // ... rest of migration
313
+ * }
314
+ * ```
315
+ */
316
+ async hasTable(tableName) {
317
+ return this.driver.tableExists(tableName);
318
+ }
319
+ /**
320
+ * Check if a column exists in the current table.
321
+ *
322
+ * @param columnName - Column name to check
323
+ * @returns Promise resolving to true if column exists
324
+ *
325
+ * @example
326
+ * ```typescript
327
+ * public async up() {
328
+ * if (!(await this.hasColumn("email"))) {
329
+ * this.string("email").unique();
330
+ * }
331
+ * }
332
+ * ```
333
+ */
334
+ async hasColumn(columnName) {
335
+ const columns = await this.getColumns();
336
+ return columns.some((col) => col.name === columnName);
337
+ }
338
+ /**
339
+ * Get all columns in the current table.
340
+ *
341
+ * @returns Promise resolving to array of column definitions
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * const columns = await this.getColumns();
346
+ * if (columns.find(col => col.type === "string" && !col.length)) {
347
+ * // migrate all unbounded strings
348
+ * }
349
+ * ```
350
+ */
351
+ async getColumns() {
352
+ return this.driver.listColumns(this.table);
353
+ }
354
+ /**
355
+ * List all tables in the current database/connection.
356
+ *
357
+ * @returns Promise resolving to array of table names
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * const tables = await this.listTables();
362
+ * for (const table of tables) {
363
+ * // process each table
364
+ * }
365
+ * ```
366
+ */
367
+ async listTables() {
368
+ return this.driver.listTables();
369
+ }
370
+ /**
371
+ * Get all indexes on the current table.
372
+ */
373
+ async getIndexes() {
374
+ return this.driver.listIndexes(this.table);
375
+ }
376
+ /**
377
+ * Check if a named index exists on the current table.
378
+ */
379
+ async hasIndex(indexName) {
380
+ const indexes = await this.getIndexes();
381
+ return indexes.some((idx) => idx.name === indexName);
382
+ }
383
+ // ============================================================================
296
384
  // INTERNAL HELPERS
297
385
  // ============================================================================
298
386
  /**
299
387
  * Add a pending index definition.
300
388
  *
301
389
  * Called by ColumnBuilder when .unique() or .index() is chained.
390
+ * Routes into pendingOperations so indexes execute in definition order
391
+ * alongside columns and constraints.
302
392
  *
303
393
  * @param index - Index definition
304
394
  * @internal
305
395
  */
306
396
  addPendingIndex(index) {
307
- this.pendingIndexes.push(index);
397
+ if (index.unique) {
398
+ this.pendingOperations.push({
399
+ type: "createUniqueIndex",
400
+ payload: { columns: index.columns, name: index.name },
401
+ });
402
+ }
403
+ else {
404
+ this.pendingOperations.push({
405
+ type: "createIndex",
406
+ payload: index,
407
+ });
408
+ }
308
409
  }
309
410
  /**
310
411
  * Add a foreign key operation.
311
412
  *
312
- * Called by ForeignKeyBuilder when .add() is called.
413
+ * Called by ForeignKeyBuilder or ColumnBuilder when .references() is called.
313
414
  *
314
415
  * @param fk - Foreign key definition
315
416
  * @internal
@@ -372,6 +473,18 @@ class Migration {
372
473
  this.pendingOperations.push({ type: "renameTable", payload: newName });
373
474
  return this;
374
475
  }
476
+ /**
477
+ * Truncate the table — remove all rows without logging or firing triggers.
478
+ *
479
+ * Faster than DELETE with no WHERE clause. Resets auto-increment counters
480
+ * on most databases.
481
+ *
482
+ * @returns This migration for chaining
483
+ */
484
+ truncateTable() {
485
+ this.pendingOperations.push({ type: "truncateTable", payload: null });
486
+ return this;
487
+ }
375
488
  // ============================================================================
376
489
  // COLUMN TYPES - STRING
377
490
  // ============================================================================
@@ -1019,19 +1132,27 @@ class Migration {
1019
1132
  *
1020
1133
  * @param columns - Column(s) to index
1021
1134
  * @param name - Optional index name
1135
+ * @param options - Optional index options (include, concurrently)
1022
1136
  * @returns This migration for chaining
1023
1137
  *
1024
1138
  * @example
1025
1139
  * ```typescript
1026
1140
  * this.index("email");
1027
1141
  * this.index(["firstName", "lastName"], "name_idx");
1142
+ * this.index("userId", "idx_user", { include: ["name", "email"] });
1143
+ * this.index("email", "idx_email", { concurrently: true });
1028
1144
  * ```
1029
1145
  */
1030
- index(columns, name) {
1146
+ index(columns, name, options) {
1031
1147
  const cols = Array.isArray(columns) ? columns : [columns];
1032
1148
  this.pendingOperations.push({
1033
1149
  type: "createIndex",
1034
- payload: { columns: cols, name },
1150
+ payload: {
1151
+ columns: cols,
1152
+ name,
1153
+ include: options?.include,
1154
+ concurrently: options?.concurrently,
1155
+ },
1035
1156
  });
1036
1157
  return this;
1037
1158
  }
@@ -1059,13 +1180,26 @@ class Migration {
1059
1180
  *
1060
1181
  * @param columns - Column(s) to make unique
1061
1182
  * @param name - Optional constraint name
1183
+ * @param options - Optional index options (include, concurrently)
1062
1184
  * @returns This migration for chaining
1185
+ *
1186
+ * @example
1187
+ * ```typescript
1188
+ * this.unique("email");
1189
+ * this.unique(["userId", "roleId"], "unique_user_role");
1190
+ * this.unique("email", "unique_email", { include: ["name"] });
1191
+ * ```
1063
1192
  */
1064
- unique(columns, name) {
1193
+ unique(columns, name, options) {
1065
1194
  const cols = Array.isArray(columns) ? columns : [columns];
1066
1195
  this.pendingOperations.push({
1067
1196
  type: "createUniqueIndex",
1068
- payload: { columns: cols, name },
1197
+ payload: {
1198
+ columns: cols,
1199
+ name,
1200
+ include: options?.include,
1201
+ concurrently: options?.concurrently,
1202
+ },
1069
1203
  });
1070
1204
  return this;
1071
1205
  }
@@ -1080,6 +1214,44 @@ class Migration {
1080
1214
  this.pendingOperations.push({ type: "dropUniqueIndex", payload: cols });
1081
1215
  return this;
1082
1216
  }
1217
+ /**
1218
+ * Create an expression-based index.
1219
+ *
1220
+ * Allows indexing on SQL expressions rather than plain columns.
1221
+ * Useful for case-insensitive searches, computed values, etc.
1222
+ *
1223
+ * **Note**: PostgreSQL-specific feature. MongoDB will silently ignore this.
1224
+ *
1225
+ * @param expressions - SQL expression(s) to index
1226
+ * @param name - Optional index name
1227
+ * @param options - Optional index options (concurrently)
1228
+ * @returns This migration for chaining
1229
+ *
1230
+ * @example
1231
+ * ```typescript
1232
+ * // Case-insensitive email index
1233
+ * this.expressionIndex(['lower(email)'], 'idx_email_lower');
1234
+ *
1235
+ * // Multiple expressions
1236
+ * this.expressionIndex(['lower(firstName)', 'lower(lastName)'], 'idx_name_lower');
1237
+ *
1238
+ * // With concurrent creation (requires transactional = false)
1239
+ * this.expressionIndex(['lower(email)'], 'idx_email_lower', { concurrently: true });
1240
+ * ```
1241
+ */
1242
+ expressionIndex(expressions, name, options) {
1243
+ const exprs = Array.isArray(expressions) ? expressions : [expressions];
1244
+ this.pendingOperations.push({
1245
+ type: "createIndex",
1246
+ payload: {
1247
+ columns: [],
1248
+ expressions: exprs,
1249
+ name,
1250
+ concurrently: options?.concurrently,
1251
+ },
1252
+ });
1253
+ return this;
1254
+ }
1083
1255
  // ============================================================================
1084
1256
  // FULL-TEXT INDEX
1085
1257
  // ============================================================================
@@ -1235,10 +1407,59 @@ class Migration {
1235
1407
  return this;
1236
1408
  }
1237
1409
  // ============================================================================
1410
+ // CHECK CONSTRAINTS
1411
+ // ============================================================================
1412
+ /**
1413
+ * Add a CHECK constraint to the table.
1414
+ *
1415
+ * SQL-only feature. PostgreSQL, MySQL 8.0+, SQLite support this.
1416
+ * Validates that rows satisfy the given SQL expression.
1417
+ *
1418
+ * @param name - Constraint name
1419
+ * @param expression - SQL CHECK expression
1420
+ * @returns This migration for chaining
1421
+ *
1422
+ * @example
1423
+ * ```typescript
1424
+ * this.check("age_positive", "age >= 0");
1425
+ * this.check("valid_email", "email LIKE '%@%'");
1426
+ * this.check("price_range", "price BETWEEN 0 AND 1000000");
1427
+ * ```
1428
+ */
1429
+ check(name, expression) {
1430
+ this.pendingOperations.push({
1431
+ type: "addCheck",
1432
+ payload: { name, expression },
1433
+ });
1434
+ return this;
1435
+ }
1436
+ /**
1437
+ * Drop a CHECK constraint by name.
1438
+ *
1439
+ * @param name - Constraint name
1440
+ * @returns This migration for chaining
1441
+ *
1442
+ * @example
1443
+ * ```typescript
1444
+ * this.dropCheck("age_positive");
1445
+ * ```
1446
+ */
1447
+ dropCheck(name) {
1448
+ this.pendingOperations.push({
1449
+ type: "dropCheck",
1450
+ payload: name,
1451
+ });
1452
+ return this;
1453
+ }
1454
+ // ============================================================================
1238
1455
  // FOREIGN KEYS (SQL)
1239
1456
  // ============================================================================
1240
1457
  /**
1241
- * Start building a foreign key constraint.
1458
+ * Start building a foreign key constraint on an existing column.
1459
+ *
1460
+ * Use this when adding a foreign key to a column that was defined in a
1461
+ * previous migration. For new columns, prefer the inline form:
1462
+ * `this.integer("user_id").references("users").onDelete("cascade")`
1242
1463
  *
1243
1464
  * SQL-only feature; NoSQL drivers ignore foreign keys.
1244
1465
  *
@@ -1249,8 +1470,7 @@ class Migration {
1249
1470
  * ```typescript
1250
1471
  * this.foreign("user_id")
1251
1472
  * .references("users", "id")
1252
- * .onDelete("cascade")
1253
- * .add();
1473
+ * .onDelete("cascade");
1254
1474
  * ```
1255
1475
  */
1256
1476
  foreign(column) {
@@ -1337,10 +1557,10 @@ function migrate(model, options) {
1337
1557
  table = model.table;
1338
1558
  static transactional = options?.transactional;
1339
1559
  async up() {
1340
- options?.up?.call(this);
1560
+ await options?.up?.call(this);
1341
1561
  }
1342
1562
  async down() {
1343
- options?.down?.call(this);
1563
+ await options?.down?.call(this);
1344
1564
  }
1345
1565
  };
1346
1566
  }exports.Migration=Migration;exports.migrate=migrate;//# sourceMappingURL=migration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sources":["../../src/migration/migration.ts"],"sourcesContent":[null],"names":["ColumnBuilder","ForeignKeyBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sources":["../../src/migration/migration.ts"],"sourcesContent":[null],"names":["ColumnBuilder","ForeignKeyBuilder"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { DataSource } from "../data-source/data-source";
2
2
  import type { DriverContract } from "./database-driver.contract";
3
+ import type { TableIndexInformation } from "./driver-blueprint.contract";
4
+ export type { TableIndexInformation };
3
5
  /**
4
6
  * Column data types supported across all database drivers.
5
7
  */
@@ -20,8 +22,10 @@ export type ColumnDefinition = {
20
22
  scale?: number;
21
23
  /** Whether the column allows NULL values */
22
24
  nullable?: boolean;
23
- /** Default value for the column */
25
+ /** Default value for the column (can be a primitive, SQL string, or {__type: 'CURRENT_TIMESTAMP'}) */
24
26
  defaultValue?: unknown;
27
+ /** MySQL: ON UPDATE CURRENT_TIMESTAMP */
28
+ onUpdateCurrent?: boolean;
25
29
  /** Whether this is a primary key */
26
30
  primary?: boolean;
27
31
  /** Whether this column auto-increments */
@@ -36,6 +40,22 @@ export type ColumnDefinition = {
36
40
  values?: string[];
37
41
  /** Vector dimensions (for vector type) */
38
42
  dimensions?: number;
43
+ /** Position this column after another column */
44
+ after?: string;
45
+ /** Position this column as the first column in the table */
46
+ first?: boolean;
47
+ /** Generated column configuration */
48
+ generated?: {
49
+ /** SQL expression to compute the value */
50
+ expression: string;
51
+ /** true = STORED (persisted), false = VIRTUAL (computed on read) */
52
+ stored: boolean;
53
+ };
54
+ /** Inline CHECK constraint on this column */
55
+ checkConstraint?: {
56
+ expression: string;
57
+ name: string;
58
+ };
39
59
  };
40
60
  /**
41
61
  * Index definition for creating database indexes.
@@ -55,6 +75,12 @@ export type IndexDefinition = {
55
75
  readonly sparse?: boolean;
56
76
  /** Sort direction for each column */
57
77
  readonly directions?: Array<"asc" | "desc">;
78
+ /** Expression-based index (PostgreSQL) - e.g., ['lower(email)', 'upper(name)'] */
79
+ readonly expressions?: string[];
80
+ /** Covering index columns (PostgreSQL INCLUDE clause) */
81
+ readonly include?: string[];
82
+ /** Create index concurrently without blocking writes (PostgreSQL) */
83
+ readonly concurrently?: boolean;
58
84
  };
59
85
  /**
60
86
  * Full-text search index options.
@@ -154,6 +180,12 @@ export interface MigrationDriverContract {
154
180
  * @param to - New table name
155
181
  */
156
182
  renameTable(from: string, to: string): Promise<void>;
183
+ /**
184
+ * Truncate a table — remove all rows efficiently.
185
+ *
186
+ * @param table - Table name
187
+ */
188
+ truncateTable(table: string): Promise<void>;
157
189
  /**
158
190
  * Check if a table or collection exists.
159
191
  *
@@ -161,6 +193,19 @@ export interface MigrationDriverContract {
161
193
  * @returns True if table exists
162
194
  */
163
195
  tableExists(table: string): Promise<boolean>;
196
+ /**
197
+ * List all columns in a table.
198
+ *
199
+ * @param table - Table name
200
+ * @returns Array of column definitions
201
+ */
202
+ listColumns(table: string): Promise<ColumnDefinition[]>;
203
+ /**
204
+ * List all tables in the current database/connection.
205
+ *
206
+ * @returns Array of table names
207
+ */
208
+ listTables(): Promise<string[]>;
164
209
  /**
165
210
  * Ensure the migrations tracking table exists.
166
211
  *
@@ -304,6 +349,13 @@ export interface MigrationDriverContract {
304
349
  * @param column - Column with TTL index
305
350
  */
306
351
  dropTTLIndex(table: string, column: string): Promise<void>;
352
+ /**
353
+ * List all indexes on a table.
354
+ *
355
+ * @param table - Table name
356
+ * @returns Array of index metadata
357
+ */
358
+ listIndexes(table: string): Promise<TableIndexInformation[]>;
307
359
  /**
308
360
  * Add a foreign key constraint.
309
361
  *
@@ -333,6 +385,23 @@ export interface MigrationDriverContract {
333
385
  * @param table - Table name
334
386
  */
335
387
  dropPrimaryKey(table: string): Promise<void>;
388
+ /**
389
+ * Add a CHECK constraint.
390
+ *
391
+ * Validates that all rows satisfy the given SQL expression.
392
+ *
393
+ * @param table - Table name
394
+ * @param name - Constraint name
395
+ * @param expression - SQL CHECK expression
396
+ */
397
+ addCheck(table: string, name: string, expression: string): Promise<void>;
398
+ /**
399
+ * Drop a CHECK constraint.
400
+ *
401
+ * @param table - Table name
402
+ * @param name - Constraint name
403
+ */
404
+ dropCheck(table: string, name: string): Promise<void>;
336
405
  /**
337
406
  * Set JSON schema validation rules on a collection.
338
407
  *
@@ -1 +1 @@
1
- {"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,YAAY,GACZ,UAAU,GACV,SAAS,GACT,cAAc,GACd,aAAa,GACb,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,UAAU,GACV,WAAW,GACX,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,WAAW,GACX,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,MAAM,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sGAAsG;IACtG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,qCAAqC;IACrC,SAAS,CAAC,EAAE;QACV,0CAA0C;QAC1C,UAAU,EAAE,MAAM,CAAC;QACnB,oEAAoE;QACpE,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,6CAA6C;IAC7C,eAAe,CAAC,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC5C,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,iCAAiC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC5D,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,sBAAsB;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACpE,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACrE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,uBAAuB;IAKtC;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAExD;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMxD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;;;;OAOG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMrE;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjE;;;;;;OAMG;IACH,mBAAmB,CACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAM7D;;;;;;;OAOG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMtD;;;;;;;OAOG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMrD;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC;IAMhC;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,UAAU,GAAG,cAAc,KAChC,uBAAuB,CAAC"}