forge-sql-orm 2.1.23 → 2.1.25

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 (54) hide show
  1. package/README.md +46 -23
  2. package/dist/core/ForgeSQLAnalyseOperations.d.ts +4 -0
  3. package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -1
  4. package/dist/core/ForgeSQLAnalyseOperations.js +17 -21
  5. package/dist/core/ForgeSQLAnalyseOperations.js.map +1 -1
  6. package/dist/core/ForgeSQLCrudOperations.d.ts +16 -0
  7. package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
  8. package/dist/core/ForgeSQLCrudOperations.js +60 -28
  9. package/dist/core/ForgeSQLCrudOperations.js.map +1 -1
  10. package/dist/core/ForgeSQLQueryBuilder.d.ts +15 -28
  11. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLQueryBuilder.js +20 -47
  13. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  14. package/dist/core/Rovo.d.ts +32 -0
  15. package/dist/core/Rovo.d.ts.map +1 -1
  16. package/dist/core/Rovo.js +116 -67
  17. package/dist/core/Rovo.js.map +1 -1
  18. package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
  19. package/dist/lib/drizzle/extensions/additionalActions.js +168 -118
  20. package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
  21. package/dist/utils/cacheTableUtils.d.ts +0 -8
  22. package/dist/utils/cacheTableUtils.d.ts.map +1 -1
  23. package/dist/utils/cacheTableUtils.js +183 -126
  24. package/dist/utils/cacheTableUtils.js.map +1 -1
  25. package/dist/utils/cacheUtils.d.ts +13 -1
  26. package/dist/utils/cacheUtils.d.ts.map +1 -1
  27. package/dist/utils/cacheUtils.js +60 -47
  28. package/dist/utils/cacheUtils.js.map +1 -1
  29. package/dist/utils/forgeDriverProxy.d.ts.map +1 -1
  30. package/dist/utils/forgeDriverProxy.js +31 -20
  31. package/dist/utils/forgeDriverProxy.js.map +1 -1
  32. package/dist/utils/sqlHints.d.ts.map +1 -1
  33. package/dist/utils/sqlHints.js +19 -29
  34. package/dist/utils/sqlHints.js.map +1 -1
  35. package/dist/utils/sqlUtils.d.ts +0 -29
  36. package/dist/utils/sqlUtils.d.ts.map +1 -1
  37. package/dist/utils/sqlUtils.js +107 -78
  38. package/dist/utils/sqlUtils.js.map +1 -1
  39. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +24 -4
  40. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -1
  41. package/dist/webtriggers/clearCacheSchedulerTrigger.js +24 -4
  42. package/dist/webtriggers/clearCacheSchedulerTrigger.js.map +1 -1
  43. package/package.json +9 -9
  44. package/src/core/ForgeSQLAnalyseOperations.ts +18 -21
  45. package/src/core/ForgeSQLCrudOperations.ts +83 -33
  46. package/src/core/ForgeSQLQueryBuilder.ts +59 -154
  47. package/src/core/Rovo.ts +158 -98
  48. package/src/lib/drizzle/extensions/additionalActions.ts +287 -382
  49. package/src/utils/cacheTableUtils.ts +202 -144
  50. package/src/utils/cacheUtils.ts +70 -47
  51. package/src/utils/forgeDriverProxy.ts +39 -21
  52. package/src/utils/sqlHints.ts +21 -26
  53. package/src/utils/sqlUtils.ts +151 -101
  54. package/src/webtriggers/clearCacheSchedulerTrigger.ts +24 -4
@@ -1,7 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractBacktickedValues = extractBacktickedValues;
4
+ // qlty-ignore: +qlty:file-complexity
4
5
  const node_sql_parser_1 = require("node-sql-parser");
6
+ /**
7
+ * Extracts table name from backticks_quote_string type.
8
+ */
9
+ function extractTableNameFromBackticks(value) {
10
+ if (value.type === "backticks_quote_string" && typeof value.value === "string") {
11
+ return value.value === "dual" ? null : value.value.toLowerCase();
12
+ }
13
+ return null;
14
+ }
5
15
  /**
6
16
  * Extracts table name from object value.
7
17
  */
@@ -11,10 +21,11 @@ function extractTableNameFromObject(value, context) {
11
21
  return null;
12
22
  }
13
23
  // Handle backticks_quote_string type only for node.table context
14
- if (context?.includes("node.table") &&
15
- value.type === "backticks_quote_string" &&
16
- typeof value.value === "string") {
17
- return value.value === "dual" ? null : value.value.toLowerCase();
24
+ if (context?.includes("node.table")) {
25
+ const fromBackticks = extractTableNameFromBackticks(value);
26
+ if (fromBackticks !== null) {
27
+ return fromBackticks;
28
+ }
18
29
  }
19
30
  // Try value.name first (most common)
20
31
  if (typeof value.name === "string") {
@@ -77,6 +88,21 @@ function isShortNameAlias(node) {
77
88
  function isLikelyAlias(node) {
78
89
  return isColumnRefAlias(node) || isExplicitAlias(node) || isShortNameAlias(node);
79
90
  }
91
+ /**
92
+ * Extracts table name from table/dual node.
93
+ */
94
+ function extractTableNameFromTableNode(node) {
95
+ const fromTable = node.table
96
+ ? normalizeTableName(node.table, `node.type=${node.type}, node.table`)
97
+ : null;
98
+ if (fromTable) {
99
+ return fromTable;
100
+ }
101
+ const fromName = node.name
102
+ ? normalizeTableName(node.name, `node.type=${node.type}, node.name`)
103
+ : null;
104
+ return fromName;
105
+ }
80
106
  /**
81
107
  * Extracts table name from table node.
82
108
  *
@@ -84,35 +110,16 @@ function isLikelyAlias(node) {
84
110
  * @returns Table name in lowercase or null if not applicable
85
111
  */
86
112
  function extractTableName(node) {
87
- if (!node) {
88
- return null;
89
- }
90
- // Early return for likely aliases
91
- if (isLikelyAlias(node)) {
113
+ if (!node || isLikelyAlias(node)) {
92
114
  return null;
93
115
  }
94
116
  // Handle table node directly
95
117
  if (node.type === "table" || node.type === "dual") {
96
- const fromTable = node.table
97
- ? normalizeTableName(node.table, `node.type=${node.type}, node.table`)
98
- : null;
99
- if (fromTable) {
100
- return fromTable;
101
- }
102
- const fromName = node.name
103
- ? normalizeTableName(node.name, `node.type=${node.type}, node.name`)
104
- : null;
105
- if (fromName) {
106
- return fromName;
107
- }
108
- return null;
118
+ return extractTableNameFromTableNode(node);
109
119
  }
110
120
  // Handle table reference in different formats
111
121
  if (node.table) {
112
- const tableName = normalizeTableName(node.table, `node.table (type: ${node.type})`);
113
- if (tableName) {
114
- return tableName;
115
- }
122
+ return normalizeTableName(node.table, `node.table (type: ${node.type})`);
116
123
  }
117
124
  return null;
118
125
  }
@@ -179,6 +186,26 @@ function processFromAndJoin(node, tables) {
179
186
  }
180
187
  }
181
188
  }
189
+ /**
190
+ * Processes a single column for table extraction.
191
+ */
192
+ function processSingleColumn(col, tables) {
193
+ if (!col) {
194
+ return;
195
+ }
196
+ // If the column itself is a subquery
197
+ if (col.type === "subquery" || col.type === "select") {
198
+ extractTablesFromNode(col, tables);
199
+ }
200
+ // Process expression (may contain subqueries)
201
+ if (col.expr) {
202
+ extractTablesFromNode(col.expr, tables);
203
+ }
204
+ // Process AST (alternative structure for subqueries)
205
+ if (col.ast) {
206
+ extractTablesFromNode(col.ast, tables);
207
+ }
208
+ }
182
209
  /**
183
210
  * Processes SELECT columns that may contain subqueries.
184
211
  */
@@ -188,22 +215,7 @@ function processSelectColumns(node, tables) {
188
215
  return;
189
216
  }
190
217
  if (Array.isArray(columns)) {
191
- columns.forEach((col) => {
192
- if (!col)
193
- return;
194
- // If the column itself is a subquery
195
- if (col.type === "subquery" || col.type === "select") {
196
- extractTablesFromNode(col, tables);
197
- }
198
- // Process expression (may contain subqueries)
199
- if (col.expr) {
200
- extractTablesFromNode(col.expr, tables);
201
- }
202
- // Process AST (alternative structure for subqueries)
203
- if (col.ast) {
204
- extractTablesFromNode(col.ast, tables);
205
- }
206
- });
218
+ columns.forEach((col) => processSingleColumn(col, tables));
207
219
  }
208
220
  else if (typeof columns === "object") {
209
221
  extractTablesFromNode(columns, tables);
@@ -235,13 +247,16 @@ function processUnionNode(unionNode, tables) {
235
247
  if (!unionNode) {
236
248
  return;
237
249
  }
238
- const isUnionType = unionNode.type === "select" ||
239
- unionNode.type === "union" ||
240
- unionNode.type === "union_all" ||
241
- unionNode.type === "union_distinct" ||
242
- unionNode.type === "intersect" ||
243
- unionNode.type === "except" ||
244
- unionNode.type === "minus";
250
+ const unionTypes = [
251
+ "select",
252
+ "union",
253
+ "union_all",
254
+ "union_distinct",
255
+ "intersect",
256
+ "except",
257
+ "minus",
258
+ ];
259
+ const isUnionType = unionTypes.includes(unionNode.type);
245
260
  if (isUnionType) {
246
261
  extractTablesFromNode(unionNode, tables);
247
262
  }
@@ -273,12 +288,15 @@ function processUnion(node, tables) {
273
288
  * Processes UNION/INTERSECT/EXCEPT operation nodes.
274
289
  */
275
290
  function processUnionOperation(node, tables) {
276
- const isUnionOperation = node.type === "union" ||
277
- node.type === "union_all" ||
278
- node.type === "union_distinct" ||
279
- node.type === "intersect" ||
280
- node.type === "except" ||
281
- node.type === "minus";
291
+ const unionOperationTypes = [
292
+ "union",
293
+ "union_all",
294
+ "union_distinct",
295
+ "intersect",
296
+ "except",
297
+ "minus",
298
+ ];
299
+ const isUnionOperation = unionOperationTypes.includes(node.type);
282
300
  if (!isUnionOperation) {
283
301
  return;
284
302
  }
@@ -307,24 +325,24 @@ function processNext(node, tables) {
307
325
  /**
308
326
  * Recursively processes all object properties for any remaining nested structures.
309
327
  */
310
- function processRecursively(node, tables) {
311
- const isLikelyAlias = (node.type === "column_ref" && !node.table) ||
312
- (node.name &&
313
- !node.table &&
314
- node.type !== "table" &&
315
- node.type !== "dual" &&
316
- node.name.length <= 2);
317
- if (isLikelyAlias || Array.isArray(node)) {
318
- return;
319
- }
328
+ /**
329
+ * Processes array values recursively.
330
+ */
331
+ function processArrayValues(values, tables) {
332
+ values.forEach((item) => {
333
+ if (item && typeof item === "object") {
334
+ extractTablesFromNode(item, tables);
335
+ }
336
+ });
337
+ }
338
+ /**
339
+ * Processes object values recursively.
340
+ */
341
+ function processObjectValues(node, tables) {
320
342
  Object.values(node).forEach((value) => {
321
343
  if (value && typeof value === "object") {
322
344
  if (Array.isArray(value)) {
323
- value.forEach((item) => {
324
- if (item && typeof item === "object") {
325
- extractTablesFromNode(item, tables);
326
- }
327
- });
345
+ processArrayValues(value, tables);
328
346
  }
329
347
  else {
330
348
  extractTablesFromNode(value, tables);
@@ -332,6 +350,67 @@ function processRecursively(node, tables) {
332
350
  }
333
351
  });
334
352
  }
353
+ function processRecursively(node, tables) {
354
+ const isColumnRefAlias = node.type === "column_ref" && !node.table;
355
+ const hasName = Boolean(node.name);
356
+ const hasNoTable = !node.table;
357
+ const isNotTableType = node.type !== "table" && node.type !== "dual";
358
+ const isShortName = hasName && node.name.length <= 2;
359
+ const isShortNameAlias = hasName && hasNoTable && isNotTableType && isShortName;
360
+ const isLikelyAlias = isColumnRefAlias || isShortNameAlias;
361
+ if (isLikelyAlias || Array.isArray(node)) {
362
+ return;
363
+ }
364
+ processObjectValues(node, tables);
365
+ }
366
+ /**
367
+ * Processes DML statement types (UPDATE, INSERT, DELETE).
368
+ */
369
+ function processDmlStatements(node, tables) {
370
+ if (node.type === "update" && node.table) {
371
+ extractTablesFromNode(node.table, tables);
372
+ }
373
+ else if (node.type === "insert" && node.table) {
374
+ extractTablesFromNode(node.table, tables);
375
+ }
376
+ else if (node.type === "delete" && node.from) {
377
+ extractTablesFromNode(node.from, tables);
378
+ }
379
+ }
380
+ /**
381
+ * Processes SELECT-specific clauses (WHERE, HAVING, ORDER BY, GROUP BY).
382
+ */
383
+ function processSelectClauses(node, tables) {
384
+ if (node.where) {
385
+ extractTablesFromNode(node.where, tables);
386
+ }
387
+ if (node.having) {
388
+ extractTablesFromNode(node.having, tables);
389
+ }
390
+ processOrderByOrGroupBy(node.orderby || node.order_by, tables);
391
+ processOrderByOrGroupBy(node.groupby || node.group_by, tables);
392
+ }
393
+ /**
394
+ * Processes subquery and SELECT statement types.
395
+ */
396
+ function processSubqueryAndSelect(node, tables) {
397
+ if (node.type === "subquery" || node.type === "select") {
398
+ if (node.ast) {
399
+ extractTablesFromNode(node.ast, tables);
400
+ }
401
+ if (node.from) {
402
+ extractTablesFromNode(node.from, tables);
403
+ }
404
+ }
405
+ }
406
+ /**
407
+ * Processes set operations (UNION, INTERSECT, EXCEPT).
408
+ */
409
+ function processSetOperations(node, tables) {
410
+ processUnion(node, tables);
411
+ processUnionOperation(node, tables);
412
+ processNext(node, tables);
413
+ }
335
414
  /**
336
415
  * Recursively extracts table names from SQL AST node.
337
416
  * Handles regular tables, CTEs, subqueries, and complex query structures.
@@ -349,47 +428,16 @@ function extractTablesFromNode(node, tables) {
349
428
  processCTE(node, tables);
350
429
  // Extract tables from FROM and JOIN clauses
351
430
  processFromAndJoin(node, tables);
352
- // Handle subqueries explicitly
353
- if (node.type === "subquery" || node.type === "select") {
354
- if (node.ast) {
355
- extractTablesFromNode(node.ast, tables);
356
- }
357
- if (node.from) {
358
- extractTablesFromNode(node.from, tables);
359
- }
360
- }
361
- // Extract tables from WHERE clause (may contain subqueries)
362
- if (node.where) {
363
- extractTablesFromNode(node.where, tables);
364
- }
431
+ // Handle subqueries and SELECT statements
432
+ processSubqueryAndSelect(node, tables);
433
+ // Process SELECT-specific clauses
434
+ processSelectClauses(node, tables);
365
435
  // Extract tables from SELECT columns (may contain subqueries)
366
436
  processSelectColumns(node, tables);
367
- // Extract tables from HAVING clause (may contain subqueries)
368
- if (node.having) {
369
- extractTablesFromNode(node.having, tables);
370
- }
371
- // Extract tables from ORDER BY clause (may contain subqueries)
372
- processOrderByOrGroupBy(node.orderby || node.order_by, tables);
373
- // Extract tables from GROUP BY clause (may contain subqueries)
374
- processOrderByOrGroupBy(node.groupby || node.group_by, tables);
375
- // Extract tables from UPDATE statement
376
- if (node.type === "update" && node.table) {
377
- extractTablesFromNode(node.table, tables);
378
- }
379
- // Extract tables from INSERT statement
380
- if (node.type === "insert" && node.table) {
381
- extractTablesFromNode(node.table, tables);
382
- }
383
- // Extract tables from DELETE statement
384
- if (node.type === "delete" && node.from) {
385
- extractTablesFromNode(node.from, tables);
386
- }
387
- // Extract tables from UNION operations
388
- processUnion(node, tables);
389
- // Handle node types for UNION/INTERSECT/EXCEPT operations
390
- processUnionOperation(node, tables);
391
- // Handle _next property (alternative UNION structure)
392
- processNext(node, tables);
437
+ // Process DML statements (UPDATE, INSERT, DELETE)
438
+ processDmlStatements(node, tables);
439
+ // Process set operations (UNION, INTERSECT, EXCEPT)
440
+ processSetOperations(node, tables);
393
441
  // Recursively process all object properties
394
442
  processRecursively(node, tables);
395
443
  }
@@ -401,6 +449,29 @@ function extractTablesFromNode(node, tables) {
401
449
  * @param options - ForgeSQL ORM options for logging
402
450
  * @returns Comma-separated string of unique table names in backticks
403
451
  */
452
+ /**
453
+ * Formats table names as backticked comma-separated string.
454
+ */
455
+ function formatBacktickedValues(tables) {
456
+ return Array.from(tables)
457
+ .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base", numeric: true }))
458
+ .map((table) => `\`${table}\``)
459
+ .join(",");
460
+ }
461
+ /**
462
+ * Extracts table names using regex fallback.
463
+ */
464
+ function extractTablesWithRegex(sql) {
465
+ const regex = /`([^`]+)`/g;
466
+ const matches = new Set();
467
+ let match;
468
+ while ((match = regex.exec(sql.toLowerCase())) !== null) {
469
+ if (!match[1].startsWith("a_")) {
470
+ matches.add(match[1]);
471
+ }
472
+ }
473
+ return matches;
474
+ }
404
475
  function extractBacktickedValues(sql, options) {
405
476
  // Try to use node-sql-parser first
406
477
  try {
@@ -413,11 +484,7 @@ function extractBacktickedValues(sql, options) {
413
484
  extractTablesFromNode(statement, tables);
414
485
  });
415
486
  if (tables.size > 0) {
416
- // Sort to ensure consistent order for the same input
417
- const backtickedValues = Array.from(tables)
418
- .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base", numeric: true }))
419
- .map((table) => `\`${table}\``)
420
- .join(",");
487
+ const backtickedValues = formatBacktickedValues(tables);
421
488
  if (options.logCache) {
422
489
  // eslint-disable-next-line no-console
423
490
  console.warn(`Extracted backticked values: ${backtickedValues}`);
@@ -434,17 +501,7 @@ function extractBacktickedValues(sql, options) {
434
501
  // This handles cases where node-sql-parser doesn't support the SQL syntax
435
502
  }
436
503
  // Fallback to regex-based extraction (original logic)
437
- const regex = /`([^`]+)`/g;
438
- const matches = new Set();
439
- let match;
440
- while ((match = regex.exec(sql.toLowerCase())) !== null) {
441
- if (!match[1].startsWith("a_")) {
442
- matches.add(`\`${match[1]}\``);
443
- }
444
- }
445
- // Sort to ensure consistent order for the same input
446
- return Array.from(matches)
447
- .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base", numeric: true }))
448
- .join(",");
504
+ const matches = extractTablesWithRegex(sql);
505
+ return formatBacktickedValues(matches);
449
506
  }
450
507
  //# sourceMappingURL=cacheTableUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cacheTableUtils.js","sourceRoot":"","sources":["../../src/utils/cacheTableUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cacheTableUtils.js","sourceRoot":"","sources":["../../src/utils/cacheTableUtils.ts"],"names":[],"mappings":";;AAohBA,0DAoCC;AAxjBD,qCAAqC;AACrC,qDAAyC;AAGzC;;GAEG;AACH,SAAS,6BAA6B,CAAC,KAAU;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,KAAU,EAAE,OAAgB;IAC9D,+CAA+C;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACjE,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,wEAAwE;IACxE,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,6DAA6D,EAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAU,EAAE,OAAgB;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mCAAmC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;IACD,iEAAiE;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IACD,6EAA6E;IAC7E,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,+CAA+C,EAC/C,OAAO,KAAK,EACZ,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAS;IACjC,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAS;IAChC,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAS;IACjC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;IAChG,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAS;IAC9B,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CAAC,IAAS;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;QAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,IAAI,cAAc,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI;QACxB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,CAAC,IAAI,aAAa,CAAC;QACpE,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAS;IACjC,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAS,EAAE,SAAiB,EAAE,MAAmB;IACzE,+CAA+C;IAC/C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IACtE,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAS,EAAE,MAAmB;IAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAS,EAAE,MAAmB;IAChD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;QAC/B,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAClB,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAS,EAAE,MAAmB;IACxD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,GAAQ,EAAE,MAAmB;IACxD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAS,EAAE,MAAmB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAAW,EAAE,MAAmB;IAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC3B,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;gBACf,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;YACD,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAc,EAAE,MAAmB;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,QAAQ;QACR,OAAO;KACR,CAAC;IACF,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,WAAW,EAAE,CAAC;QAChB,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,qBAAqB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAS,EAAE,MAAmB;IAClD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAS,EAAE,MAAmB;IAC3D,MAAM,mBAAmB,GAAG;QAC1B,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,QAAQ;QACR,OAAO;KACR,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAS,EAAE,MAAmB;IACjD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;GAEG;AACH;;GAEG;AACH,SAAS,kBAAkB,CAAC,MAAa,EAAE,MAAmB;IAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;QAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAS,EAAE,MAAmB;IACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAS,EAAE,MAAmB;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IACrE,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,OAAO,IAAI,UAAU,IAAI,cAAc,IAAI,WAAW,CAAC;IAChF,MAAM,aAAa,GAAG,gBAAgB,IAAI,gBAAgB,CAAC;IAE3D,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAS,EAAE,MAAmB;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAS,EAAE,MAAmB;IAC1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,uBAAuB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,uBAAuB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAS,EAAE,MAAmB;IAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAS,EAAE,MAAmB;IAC1D,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAS,EAAE,MAAmB;IAC3D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErC,sDAAsD;IACtD,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzB,4CAA4C;IAC5C,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEjC,0CAA0C;IAC1C,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEvC,kCAAkC;IAClC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEnC,8DAA8D;IAC9D,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEnC,kDAAkD;IAClD,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEnC,oDAAoD;IACpD,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEnC,4CAA4C;IAC5C,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH;;GAEG;AACH,SAAS,sBAAsB,CAAC,MAAmB;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SACrF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uBAAuB,CAAC,GAAW,EAAE,OAA2B;IAC9E,mCAAmC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,wBAAM,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,uDAAuD;QACvD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/B,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,gCAAgC,gBAAgB,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,uCAAuC,KAAK,yCAAyC,CACtF,CAAC;QACJ,CAAC;QACD,wDAAwD;QACxD,0EAA0E;IAC5E,CAAC;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -25,6 +25,7 @@ export declare function clearCache<T extends AnyMySqlTable>(schema: T, options:
25
25
  */
26
26
  export declare function clearTablesCache(tables: string[], options: ForgeSqlOrmOptions): Promise<void>;
27
27
  /**
28
+ * since https://developer.atlassian.com/platform/forge/changelog/#CHANGE-3038
28
29
  * Clears expired cache entries with retry logic and performance logging.
29
30
  *
30
31
  * @param options - ForgeSQL ORM options
@@ -34,6 +35,10 @@ export declare function clearExpiredCache(options: ForgeSqlOrmOptions): Promise<
34
35
  /**
35
36
  * Retrieves data from cache if it exists and is not expired.
36
37
  *
38
+ * Note: Due to Forge KVS asynchronous deletion (up to 48 hours), expired entries may still
39
+ * be returned. This function checks the expiration timestamp to filter out expired entries.
40
+ * If cache growth impacts performance, use the Clear Cache Scheduler Trigger.
41
+ *
37
42
  * @param query - Query object with toSQL method
38
43
  * @param options - ForgeSQL ORM options
39
44
  * @returns Cached data if found and valid, undefined otherwise
@@ -44,11 +49,18 @@ export declare function getFromCache<T>(query: {
44
49
  /**
45
50
  * Stores query results in cache with specified TTL.
46
51
  *
52
+ * Uses Forge KVS TTL feature to set expiration. Note that expired data deletion is asynchronous:
53
+ * expired data is not removed immediately upon expiry. Deletion may take up to 48 hours.
54
+ * During this window, read operations may still return expired results. If your app requires
55
+ * strict expiry semantics, consider using the Clear Cache Scheduler Trigger to proactively
56
+ * clean up expired entries, especially if cache growth impacts INSERT/UPDATE performance.
57
+ *
47
58
  * @param query - Query object with toSQL method
48
59
  * @param options - ForgeSQL ORM options
49
60
  * @param results - Data to cache
50
- * @param cacheTtl - Time to live in seconds
61
+ * @param cacheTtl - Time to live in seconds (maximum TTL is 1 year from write time)
51
62
  * @returns Promise that resolves when data is stored in cache
63
+ * @see https://developer.atlassian.com/platform/forge/runtime-reference/storage-api-basic-api/#ttl
52
64
  */
53
65
  export declare function setCacheResult(query: {
54
66
  toSQL: () => Query;
@@ -1 +1 @@
1
- {"version":3,"file":"cacheUtils.d.ts","sourceRoot":"","sources":["../../src/utils/cacheUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA4ClE;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAK5C;AAmKD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,CAAC,SAAS,aAAa,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoBf;AACD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,EAC7B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA2CxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
1
+ {"version":3,"file":"cacheUtils.d.ts","sourceRoot":"","sources":["../../src/utils/cacheUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAoElE;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAK5C;AAiKD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,CAAC,SAAS,aAAa,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiBf;AACD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,EAC7B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA2CxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAyCf"}