@jalvin/runtime 2.0.46 → 2.0.47
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/coroutines.d.ts +7 -1
- package/dist/coroutines.d.ts.map +1 -1
- package/dist/coroutines.js +44 -33
- package/dist/coroutines.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/nav.d.ts +4 -0
- package/dist/nav.d.ts.map +1 -1
- package/dist/nav.js +27 -8
- package/dist/nav.js.map +1 -1
- package/dist/stateflow.d.ts +7 -3
- package/dist/stateflow.d.ts.map +1 -1
- package/dist/stateflow.js +17 -10
- package/dist/stateflow.js.map +1 -1
- package/dist/ui.d.ts +12 -9
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +123 -65
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
package/dist/coroutines.d.ts
CHANGED
|
@@ -72,7 +72,13 @@ export declare function async_<T>(fn: () => Promise<T>): Deferred<T>;
|
|
|
72
72
|
export declare function delay(ms: number): Promise<void>;
|
|
73
73
|
export declare function withContext<T>(_dispatcher: Dispatcher, fn: () => Promise<T>): Promise<T>;
|
|
74
74
|
export declare function repeat(times: number, fn: (index: number) => Promise<void>): Promise<void>;
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* runBlocking is not implementable in JavaScript: the single-threaded event
|
|
77
|
+
* loop cannot advance Promise continuations while a synchronous spin is in
|
|
78
|
+
* progress. This stub throws immediately so callers get a clear error instead
|
|
79
|
+
* of silently hanging. Use `await` or vitest's async test helpers instead.
|
|
80
|
+
*/
|
|
81
|
+
export declare function runBlocking<T>(_fn: () => Promise<T>): T;
|
|
76
82
|
export declare class TimeoutCancellationException extends Error {
|
|
77
83
|
constructor(ms: number);
|
|
78
84
|
}
|
package/dist/coroutines.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coroutines.d.ts","sourceRoot":"","sources":["../src/coroutines.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3E,qBAAa,GAAG;IACd,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,OAAO,CAA8B;;IAS7C,IAAI,QAAQ,IAAI,OAAO,CAAqC;IAC5D,IAAI,WAAW,IAAI,OAAO,CAAwE;IAClG,IAAI,WAAW,IAAI,OAAO,CAAwC;IAE5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ7B,gBAAgB;IAChB,SAAS,IAAI,IAAI;IAOjB,gBAAgB;IAChB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAO5B,gBAAgB;IAChB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;CAI1B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAMD,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAS;;IAS3B,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAOxB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAOtC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;IAIzB,gBAAgB;IAChB,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;CAGxB;AAMD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnD,kCAAkC;AAClC,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,UAAU,CAAS;IAE3B,IAAI,WAAW,IAAI,OAAO,CAA4B;IAEtD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG;IAuBpC;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAQ5C,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAO7B,4CAA4C;IACtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAQD;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE3D;AAMD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAOD,wBAAsB,WAAW,CAAC,CAAC,EACjC,WAAW,EAAE,UAAU,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAGZ;AAMD,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/F;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"coroutines.d.ts","sourceRoot":"","sources":["../src/coroutines.ts"],"names":[],"mappings":"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"}
|
package/dist/coroutines.js
CHANGED
|
@@ -201,23 +201,17 @@ export async function repeat(times, fn) {
|
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
// ---------------------------------------------------------------------------
|
|
204
|
-
// runBlocking —
|
|
204
|
+
// runBlocking — NOT SUPPORTED in JS
|
|
205
205
|
// ---------------------------------------------------------------------------
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
throw new Error("runBlocking timeout");
|
|
216
|
-
// No synchronous spin possible in pure JS — callers should use await
|
|
217
|
-
}
|
|
218
|
-
if (error !== undefined)
|
|
219
|
-
throw error;
|
|
220
|
-
return result;
|
|
206
|
+
/**
|
|
207
|
+
* runBlocking is not implementable in JavaScript: the single-threaded event
|
|
208
|
+
* loop cannot advance Promise continuations while a synchronous spin is in
|
|
209
|
+
* progress. This stub throws immediately so callers get a clear error instead
|
|
210
|
+
* of silently hanging. Use `await` or vitest's async test helpers instead.
|
|
211
|
+
*/
|
|
212
|
+
export function runBlocking(_fn) {
|
|
213
|
+
throw new Error("runBlocking() is not supported in JavaScript. " +
|
|
214
|
+
"Await the Promise directly or use an async test runner.");
|
|
221
215
|
}
|
|
222
216
|
// ---------------------------------------------------------------------------
|
|
223
217
|
// withTimeout / withTimeoutOrNull
|
|
@@ -367,6 +361,9 @@ export class Channel {
|
|
|
367
361
|
}
|
|
368
362
|
}
|
|
369
363
|
}
|
|
364
|
+
// Sentinel used to abort a producer early (e.g. take(n), first()).
|
|
365
|
+
// We use a unique object so it can be reliably distinguished from real errors.
|
|
366
|
+
const _flowStopSentinel = Object.freeze({ __jalvinFlowStop: true });
|
|
370
367
|
/**
|
|
371
368
|
* A cold asynchronous stream. The producer block only runs when `.collect()`
|
|
372
369
|
* is called — each collector gets its own independent execution.
|
|
@@ -400,12 +397,23 @@ export class Flow {
|
|
|
400
397
|
});
|
|
401
398
|
}
|
|
402
399
|
take(count) {
|
|
400
|
+
const _FlowStop = _flowStopSentinel;
|
|
403
401
|
return new Flow(async (emit) => {
|
|
404
402
|
let n = 0;
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
403
|
+
try {
|
|
404
|
+
await this.collect(async (v) => {
|
|
405
|
+
if (n++ < count) {
|
|
406
|
+
await emit(v);
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
throw _FlowStop; // stop the producer
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
catch (e) {
|
|
414
|
+
if (e !== _FlowStop)
|
|
415
|
+
throw e;
|
|
416
|
+
}
|
|
409
417
|
});
|
|
410
418
|
}
|
|
411
419
|
drop(count) {
|
|
@@ -436,25 +444,28 @@ export class Flow {
|
|
|
436
444
|
}
|
|
437
445
|
async first() {
|
|
438
446
|
return new Promise((resolve, reject) => {
|
|
439
|
-
|
|
440
|
-
this.collect((v) => {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
447
|
+
const _FlowStop = _flowStopSentinel;
|
|
448
|
+
this.collect(async (v) => {
|
|
449
|
+
resolve(v);
|
|
450
|
+
throw _FlowStop; // abort the producer after first value
|
|
451
|
+
}).catch((e) => {
|
|
452
|
+
if (e !== _FlowStop)
|
|
453
|
+
reject(e);
|
|
454
|
+
});
|
|
446
455
|
});
|
|
447
456
|
}
|
|
448
457
|
async firstOrNull() {
|
|
449
458
|
return new Promise((resolve) => {
|
|
450
459
|
let found = false;
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
460
|
+
const _FlowStop = _flowStopSentinel;
|
|
461
|
+
this.collect(async (v) => {
|
|
462
|
+
found = true;
|
|
463
|
+
resolve(v);
|
|
464
|
+
throw _FlowStop;
|
|
456
465
|
}).then(() => { if (!found)
|
|
457
|
-
resolve(null); })
|
|
466
|
+
resolve(null); })
|
|
467
|
+
.catch((e) => { if (e !== _FlowStop)
|
|
468
|
+
resolve(null); });
|
|
458
469
|
});
|
|
459
470
|
}
|
|
460
471
|
/** Combine two flows, emitting pairs whenever either emits */
|
package/dist/coroutines.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coroutines.js","sourceRoot":"","sources":["../src/coroutines.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coroutines.js","sourceRoot":"","sources":["../src/coroutines.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ export type { BibiMethod, BibiRequestOptions, BibiResponse, BibiInterceptor } fr
|
|
|
3
3
|
export { Job, JobCancellationException, Deferred, CoroutineScope, launch, async_ as async, delay, withContext, repeat, runBlocking, yield_, withTimeout, withTimeoutOrNull, TimeoutCancellationException, Channel, ChannelClosedException, Flow, flow, flowOf, asFlow, coroutineScope, supervisorScope, } from "./coroutines.js";
|
|
4
4
|
export type { Dispatcher, FlowCollector } from "./coroutines.js";
|
|
5
5
|
export { MutableStateFlow, mapFlow, filterFlow, debounceFlow, ViewModel, viewModel, clearViewModel, clearAllViewModels, } from "./stateflow.js";
|
|
6
|
-
export type { StateFlow, Subscriber, Unsubscribe } from "./stateflow.js";
|
|
6
|
+
export type { StateFlow, Subscriber, Unsubscribe, DerivedFlow } from "./stateflow.js";
|
|
7
7
|
export { NavController, NavGraphBuilder, NavHost, rememberNavController, } from "./nav.js";
|
|
8
8
|
export type { BackStackEntry, NavOptions } from "./nav.js";
|
|
9
9
|
export { jalvinCreateElement, patch } from "./dom.js";
|
|
10
|
+
export type { VNode } from "./dom.js";
|
|
10
11
|
export { mutableStateOf, remember, rememberMutableStateOf, collectAsState, LaunchedEffect, DisposableEffect, SideEffect, WindowSizeClassProvider, calculateWindowSizeClass, widthToSizeClass, heightToSizeClass, render, } from "./ui.js";
|
|
11
12
|
export type { MutableState, WindowSizeClass, WindowSizeClassState } from "./ui.js";
|
|
12
13
|
export { println, print, } from "./stdlib/io.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClF,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG/F,OAAO,EACL,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EACR,cAAc,EACd,MAAM,EAAE,MAAM,IAAI,KAAK,EACvB,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EACvC,MAAM,EACN,WAAW,EAAE,iBAAiB,EAAE,4BAA4B,EAC5D,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAC1B,cAAc,EAAE,eAAe,GAChC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EACL,gBAAgB,EAChB,OAAO,EAAE,UAAU,EAAE,YAAY,EACjC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,GACzD,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGlF,aAAa;AACb,OAAO,EACL,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EACR,cAAc,EACd,MAAM,EAAE,MAAM,IAAI,KAAK,EACvB,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EACvC,MAAM,EACN,WAAW,EAAE,iBAAiB,EAAE,4BAA4B,EAC5D,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAC1B,cAAc,EAAE,eAAe,GAChC,MAAM,iBAAiB,CAAC;AAGzB,wBAAwB;AACxB,OAAO,EACL,gBAAgB,EAChB,OAAO,EAAE,UAAU,EAAE,YAAY,EACjC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,GACzD,MAAM,gBAAgB,CAAC;AAGxB,wDAAwD;AACxD,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAGlB,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/nav.d.ts
CHANGED
|
@@ -30,10 +30,14 @@ export declare class NavController {
|
|
|
30
30
|
private readonly _backStack;
|
|
31
31
|
private readonly _currentEntry;
|
|
32
32
|
private _resolver;
|
|
33
|
+
private _hashChangeHandler;
|
|
33
34
|
constructor();
|
|
34
35
|
get currentBackStackEntry(): StateFlow<BackStackEntry | null>;
|
|
35
36
|
_setResolver(resolver: (dest: string) => BackStackEntry | null): void;
|
|
36
37
|
_initFromHash(startDestination: string): void;
|
|
38
|
+
/** Remove the hashchange listener. Call when the NavHost is unmounted. */
|
|
39
|
+
dispose(): void;
|
|
40
|
+
private _removeHashListener;
|
|
37
41
|
private _navigateTo;
|
|
38
42
|
navigate(destination: string, options?: NavOptions): void;
|
|
39
43
|
popBackStack(): boolean;
|
package/dist/nav.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC;CAC3C;AAyBD,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAM;IAEvC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,GAAG,IAAI;CAI7E;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,SAAS,CAA0D;;
|
|
1
|
+
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC;CAC3C;AAyBD,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAM;IAEvC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,GAAG,IAAI;CAI7E;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,SAAS,CAA0D;IAE3E,OAAO,CAAC,kBAAkB,CAA6B;;IAMvD,IAAI,qBAAqB,IAAI,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAE5D;IAED,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI;IAIrE,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAuB7C,0EAA0E;IAC1E,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAOnB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IA2BzD,YAAY,IAAI,OAAO;IAWvB,eAAe,IAAI,OAAO;CAG3B;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,GAC3D,KAAK,CAgCP"}
|
package/dist/nav.js
CHANGED
|
@@ -33,6 +33,8 @@ export class NavController {
|
|
|
33
33
|
_backStack = [];
|
|
34
34
|
_currentEntry;
|
|
35
35
|
_resolver = null;
|
|
36
|
+
// Stored so the listener can be removed when the controller is disposed.
|
|
37
|
+
_hashChangeHandler = null;
|
|
36
38
|
constructor() {
|
|
37
39
|
this._currentEntry = new MutableStateFlow(null);
|
|
38
40
|
}
|
|
@@ -43,15 +45,33 @@ export class NavController {
|
|
|
43
45
|
this._resolver = resolver;
|
|
44
46
|
}
|
|
45
47
|
_initFromHash(startDestination) {
|
|
48
|
+
// Remove any previously-registered listener to avoid duplicates.
|
|
49
|
+
this._removeHashListener();
|
|
46
50
|
const hash = typeof window !== "undefined" ? window.location.hash : "";
|
|
47
51
|
const dest = hash.startsWith("#/") ? hash.slice(2) : startDestination;
|
|
48
52
|
this._navigateTo(dest);
|
|
49
53
|
if (typeof window !== "undefined") {
|
|
50
|
-
|
|
54
|
+
this._hashChangeHandler = () => {
|
|
51
55
|
const h = window.location.hash;
|
|
52
56
|
const d = h.startsWith("#/") ? h.slice(2) : startDestination;
|
|
53
|
-
this
|
|
54
|
-
|
|
57
|
+
// Only push if this is genuinely a new destination (not a programmatic
|
|
58
|
+
// navigation that already updated the back stack via navigate()).
|
|
59
|
+
const current = this._currentEntry.value;
|
|
60
|
+
if (!current || current.destination !== d) {
|
|
61
|
+
this._navigateTo(d);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
window.addEventListener("hashchange", this._hashChangeHandler);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Remove the hashchange listener. Call when the NavHost is unmounted. */
|
|
68
|
+
dispose() {
|
|
69
|
+
this._removeHashListener();
|
|
70
|
+
}
|
|
71
|
+
_removeHashListener() {
|
|
72
|
+
if (this._hashChangeHandler && typeof window !== "undefined") {
|
|
73
|
+
window.removeEventListener("hashchange", this._hashChangeHandler);
|
|
74
|
+
this._hashChangeHandler = null;
|
|
55
75
|
}
|
|
56
76
|
}
|
|
57
77
|
_navigateTo(destination) {
|
|
@@ -79,11 +99,11 @@ export class NavController {
|
|
|
79
99
|
this._backStack.splice(removeFrom);
|
|
80
100
|
}
|
|
81
101
|
}
|
|
102
|
+
// Push the destination onto the back stack directly, then sync the URL.
|
|
103
|
+
// This avoids the hashchange listener pushing a duplicate entry.
|
|
104
|
+
this._navigateTo(destination);
|
|
82
105
|
if (typeof window !== "undefined") {
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this._navigateTo(destination);
|
|
106
|
+
history.pushState(null, "", `#/${destination}`);
|
|
87
107
|
}
|
|
88
108
|
}
|
|
89
109
|
popBackStack() {
|
|
@@ -93,7 +113,6 @@ export class NavController {
|
|
|
93
113
|
const prev = this._backStack[this._backStack.length - 1] ?? null;
|
|
94
114
|
this._currentEntry.value = prev;
|
|
95
115
|
if (prev && typeof window !== "undefined") {
|
|
96
|
-
// replaceState does not fire hashchange, so no re-push into _backStack
|
|
97
116
|
history.replaceState(null, "", `#/${prev.destination}`);
|
|
98
117
|
}
|
|
99
118
|
return true;
|
package/dist/nav.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4BnD,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE;QACjE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB,EAAE,WAAmB;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,eAAe;IACjB,OAAO,GAAoB,EAAE,CAAC;IAEvC,UAAU,CAAC,OAAe,EAAE,OAAyC;QACnE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACP,UAAU,GAAqB,EAAE,CAAC;IAClC,aAAa,CAA0C;IAChE,SAAS,GAAqD,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../src/nav.ts"],"names":[],"mappings":"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"}
|
package/dist/stateflow.d.ts
CHANGED
|
@@ -21,9 +21,13 @@ export declare class MutableStateFlow<T> implements StateFlow<T> {
|
|
|
21
21
|
private _emit;
|
|
22
22
|
emit(value: T): void;
|
|
23
23
|
}
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
export interface DerivedFlow<T> extends StateFlow<T> {
|
|
25
|
+
/** Stop the derived flow from receiving updates from its source. */
|
|
26
|
+
dispose(): void;
|
|
27
|
+
}
|
|
28
|
+
export declare function mapFlow<T, R>(source: StateFlow<T>, transform: (v: T) => R): DerivedFlow<R>;
|
|
29
|
+
export declare function filterFlow<T>(source: StateFlow<T>, predicate: (v: T) => boolean): DerivedFlow<T | undefined>;
|
|
30
|
+
export declare function debounceFlow<T>(source: StateFlow<T>, delayMs: number): DerivedFlow<T>;
|
|
27
31
|
export declare abstract class ViewModel {
|
|
28
32
|
private readonly _onClearCallbacks;
|
|
29
33
|
private _cleared;
|
package/dist/stateflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateflow.d.ts","sourceRoot":"","sources":["../src/stateflow.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAMrC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAChD,6DAA6D;IAC7D,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5B;AAMD,qBAAa,gBAAgB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBAE7C,YAAY,EAAE,CAAC;IAI3B,IAAI,KAAK,IAAI,CAAC,CAEb;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,EAIpB;IAED,6DAA6D;IAC7D,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;IAI1C,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW;IAM/C,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"stateflow.d.ts","sourceRoot":"","sources":["../src/stateflow.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAMrC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAChD,6DAA6D;IAC7D,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5B;AAMD,qBAAa,gBAAgB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBAE7C,YAAY,EAAE,CAAC;IAI3B,IAAI,KAAK,IAAI,CAAC,CAEb;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,EAIpB;IAED,6DAA6D;IAC7D,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;IAI1C,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW;IAM/C,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;IAyC1B,OAAO,CAAC,KAAK;IAOb,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;CAGrB;AAMD,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAClD,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAI1F;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAK5G;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAarF;AAMD,8BAAsB,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAS;IAEzB,yFAAyF;IACzF,KAAK,IAAI,IAAI;IASb,uEAAuE;IACvE,SAAS,CAAC,SAAS,IAAI,IAAI;IAE3B,gEAAgE;IAChE,SAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpD,gFAAgF;IAChF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAGtD;AAQD,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAC3C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,GACf,CAAC,CAKH;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
package/dist/stateflow.js
CHANGED
|
@@ -35,7 +35,9 @@ export class MutableStateFlow {
|
|
|
35
35
|
return {
|
|
36
36
|
[Symbol.asyncIterator]() {
|
|
37
37
|
let resolve = null;
|
|
38
|
-
|
|
38
|
+
// Do NOT pre-populate the queue; collect() delivers the current value
|
|
39
|
+
// immediately as the first emission, so pre-populating would double it.
|
|
40
|
+
const queue = [];
|
|
39
41
|
let done = false;
|
|
40
42
|
const unsub = self.collect((v) => {
|
|
41
43
|
if (done)
|
|
@@ -81,30 +83,35 @@ export class MutableStateFlow {
|
|
|
81
83
|
this.value = value;
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
|
-
// ---------------------------------------------------------------------------
|
|
85
|
-
// Flow operators — map, filter, take, debounce
|
|
86
|
-
// ---------------------------------------------------------------------------
|
|
87
86
|
export function mapFlow(source, transform) {
|
|
88
87
|
const derived = new MutableStateFlow(transform(source.value));
|
|
89
|
-
source.collect((v) => { derived.value = transform(v); });
|
|
90
|
-
return derived;
|
|
88
|
+
const unsub = source.collect((v) => { derived.value = transform(v); });
|
|
89
|
+
return Object.assign(derived, { dispose: unsub });
|
|
91
90
|
}
|
|
92
91
|
export function filterFlow(source, predicate) {
|
|
93
92
|
const initial = predicate(source.value) ? source.value : undefined;
|
|
94
93
|
const derived = new MutableStateFlow(initial);
|
|
95
|
-
source.collect((v) => { if (predicate(v))
|
|
94
|
+
const unsub = source.collect((v) => { if (predicate(v))
|
|
96
95
|
derived.value = v; });
|
|
97
|
-
return derived;
|
|
96
|
+
return Object.assign(derived, { dispose: unsub });
|
|
98
97
|
}
|
|
99
98
|
export function debounceFlow(source, delayMs) {
|
|
100
99
|
const derived = new MutableStateFlow(source.value);
|
|
101
100
|
let timer = null;
|
|
102
|
-
source.collect((v) => {
|
|
101
|
+
const unsub = source.collect((v) => {
|
|
103
102
|
if (timer)
|
|
104
103
|
clearTimeout(timer);
|
|
105
104
|
timer = setTimeout(() => { derived.value = v; }, delayMs);
|
|
106
105
|
});
|
|
107
|
-
return derived
|
|
106
|
+
return Object.assign(derived, {
|
|
107
|
+
dispose: () => {
|
|
108
|
+
unsub();
|
|
109
|
+
if (timer) {
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
timer = null;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
});
|
|
108
115
|
}
|
|
109
116
|
// ---------------------------------------------------------------------------
|
|
110
117
|
// ViewModel base class
|
package/dist/stateflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateflow.js","sourceRoot":"","sources":["../src/stateflow.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAkBhF,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAI;IACD,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEzD,YAAY,YAAe;QACzB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,QAAW;QACnB,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,CAAC,+BAA+B;QAC7E,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,SAA4B;QACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,UAAyB;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC;QAC/D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACL,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,IAAI,OAAO,GAA4C,IAAI,CAAC;gBAC5D,MAAM,KAAK,GAAQ,
|
|
1
|
+
{"version":3,"file":"stateflow.js","sourceRoot":"","sources":["../src/stateflow.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -2,26 +2,27 @@ import type { StateFlow } from "./stateflow.js";
|
|
|
2
2
|
export interface MutableState<T> {
|
|
3
3
|
value: T;
|
|
4
4
|
}
|
|
5
|
-
/**
|
|
6
|
-
* Returns a reactive state holder.
|
|
7
|
-
*/
|
|
8
5
|
export declare function mutableStateOf<T>(initial: T): MutableState<T>;
|
|
9
6
|
/**
|
|
10
7
|
* Persists a value across re-renders.
|
|
8
|
+
* When deps change, the previous cleanup (if any) is called before recomputing.
|
|
11
9
|
*/
|
|
12
10
|
export declare function remember<T>(compute: () => T, deps?: readonly unknown[]): T;
|
|
13
|
-
/**
|
|
14
|
-
* Convenience wrapper.
|
|
15
|
-
*/
|
|
16
11
|
export declare function rememberMutableStateOf<T>(initial: T): MutableState<T>;
|
|
17
12
|
/**
|
|
18
|
-
* Collects a StateFlow into reactive state
|
|
13
|
+
* Collects a StateFlow into reactive state.
|
|
14
|
+
* The subscription is tracked per-context slot and cleaned up when the flow changes.
|
|
19
15
|
*/
|
|
20
16
|
export declare function collectAsState<T>(flow: StateFlow<T>): T;
|
|
21
17
|
/**
|
|
22
|
-
* Runs an effect
|
|
18
|
+
* Runs an async effect. Re-runs (and cancels the previous run) when deps change.
|
|
19
|
+
* The returned AbortSignal lets long-running effects detect cancellation.
|
|
20
|
+
*/
|
|
21
|
+
export declare function LaunchedEffect(deps: readonly unknown[], fn: (signal: AbortSignal) => Promise<void>): void;
|
|
22
|
+
/**
|
|
23
|
+
* Runs a synchronous effect and stores its cleanup. Cleanup is called when
|
|
24
|
+
* deps change or the slot is evicted.
|
|
23
25
|
*/
|
|
24
|
-
export declare function LaunchedEffect(deps: readonly unknown[], fn: () => Promise<void>): void;
|
|
25
26
|
export declare function DisposableEffect(deps: readonly unknown[], fn: () => (() => void)): void;
|
|
26
27
|
export declare function SideEffect(fn: () => void): void;
|
|
27
28
|
export type WindowSizeClass = "Compact" | "Medium" | "Expanded";
|
|
@@ -39,6 +40,8 @@ export { viewModel as useViewModel } from "./stateflow.js";
|
|
|
39
40
|
import type { VNode } from "./dom.js";
|
|
40
41
|
/**
|
|
41
42
|
* Mounts a Jalvin component to the DOM and sets up the re-render loop.
|
|
43
|
+
* Each call creates an isolated RenderContext so multiple independent trees
|
|
44
|
+
* cannot corrupt each other's hook state.
|
|
42
45
|
*/
|
|
43
46
|
export declare function render(rootComponent: () => VNode, container: HTMLElement): void;
|
|
44
47
|
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA0EhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAY9E;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAkBvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GACzC,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAYN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE/C;AAID,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAgBD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAE7E;AAID,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AActC;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CA+D/E"}
|
package/dist/ui.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
2
2
|
// Jalvin UI runtime — Vanilla DOM reactivity system
|
|
3
3
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
let _currentContext = null;
|
|
5
|
+
function getCurrentContext() {
|
|
6
|
+
if (!_currentContext)
|
|
7
|
+
throw new Error("Hook called outside a render context");
|
|
8
|
+
return _currentContext;
|
|
9
|
+
}
|
|
4
10
|
let activeSubscriber = null;
|
|
5
11
|
let stateHolderIdCounter = 0;
|
|
6
12
|
class StateHolder {
|
|
@@ -12,7 +18,6 @@ class StateHolder {
|
|
|
12
18
|
}
|
|
13
19
|
get value() {
|
|
14
20
|
if (activeSubscriber) {
|
|
15
|
-
// console.log(`[State ${this.id}] Subscribing active render loop.`);
|
|
16
21
|
this.subscribers.add(activeSubscriber);
|
|
17
22
|
}
|
|
18
23
|
return this._value;
|
|
@@ -29,70 +34,96 @@ class StateHolder {
|
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
|
-
// --
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
// -- Dep comparison helper ----------------------------------------------------
|
|
38
|
+
function depsEqual(a, b) {
|
|
39
|
+
if (a.length !== b.length)
|
|
40
|
+
return false;
|
|
41
|
+
for (let i = 0; i < a.length; i++) {
|
|
42
|
+
if (!Object.is(a[i], b[i]))
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
38
46
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Returns a reactive state holder.
|
|
41
|
-
*/
|
|
42
47
|
export function mutableStateOf(initial) {
|
|
43
48
|
return new StateHolder(initial);
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
51
|
* Persists a value across re-renders.
|
|
52
|
+
* When deps change, the previous cleanup (if any) is called before recomputing.
|
|
47
53
|
*/
|
|
48
54
|
export function remember(compute, deps = []) {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
if (!Object.is(deps[i], existing.deps[i])) {
|
|
55
|
-
depsChanged = true;
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (depsChanged) {
|
|
61
|
-
hookState[idx] = { value: compute(), deps };
|
|
55
|
+
const ctx = getCurrentContext();
|
|
56
|
+
const idx = ctx.hookIndex++;
|
|
57
|
+
const slot = ctx.hookSlots[idx];
|
|
58
|
+
if (slot?.kind === "memo" && depsEqual(slot.deps, deps)) {
|
|
59
|
+
return slot.value;
|
|
62
60
|
}
|
|
63
|
-
|
|
61
|
+
const value = compute();
|
|
62
|
+
ctx.hookSlots[idx] = { kind: "memo", value, deps };
|
|
63
|
+
return value;
|
|
64
64
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Convenience wrapper.
|
|
67
|
-
*/
|
|
68
65
|
export function rememberMutableStateOf(initial) {
|
|
69
66
|
return remember(() => mutableStateOf(initial));
|
|
70
67
|
}
|
|
71
68
|
/**
|
|
72
|
-
* Collects a StateFlow into reactive state
|
|
69
|
+
* Collects a StateFlow into reactive state.
|
|
70
|
+
* The subscription is tracked per-context slot and cleaned up when the flow changes.
|
|
73
71
|
*/
|
|
74
72
|
export function collectAsState(flow) {
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
const ctx = getCurrentContext();
|
|
74
|
+
const idx = ctx.hookIndex++;
|
|
75
|
+
const existing = ctx.hookSlots[idx];
|
|
76
|
+
if (existing?.kind === "subscription" && existing.flowRef === flow) {
|
|
77
|
+
return existing.state.value;
|
|
78
|
+
}
|
|
79
|
+
// Flow changed or first render — clean up old subscription, create new one.
|
|
80
|
+
if (existing?.kind === "subscription") {
|
|
81
|
+
existing.unsub();
|
|
82
|
+
}
|
|
83
|
+
const state = mutableStateOf(flow.value);
|
|
84
|
+
const unsub = flow.collect((v) => { state.value = v; });
|
|
85
|
+
ctx.hookSlots[idx] = { kind: "subscription", flowRef: flow, unsub, state };
|
|
80
86
|
return state.value;
|
|
81
87
|
}
|
|
82
88
|
/**
|
|
83
|
-
* Runs an effect
|
|
89
|
+
* Runs an async effect. Re-runs (and cancels the previous run) when deps change.
|
|
90
|
+
* The returned AbortSignal lets long-running effects detect cancellation.
|
|
84
91
|
*/
|
|
85
92
|
export function LaunchedEffect(deps, fn) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
const ctx = getCurrentContext();
|
|
94
|
+
const idx = ctx.hookIndex++;
|
|
95
|
+
const existing = ctx.hookSlots[idx];
|
|
96
|
+
if (existing?.kind === "effect" && depsEqual(existing.deps, deps))
|
|
97
|
+
return;
|
|
98
|
+
// Cancel the previous effect if still running.
|
|
99
|
+
if (existing?.cleanup)
|
|
100
|
+
existing.cleanup();
|
|
101
|
+
const controller = new AbortController();
|
|
102
|
+
fn(controller.signal).catch((e) => {
|
|
103
|
+
if (e?.name !== "AbortError")
|
|
104
|
+
console.error("LaunchedEffect error:", e);
|
|
105
|
+
});
|
|
106
|
+
ctx.hookSlots[idx] = {
|
|
107
|
+
kind: "effect",
|
|
108
|
+
deps,
|
|
109
|
+
cleanup: () => controller.abort(),
|
|
110
|
+
};
|
|
90
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Runs a synchronous effect and stores its cleanup. Cleanup is called when
|
|
114
|
+
* deps change or the slot is evicted.
|
|
115
|
+
*/
|
|
91
116
|
export function DisposableEffect(deps, fn) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
117
|
+
const ctx = getCurrentContext();
|
|
118
|
+
const idx = ctx.hookIndex++;
|
|
119
|
+
const existing = ctx.hookSlots[idx];
|
|
120
|
+
if (existing?.kind === "effect" && depsEqual(existing.deps, deps))
|
|
121
|
+
return;
|
|
122
|
+
// Run the previous cleanup before re-running.
|
|
123
|
+
if (existing?.cleanup)
|
|
124
|
+
existing.cleanup();
|
|
125
|
+
const cleanup = fn();
|
|
126
|
+
ctx.hookSlots[idx] = { kind: "effect", deps, cleanup };
|
|
96
127
|
}
|
|
97
128
|
export function SideEffect(fn) {
|
|
98
129
|
fn();
|
|
@@ -129,26 +160,41 @@ export function calculateWindowSizeClass() {
|
|
|
129
160
|
export function WindowSizeClassProvider({ children }) {
|
|
130
161
|
return children;
|
|
131
162
|
}
|
|
132
|
-
// -- ViewModels
|
|
163
|
+
// -- ViewModels ---------------------------------------------------------------
|
|
133
164
|
export { viewModel as useViewModel } from "./stateflow.js";
|
|
134
|
-
// -- Root Rendering
|
|
135
|
-
let renderCount = 0;
|
|
165
|
+
// -- Root Rendering -----------------------------------------------------------
|
|
136
166
|
import { patch } from "./dom.js";
|
|
167
|
+
/**
|
|
168
|
+
* Runs all effect cleanups stored in a context's hook slots.
|
|
169
|
+
* Call before evicting a context (e.g., component unmount).
|
|
170
|
+
*/
|
|
171
|
+
function cleanupContext(ctx) {
|
|
172
|
+
for (const slot of ctx.hookSlots) {
|
|
173
|
+
if (!slot)
|
|
174
|
+
continue;
|
|
175
|
+
if (slot.kind === "effect" && slot.cleanup)
|
|
176
|
+
slot.cleanup();
|
|
177
|
+
if (slot.kind === "subscription")
|
|
178
|
+
slot.unsub();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
137
181
|
/**
|
|
138
182
|
* Mounts a Jalvin component to the DOM and sets up the re-render loop.
|
|
183
|
+
* Each call creates an isolated RenderContext so multiple independent trees
|
|
184
|
+
* cannot corrupt each other's hook state.
|
|
139
185
|
*/
|
|
140
186
|
export function render(rootComponent, container) {
|
|
141
|
-
|
|
187
|
+
const ctx = { hookSlots: [], hookIndex: 0 };
|
|
142
188
|
let oldVNode = container._jalvin_vnode || null;
|
|
143
189
|
const update = () => {
|
|
144
|
-
|
|
190
|
+
const prevContext = _currentContext;
|
|
191
|
+
_currentContext = ctx;
|
|
145
192
|
activeSubscriber = update;
|
|
146
|
-
// On first mount
|
|
147
|
-
// global hookState belong to a prior render() call and must not be reused.
|
|
193
|
+
// On first mount, clear any stale slots from a previous render() call on the same container.
|
|
148
194
|
if (oldVNode === null)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// Save
|
|
195
|
+
ctx.hookSlots = [];
|
|
196
|
+
ctx.hookIndex = 0;
|
|
197
|
+
// Save focused element to restore after patch.
|
|
152
198
|
let activeId = "";
|
|
153
199
|
if (document.activeElement && document.activeElement.id) {
|
|
154
200
|
activeId = document.activeElement.id;
|
|
@@ -156,31 +202,43 @@ export function render(rootComponent, container) {
|
|
|
156
202
|
else if (document.activeElement && document.activeElement.tagName === "INPUT") {
|
|
157
203
|
activeId = document.activeElement.name;
|
|
158
204
|
}
|
|
159
|
-
let newVNode
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
205
|
+
let newVNode;
|
|
206
|
+
try {
|
|
207
|
+
newVNode = rootComponent();
|
|
208
|
+
}
|
|
209
|
+
catch (e) {
|
|
210
|
+
activeSubscriber = null;
|
|
211
|
+
_currentContext = prevContext;
|
|
212
|
+
throw e;
|
|
213
|
+
}
|
|
214
|
+
// If the root key changed, wipe slots and re-render so the incoming component
|
|
215
|
+
// starts with a clean hook slate (guards against hook-slot collisions between
|
|
216
|
+
// two components that share the same root tag but carry different keys).
|
|
166
217
|
const oldKey = oldVNode?.props?.key;
|
|
167
218
|
const newKey = newVNode?.props?.key;
|
|
168
219
|
if (newKey !== undefined && oldKey !== undefined && newKey !== oldKey) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
220
|
+
cleanupContext(ctx);
|
|
221
|
+
ctx.hookSlots = [];
|
|
222
|
+
ctx.hookIndex = 0;
|
|
223
|
+
try {
|
|
224
|
+
newVNode = rootComponent();
|
|
225
|
+
}
|
|
226
|
+
catch (e) {
|
|
227
|
+
activeSubscriber = null;
|
|
228
|
+
_currentContext = prevContext;
|
|
229
|
+
throw e;
|
|
230
|
+
}
|
|
172
231
|
}
|
|
173
|
-
|
|
232
|
+
activeSubscriber = null;
|
|
233
|
+
_currentContext = prevContext;
|
|
174
234
|
patch(container, newVNode, oldVNode);
|
|
175
235
|
oldVNode = newVNode;
|
|
176
236
|
container._jalvin_vnode = oldVNode;
|
|
177
|
-
// Restore focus if possible
|
|
178
237
|
if (activeId) {
|
|
179
238
|
const toFocus = document.getElementById(activeId) || document.querySelector(`input[name="${activeId}"]`);
|
|
180
239
|
if (toFocus)
|
|
181
240
|
toFocus.focus();
|
|
182
241
|
}
|
|
183
|
-
activeSubscriber = null;
|
|
184
242
|
};
|
|
185
243
|
update();
|
|
186
244
|
}
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|