plug-code 2.3.2 → 2.4.0
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.
- package/README.md +412 -284
- package/dist/core/plcAPI.d.ts +37 -3
- package/dist/core/plcAPI.d.ts.map +1 -1
- package/dist/core/plcAPI.js +273 -18
- package/dist/core/plcAPI.js.map +1 -1
- package/dist/core/plcScheduler.d.ts.map +1 -1
- package/dist/core/plcScheduler.js +8 -2
- package/dist/core/plcScheduler.js.map +1 -1
- package/dist/core/workers/filterWorker.d.ts +16 -0
- package/dist/core/workers/filterWorker.d.ts.map +1 -0
- package/dist/core/workers/filterWorker.js +168 -0
- package/dist/core/workers/filterWorker.js.map +1 -0
- package/dist/core.d.ts +5 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +6 -0
- package/dist/core.js.map +1 -1
- package/dist/simple.d.ts +5 -4
- package/dist/simple.d.ts.map +1 -1
- package/dist/simple.js +14 -7
- package/dist/simple.js.map +1 -1
- package/package.json +1 -1
package/dist/core/plcAPI.d.ts
CHANGED
|
@@ -13,6 +13,14 @@ type SafeCmdResult<K> = K extends keyof CommandRegistry ? (CommandRegistry[K] ex
|
|
|
13
13
|
result: infer R;
|
|
14
14
|
} ? R : void) : any;
|
|
15
15
|
type SafeFeatureValue<F, K> = F extends keyof FeatureRegistry ? (K extends keyof FeatureRegistry[F] ? FeatureRegistry[F][K] : any) : any;
|
|
16
|
+
type ExtractStoreValue<T> = T extends StoreKey ? StoreValue<T> : T extends `${infer F}:${infer K}` ? F extends FeatureKey ? SafeFeatureValue<F, K> : any : any;
|
|
17
|
+
type SelectorFn<Deps extends readonly (string | {
|
|
18
|
+
store: string;
|
|
19
|
+
})[], R> = (...stores: {
|
|
20
|
+
[K in keyof Deps]: Deps[K] extends string ? ExtractStoreValue<Deps[K]> : Deps[K] extends {
|
|
21
|
+
store: string;
|
|
22
|
+
} ? ExtractStoreValue<Deps[K]['store']> : never;
|
|
23
|
+
}) => R;
|
|
16
24
|
export declare class PlcAPI {
|
|
17
25
|
private store;
|
|
18
26
|
private pipeline;
|
|
@@ -23,6 +31,9 @@ export declare class PlcAPI {
|
|
|
23
31
|
private receiveCache;
|
|
24
32
|
private commands;
|
|
25
33
|
private activeDependencyTracker;
|
|
34
|
+
private filterControllers;
|
|
35
|
+
private filterCache;
|
|
36
|
+
private filterDebounceTimers;
|
|
26
37
|
private loadedModules;
|
|
27
38
|
constructor();
|
|
28
39
|
createStore<K extends StoreKey>(key: K, initial: StoreValue<K>): void;
|
|
@@ -79,15 +90,38 @@ export declare class PlcAPI {
|
|
|
79
90
|
as?: any;
|
|
80
91
|
itemAs?: any;
|
|
81
92
|
}): void;
|
|
82
|
-
connect
|
|
83
|
-
store: string
|
|
93
|
+
connect<Deps extends readonly (StoreKey | `${FeatureKey}:${string}` | {
|
|
94
|
+
store: StoreKey | `${FeatureKey}:${string}`;
|
|
95
|
+
})[], R = any>(dependencies: Deps, selector: SelectorFn<Deps, R>, renderFn: (selectedData: R, props?: any) => React.ReactNode): React.FC<any>;
|
|
96
|
+
connectSimple<Deps extends readonly (StoreKey | `${FeatureKey}:${string}` | {
|
|
97
|
+
store: StoreKey | `${FeatureKey}:${string}`;
|
|
84
98
|
keys?: string[];
|
|
85
|
-
}>): React.FC<any>;
|
|
99
|
+
})[]>(dependencies: Deps, renderFn: (props?: any) => React.ReactNode): React.FC<any>;
|
|
86
100
|
registerModule(manifest: ModuleManifest): void;
|
|
87
101
|
loadFeature(importer: () => Promise<{
|
|
88
102
|
default: ModuleManifest;
|
|
89
103
|
}>): Promise<void>;
|
|
90
104
|
createSelector<S, R>(extractor: (state: S) => any[], calculator: (...args: any[]) => R): (state: S) => R;
|
|
105
|
+
filterStore<K extends StoreKey>(sourceKey: K, outputKey: StoreKey, filterValue: string | number, props: string[], options?: {
|
|
106
|
+
debounce?: number;
|
|
107
|
+
matcher?: 'includes' | 'startsWith' | 'exact';
|
|
108
|
+
caseSensitive?: boolean;
|
|
109
|
+
batchSize?: number;
|
|
110
|
+
onProgress?: (progress: number, total: number) => void;
|
|
111
|
+
useWebWorker?: boolean | 'auto';
|
|
112
|
+
workerThreshold?: number;
|
|
113
|
+
}): () => void;
|
|
114
|
+
private executeFilterWithWorkers;
|
|
115
|
+
private runWorkerFilter;
|
|
116
|
+
private runChunkedFilter;
|
|
117
|
+
private buildMatcher;
|
|
118
|
+
private cancelFilter;
|
|
119
|
+
terminateWorkers(): void;
|
|
120
|
+
clearFilterCache(): void;
|
|
121
|
+
getFilterCacheStats(): {
|
|
122
|
+
size: any;
|
|
123
|
+
maxSize: any;
|
|
124
|
+
};
|
|
91
125
|
}
|
|
92
126
|
export {};
|
|
93
127
|
//# sourceMappingURL=plcAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plcAPI.d.ts","sourceRoot":"","sources":["../../src/core/plcAPI.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"plcAPI.d.ts","sourceRoot":"","sources":["../../src/core/plcAPI.ts"],"names":[],"mappings":"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"}
|
package/dist/core/plcAPI.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useCallback, useRef, useSyncExternalStore } from "react";
|
|
2
2
|
import { shallowEqual, deepEqual } from "./helpers/core";
|
|
3
3
|
import { PlcPipeline } from "./plcPipeline";
|
|
4
4
|
import { LRUCache, PlcStore } from "./plcStore";
|
|
5
5
|
import { Scheduler } from "./plcScheduler";
|
|
6
6
|
import { PlcLayout } from "./ui/plcLayout";
|
|
7
|
+
import { getWorkerPool, terminateWorkerPool } from "./workers/filterWorker";
|
|
7
8
|
export class PlcAPI {
|
|
8
9
|
store;
|
|
9
10
|
pipeline;
|
|
@@ -15,6 +16,10 @@ export class PlcAPI {
|
|
|
15
16
|
// Commands Registry
|
|
16
17
|
commands = new Map();
|
|
17
18
|
activeDependencyTracker = null;
|
|
19
|
+
// Filter Registry
|
|
20
|
+
filterControllers = new Map();
|
|
21
|
+
filterCache = new LRUCache(50);
|
|
22
|
+
filterDebounceTimers = new Map();
|
|
18
23
|
// Loaded modules manager
|
|
19
24
|
loadedModules = new Set();
|
|
20
25
|
constructor() {
|
|
@@ -389,30 +394,71 @@ export class PlcAPI {
|
|
|
389
394
|
markVirtual(slot, config) {
|
|
390
395
|
this.layout.markVirtual(slot, config);
|
|
391
396
|
}
|
|
392
|
-
connect(
|
|
397
|
+
connect(dependencies, selector, renderFn) {
|
|
393
398
|
return (props) => {
|
|
394
|
-
const
|
|
395
|
-
const
|
|
396
|
-
|
|
399
|
+
const cacheRef = useRef(null);
|
|
400
|
+
const getCurrentValues = useCallback(() => {
|
|
401
|
+
return dependencies.map(dep => {
|
|
402
|
+
const keyStr = typeof dep === 'string' ? dep : dep.store;
|
|
403
|
+
if (keyStr.includes(":")) {
|
|
404
|
+
const [substore, subKey] = keyStr.split(":");
|
|
405
|
+
return this.getSubstore(substore, subKey);
|
|
406
|
+
}
|
|
407
|
+
return this.getStore(keyStr);
|
|
408
|
+
});
|
|
409
|
+
}, []);
|
|
410
|
+
const getSnapshot = useCallback(() => {
|
|
411
|
+
const newArgs = getCurrentValues();
|
|
412
|
+
if (cacheRef.current &&
|
|
413
|
+
newArgs.length === cacheRef.current.args.length &&
|
|
414
|
+
newArgs.every((val, i) => val === cacheRef.current.args[i])) {
|
|
415
|
+
return cacheRef.current.result;
|
|
416
|
+
}
|
|
417
|
+
const newResult = selector(...newArgs);
|
|
418
|
+
cacheRef.current = { args: newArgs, result: newResult };
|
|
419
|
+
return newResult;
|
|
420
|
+
}, [getCurrentValues]);
|
|
421
|
+
const subscribe = useCallback((onStoreChange) => {
|
|
397
422
|
const unsubscribers = [];
|
|
398
423
|
dependencies.forEach(dep => {
|
|
399
424
|
const keyStr = typeof dep === 'string' ? dep : dep.store;
|
|
400
|
-
|
|
401
|
-
? this.getStore(dep)
|
|
402
|
-
: dep.store.includes(":")
|
|
403
|
-
? this.store.getSubstore(...dep.store.split(":"))
|
|
404
|
-
: this.getStore(dep.store);
|
|
405
|
-
prevValuesRef.current.set(keyStr, getValue());
|
|
406
|
-
unsubscribers.push(this.store.subscribe(keyStr, () => {
|
|
407
|
-
const newVal = getValue();
|
|
408
|
-
if (!shallowEqual(prevValuesRef.current.get(keyStr), newVal)) {
|
|
409
|
-
prevValuesRef.current.set(keyStr, newVal);
|
|
410
|
-
forceUpdate();
|
|
411
|
-
}
|
|
412
|
-
}));
|
|
425
|
+
unsubscribers.push(this.store.subscribe(keyStr, onStoreChange));
|
|
413
426
|
});
|
|
414
427
|
return () => unsubscribers.forEach(u => u());
|
|
415
428
|
}, []);
|
|
429
|
+
const selectedData = useSyncExternalStore(subscribe, getSnapshot);
|
|
430
|
+
return renderFn(selectedData, props);
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
connectSimple(dependencies, renderFn) {
|
|
434
|
+
return (props) => {
|
|
435
|
+
const cacheRef = useRef(null);
|
|
436
|
+
const getSnapshot = useCallback(() => {
|
|
437
|
+
const currentValues = dependencies.map(dep => {
|
|
438
|
+
const keyStr = typeof dep === 'string' ? dep : dep.store;
|
|
439
|
+
if (keyStr.includes(":")) {
|
|
440
|
+
const [substore, subKey] = keyStr.split(":");
|
|
441
|
+
return this.getSubstore(substore, subKey);
|
|
442
|
+
}
|
|
443
|
+
return this.getStore(keyStr);
|
|
444
|
+
});
|
|
445
|
+
if (cacheRef.current &&
|
|
446
|
+
currentValues.length === cacheRef.current.values.length &&
|
|
447
|
+
currentValues.every((val, i) => val === cacheRef.current.values[i])) {
|
|
448
|
+
return cacheRef.current.values;
|
|
449
|
+
}
|
|
450
|
+
cacheRef.current = { values: currentValues };
|
|
451
|
+
return currentValues;
|
|
452
|
+
}, []);
|
|
453
|
+
const subscribe = useCallback((onStoreChange) => {
|
|
454
|
+
const unsubscribers = [];
|
|
455
|
+
dependencies.forEach(dep => {
|
|
456
|
+
const keyStr = typeof dep === 'string' ? dep : dep.store;
|
|
457
|
+
unsubscribers.push(this.store.subscribe(keyStr, onStoreChange));
|
|
458
|
+
});
|
|
459
|
+
return () => unsubscribers.forEach(u => u());
|
|
460
|
+
}, []);
|
|
461
|
+
useSyncExternalStore(subscribe, getSnapshot);
|
|
416
462
|
return renderFn(props);
|
|
417
463
|
};
|
|
418
464
|
}
|
|
@@ -494,5 +540,214 @@ export class PlcAPI {
|
|
|
494
540
|
return result;
|
|
495
541
|
};
|
|
496
542
|
}
|
|
543
|
+
//----------------------
|
|
544
|
+
// Filter Methods
|
|
545
|
+
//----------------------
|
|
546
|
+
filterStore(sourceKey, outputKey, filterValue, props, options) {
|
|
547
|
+
const opts = {
|
|
548
|
+
debounce: options?.debounce ?? 0,
|
|
549
|
+
matcher: options?.matcher ?? 'includes',
|
|
550
|
+
caseSensitive: options?.caseSensitive ?? false,
|
|
551
|
+
batchSize: options?.batchSize ?? 5000,
|
|
552
|
+
onProgress: options?.onProgress,
|
|
553
|
+
useWebWorker: options?.useWebWorker ?? 'auto',
|
|
554
|
+
workerThreshold: options?.workerThreshold ?? 5_000_000
|
|
555
|
+
};
|
|
556
|
+
const filterId = `${sourceKey}->${outputKey}`;
|
|
557
|
+
const normalizedFilter = opts.caseSensitive
|
|
558
|
+
? String(filterValue)
|
|
559
|
+
: String(filterValue).toLowerCase();
|
|
560
|
+
this.cancelFilter(filterId);
|
|
561
|
+
if (opts.debounce > 0) {
|
|
562
|
+
const existingTimer = this.filterDebounceTimers.get(filterId);
|
|
563
|
+
if (existingTimer)
|
|
564
|
+
clearTimeout(existingTimer);
|
|
565
|
+
return new Promise((resolve) => {
|
|
566
|
+
const timer = setTimeout(() => {
|
|
567
|
+
this.filterDebounceTimers.delete(filterId);
|
|
568
|
+
const unsub = this.executeFilterWithWorkers(sourceKey, outputKey, normalizedFilter, props, opts, filterId);
|
|
569
|
+
resolve(unsub);
|
|
570
|
+
}, opts.debounce);
|
|
571
|
+
this.filterDebounceTimers.set(filterId, timer);
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
return this.executeFilterWithWorkers(sourceKey, outputKey, normalizedFilter, props, opts, filterId);
|
|
575
|
+
}
|
|
576
|
+
//----------------------
|
|
577
|
+
// Filter execution
|
|
578
|
+
//----------------------
|
|
579
|
+
executeFilterWithWorkers(sourceKey, outputKey, normalizedFilter, props, opts, filterId) {
|
|
580
|
+
const sourceData = this.getStore(sourceKey);
|
|
581
|
+
if (!Array.isArray(sourceData)) {
|
|
582
|
+
console.error(`[PlcApi - FilterStore] Source '${sourceKey}' is not an array`);
|
|
583
|
+
return () => { };
|
|
584
|
+
}
|
|
585
|
+
const totalItems = sourceData.length;
|
|
586
|
+
if (!normalizedFilter || normalizedFilter.trim() === '') {
|
|
587
|
+
this.setStore(outputKey, sourceData, "HIGH");
|
|
588
|
+
return () => { };
|
|
589
|
+
}
|
|
590
|
+
const cacheKey = `${filterId}:${normalizedFilter}`;
|
|
591
|
+
const cached = this.filterCache.get(cacheKey);
|
|
592
|
+
if (cached) {
|
|
593
|
+
console.debug(`[PlcApi - FilterStore] Cache HIT: ${cached.resultCount} results`);
|
|
594
|
+
const output = cached.indexMap.map(i => sourceData[i]);
|
|
595
|
+
this.setStore(outputKey, output, "HIGH");
|
|
596
|
+
return () => { };
|
|
597
|
+
}
|
|
598
|
+
const shouldUseWorkers = opts.useWebWorker === true ||
|
|
599
|
+
(opts.useWebWorker === 'auto' && totalItems >= opts.workerThreshold);
|
|
600
|
+
const controller = new AbortController();
|
|
601
|
+
this.filterControllers.set(filterId, controller);
|
|
602
|
+
const matcher = this.buildMatcher(normalizedFilter, opts.matcher, opts.caseSensitive);
|
|
603
|
+
if (shouldUseWorkers) {
|
|
604
|
+
console.debug(`[PlcApi - FilterStore] Using Web Workers for ${totalItems.toLocaleString()} items`);
|
|
605
|
+
this.runWorkerFilter(sourceData, props, normalizedFilter, opts, controller.signal, totalItems).then(indexMap => {
|
|
606
|
+
if (controller.signal.aborted)
|
|
607
|
+
return;
|
|
608
|
+
this.filterCache.set(cacheKey, { indexMap, resultCount: indexMap.length });
|
|
609
|
+
const output = indexMap.map(i => sourceData[i]);
|
|
610
|
+
this.setStore(outputKey, output, "HIGH");
|
|
611
|
+
console.debug(`[PlcApi - FilterStore] Worker completed: ${indexMap.length}/${totalItems} results`);
|
|
612
|
+
this.filterControllers.delete(filterId);
|
|
613
|
+
}).catch(err => {
|
|
614
|
+
if (err.name !== 'AbortError') {
|
|
615
|
+
console.error(`[PlcApi - FilterStore] Worker error, falling back to main thread:`, err);
|
|
616
|
+
this.runChunkedFilter(sourceData, props, matcher, opts, controller.signal, totalItems)
|
|
617
|
+
.then(indexMap => {
|
|
618
|
+
if (controller.signal.aborted)
|
|
619
|
+
return;
|
|
620
|
+
this.filterCache.set(cacheKey, { indexMap, resultCount: indexMap.length });
|
|
621
|
+
const output = indexMap.map(i => sourceData[i]);
|
|
622
|
+
this.setStore(outputKey, output, "HIGH");
|
|
623
|
+
this.filterControllers.delete(filterId);
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
console.debug(`[PlcApi - FilterStore] Using main thread for ${totalItems.toLocaleString()} items`);
|
|
630
|
+
this.runChunkedFilter(sourceData, props, matcher, opts, controller.signal, totalItems).then(indexMap => {
|
|
631
|
+
if (controller.signal.aborted)
|
|
632
|
+
return;
|
|
633
|
+
this.filterCache.set(cacheKey, { indexMap, resultCount: indexMap.length });
|
|
634
|
+
const output = indexMap.map(i => sourceData[i]);
|
|
635
|
+
this.setStore(outputKey, output, "HIGH");
|
|
636
|
+
console.debug(`[PlcApi - FilterStore] Completed: ${indexMap.length}/${totalItems} results`);
|
|
637
|
+
this.filterControllers.delete(filterId);
|
|
638
|
+
}).catch(err => {
|
|
639
|
+
if (err.name !== 'AbortError') {
|
|
640
|
+
console.error(`[PlcApi - FilterStore] Error:`, err);
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
return () => this.cancelFilter(filterId);
|
|
645
|
+
}
|
|
646
|
+
//----------------------
|
|
647
|
+
// Web Worker execution
|
|
648
|
+
//----------------------
|
|
649
|
+
async runWorkerFilter(data, props, filter, opts, signal, totalItems) {
|
|
650
|
+
const workerPool = getWorkerPool();
|
|
651
|
+
const workerCount = navigator.hardwareConcurrency || 4;
|
|
652
|
+
const chunkSize = Math.ceil(totalItems / workerCount);
|
|
653
|
+
const tasks = [];
|
|
654
|
+
for (let i = 0; i < workerCount; i++) {
|
|
655
|
+
const startIdx = i * chunkSize;
|
|
656
|
+
const endIdx = Math.min(startIdx + chunkSize, totalItems);
|
|
657
|
+
if (startIdx >= totalItems)
|
|
658
|
+
break;
|
|
659
|
+
tasks.push(workerPool.executeTask(data, props, filter, opts.matcher, opts.caseSensitive, startIdx, endIdx));
|
|
660
|
+
}
|
|
661
|
+
const results = await Promise.all(tasks);
|
|
662
|
+
const totalResultSize = results.reduce((acc, chunk) => acc + chunk.length, 0);
|
|
663
|
+
const finalIndices = new Uint32Array(totalResultSize);
|
|
664
|
+
let offset = 0;
|
|
665
|
+
for (const chunk of results) {
|
|
666
|
+
finalIndices.set(chunk, offset);
|
|
667
|
+
offset += chunk.length;
|
|
668
|
+
}
|
|
669
|
+
return Array.from(finalIndices);
|
|
670
|
+
}
|
|
671
|
+
//----------------------
|
|
672
|
+
// Chunked Processing
|
|
673
|
+
//----------------------
|
|
674
|
+
async runChunkedFilter(data, props, matcher, opts, signal, totalItems) {
|
|
675
|
+
const indexMap = [];
|
|
676
|
+
const batchSize = opts.batchSize;
|
|
677
|
+
let processed = 0;
|
|
678
|
+
const YIELD_INTERVAL_MS = 8;
|
|
679
|
+
let lastYieldTime = performance.now();
|
|
680
|
+
for (let i = 0; i < data.length; i += batchSize) {
|
|
681
|
+
if (signal.aborted)
|
|
682
|
+
throw new DOMException('Aborted', 'AbortError');
|
|
683
|
+
if (performance.now() - lastYieldTime > YIELD_INTERVAL_MS) {
|
|
684
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
685
|
+
lastYieldTime = performance.now();
|
|
686
|
+
}
|
|
687
|
+
const end = Math.min(i + batchSize, data.length);
|
|
688
|
+
for (let j = i; j < end; j++) {
|
|
689
|
+
const item = data[j];
|
|
690
|
+
for (let k = 0; k < props.length; k++) {
|
|
691
|
+
const val = item[props[k]];
|
|
692
|
+
if (val != null && matcher(String(val))) {
|
|
693
|
+
indexMap.push(j);
|
|
694
|
+
break;
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
processed = end;
|
|
699
|
+
if (opts.onProgress) {
|
|
700
|
+
opts.onProgress(processed, totalItems);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
return indexMap;
|
|
704
|
+
}
|
|
705
|
+
//----------------------
|
|
706
|
+
// Matcher Builders
|
|
707
|
+
//----------------------
|
|
708
|
+
buildMatcher(filter, strategy, caseSensitive) {
|
|
709
|
+
if (strategy === 'exact') {
|
|
710
|
+
return caseSensitive
|
|
711
|
+
? (val) => val === filter
|
|
712
|
+
: (val) => val.toLowerCase() === filter;
|
|
713
|
+
}
|
|
714
|
+
if (strategy === 'startsWith') {
|
|
715
|
+
return caseSensitive
|
|
716
|
+
? (val) => val.startsWith(filter)
|
|
717
|
+
: (val) => val.toLowerCase().startsWith(filter);
|
|
718
|
+
}
|
|
719
|
+
return caseSensitive
|
|
720
|
+
? (val) => val.includes(filter)
|
|
721
|
+
: (val) => val.toLowerCase().includes(filter);
|
|
722
|
+
}
|
|
723
|
+
//----------------------
|
|
724
|
+
// Utilities
|
|
725
|
+
//----------------------
|
|
726
|
+
cancelFilter(filterId) {
|
|
727
|
+
const controller = this.filterControllers.get(filterId);
|
|
728
|
+
if (controller) {
|
|
729
|
+
controller.abort();
|
|
730
|
+
this.filterControllers.delete(filterId);
|
|
731
|
+
}
|
|
732
|
+
const timer = this.filterDebounceTimers.get(filterId);
|
|
733
|
+
if (timer) {
|
|
734
|
+
clearTimeout(timer);
|
|
735
|
+
this.filterDebounceTimers.delete(filterId);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
terminateWorkers() {
|
|
739
|
+
terminateWorkerPool();
|
|
740
|
+
console.debug('[PlcApi - FilterStore] Workers terminated');
|
|
741
|
+
}
|
|
742
|
+
clearFilterCache() {
|
|
743
|
+
this.filterCache.clear();
|
|
744
|
+
console.debug('[PlcApi - FilterStore] Cache cleared');
|
|
745
|
+
}
|
|
746
|
+
getFilterCacheStats() {
|
|
747
|
+
return {
|
|
748
|
+
size: this.filterCache.map.size,
|
|
749
|
+
maxSize: this.filterCache.maxEntries
|
|
750
|
+
};
|
|
751
|
+
}
|
|
497
752
|
}
|
|
498
753
|
//# sourceMappingURL=plcAPI.js.map
|
package/dist/core/plcAPI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plcAPI.js","sourceRoot":"","sources":["../../src/core/plcAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plcAPI.js","sourceRoot":"","sources":["../../src/core/plcAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plcScheduler.d.ts","sourceRoot":"","sources":["../../src/core/plcScheduler.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9C,qBAAa,SAAS;IAClB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAIV;IAEH,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,QAAQ,GAAE,QAAgB;
|
|
1
|
+
{"version":3,"file":"plcScheduler.d.ts","sourceRoot":"","sources":["../../src/core/plcScheduler.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9C,qBAAa,SAAS;IAClB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAIV;IAEH,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,QAAQ,GAAE,QAAgB;IAYnD,OAAO,CAAC,KAAK;CAUhB"}
|
|
@@ -7,8 +7,14 @@ export class Scheduler {
|
|
|
7
7
|
]);
|
|
8
8
|
schedule(fn, priority = "MED") {
|
|
9
9
|
this.queue.get(priority).add(fn);
|
|
10
|
-
if (!this.isFlushing)
|
|
11
|
-
|
|
10
|
+
if (!this.isFlushing) {
|
|
11
|
+
if (priority === 'HIGH') {
|
|
12
|
+
this.flush();
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
queueMicrotask(() => this.flush());
|
|
16
|
+
}
|
|
17
|
+
}
|
|
12
18
|
}
|
|
13
19
|
flush() {
|
|
14
20
|
this.isFlushing = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plcScheduler.js","sourceRoot":"","sources":["../../src/core/plcScheduler.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,SAAS;IACV,UAAU,GAAY,KAAK,CAAC;IAC5B,KAAK,GAAmC,IAAI,GAAG,CAAC;QACpD,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;QAClB,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;KACrB,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAc,EAAE,WAAqB,KAAK;QAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"plcScheduler.js","sourceRoot":"","sources":["../../src/core/plcScheduler.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,SAAS;IACV,UAAU,GAAY,KAAK,CAAC;IAC5B,KAAK,GAAmC,IAAI,GAAG,CAAC;QACpD,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;QAClB,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;KACrB,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAc,EAAE,WAAqB,KAAK;QAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACJ,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAe,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YACnC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class FilterWorkerPool {
|
|
2
|
+
private poolSize;
|
|
3
|
+
private workers;
|
|
4
|
+
private availableWorkers;
|
|
5
|
+
private taskQueue;
|
|
6
|
+
constructor(poolSize?: number);
|
|
7
|
+
private initializePool;
|
|
8
|
+
private handleWorkerMessage;
|
|
9
|
+
private handleWorkerError;
|
|
10
|
+
private processNextTask;
|
|
11
|
+
executeTask(data: any[], props: string[], filter: string, matcher: string, caseSensitive: boolean, startIdx: number, endIdx: number): Promise<number[]>;
|
|
12
|
+
terminate(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function getWorkerPool(): FilterWorkerPool;
|
|
15
|
+
export declare function terminateWorkerPool(): void;
|
|
16
|
+
//# sourceMappingURL=filterWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterWorker.d.ts","sourceRoot":"","sources":["../../../src/core/workers/filterWorker.ts"],"names":[],"mappings":"AAgEA,qBAAa,gBAAgB;IAeb,OAAO,CAAC,QAAQ;IAd5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,SAAS,CAUT;gBAEY,QAAQ,GAAE,MAA2C;IAIzE,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IAkCjB,WAAW,CACb,IAAI,EAAE,GAAG,EAAE,EACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpB,SAAS;CAMZ;AAQD,wBAAgB,aAAa,IAAI,gBAAgB,CAKhD;AAED,wBAAgB,mBAAmB,SAKlC"}
|