signalium 0.2.8 → 0.3.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/.turbo/turbo-build.log +12 -0
- package/CHANGELOG.md +6 -0
- package/dist/cjs/config.d.ts +14 -5
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +23 -14
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/debug.d.ts +3 -0
- package/dist/cjs/debug.d.ts.map +1 -0
- package/dist/cjs/debug.js +16 -0
- package/dist/cjs/debug.js.map +1 -0
- package/dist/cjs/hooks.d.ts +45 -0
- package/dist/cjs/hooks.d.ts.map +1 -0
- package/dist/cjs/hooks.js +260 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +21 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/context.d.ts +4 -0
- package/dist/cjs/react/context.d.ts.map +1 -0
- package/dist/cjs/react/context.js +10 -0
- package/dist/cjs/react/context.js.map +1 -0
- package/dist/cjs/react/index.d.ts +5 -0
- package/dist/cjs/react/index.d.ts.map +1 -0
- package/dist/cjs/react/index.js +12 -0
- package/dist/cjs/react/index.js.map +1 -0
- package/dist/cjs/react/provider.d.ts +7 -0
- package/dist/cjs/react/provider.d.ts.map +1 -0
- package/dist/cjs/react/provider.js +13 -0
- package/dist/cjs/react/provider.js.map +1 -0
- package/dist/cjs/react/signal-value.d.ts +3 -0
- package/dist/cjs/react/signal-value.d.ts.map +1 -0
- package/dist/cjs/react/signal-value.js +42 -0
- package/dist/cjs/react/signal-value.js.map +1 -0
- package/dist/cjs/react/state.d.ts +3 -0
- package/dist/cjs/react/state.d.ts.map +1 -0
- package/dist/cjs/react/state.js +13 -0
- package/dist/cjs/react/state.js.map +1 -0
- package/dist/cjs/scheduling.d.ts +5 -0
- package/dist/cjs/scheduling.d.ts.map +1 -1
- package/dist/cjs/scheduling.js +59 -5
- package/dist/cjs/scheduling.js.map +1 -1
- package/dist/cjs/signals.d.ts +28 -68
- package/dist/cjs/signals.d.ts.map +1 -1
- package/dist/cjs/signals.js +223 -76
- package/dist/cjs/signals.js.map +1 -1
- package/dist/cjs/trace.d.ts +127 -0
- package/dist/cjs/trace.d.ts.map +1 -0
- package/dist/cjs/trace.js +319 -0
- package/dist/cjs/trace.js.map +1 -0
- package/dist/cjs/types.d.ts +66 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils.d.ts +4 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +80 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/config.d.ts +14 -5
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +19 -11
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/debug.d.ts +3 -0
- package/dist/esm/debug.d.ts.map +1 -0
- package/dist/esm/debug.js +3 -0
- package/dist/esm/debug.js.map +1 -0
- package/dist/esm/hooks.d.ts +45 -0
- package/dist/esm/hooks.d.ts.map +1 -0
- package/dist/esm/hooks.js +243 -0
- package/dist/esm/hooks.js.map +1 -0
- package/dist/esm/index.d.ts +5 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/context.d.ts +4 -0
- package/dist/esm/react/context.d.ts.map +1 -0
- package/dist/esm/react/context.js +6 -0
- package/dist/esm/react/context.js.map +1 -0
- package/dist/esm/react/index.d.ts +5 -0
- package/dist/esm/react/index.d.ts.map +1 -0
- package/dist/esm/react/index.js +5 -0
- package/dist/esm/react/index.js.map +1 -0
- package/dist/esm/react/provider.d.ts +7 -0
- package/dist/esm/react/provider.d.ts.map +1 -0
- package/dist/esm/react/provider.js +10 -0
- package/dist/esm/react/provider.js.map +1 -0
- package/dist/esm/react/signal-value.d.ts +3 -0
- package/dist/esm/react/signal-value.d.ts.map +1 -0
- package/dist/esm/react/signal-value.js +38 -0
- package/dist/esm/react/signal-value.js.map +1 -0
- package/dist/esm/react/state.d.ts +3 -0
- package/dist/esm/react/state.d.ts.map +1 -0
- package/dist/esm/react/state.js +10 -0
- package/dist/esm/react/state.js.map +1 -0
- package/dist/esm/scheduling.d.ts +5 -0
- package/dist/esm/scheduling.d.ts.map +1 -1
- package/dist/esm/scheduling.js +51 -1
- package/dist/esm/scheduling.js.map +1 -1
- package/dist/esm/signals.d.ts +28 -68
- package/dist/esm/signals.d.ts.map +1 -1
- package/dist/esm/signals.js +215 -72
- package/dist/esm/signals.js.map +1 -1
- package/dist/esm/trace.d.ts +127 -0
- package/dist/esm/trace.d.ts.map +1 -0
- package/dist/esm/trace.js +311 -0
- package/dist/esm/trace.js.map +1 -0
- package/dist/esm/types.d.ts +66 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils.d.ts +4 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +75 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +43 -2
- package/src/__tests__/hooks/async-computed.test.ts +190 -0
- package/src/__tests__/hooks/async-task.test.ts +227 -0
- package/src/__tests__/hooks/computed.test.ts +126 -0
- package/src/__tests__/hooks/context.test.ts +527 -0
- package/src/__tests__/hooks/nesting.test.ts +303 -0
- package/src/__tests__/hooks/params-and-state.test.ts +168 -0
- package/src/__tests__/hooks/subscription.test.ts +97 -0
- package/src/__tests__/signals/async.test.ts +416 -0
- package/src/__tests__/signals/basic.test.ts +399 -0
- package/src/__tests__/signals/subscription.test.ts +632 -0
- package/src/__tests__/signals/watcher.test.ts +253 -0
- package/src/__tests__/utils/async.ts +6 -0
- package/src/__tests__/utils/builders.ts +22 -0
- package/src/__tests__/utils/instrumented-hooks.ts +309 -0
- package/src/__tests__/utils/instrumented-signals.ts +281 -0
- package/src/__tests__/utils/permute.ts +74 -0
- package/src/config.ts +32 -17
- package/src/debug.ts +14 -0
- package/src/hooks.ts +429 -0
- package/src/index.ts +28 -3
- package/src/react/__tests__/react.test.tsx +135 -0
- package/src/react/context.ts +8 -0
- package/src/react/index.ts +4 -0
- package/src/react/provider.tsx +18 -0
- package/src/react/signal-value.ts +56 -0
- package/src/react/state.ts +13 -0
- package/src/scheduling.ts +69 -1
- package/src/signals.ts +328 -169
- package/src/trace.ts +449 -0
- package/src/types.ts +86 -0
- package/src/utils.ts +83 -0
- package/tsconfig.json +2 -1
- package/vitest.workspace.ts +24 -0
- package/src/__tests__/async.test.ts +0 -426
- package/src/__tests__/basic.test.ts +0 -378
- package/src/__tests__/subscription.test.ts +0 -645
- package/src/__tests__/utils/instrumented.ts +0 -326
package/dist/cjs/signals.js
CHANGED
@@ -3,25 +3,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.ComputedSignal = void 0;
|
7
|
-
exports.
|
8
|
-
exports.
|
9
|
-
exports.
|
10
|
-
exports.
|
11
|
-
exports.
|
6
|
+
exports.StateSignal = exports.ComputedSignal = void 0;
|
7
|
+
exports.signalTypeToVisualizerType = signalTypeToVisualizerType;
|
8
|
+
exports.createStateSignal = createStateSignal;
|
9
|
+
exports.createComputedSignal = createComputedSignal;
|
10
|
+
exports.createAsyncComputedSignal = createAsyncComputedSignal;
|
11
|
+
exports.createSubscriptionSignal = createSubscriptionSignal;
|
12
|
+
exports.createAsyncTaskSignal = createAsyncTaskSignal;
|
13
|
+
exports.createWatcherSignal = createWatcherSignal;
|
14
|
+
exports.getCurrentConsumer = getCurrentConsumer;
|
12
15
|
exports.isTracking = isTracking;
|
13
16
|
exports.untrack = untrack;
|
14
17
|
const scheduling_js_1 = require("./scheduling.js");
|
15
18
|
const weakref_js_1 = __importDefault(require("./weakref.js"));
|
19
|
+
const trace_js_1 = require("./trace.js");
|
16
20
|
let CURRENT_ORD = 0;
|
17
21
|
let CURRENT_CONSUMER;
|
18
22
|
let CURRENT_IS_WAITING = false;
|
19
|
-
let ID = 0;
|
20
23
|
const SUBSCRIPTIONS = new WeakMap();
|
21
24
|
const ACTIVE_ASYNCS = new WeakMap();
|
22
25
|
const WAITING = Symbol();
|
26
|
+
const FALSE_EQUALS = () => false;
|
27
|
+
function signalTypeToVisualizerType(type) {
|
28
|
+
switch (type) {
|
29
|
+
case 0 /* SignalType.Computed */:
|
30
|
+
return trace_js_1.VisualizerNodeType.Computed;
|
31
|
+
case 1 /* SignalType.Subscription */:
|
32
|
+
return trace_js_1.VisualizerNodeType.Subscription;
|
33
|
+
case 2 /* SignalType.Async */:
|
34
|
+
return trace_js_1.VisualizerNodeType.AsyncComputed;
|
35
|
+
case 3 /* SignalType.Watcher */:
|
36
|
+
return trace_js_1.VisualizerNodeType.Watcher;
|
37
|
+
}
|
38
|
+
}
|
23
39
|
class ComputedSignal {
|
24
|
-
_id = ID++;
|
25
40
|
_type;
|
26
41
|
_deps = new Map();
|
27
42
|
_dirtyDep = undefined;
|
@@ -32,13 +47,12 @@ class ComputedSignal {
|
|
32
47
|
_connectedCount = 0;
|
33
48
|
_currentValue;
|
34
49
|
_compute;
|
35
|
-
|
50
|
+
_opts;
|
36
51
|
_ref = new weakref_js_1.default(this);
|
37
|
-
constructor(type, compute,
|
52
|
+
constructor(type, compute, opts, initValue) {
|
38
53
|
this._type = type;
|
39
54
|
this._compute = compute;
|
40
|
-
this.
|
41
|
-
this._connectedCount = type === 3 /* SignalType.Watcher */ ? 1 : 0;
|
55
|
+
this._opts = opts;
|
42
56
|
this._currentValue =
|
43
57
|
type !== 2 /* SignalType.Async */
|
44
58
|
? initValue
|
@@ -58,6 +72,10 @@ class ComputedSignal {
|
|
58
72
|
if (CURRENT_CONSUMER === undefined || CURRENT_CONSUMER._type !== 2 /* SignalType.Async */) {
|
59
73
|
throw new Error('Cannot await an async signal outside of an async signal. If you are using an async function, you must use signal.await() for all async signals _before_ the first language-level `await` keyword statement (e.g. it must be synchronous).');
|
60
74
|
}
|
75
|
+
trace_js_1.TRACER?.emit({
|
76
|
+
type: trace_js_1.TracerEventType.StartLoading,
|
77
|
+
id: CURRENT_CONSUMER._opts.id,
|
78
|
+
});
|
61
79
|
const value = this._currentValue;
|
62
80
|
if (value.isPending) {
|
63
81
|
const currentConsumer = CURRENT_CONSUMER;
|
@@ -76,6 +94,16 @@ class ComputedSignal {
|
|
76
94
|
if (CURRENT_CONSUMER !== undefined) {
|
77
95
|
const { _deps: deps, _computedCount: computedCount, _connectedCount: connectedCount } = CURRENT_CONSUMER;
|
78
96
|
const prevLink = deps.get(this);
|
97
|
+
if (prevLink === undefined) {
|
98
|
+
trace_js_1.TRACER?.emit({
|
99
|
+
type: trace_js_1.TracerEventType.Connected,
|
100
|
+
id: CURRENT_CONSUMER._opts.id,
|
101
|
+
childId: this._opts.id,
|
102
|
+
name: this._opts.desc,
|
103
|
+
params: this._opts.params,
|
104
|
+
nodeType: signalTypeToVisualizerType(this._type),
|
105
|
+
});
|
106
|
+
}
|
79
107
|
const ord = CURRENT_ORD++;
|
80
108
|
this._check(!prevLink && connectedCount > 0);
|
81
109
|
if (prevLink === undefined) {
|
@@ -94,7 +122,6 @@ class ComputedSignal {
|
|
94
122
|
prevLink.ord = ord;
|
95
123
|
prevLink.version = this._version;
|
96
124
|
prevLink.consumedAt = computedCount;
|
97
|
-
// prevLink.nextDirty = undefined;
|
98
125
|
this._subs.add(prevLink);
|
99
126
|
}
|
100
127
|
}
|
@@ -103,14 +130,13 @@ class ComputedSignal {
|
|
103
130
|
}
|
104
131
|
return this._currentValue;
|
105
132
|
}
|
106
|
-
_check(shouldWatch = false) {
|
107
|
-
// COUNTS.checks++;
|
133
|
+
_check(shouldWatch = false, connectCount = 1, immediate = false) {
|
108
134
|
let state = this._state;
|
109
135
|
let connectedCount = this._connectedCount;
|
110
136
|
const wasConnected = connectedCount > 0;
|
111
137
|
const shouldConnect = shouldWatch && !wasConnected;
|
112
138
|
if (shouldWatch) {
|
113
|
-
this._connectedCount = connectedCount = connectedCount +
|
139
|
+
this._connectedCount = connectedCount = connectedCount + connectCount;
|
114
140
|
}
|
115
141
|
if (shouldConnect) {
|
116
142
|
if (this._type === 1 /* SignalType.Subscription */) {
|
@@ -140,7 +166,7 @@ class ComputedSignal {
|
|
140
166
|
}
|
141
167
|
}
|
142
168
|
if (state === 2 /* SignalState.Dirty */) {
|
143
|
-
this._run(wasConnected, shouldConnect);
|
169
|
+
this._run(wasConnected, shouldConnect, immediate);
|
144
170
|
}
|
145
171
|
else {
|
146
172
|
this._resetDirty();
|
@@ -149,7 +175,11 @@ class ComputedSignal {
|
|
149
175
|
this._dirtyDep = undefined;
|
150
176
|
return this._version;
|
151
177
|
}
|
152
|
-
_run(wasConnected, shouldConnect) {
|
178
|
+
_run(wasConnected, shouldConnect, immediate = false) {
|
179
|
+
trace_js_1.TRACER?.emit({
|
180
|
+
type: trace_js_1.TracerEventType.StartUpdate,
|
181
|
+
id: this._opts.id,
|
182
|
+
});
|
153
183
|
const { _type: type } = this;
|
154
184
|
const prevConsumer = CURRENT_CONSUMER;
|
155
185
|
try {
|
@@ -158,11 +188,12 @@ class ComputedSignal {
|
|
158
188
|
this._computedCount++;
|
159
189
|
switch (type) {
|
160
190
|
case 0 /* SignalType.Computed */: {
|
191
|
+
const version = this._version;
|
161
192
|
const prevValue = this._currentValue;
|
162
193
|
const nextValue = this._compute(prevValue);
|
163
|
-
if (!this.
|
194
|
+
if (version === 0 || !this._opts.equals(prevValue, nextValue)) {
|
164
195
|
this._currentValue = nextValue;
|
165
|
-
this._version
|
196
|
+
this._version = version + 1;
|
166
197
|
}
|
167
198
|
break;
|
168
199
|
}
|
@@ -202,7 +233,12 @@ class ComputedSignal {
|
|
202
233
|
}
|
203
234
|
else if (nextValue instanceof Promise) {
|
204
235
|
const currentVersion = ++this._version;
|
205
|
-
|
236
|
+
trace_js_1.TRACER?.emit({
|
237
|
+
type: trace_js_1.TracerEventType.StartLoading,
|
238
|
+
id: this._opts.id,
|
239
|
+
});
|
240
|
+
nextValue = nextValue
|
241
|
+
.then(result => {
|
206
242
|
if (currentVersion !== this._version) {
|
207
243
|
return;
|
208
244
|
}
|
@@ -222,6 +258,13 @@ class ComputedSignal {
|
|
222
258
|
value.isError = true;
|
223
259
|
this._version++;
|
224
260
|
(0, scheduling_js_1.scheduleDirty)(this);
|
261
|
+
})
|
262
|
+
.finally(() => {
|
263
|
+
trace_js_1.TRACER?.emit({
|
264
|
+
type: trace_js_1.TracerEventType.EndLoading,
|
265
|
+
id: this._opts.id,
|
266
|
+
value: value,
|
267
|
+
});
|
225
268
|
});
|
226
269
|
ACTIVE_ASYNCS.set(this, nextValue);
|
227
270
|
value.isPending = true;
|
@@ -235,18 +278,34 @@ class ComputedSignal {
|
|
235
278
|
value.isSuccess = true;
|
236
279
|
value.isError = false;
|
237
280
|
this._version++;
|
281
|
+
trace_js_1.TRACER?.emit({
|
282
|
+
type: trace_js_1.TracerEventType.EndLoading,
|
283
|
+
id: this._opts.id,
|
284
|
+
value: value,
|
285
|
+
});
|
238
286
|
}
|
239
287
|
break;
|
240
288
|
}
|
241
289
|
case 1 /* SignalType.Subscription */: {
|
242
290
|
if (shouldConnect) {
|
243
291
|
const subscription = this._compute(() => this._currentValue, value => {
|
244
|
-
|
292
|
+
const version = this._version;
|
293
|
+
if (version !== 0 && this._opts.equals(value, this._currentValue)) {
|
245
294
|
return;
|
246
295
|
}
|
296
|
+
trace_js_1.TRACER?.emit({
|
297
|
+
type: trace_js_1.TracerEventType.StartUpdate,
|
298
|
+
id: this._opts.id,
|
299
|
+
});
|
247
300
|
this._currentValue = value;
|
248
|
-
this._version
|
301
|
+
this._version = version + 1;
|
249
302
|
this._dirtyConsumers();
|
303
|
+
trace_js_1.TRACER?.emit({
|
304
|
+
type: trace_js_1.TracerEventType.EndUpdate,
|
305
|
+
id: this._opts.id,
|
306
|
+
value: this._currentValue,
|
307
|
+
preserveChildren: true,
|
308
|
+
});
|
250
309
|
});
|
251
310
|
SUBSCRIPTIONS.set(this, subscription);
|
252
311
|
}
|
@@ -257,30 +316,53 @@ class ComputedSignal {
|
|
257
316
|
break;
|
258
317
|
}
|
259
318
|
default: {
|
260
|
-
this.
|
319
|
+
const version = this._version;
|
320
|
+
const prevValue = this._currentValue;
|
321
|
+
const nextValue = this._compute(prevValue);
|
322
|
+
if (version === 0 || !this._opts.equals(prevValue, nextValue)) {
|
323
|
+
this._currentValue = nextValue;
|
324
|
+
this._version = version + 1;
|
325
|
+
if (immediate) {
|
326
|
+
this._runEffects();
|
327
|
+
}
|
328
|
+
else {
|
329
|
+
(0, scheduling_js_1.scheduleEffect)(this);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
break;
|
261
333
|
}
|
262
334
|
}
|
263
335
|
}
|
264
336
|
finally {
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
337
|
+
trace_js_1.TRACER?.emit({
|
338
|
+
type: trace_js_1.TracerEventType.EndUpdate,
|
339
|
+
id: this._opts.id,
|
340
|
+
value: this._currentValue,
|
341
|
+
});
|
342
|
+
if (this._type !== 3 /* SignalType.Watcher */) {
|
343
|
+
const deps = this._deps;
|
344
|
+
for (const link of deps.values()) {
|
345
|
+
if (link.consumedAt === this._computedCount)
|
346
|
+
continue;
|
347
|
+
const dep = link.dep;
|
348
|
+
if (wasConnected) {
|
349
|
+
(0, scheduling_js_1.scheduleDisconnect)(dep);
|
350
|
+
}
|
351
|
+
trace_js_1.TRACER?.emit({
|
352
|
+
type: trace_js_1.TracerEventType.Disconnected,
|
353
|
+
id: this._opts.id,
|
354
|
+
childId: dep._opts.id,
|
355
|
+
});
|
356
|
+
deps.delete(dep);
|
357
|
+
dep._subs.delete(link);
|
272
358
|
}
|
273
|
-
deps.delete(dep);
|
274
|
-
dep._subs.delete(link);
|
275
359
|
}
|
276
360
|
CURRENT_CONSUMER = prevConsumer;
|
277
361
|
}
|
278
362
|
}
|
279
363
|
_resetDirty() {
|
280
364
|
let dirty = this._dirtyDep;
|
281
|
-
// COUNTS.dirtyResetIterations++;
|
282
365
|
while (dirty !== undefined) {
|
283
|
-
// COUNTS.dirtyResetIterations++;
|
284
366
|
dirty.dep._subs.add(dirty);
|
285
367
|
let nextDirty = dirty.nextDirty;
|
286
368
|
dirty.nextDirty = undefined;
|
@@ -317,7 +399,6 @@ class ComputedSignal {
|
|
317
399
|
else {
|
318
400
|
let nextDirty = dirty.nextDirty;
|
319
401
|
while (nextDirty !== undefined && nextDirty.ord < ord) {
|
320
|
-
// COUNTS.dirtyInsertIterations++;
|
321
402
|
dirty = nextDirty;
|
322
403
|
nextDirty = dirty.nextDirty;
|
323
404
|
}
|
@@ -356,18 +437,55 @@ class ComputedSignal {
|
|
356
437
|
dep._disconnect();
|
357
438
|
}
|
358
439
|
}
|
440
|
+
_runEffects() {
|
441
|
+
for (const subscriber of this._opts.subscribers) {
|
442
|
+
subscriber(this._currentValue);
|
443
|
+
}
|
444
|
+
}
|
445
|
+
addListener(subscriber, opts) {
|
446
|
+
const subscribers = this._opts.subscribers;
|
447
|
+
const index = subscribers.indexOf(subscriber);
|
448
|
+
if (index === -1) {
|
449
|
+
subscribers.push(subscriber);
|
450
|
+
if (opts?.immediate) {
|
451
|
+
this._check(true, 1, true);
|
452
|
+
}
|
453
|
+
else {
|
454
|
+
(0, scheduling_js_1.scheduleConnect)(this);
|
455
|
+
}
|
456
|
+
}
|
457
|
+
return () => {
|
458
|
+
const index = subscribers.indexOf(subscriber);
|
459
|
+
if (index !== -1) {
|
460
|
+
subscribers.splice(index, 1);
|
461
|
+
(0, scheduling_js_1.scheduleDisconnect)(this);
|
462
|
+
}
|
463
|
+
};
|
464
|
+
}
|
359
465
|
}
|
360
466
|
exports.ComputedSignal = ComputedSignal;
|
467
|
+
let STATE_ID = 0;
|
361
468
|
class StateSignal {
|
362
469
|
_value;
|
363
470
|
_equals;
|
364
471
|
_subs = [];
|
365
|
-
|
472
|
+
_desc;
|
473
|
+
constructor(_value, _equals = (a, b) => a === b, desc = 'state') {
|
366
474
|
this._value = _value;
|
367
475
|
this._equals = _equals;
|
476
|
+
this._desc = `${desc}${STATE_ID++}`;
|
368
477
|
}
|
369
478
|
get() {
|
370
479
|
if (CURRENT_CONSUMER !== undefined) {
|
480
|
+
trace_js_1.TRACER?.emit({
|
481
|
+
type: trace_js_1.TracerEventType.ConsumeState,
|
482
|
+
id: CURRENT_CONSUMER._opts.id,
|
483
|
+
childId: this._desc,
|
484
|
+
value: this._value,
|
485
|
+
setValue: (value) => {
|
486
|
+
this.set(value);
|
487
|
+
},
|
488
|
+
});
|
371
489
|
this._subs.push(CURRENT_CONSUMER._ref);
|
372
490
|
}
|
373
491
|
return this._value;
|
@@ -397,51 +515,81 @@ class StateSignal {
|
|
397
515
|
this._subs = [];
|
398
516
|
}
|
399
517
|
}
|
400
|
-
|
401
|
-
|
518
|
+
exports.StateSignal = StateSignal;
|
519
|
+
let UNKNOWN_SIGNAL_ID = 0;
|
520
|
+
const normalizeOpts = (opts) => {
|
521
|
+
return {
|
522
|
+
equals: opts?.equals === false ? FALSE_EQUALS : (opts?.equals ?? ((a, b) => a === b)),
|
523
|
+
id: opts?.id ?? `unknownSignal${UNKNOWN_SIGNAL_ID++}`,
|
524
|
+
desc: opts?.desc,
|
525
|
+
params: opts?.params,
|
526
|
+
};
|
527
|
+
};
|
528
|
+
function createStateSignal(initialValue, opts) {
|
529
|
+
const equals = opts?.equals === false ? FALSE_EQUALS : (opts?.equals ?? ((a, b) => a === b));
|
530
|
+
return new StateSignal(initialValue, equals, opts?.desc);
|
402
531
|
}
|
403
|
-
function
|
404
|
-
return new ComputedSignal(0 /* SignalType.Computed */, compute, opts
|
532
|
+
function createComputedSignal(compute, opts) {
|
533
|
+
return new ComputedSignal(0 /* SignalType.Computed */, compute, normalizeOpts(opts));
|
405
534
|
}
|
406
|
-
function
|
407
|
-
return new ComputedSignal(2 /* SignalType.Async */, compute, opts
|
535
|
+
function createAsyncComputedSignal(compute, opts) {
|
536
|
+
return new ComputedSignal(2 /* SignalType.Async */, compute, normalizeOpts(opts), opts?.initValue);
|
408
537
|
}
|
409
|
-
function
|
410
|
-
return new ComputedSignal(1 /* SignalType.Subscription */, subscribe, opts
|
538
|
+
function createSubscriptionSignal(subscribe, opts) {
|
539
|
+
return new ComputedSignal(1 /* SignalType.Subscription */, subscribe, normalizeOpts(opts), opts?.initValue);
|
411
540
|
}
|
412
|
-
function
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
541
|
+
function createAsyncTaskSignal(fn) {
|
542
|
+
let currentPromise;
|
543
|
+
const task = {
|
544
|
+
result: undefined,
|
545
|
+
error: undefined,
|
546
|
+
isPending: false,
|
547
|
+
isSuccess: false,
|
548
|
+
isError: false,
|
549
|
+
isReady: false,
|
550
|
+
async run(...params) {
|
551
|
+
if (!task.isPending) {
|
552
|
+
currentPromise = run(...params);
|
553
|
+
}
|
554
|
+
return currentPromise;
|
555
|
+
},
|
556
|
+
};
|
557
|
+
const run = async (...params) => {
|
558
|
+
try {
|
559
|
+
task.isPending = true;
|
560
|
+
task.isError = false;
|
561
|
+
task.isSuccess = false;
|
562
|
+
signal.set(task);
|
563
|
+
const result = await fn(...params);
|
564
|
+
task.result = result;
|
565
|
+
task.isSuccess = true;
|
566
|
+
task.isReady = true;
|
567
|
+
return result;
|
423
568
|
}
|
424
|
-
|
425
|
-
|
569
|
+
catch (error) {
|
570
|
+
task.error = error;
|
571
|
+
task.isError = true;
|
572
|
+
throw error;
|
573
|
+
}
|
574
|
+
finally {
|
575
|
+
task.isPending = false;
|
576
|
+
signal.set(task);
|
426
577
|
}
|
427
|
-
});
|
428
|
-
if (opts?.immediate) {
|
429
|
-
watcher.get();
|
430
|
-
}
|
431
|
-
else {
|
432
|
-
(0, scheduling_js_1.scheduleWatcher)(watcher);
|
433
|
-
}
|
434
|
-
return {
|
435
|
-
disconnect() {
|
436
|
-
(0, scheduling_js_1.scheduleDisconnect)(watcher);
|
437
|
-
},
|
438
|
-
subscribe(subscriber) {
|
439
|
-
subscribers.push(subscriber);
|
440
|
-
return () => {
|
441
|
-
subscribers.splice(subscribers.indexOf(subscriber), 1);
|
442
|
-
};
|
443
|
-
},
|
444
578
|
};
|
579
|
+
const signal = createStateSignal(task, { equals: false });
|
580
|
+
return signal;
|
581
|
+
}
|
582
|
+
function createWatcherSignal(fn, opts) {
|
583
|
+
const normalizedOpts = normalizeOpts({
|
584
|
+
equals: FALSE_EQUALS,
|
585
|
+
subscribers: [],
|
586
|
+
...opts,
|
587
|
+
});
|
588
|
+
normalizedOpts.subscribers = [];
|
589
|
+
return new ComputedSignal(3 /* SignalType.Watcher */, fn, normalizedOpts);
|
590
|
+
}
|
591
|
+
function getCurrentConsumer() {
|
592
|
+
return CURRENT_CONSUMER;
|
445
593
|
}
|
446
594
|
function isTracking() {
|
447
595
|
return CURRENT_CONSUMER !== undefined;
|
@@ -450,7 +598,6 @@ function untrack(fn) {
|
|
450
598
|
const prevConsumer = CURRENT_CONSUMER;
|
451
599
|
try {
|
452
600
|
CURRENT_CONSUMER = undefined;
|
453
|
-
// LAST_CONSUMED = undefined;
|
454
601
|
return fn();
|
455
602
|
}
|
456
603
|
finally {
|
package/dist/cjs/signals.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/signals.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/signals.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import { Signal, Watcher } from './types.js';
|
2
|
+
export declare let TRACER: TracerProxy | undefined;
|
3
|
+
export declare enum VisualizerNodeType {
|
4
|
+
State = 0,
|
5
|
+
Computed = 1,
|
6
|
+
AsyncComputed = 2,
|
7
|
+
Subscription = 3,
|
8
|
+
Watcher = 4
|
9
|
+
}
|
10
|
+
export interface VisualizerLink {
|
11
|
+
connected: boolean;
|
12
|
+
version: number;
|
13
|
+
node: VisualizerNode;
|
14
|
+
}
|
15
|
+
export declare enum TracerEventType {
|
16
|
+
StartUpdate = "StartUpdate",
|
17
|
+
EndUpdate = "EndUpdate",
|
18
|
+
StartLoading = "StartLoading",
|
19
|
+
EndLoading = "EndLoading",
|
20
|
+
Connected = "Connected",
|
21
|
+
Disconnected = "Disconnected",
|
22
|
+
ConsumeState = "ConsumeState"
|
23
|
+
}
|
24
|
+
type StartUpdateEvent = {
|
25
|
+
type: TracerEventType.StartUpdate;
|
26
|
+
id: string;
|
27
|
+
};
|
28
|
+
type EndUpdateEvent = {
|
29
|
+
type: TracerEventType.EndUpdate;
|
30
|
+
id: string;
|
31
|
+
value: unknown;
|
32
|
+
preserveChildren?: boolean;
|
33
|
+
};
|
34
|
+
type StartLoadingEvent = {
|
35
|
+
type: TracerEventType.StartLoading;
|
36
|
+
id: string;
|
37
|
+
};
|
38
|
+
type EndLoadingEvent = {
|
39
|
+
type: TracerEventType.EndLoading;
|
40
|
+
id: string;
|
41
|
+
value: unknown;
|
42
|
+
};
|
43
|
+
type ConnectedEvent = {
|
44
|
+
type: TracerEventType.Connected;
|
45
|
+
id: string;
|
46
|
+
childId: string;
|
47
|
+
nodeType: VisualizerNodeType;
|
48
|
+
name?: string;
|
49
|
+
params?: string;
|
50
|
+
};
|
51
|
+
type DisconnectedEvent = {
|
52
|
+
type: TracerEventType.Disconnected;
|
53
|
+
id: string;
|
54
|
+
childId: string;
|
55
|
+
};
|
56
|
+
type ConsumeStateEvent = {
|
57
|
+
type: TracerEventType.ConsumeState;
|
58
|
+
id: string;
|
59
|
+
childId: string;
|
60
|
+
value: unknown;
|
61
|
+
setValue: (value: unknown) => void;
|
62
|
+
};
|
63
|
+
type TracerEvent = StartUpdateEvent | EndUpdateEvent | StartLoadingEvent | EndLoadingEvent | ConnectedEvent | DisconnectedEvent | ConsumeStateEvent;
|
64
|
+
export declare class VisualizerNode {
|
65
|
+
private tracer;
|
66
|
+
depth: number;
|
67
|
+
type: VisualizerNodeType;
|
68
|
+
id: string;
|
69
|
+
value: unknown;
|
70
|
+
name?: string | undefined;
|
71
|
+
params?: string | undefined;
|
72
|
+
private _setValue?;
|
73
|
+
private subscribers;
|
74
|
+
private nextStateChildren;
|
75
|
+
stateChildren: VisualizerNode[];
|
76
|
+
children: VisualizerLink[];
|
77
|
+
updating: boolean;
|
78
|
+
loading: boolean;
|
79
|
+
version: number;
|
80
|
+
private updatingVersion;
|
81
|
+
private didConnect;
|
82
|
+
constructor(tracer: Tracer, depth: number, type: VisualizerNodeType, id: string, value: unknown, name?: string | undefined, params?: string | undefined, _setValue?: ((value: unknown) => void) | undefined);
|
83
|
+
get showParams(): boolean;
|
84
|
+
get showValue(): boolean;
|
85
|
+
get interactive(): boolean;
|
86
|
+
setValue(value: unknown): void;
|
87
|
+
connectChild(child: VisualizerNode): boolean;
|
88
|
+
disconnectChild(childId: string): void;
|
89
|
+
startUpdate(): void;
|
90
|
+
endUpdate(value: unknown, preserveChildren?: boolean): void;
|
91
|
+
startLoading(): void;
|
92
|
+
endLoading(value: unknown): void;
|
93
|
+
consumeState(id: string, value: unknown, setValue: (value: unknown) => void): void;
|
94
|
+
notify(): void;
|
95
|
+
subscribe(subscriber: () => void): () => void;
|
96
|
+
}
|
97
|
+
export declare class Tracer {
|
98
|
+
showParams: boolean;
|
99
|
+
showValue: boolean;
|
100
|
+
interactive: boolean;
|
101
|
+
private nodeMap;
|
102
|
+
delay: number;
|
103
|
+
maxDepth: number;
|
104
|
+
private initialized;
|
105
|
+
constructor(id: string, immediate?: boolean, showParams?: boolean, showValue?: boolean, interactive?: boolean);
|
106
|
+
rootNode: VisualizerNode;
|
107
|
+
private eventQueue;
|
108
|
+
private currentFlush;
|
109
|
+
emit(event: TracerEvent): void;
|
110
|
+
handleEvent(event: TracerEvent, nextEvent?: TracerEvent): boolean;
|
111
|
+
flush(): Promise<void>;
|
112
|
+
addListener(listener: () => void): () => void;
|
113
|
+
}
|
114
|
+
declare class TracerProxy {
|
115
|
+
private tracers;
|
116
|
+
constructor();
|
117
|
+
emit(event: TracerEvent): void;
|
118
|
+
createTracer(id: string, immediate?: boolean): Tracer;
|
119
|
+
removeTracer(tracer: Tracer): void;
|
120
|
+
flush(): void;
|
121
|
+
}
|
122
|
+
export declare function setTracing(enabled: boolean): void;
|
123
|
+
export declare function createTracer(_signal: Signal<unknown> | Watcher<unknown>, immediate?: boolean): Tracer;
|
124
|
+
export declare function createTracerFromId(id: string, immediate?: boolean): Tracer;
|
125
|
+
export declare function removeTracer(tracer: Tracer): void;
|
126
|
+
export {};
|
127
|
+
//# sourceMappingURL=trace.d.ts.map
|