@context-action/core 0.7.2 → 0.7.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -49,6 +49,16 @@ async function executeSequential(context, createController) {
49
49
  const controller = createController(registration, i);
50
50
  try {
51
51
  if (context.aborted) break;
52
+ if (registration.config.condition) try {
53
+ const shouldExecute = registration.config.condition(context.payload);
54
+ if (!shouldExecute) {
55
+ i++;
56
+ continue;
57
+ }
58
+ } catch {
59
+ i++;
60
+ continue;
61
+ }
52
62
  const result = registration.handler(context.payload, controller);
53
63
  if (registration.config.blocking) {
54
64
  const handlerResult = result instanceof Promise ? await result : result;
@@ -73,8 +83,20 @@ async function executeSequential(context, createController) {
73
83
  if (context.terminated) break;
74
84
  /** Handle jump to priority AFTER handler execution */
75
85
  if (context.jumpToPriority !== void 0) {
76
- const jumpIndex = context.handlers.findIndex((handler) => handler.config.priority === context.jumpToPriority);
77
- if (jumpIndex !== -1) {
86
+ context.jumpCount = (context.jumpCount || 0) + 1;
87
+ if (context.jumpCount > (context.maxJumps || 10)) {
88
+ console.error(`[ActionRegister] ERROR: Maximum jump limit (${context.maxJumps || 10}) exceeded. Aborting to prevent infinite loop. Check your jumpToPriority logic and conditions.`);
89
+ context.aborted = true;
90
+ context.abortReason = `Maximum jump limit exceeded (${context.jumpCount} jumps)`;
91
+ context.jumpToPriority = void 0;
92
+ break;
93
+ }
94
+ const jumpIndex = context.handlers.findIndex((handler) => (handler.config.priority || 0) <= context.jumpToPriority);
95
+ if (jumpIndex !== -1 && jumpIndex !== i) {
96
+ if (jumpIndex < i) {
97
+ const targetHandler = context.handlers[jumpIndex];
98
+ if (targetHandler && !targetHandler.config.condition) console.warn(`[ActionRegister] WARNING: Backward jumpToPriority to handler '${targetHandler.config.id || "unnamed"}' without condition. This may cause infinite loops! Consider adding a condition to prevent re-execution. Jump count: ${context.jumpCount}/${context.maxJumps || 10}`);
99
+ }
78
100
  i = jumpIndex;
79
101
  context.jumpToPriority = void 0;
80
102
  continue;
@@ -85,7 +107,9 @@ async function executeSequential(context, createController) {
85
107
  } else i++;
86
108
  } catch (error) {
87
109
  const handlerError = handleExecutionError(error, registration);
88
- throw handlerError.error;
110
+ errors.push(handlerError);
111
+ if (registration.config.blocking) throw handlerError.error;
112
+ i++;
89
113
  }
90
114
  }
91
115
  if (nonBlockingPromises.length > 0) await Promise.allSettled(nonBlockingPromises);
@@ -125,6 +149,24 @@ async function executeParallel(context, createController) {
125
149
  const handlerPromises = runnableHandlers.map(async (registration, _index) => {
126
150
  const controller = createController(registration, _index);
127
151
  try {
152
+ if (registration.config.condition) try {
153
+ const shouldExecute = registration.config.condition(context.payload);
154
+ if (!shouldExecute) return {
155
+ success: true,
156
+ handlerId: registration.id,
157
+ result: void 0,
158
+ terminated: false,
159
+ skipped: true
160
+ };
161
+ } catch {
162
+ return {
163
+ success: true,
164
+ handlerId: registration.id,
165
+ result: void 0,
166
+ terminated: false,
167
+ skipped: true
168
+ };
169
+ }
128
170
  const result = registration.handler(context.payload, controller);
129
171
  let handlerResult;
130
172
  if (result instanceof Promise) {
@@ -199,6 +241,26 @@ async function executeRace(context, createController) {
199
241
  const handlerPromises = runnableHandlers.map(async (registration, _index) => {
200
242
  const controller = createController(registration, _index);
201
243
  try {
244
+ if (registration.config.condition) try {
245
+ const shouldExecute = registration.config.condition(context.payload);
246
+ if (!shouldExecute) return {
247
+ success: true,
248
+ handlerId: registration.id,
249
+ registration,
250
+ result: void 0,
251
+ terminated: false,
252
+ skipped: true
253
+ };
254
+ } catch {
255
+ return {
256
+ success: true,
257
+ handlerId: registration.id,
258
+ registration,
259
+ result: void 0,
260
+ terminated: false,
261
+ skipped: true
262
+ };
263
+ }
202
264
  const result = registration.handler(context.payload, controller);
203
265
  let handlerResult;
204
266
  if (result instanceof Promise) {
@@ -528,13 +590,15 @@ var ActionGuard = class {
528
590
  //#region src/concurrency/OperationQueue.ts
529
591
  /**
530
592
  * 작업 큐 관리자
531
- *
593
+ *
532
594
  * 핵심 기능:
533
595
  * 1. 작업 직렬화 - 모든 작업을 순서대로 실행
534
596
  * 2. 우선순위 지원 - 중요한 작업 우선 처리
535
597
  * 3. 에러 처리 - 개별 작업 실패가 전체에 영향 주지 않음
536
598
  * 4. 메모리 관리 - 완료된 작업 자동 정리
537
599
  * 5. 🆕 동시성 제어 - maxConcurrency로 동시 실행 제한
600
+ * 6. 🆕 비동기 지원 - Promise.all() 완벽 지원
601
+ * 7. 🆕 이벤트 기반 처리 - 효율적인 큐 처리 시스템
538
602
  */
539
603
  var OperationQueue = class {
540
604
  constructor(name = "OperationQueue", maxConcurrency = 1) {
@@ -543,7 +607,7 @@ var OperationQueue = class {
543
607
  this.processingPromise = null;
544
608
  this.operationCounter = 0;
545
609
  this.activeOperations = 0;
546
- this.runningOperations = /* @__PURE__ */ new Set();
610
+ this.pendingResolvers = [];
547
611
  this.maxConcurrency = Math.max(1, maxConcurrency);
548
612
  }
549
613
  /**
@@ -572,13 +636,18 @@ var OperationQueue = class {
572
636
  }
573
637
  }
574
638
  this.queue.splice(insertIndex, 0, queuedOperation);
639
+ if (this.processingPromise) this.notifyNewOperation();
575
640
  this.processQueue();
576
641
  });
577
642
  }
578
643
  /**
579
- * 🆕 큐 처리 메인 로직 - 동시성 제어 지원
580
- *
581
- * maxConcurrency에 따라 동시 실행 작업 수를 제한하여 동시성 문제 방지
644
+ * 🆕 큐 처리 메인 로직 - 동시성 제어 및 비동기 지원
645
+ *
646
+ * 주요 특징:
647
+ * - maxConcurrency에 따라 동시 실행 작업 수를 제한하여 동시성 문제 방지
648
+ * - Promise.all() 시나리오에서 완벽한 순차적 실행 보장
649
+ * - 이벤트 기반 알림 시스템으로 효율적인 비동기 처리
650
+ * - 작업 완료 시 대기 중인 프로세스에게 자동 알림
582
651
  */
583
652
  async processQueue() {
584
653
  if (this.processingPromise) return this.processingPromise;
@@ -590,21 +659,46 @@ var OperationQueue = class {
590
659
  }
591
660
  }
592
661
  async _doProcess() {
593
- while (this.queue.length > 0 || this.runningOperations.size > 0) {
662
+ while (this.queue.length > 0 || this.activeOperations > 0) {
594
663
  while (this.queue.length > 0 && this.activeOperations < this.maxConcurrency) {
595
664
  const operation = this.queue.shift();
596
- this.activeOperations++;
597
- const operationPromise = this.executeOperation(operation);
598
- this.runningOperations.add(operationPromise);
599
- operationPromise.finally(() => {
600
- this.activeOperations--;
601
- this.runningOperations.delete(operationPromise);
602
- });
665
+ this.startOperation(operation);
603
666
  }
604
- if (this.runningOperations.size > 0) await Promise.race(this.runningOperations);
667
+ if (this.activeOperations > 0) await this.waitForAnyOperation();
605
668
  }
606
669
  }
607
670
  /**
671
+ * 🆕 개별 작업을 시작하고 완료를 추적
672
+ */
673
+ startOperation(operation) {
674
+ this.activeOperations++;
675
+ this.executeOperation(operation).finally(() => {
676
+ this.activeOperations--;
677
+ this.notifyOperationComplete();
678
+ });
679
+ }
680
+ /**
681
+ * 🆕 하나의 작업이 완료될 때까지 대기하거나 새로운 작업이 추가될 때까지 대기
682
+ */
683
+ waitForAnyOperation() {
684
+ return new Promise((resolve) => {
685
+ this.pendingResolvers.push(resolve);
686
+ });
687
+ }
688
+ /**
689
+ * 🆕 작업 완료 신호 - 대기 중인 프로세스들에게 알림
690
+ */
691
+ notifyOperationComplete() {
692
+ const resolvers = this.pendingResolvers.splice(0);
693
+ resolvers.forEach((resolve) => resolve());
694
+ }
695
+ /**
696
+ * 🆕 새로운 작업 추가 신호 - processQueue에서 호출
697
+ */
698
+ notifyNewOperation() {
699
+ this.notifyOperationComplete();
700
+ }
701
+ /**
608
702
  * 🆕 개별 작업 실행 로직
609
703
  */
610
704
  async executeOperation(operation) {
@@ -625,7 +719,6 @@ var OperationQueue = class {
625
719
  isProcessing: Boolean(this.processingPromise),
626
720
  activeOperations: this.activeOperations,
627
721
  maxConcurrency: this.maxConcurrency,
628
- runningOperationsCount: this.runningOperations.size,
629
722
  operations: this.queue.map((op) => ({
630
723
  id: op.id,
631
724
  priority: op.priority,
@@ -654,6 +747,8 @@ var OperationQueue = class {
654
747
  });
655
748
  this.queue = [];
656
749
  this.processingPromise = null;
750
+ const resolvers = this.pendingResolvers.splice(0);
751
+ resolvers.forEach((resolve) => resolve());
657
752
  }
658
753
  /**
659
754
  * 큐 크기 조회
@@ -692,7 +787,8 @@ var ActionRegister = class {
692
787
  this.executionMode = "sequential";
693
788
  this.actionExecutionModes = /* @__PURE__ */ new Map();
694
789
  this.unregisterFunctions = /* @__PURE__ */ new Map();
695
- this.filterCache = /* @__PURE__ */ new Map();
790
+ this.lastRegisteredTimestamps = /* @__PURE__ */ new Map();
791
+ this.filterCacheDisabled = true;
696
792
  this.handlerIdCounter = 0;
697
793
  this.controllerPool = [];
698
794
  this.maxControllerPoolSize = 10;
@@ -812,8 +908,9 @@ var ActionRegister = class {
812
908
  once: config.once ?? false,
813
909
  debounce: config.debounce ?? void 0,
814
910
  throttle: config.throttle ?? void 0,
815
- replaceExisting: config.replaceExisting ?? false,
816
- cleanup: config.cleanup
911
+ replaceExisting: config.replaceExisting ?? true,
912
+ cleanup: config.cleanup,
913
+ condition: config.condition
817
914
  },
818
915
  id: handlerId
819
916
  };
@@ -827,19 +924,16 @@ var ActionRegister = class {
827
924
  if (existingIndex !== -1) {
828
925
  const existing = pipeline[existingIndex];
829
926
  const existingUnregister = this.unregisterFunctions.get(handlerId);
830
- if (config.replaceExisting) {
831
- if (existingUnregister) {
832
- existingUnregister();
833
- this.unregisterFunctions.delete(handlerId);
834
- }
835
- if (existing && typeof existing.cleanup === "function") try {
836
- existing.cleanup();
927
+ if (registration.config.replaceExisting) {
928
+ if (existing && existing.config.cleanup && typeof existing.config.cleanup === "function") try {
929
+ existing.config.cleanup();
837
930
  } catch (cleanupError) {
838
931
  this.log(`Cleanup error for replaced handler: ${String(action)}`, cleanupError, "warn");
839
932
  }
933
+ if (existingUnregister) this.unregisterFunctions.delete(handlerId);
840
934
  pipeline[existingIndex] = registration;
841
935
  pipeline.sort((a, b) => b.config.priority - a.config.priority);
842
- this.invalidateFilterCache();
936
+ this.lastRegisteredTimestamps.set(action, /* @__PURE__ */ new Date());
843
937
  const newUnregister = this.createUnregisterFunction(action, handlerId, registration);
844
938
  this.unregisterFunctions.set(handlerId, newUnregister);
845
939
  this.log(`Handler replaced: ${String(action)}`, {
@@ -869,7 +963,7 @@ var ActionRegister = class {
869
963
  }
870
964
  pipeline.push(registration);
871
965
  pipeline.sort((a, b) => b.config.priority - a.config.priority);
872
- this.invalidateFilterCache();
966
+ this.lastRegisteredTimestamps.set(action, /* @__PURE__ */ new Date());
873
967
  const unregister = this.createUnregisterFunction(action, handlerId, registration);
874
968
  this.unregisterFunctions.set(handlerId, unregister);
875
969
  this.log(`Handler registered: ${String(action)}`, {
@@ -963,6 +1057,8 @@ var ActionRegister = class {
963
1057
  abortReason: void 0,
964
1058
  currentIndex: 0,
965
1059
  jumpToPriority: void 0,
1060
+ jumpCount: 0,
1061
+ maxJumps: 10,
966
1062
  executionMode: currentExecutionMode,
967
1063
  results: [],
968
1064
  terminated: false,
@@ -1054,6 +1150,8 @@ var ActionRegister = class {
1054
1150
  abortReason: void 0,
1055
1151
  currentIndex: 0,
1056
1152
  jumpToPriority: void 0,
1153
+ jumpCount: 0,
1154
+ maxJumps: 10,
1057
1155
  executionMode: currentExecutionMode,
1058
1156
  results: [],
1059
1157
  terminated: false,
@@ -1214,32 +1312,19 @@ var ActionRegister = class {
1214
1312
  return null;
1215
1313
  }
1216
1314
  /**
1217
- * 🔧 Calculate optimal cache size based on current handler count
1218
- * Note: This caches handler SELECTION metadata only, never execution results
1219
- */
1220
- get filterCacheMaxSize() {
1221
- const totalHandlers = Array.from(this.pipelines.values()).reduce((sum, pipeline) => sum + pipeline.length, 0);
1222
- return totalHandlers * 10 || 100;
1223
- }
1224
- /**
1225
- * 🔧 Generate cache key for filter options
1315
+ * 🔧 Generate optimized cache key for filter options
1226
1316
  */
1227
1317
  generateFilterCacheKey(filterOptions) {
1228
1318
  if (!filterOptions) return "no-filter";
1229
- const key = [
1230
- filterOptions.handlerIds?.sort().join(",") || "none",
1231
- filterOptions.excludeHandlerIds?.sort().join(",") || "none",
1232
- filterOptions.priority?.min?.toString() || "none",
1233
- filterOptions.priority?.max?.toString() || "none",
1234
- filterOptions.custom ? "custom" : "none"
1235
- ].join("|");
1236
- return key;
1237
- }
1238
- /**
1239
- * 🔧 Clear filter cache when pipelines change
1240
- */
1241
- invalidateFilterCache() {
1242
- this.filterCache.clear();
1319
+ const parts = [];
1320
+ if (filterOptions.handlerIds?.length) parts.push(`h:${filterOptions.handlerIds.slice().sort().join(",")}`);
1321
+ if (filterOptions.excludeHandlerIds?.length) parts.push(`e:${filterOptions.excludeHandlerIds.slice().sort().join(",")}`);
1322
+ if (filterOptions.priority) {
1323
+ const { min, max } = filterOptions.priority;
1324
+ if (min !== void 0 || max !== void 0) parts.push(`p:${min ?? "*"}-${max ?? "*"}`);
1325
+ }
1326
+ if (filterOptions.custom) return "custom-" + Date.now() + Math.random();
1327
+ return parts.length > 0 ? parts.join("|") : "no-filter";
1243
1328
  }
1244
1329
  /**
1245
1330
  * 🔧 Create or reuse PipelineController from pool for better performance
@@ -1253,7 +1338,11 @@ var ActionRegister = class {
1253
1338
  if (autoAbortController && autoAbortOptions?.allowHandlerAbort) autoAbortController.abort(reason);
1254
1339
  };
1255
1340
  controller.modifyPayload = (modifier) => {
1256
- context.payload = modifier(context.payload);
1341
+ try {
1342
+ context.payload = modifier(context.payload);
1343
+ } catch (modificationError) {
1344
+ this.log("Payload modification error", modificationError, "warn");
1345
+ }
1257
1346
  };
1258
1347
  controller.getPayload = () => context.payload;
1259
1348
  controller.jumpToPriority = (priority) => {
@@ -1285,36 +1374,27 @@ var ActionRegister = class {
1285
1374
  }
1286
1375
  filterHandlers(handlers, filterOptions) {
1287
1376
  if (!filterOptions) return handlers;
1288
- const cacheKey = this.generateFilterCacheKey(filterOptions);
1289
- if (!filterOptions.custom) {
1290
- const cached = this.filterCache.get(cacheKey);
1291
- if (cached) return cached;
1292
- }
1377
+ const handlerIdSet = filterOptions.handlerIds ? new Set(filterOptions.handlerIds) : null;
1378
+ const excludeIdSet = filterOptions.excludeHandlerIds ? new Set(filterOptions.excludeHandlerIds) : null;
1293
1379
  const filtered = handlers.filter((registration) => {
1294
1380
  const config = registration.config;
1295
- if (filterOptions.handlerIds?.length && !filterOptions.handlerIds.includes(config.id)) return false;
1296
- if (filterOptions.excludeHandlerIds?.length && filterOptions.excludeHandlerIds.includes(config.id)) return false;
1381
+ if (handlerIdSet && !handlerIdSet.has(config.id)) return false;
1382
+ if (excludeIdSet && excludeIdSet.has(config.id)) return false;
1297
1383
  if (filterOptions.priority) {
1298
- if (filterOptions.priority.min !== void 0 && config.priority < filterOptions.priority.min) return false;
1299
- if (filterOptions.priority.max !== void 0 && config.priority > filterOptions.priority.max) return false;
1384
+ const priority = config.priority;
1385
+ if (filterOptions.priority.min !== void 0 && priority < filterOptions.priority.min) return false;
1386
+ if (filterOptions.priority.max !== void 0 && priority > filterOptions.priority.max) return false;
1300
1387
  }
1301
1388
  if (filterOptions.custom && !filterOptions.custom(config)) return false;
1302
1389
  return true;
1303
1390
  });
1304
- if (!filterOptions.custom) {
1305
- const currentMaxSize = this.filterCacheMaxSize;
1306
- if (this.filterCache.size >= currentMaxSize) {
1307
- const oldestKey = this.filterCache.keys().next().value;
1308
- if (oldestKey !== void 0) this.filterCache.delete(oldestKey);
1309
- }
1310
- this.filterCache.set(cacheKey, filtered);
1311
- }
1312
1391
  return filtered;
1313
1392
  }
1314
1393
  processResults(context, resultOptions) {
1315
- if (!resultOptions || !resultOptions.collect) return void 0;
1316
1394
  const results = context.results;
1317
1395
  if (context.terminated && context.terminationResult !== void 0) return context.terminationResult;
1396
+ if (!resultOptions) return results.length > 0 ? results[results.length - 1] : void 0;
1397
+ if (!resultOptions.collect && !resultOptions.strategy) return void 0;
1318
1398
  const limitedResults = resultOptions.maxResults ? results.slice(0, resultOptions.maxResults) : results;
1319
1399
  if (limitedResults.length === 0) return void 0;
1320
1400
  switch (resultOptions.strategy) {
@@ -1327,7 +1407,9 @@ var ActionRegister = class {
1327
1407
  case "custom":
1328
1408
  if (resultOptions.merger) return resultOptions.merger(limitedResults);
1329
1409
  throw new Error("Custom result strategy requires a merger function");
1330
- default: return limitedResults;
1410
+ default:
1411
+ if (resultOptions.collect) return limitedResults;
1412
+ return limitedResults[limitedResults.length - 1];
1331
1413
  }
1332
1414
  }
1333
1415
  async executePipeline(context, autoAbortController, autoAbortOptions) {
@@ -1364,6 +1446,10 @@ var ActionRegister = class {
1364
1446
  });
1365
1447
  }
1366
1448
  });
1449
+ if (pipeline.length === 0) {
1450
+ this.pipelines.delete(action);
1451
+ this.lastRegisteredTimestamps.delete(action);
1452
+ }
1367
1453
  }
1368
1454
  /**
1369
1455
  * Get the number of registered handlers for an action
@@ -1417,7 +1503,7 @@ var ActionRegister = class {
1417
1503
  */
1418
1504
  clearAction(action) {
1419
1505
  this.pipelines.delete(action);
1420
- this.invalidateFilterCache();
1506
+ this.lastRegisteredTimestamps.delete(action);
1421
1507
  }
1422
1508
  /**
1423
1509
  * Remove all handlers for all actions
@@ -1428,7 +1514,7 @@ var ActionRegister = class {
1428
1514
  */
1429
1515
  clearAll() {
1430
1516
  this.pipelines.clear();
1431
- this.invalidateFilterCache();
1517
+ this.lastRegisteredTimestamps.clear();
1432
1518
  }
1433
1519
  /**
1434
1520
  * Get the name of this action register
@@ -1482,7 +1568,8 @@ var ActionRegister = class {
1482
1568
  handlerCount: pipeline.length,
1483
1569
  totalHandlers: pipeline.length,
1484
1570
  handlersByPriority,
1485
- executionStats
1571
+ executionStats,
1572
+ lastRegistered: this.lastRegisteredTimestamps.get(action)
1486
1573
  };
1487
1574
  }
1488
1575
  /**
@@ -1562,8 +1649,11 @@ var ActionRegister = class {
1562
1649
  const index = pipeline.findIndex((reg) => reg.id === handlerId && reg === registration);
1563
1650
  if (index !== -1) {
1564
1651
  pipeline.splice(index, 1);
1565
- this.invalidateFilterCache();
1566
1652
  this.unregisterFunctions.delete(handlerId);
1653
+ if (pipeline.length === 0) {
1654
+ this.pipelines.delete(action);
1655
+ this.lastRegisteredTimestamps.delete(action);
1656
+ }
1567
1657
  if (registration.config.cleanup && typeof registration.config.cleanup === "function") try {
1568
1658
  registration.config.cleanup();
1569
1659
  } catch (cleanupError) {
@@ -1571,7 +1661,8 @@ var ActionRegister = class {
1571
1661
  }
1572
1662
  this.log(`Handler unregistered: ${String(action)}`, {
1573
1663
  handlerId,
1574
- remainingHandlers: pipeline.length
1664
+ remainingHandlers: pipeline.length,
1665
+ actionRemoved: pipeline.length === 0
1575
1666
  });
1576
1667
  }
1577
1668
  };
@@ -1604,19 +1695,17 @@ var ActionRegister = class {
1604
1695
  * @public
1605
1696
  */
1606
1697
  destroy() {
1607
- this.unregisterFunctions.forEach((unregister) => {
1608
- try {
1609
- unregister();
1610
- } catch (error) {
1611
- this.log("Error during unregister in destroy", error, "error");
1612
- }
1613
- });
1614
1698
  this.unregisterFunctions.clear();
1699
+ for (const [action, pipeline] of this.pipelines.entries()) for (const registration of pipeline) if (registration.config.cleanup && typeof registration.config.cleanup === "function") try {
1700
+ registration.config.cleanup();
1701
+ } catch (cleanupError) {
1702
+ this.log(`Cleanup error for handler during destroy: ${String(action)}`, cleanupError, "warn");
1703
+ }
1615
1704
  this.pipelines.clear();
1705
+ this.lastRegisteredTimestamps.clear();
1616
1706
  this.actionGuard.destroy();
1617
1707
  this.dispatchQueue?.clear?.();
1618
1708
  this.actionExecutionModes.clear();
1619
- this.filterCache.clear();
1620
1709
  this.controllerPool.length = 0;
1621
1710
  this.log("ActionRegister destroyed");
1622
1711
  }