@signaltree/enterprise 4.0.15 → 4.1.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/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/lib/diff-engine.js +155 -0
- package/dist/lib/enterprise-enhancer.js +28 -0
- package/dist/lib/path-index.js +159 -0
- package/dist/lib/scheduler.js +22 -0
- package/dist/lib/thread-pools.js +13 -0
- package/dist/lib/update-engine.js +186 -0
- package/package.json +42 -10
- package/src/lib/diff-engine.d.ts +0 -75
- package/src/lib/enterprise-enhancer.d.ts +0 -66
- package/src/lib/path-index.d.ts +0 -94
- package/src/lib/update-engine.d.ts +0 -83
- package/src/index.js +0 -10
- package/src/index.js.map +0 -1
- package/src/lib/diff-engine.js +0 -236
- package/src/lib/diff-engine.js.map +0 -1
- package/src/lib/enterprise-enhancer.js +0 -78
- package/src/lib/enterprise-enhancer.js.map +0 -1
- package/src/lib/enterprise.js +0 -7
- package/src/lib/enterprise.js.map +0 -1
- package/src/lib/path-index.js +0 -265
- package/src/lib/path-index.js.map +0 -1
- package/src/lib/scheduler.js +0 -25
- package/src/lib/scheduler.js.map +0 -1
- package/src/lib/thread-pools.js +0 -14
- package/src/lib/thread-pools.js.map +0 -1
- package/src/lib/update-engine.js +0 -287
- package/src/lib/update-engine.js.map +0 -1
- package/src/test-setup.js +0 -8
- package/src/test-setup.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withEnterprise = withEnterprise;
|
|
4
|
-
const path_index_1 = require("./path-index");
|
|
5
|
-
const update_engine_1 = require("./update-engine");
|
|
6
|
-
/**
|
|
7
|
-
* Enterprise-grade optimizations for large-scale applications.
|
|
8
|
-
*
|
|
9
|
-
* **Includes:**
|
|
10
|
-
* - Diff-based updates (only update changed signals)
|
|
11
|
-
* - Bulk operation optimization (2-5x faster)
|
|
12
|
-
* - Advanced change tracking
|
|
13
|
-
* - Update statistics and monitoring
|
|
14
|
-
*
|
|
15
|
-
* **Use when:**
|
|
16
|
-
* - 500+ signals in state tree
|
|
17
|
-
* - Bulk updates at high frequency (60Hz+)
|
|
18
|
-
* - Real-time dashboards or data feeds
|
|
19
|
-
* - Enterprise-scale applications
|
|
20
|
-
*
|
|
21
|
-
* **Skip when:**
|
|
22
|
-
* - Small to medium apps (<100 signals)
|
|
23
|
-
* - Infrequent state updates
|
|
24
|
-
* - Startup/prototype projects
|
|
25
|
-
*
|
|
26
|
-
* **Bundle cost:** +2.4KB gzipped
|
|
27
|
-
* **Performance gain:** 2-5x faster bulk updates, detailed monitoring
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* import { signalTree } from '@signaltree/core';
|
|
32
|
-
* import { withEnterprise } from '@signaltree/enterprise';
|
|
33
|
-
*
|
|
34
|
-
* const tree = signalTree(largeState).with(withEnterprise());
|
|
35
|
-
*
|
|
36
|
-
* // Now available: optimized bulk updates
|
|
37
|
-
* const result = tree.updateOptimized(newData, {
|
|
38
|
-
* ignoreArrayOrder: true,
|
|
39
|
-
* maxDepth: 10
|
|
40
|
-
* });
|
|
41
|
-
*
|
|
42
|
-
* console.log(result.stats);
|
|
43
|
-
* // { totalChanges: 45, adds: 10, updates: 30, deletes: 5 }
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
46
|
-
* @public
|
|
47
|
-
*/
|
|
48
|
-
function withEnterprise() {
|
|
49
|
-
return (tree) => {
|
|
50
|
-
// Lazy initialization - only create when first needed
|
|
51
|
-
let pathIndex = null;
|
|
52
|
-
let updateEngine = null;
|
|
53
|
-
// Type assertion to access SignalTree properties
|
|
54
|
-
const signalTree = tree;
|
|
55
|
-
// Cast tree to enhanced type for safe property assignment
|
|
56
|
-
const enhancedTree = tree;
|
|
57
|
-
// Add updateOptimized method to tree
|
|
58
|
-
enhancedTree.updateOptimized = (updates, options) => {
|
|
59
|
-
// Lazy initialize on first use
|
|
60
|
-
if (!updateEngine) {
|
|
61
|
-
pathIndex = new path_index_1.PathIndex();
|
|
62
|
-
pathIndex.buildFromTree(signalTree.state);
|
|
63
|
-
updateEngine = new update_engine_1.OptimizedUpdateEngine(signalTree.state);
|
|
64
|
-
}
|
|
65
|
-
const result = updateEngine.update(signalTree.state, updates, options);
|
|
66
|
-
// Rebuild index if changes were made
|
|
67
|
-
if (result.changed && result.stats && pathIndex) {
|
|
68
|
-
pathIndex.clear();
|
|
69
|
-
pathIndex.buildFromTree(signalTree.state);
|
|
70
|
-
}
|
|
71
|
-
return result;
|
|
72
|
-
};
|
|
73
|
-
// Add PathIndex access for debugging/monitoring
|
|
74
|
-
enhancedTree.getPathIndex = () => pathIndex;
|
|
75
|
-
return enhancedTree;
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=enterprise-enhancer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise-enhancer.js","sourceRoot":"","sources":["../../../../../packages/enterprise/src/lib/enterprise-enhancer.ts"],"names":[],"mappings":";;AA+CA,wCAiDC;AAhGD,6CAAyC;AACzC,mDAAsE;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,cAAc;IAI5B,OAAO,CAAC,IAAO,EAAiC,EAAE;QAChD,sDAAsD;QACtD,IAAI,SAAS,GAAsC,IAAI,CAAC;QACxD,IAAI,YAAY,GAAiC,IAAI,CAAC;QAEtD,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAqC,CAAC;QAEzD,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAqC,CAAC;QAE3D,qCAAqC;QACrC,YAAY,CAAC,eAAe,GAAG,CAC7B,OAAmB,EACnB,OAMC,EACa,EAAE;YAChB,+BAA+B;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,SAAS,GAAG,IAAI,sBAAS,EAAmB,CAAC;gBAC7C,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1C,YAAY,GAAG,IAAI,qCAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEvE,qCAAqC;YACrC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;gBAChD,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,gDAAgD;QAChD,YAAY,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;QAE5C,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC"}
|
package/src/lib/enterprise.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise.js","sourceRoot":"","sources":["../../../../../packages/enterprise/src/lib/enterprise.ts"],"names":[],"mappings":";;AAAA,gCAEC;AAFD,SAAgB,UAAU;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/src/lib/path-index.js
DELETED
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PathIndex = void 0;
|
|
4
|
-
const core_1 = require("@angular/core");
|
|
5
|
-
/**
|
|
6
|
-
* Node in the Trie structure
|
|
7
|
-
*/
|
|
8
|
-
class TrieNode {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.value = null;
|
|
11
|
-
this.children = new Map();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* PathIndex
|
|
16
|
-
*
|
|
17
|
-
* Fast signal lookup using a Trie (prefix tree) data structure.
|
|
18
|
-
* Provides O(k) lookup time where k is the path length, regardless of total signals.
|
|
19
|
-
*
|
|
20
|
-
* Features:
|
|
21
|
-
* - Trie-based indexing for O(k) lookup
|
|
22
|
-
* - WeakRef caching for memory efficiency
|
|
23
|
-
* - Automatic cleanup of stale references
|
|
24
|
-
* - Prefix matching for batch operations
|
|
25
|
-
* - Path normalization
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```ts
|
|
29
|
-
* const index = new PathIndex();
|
|
30
|
-
*
|
|
31
|
-
* // Index signals
|
|
32
|
-
* index.set(['user', 'name'], nameSignal);
|
|
33
|
-
* index.set(['user', 'email'], emailSignal);
|
|
34
|
-
*
|
|
35
|
-
* // Fast lookup
|
|
36
|
-
* const signal = index.get(['user', 'name']);
|
|
37
|
-
*
|
|
38
|
-
* // Prefix matching
|
|
39
|
-
* const userSignals = index.getByPrefix(['user']);
|
|
40
|
-
* // Returns: { name: nameSignal, email: emailSignal }
|
|
41
|
-
*
|
|
42
|
-
* // Check if path exists
|
|
43
|
-
* if (index.has(['user', 'name'])) {
|
|
44
|
-
* // ...
|
|
45
|
-
* }
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
-
class PathIndex {
|
|
50
|
-
constructor() {
|
|
51
|
-
this.root = new TrieNode();
|
|
52
|
-
this.pathCache = new Map();
|
|
53
|
-
this.stats = {
|
|
54
|
-
hits: 0,
|
|
55
|
-
misses: 0,
|
|
56
|
-
sets: 0,
|
|
57
|
-
cleanups: 0,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Set a value at the given path
|
|
62
|
-
*
|
|
63
|
-
* @param path - Path segments
|
|
64
|
-
* @param value - Value to store
|
|
65
|
-
*/
|
|
66
|
-
set(path, signal) {
|
|
67
|
-
const pathStr = this.pathToString(path);
|
|
68
|
-
const ref = new WeakRef(signal);
|
|
69
|
-
// Update trie
|
|
70
|
-
let node = this.root;
|
|
71
|
-
for (const segment of path) {
|
|
72
|
-
const key = String(segment);
|
|
73
|
-
if (!node.children.has(key)) {
|
|
74
|
-
node.children.set(key, new TrieNode());
|
|
75
|
-
}
|
|
76
|
-
const nextNode = node.children.get(key);
|
|
77
|
-
if (!nextNode) {
|
|
78
|
-
throw new Error(`Failed to get node for key: ${key}`);
|
|
79
|
-
}
|
|
80
|
-
node = nextNode;
|
|
81
|
-
}
|
|
82
|
-
node.value = ref;
|
|
83
|
-
// Update cache for fast string lookups
|
|
84
|
-
this.pathCache.set(pathStr, ref);
|
|
85
|
-
this.stats.sets++;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Get value at the given path
|
|
89
|
-
*
|
|
90
|
-
* @param path - Path segments
|
|
91
|
-
* @returns Value if found and not GC'd, null otherwise
|
|
92
|
-
*/
|
|
93
|
-
get(path) {
|
|
94
|
-
const pathStr = this.pathToString(path);
|
|
95
|
-
// Try cache first
|
|
96
|
-
const cached = this.pathCache.get(pathStr);
|
|
97
|
-
if (cached) {
|
|
98
|
-
const value = cached.deref();
|
|
99
|
-
if (value) {
|
|
100
|
-
this.stats.hits++;
|
|
101
|
-
return value;
|
|
102
|
-
}
|
|
103
|
-
// Clean up dead reference
|
|
104
|
-
this.pathCache.delete(pathStr);
|
|
105
|
-
this.stats.cleanups++;
|
|
106
|
-
}
|
|
107
|
-
// Try trie
|
|
108
|
-
let node = this.root;
|
|
109
|
-
for (const segment of path) {
|
|
110
|
-
const key = String(segment);
|
|
111
|
-
node = node.children.get(key);
|
|
112
|
-
if (!node) {
|
|
113
|
-
this.stats.misses++;
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
if (node.value) {
|
|
118
|
-
const value = node.value.deref();
|
|
119
|
-
if (value) {
|
|
120
|
-
// Re-cache for next time
|
|
121
|
-
this.pathCache.set(pathStr, node.value);
|
|
122
|
-
this.stats.hits++;
|
|
123
|
-
return value;
|
|
124
|
-
}
|
|
125
|
-
// Clean up dead reference
|
|
126
|
-
node.value = null;
|
|
127
|
-
this.stats.cleanups++;
|
|
128
|
-
}
|
|
129
|
-
this.stats.misses++;
|
|
130
|
-
return null;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Check if path exists in index
|
|
134
|
-
*
|
|
135
|
-
* @param path - Path segments
|
|
136
|
-
* @returns True if path exists and value is not GC'd
|
|
137
|
-
*/
|
|
138
|
-
has(path) {
|
|
139
|
-
return this.get(path) !== null;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Get all values matching a prefix
|
|
143
|
-
*
|
|
144
|
-
* @param prefix - Path prefix
|
|
145
|
-
* @returns Map of relative paths to values
|
|
146
|
-
*/
|
|
147
|
-
getByPrefix(prefix) {
|
|
148
|
-
const results = new Map();
|
|
149
|
-
// Find the node at prefix
|
|
150
|
-
let node = this.root;
|
|
151
|
-
for (const segment of prefix) {
|
|
152
|
-
const key = String(segment);
|
|
153
|
-
node = node.children.get(key);
|
|
154
|
-
if (!node) {
|
|
155
|
-
return results; // Empty map
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
// Collect all descendants
|
|
159
|
-
this.collectDescendants(node, [], results);
|
|
160
|
-
return results;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Delete value at path
|
|
164
|
-
*
|
|
165
|
-
* @param path - Path segments
|
|
166
|
-
* @returns True if deleted, false if not found
|
|
167
|
-
*/
|
|
168
|
-
delete(path) {
|
|
169
|
-
const pathStr = this.pathToString(path);
|
|
170
|
-
// Remove from cache
|
|
171
|
-
this.pathCache.delete(pathStr);
|
|
172
|
-
// Remove from trie
|
|
173
|
-
let node = this.root;
|
|
174
|
-
const nodes = [node];
|
|
175
|
-
for (const segment of path) {
|
|
176
|
-
const key = String(segment);
|
|
177
|
-
node = node.children.get(key);
|
|
178
|
-
if (!node) {
|
|
179
|
-
return false;
|
|
180
|
-
}
|
|
181
|
-
nodes.push(node);
|
|
182
|
-
}
|
|
183
|
-
// Clear value
|
|
184
|
-
const hadValue = node.value !== null;
|
|
185
|
-
node.value = null;
|
|
186
|
-
// Clean up empty nodes (from leaf to root)
|
|
187
|
-
for (let i = nodes.length - 1; i > 0; i--) {
|
|
188
|
-
const current = nodes[i];
|
|
189
|
-
if (current.value === null && current.children.size === 0) {
|
|
190
|
-
const parent = nodes[i - 1];
|
|
191
|
-
const segment = path[i - 1];
|
|
192
|
-
parent.children.delete(String(segment));
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
break; // Stop if node has value or children
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return hadValue;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Clear all entries
|
|
202
|
-
*/
|
|
203
|
-
clear() {
|
|
204
|
-
this.root = new TrieNode();
|
|
205
|
-
this.pathCache.clear();
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Get statistics
|
|
209
|
-
*
|
|
210
|
-
* @returns Index statistics
|
|
211
|
-
*/
|
|
212
|
-
getStats() {
|
|
213
|
-
const total = this.stats.hits + this.stats.misses;
|
|
214
|
-
const hitRate = total > 0 ? this.stats.hits / total : 0;
|
|
215
|
-
return Object.assign(Object.assign({}, this.stats), { hitRate, cacheSize: this.pathCache.size });
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Build index from a tree structure
|
|
219
|
-
*
|
|
220
|
-
* @param tree - Tree object to index
|
|
221
|
-
* @param path - Current path (for recursion)
|
|
222
|
-
*/
|
|
223
|
-
buildFromTree(tree, path = []) {
|
|
224
|
-
if (!tree) {
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
// Check if it's a signal using Angular's isSignal
|
|
228
|
-
if ((0, core_1.isSignal)(tree)) {
|
|
229
|
-
this.set(path, tree);
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
// Only continue if it's an object (not a signal or primitive)
|
|
233
|
-
if (typeof tree !== 'object') {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
// Recursively index children
|
|
237
|
-
for (const [key, value] of Object.entries(tree)) {
|
|
238
|
-
this.buildFromTree(value, [...path, key]);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Convert path to string for caching
|
|
243
|
-
*/
|
|
244
|
-
pathToString(path) {
|
|
245
|
-
return path.join('.');
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Collect all descendant values recursively
|
|
249
|
-
*/
|
|
250
|
-
collectDescendants(node, currentPath, results) {
|
|
251
|
-
// Add current node's value if it exists
|
|
252
|
-
if (node.value) {
|
|
253
|
-
const value = node.value.deref();
|
|
254
|
-
if (value) {
|
|
255
|
-
results.set(this.pathToString(currentPath), value);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
// Recursively collect children
|
|
259
|
-
for (const [key, child] of node.children) {
|
|
260
|
-
this.collectDescendants(child, [...currentPath, key], results);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
exports.PathIndex = PathIndex;
|
|
265
|
-
//# sourceMappingURL=path-index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path-index.js","sourceRoot":"","sources":["../../../../../packages/enterprise/src/lib/path-index.ts"],"names":[],"mappings":"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"}
|
package/src/lib/scheduler.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.postTask = postTask;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const q = [];
|
|
6
|
-
function postTask(t) {
|
|
7
|
-
q.push(t);
|
|
8
|
-
if (q.length === 1)
|
|
9
|
-
flush();
|
|
10
|
-
}
|
|
11
|
-
function flush() {
|
|
12
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
-
while (q.length) {
|
|
14
|
-
const t = q.shift();
|
|
15
|
-
try {
|
|
16
|
-
t();
|
|
17
|
-
}
|
|
18
|
-
catch (e) {
|
|
19
|
-
console.error('[EnterpriseScheduler]', e);
|
|
20
|
-
}
|
|
21
|
-
yield Promise.resolve();
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=scheduler.js.map
|
package/src/lib/scheduler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../../packages/enterprise/src/lib/scheduler.ts"],"names":[],"mappings":";;AAIA,4BAGC;;AALD,MAAM,CAAC,GAAW,EAAE,CAAC;AAErB,SAAgB,QAAQ,CAAC,CAAO;IAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAe,KAAK;;QAClB,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAG,CAAC;YACrB,IAAI,CAAC;gBAAC,CAAC,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;YACrE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CAAA"}
|
package/src/lib/thread-pools.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createMockPool = createMockPool;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
function createMockPool() {
|
|
6
|
-
return {
|
|
7
|
-
run(fn, ...args) {
|
|
8
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
-
return fn(...args);
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=thread-pools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread-pools.js","sourceRoot":"","sources":["../../../../../packages/enterprise/src/lib/thread-pools.ts"],"names":[],"mappings":";;AAIA,wCAMC;;AAND,SAAgB,cAAc;IAC5B,OAAO;QACC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI;;gBACnB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;SAAA;KACF,CAAC;AACJ,CAAC"}
|