@lab206/core 0.1.4 → 0.1.5
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/graph.d.ts +12 -0
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +20 -0
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/graph.ts +20 -0
- package/src/index.ts +1 -0
package/dist/graph.d.ts
CHANGED
|
@@ -33,6 +33,18 @@ export declare function setActiveOwner(owner: Owner | null): Owner | null;
|
|
|
33
33
|
export declare function isTracking(): boolean;
|
|
34
34
|
/** Run `fn` without collecting dependencies. */
|
|
35
35
|
export declare function untrack<T>(fn: () => T): T;
|
|
36
|
+
/**
|
|
37
|
+
* Run `fn` so reads do not subscribe the *current* consumer, while nested
|
|
38
|
+
* `effect`s still track normally (`tracking` stays on; only `activeNode` is cleared).
|
|
39
|
+
*
|
|
40
|
+
* Use this when mounting a component under a parent `bindDynamic` / outlet:
|
|
41
|
+
* setup may read stores to seed state without remounting the parent slot, but
|
|
42
|
+
* effects and `{() => …}` bindings created inside still subscribe correctly.
|
|
43
|
+
*
|
|
44
|
+
* Prefer this over `untrack` for component setup — `untrack` would silence
|
|
45
|
+
* those nested effects’ first run and break live props / text bindings.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isolateTracking<T>(fn: () => T): T;
|
|
36
48
|
export declare function createOwner(parent?: Owner | null): Owner;
|
|
37
49
|
export declare function createNode(kind: NodeKind, name?: string, owner?: Owner | null): ReactiveNode;
|
|
38
50
|
/** Register `source` as a dependency of the active consumer. */
|
package/dist/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,yDAAyD;IACzD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,mEAAmE;AACnE,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAgB,aAAa,IAAI,YAAY,GAAG,IAAI,CAEnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAI5E;AAED,wBAAgB,cAAc,IAAI,KAAK,GAAG,IAAI,CAE7C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAIhE;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,gDAAgD;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQzC;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,KAAK,GAAG,IAAkB,GAAG,KAAK,CAMrE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,GAAE,KAAK,GAAG,IAAkB,GAChC,YAAY,CAmBd;AAED,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAMhD;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAKrD;AAED,8CAA8C;AAC9C,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAcjD;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA2BpD;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAU/C;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAe5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAOnE"}
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,yDAAyD;IACzD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,mEAAmE;AACnE,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAgB,aAAa,IAAI,YAAY,GAAG,IAAI,CAEnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAI5E;AAED,wBAAgB,cAAc,IAAI,KAAK,GAAG,IAAI,CAE7C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAIhE;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,gDAAgD;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAOjD;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,KAAK,GAAG,IAAkB,GAAG,KAAK,CAMrE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,GAAE,KAAK,GAAG,IAAkB,GAChC,YAAY,CAmBd;AAED,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAMhD;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAKrD;AAED,8CAA8C;AAC9C,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAcjD;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA2BpD;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAU/C;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAe5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAOnE"}
|
package/dist/graph.js
CHANGED
|
@@ -32,6 +32,26 @@ export function untrack(fn) {
|
|
|
32
32
|
tracking = prev;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Run `fn` so reads do not subscribe the *current* consumer, while nested
|
|
37
|
+
* `effect`s still track normally (`tracking` stays on; only `activeNode` is cleared).
|
|
38
|
+
*
|
|
39
|
+
* Use this when mounting a component under a parent `bindDynamic` / outlet:
|
|
40
|
+
* setup may read stores to seed state without remounting the parent slot, but
|
|
41
|
+
* effects and `{() => …}` bindings created inside still subscribe correctly.
|
|
42
|
+
*
|
|
43
|
+
* Prefer this over `untrack` for component setup — `untrack` would silence
|
|
44
|
+
* those nested effects’ first run and break live props / text bindings.
|
|
45
|
+
*/
|
|
46
|
+
export function isolateTracking(fn) {
|
|
47
|
+
const prev = setActiveNode(null);
|
|
48
|
+
try {
|
|
49
|
+
return fn();
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
setActiveNode(prev);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
35
55
|
export function createOwner(parent = activeOwner) {
|
|
36
56
|
return {
|
|
37
57
|
parent,
|
package/dist/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { signal, computed } from "./signal.js";
|
|
|
11
11
|
export { effect } from "./effect.js";
|
|
12
12
|
export type { EffectOptions } from "./effect.js";
|
|
13
13
|
export { batch, flush, isBatching } from "./scheduler.js";
|
|
14
|
-
export { createRoot, untrack, getActiveOwner, runWithOwner, createOwner, disposeOwner, } from "./graph.js";
|
|
14
|
+
export { createRoot, untrack, isolateTracking, getActiveOwner, runWithOwner, createOwner, disposeOwner, } from "./graph.js";
|
|
15
15
|
export { store, cell } from "./store.js";
|
|
16
16
|
export type { Store, StoreFields, StoreOptions } from "./store.js";
|
|
17
17
|
export { resource } from "./resource.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
export { signal, computed } from "./signal.js";
|
|
11
11
|
export { effect } from "./effect.js";
|
|
12
12
|
export { batch, flush, isBatching } from "./scheduler.js";
|
|
13
|
-
export { createRoot, untrack, getActiveOwner, runWithOwner, createOwner, disposeOwner, } from "./graph.js";
|
|
13
|
+
export { createRoot, untrack, isolateTracking, getActiveOwner, runWithOwner, createOwner, disposeOwner, } from "./graph.js";
|
|
14
14
|
export { store, cell } from "./store.js";
|
|
15
15
|
export { resource } from "./resource.js";
|
|
16
16
|
export { createQuery } from "./query.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
package/src/graph.ts
CHANGED
|
@@ -69,6 +69,26 @@ export function untrack<T>(fn: () => T): T {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Run `fn` so reads do not subscribe the *current* consumer, while nested
|
|
74
|
+
* `effect`s still track normally (`tracking` stays on; only `activeNode` is cleared).
|
|
75
|
+
*
|
|
76
|
+
* Use this when mounting a component under a parent `bindDynamic` / outlet:
|
|
77
|
+
* setup may read stores to seed state without remounting the parent slot, but
|
|
78
|
+
* effects and `{() => …}` bindings created inside still subscribe correctly.
|
|
79
|
+
*
|
|
80
|
+
* Prefer this over `untrack` for component setup — `untrack` would silence
|
|
81
|
+
* those nested effects’ first run and break live props / text bindings.
|
|
82
|
+
*/
|
|
83
|
+
export function isolateTracking<T>(fn: () => T): T {
|
|
84
|
+
const prev = setActiveNode(null);
|
|
85
|
+
try {
|
|
86
|
+
return fn();
|
|
87
|
+
} finally {
|
|
88
|
+
setActiveNode(prev);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
72
92
|
export function createOwner(parent: Owner | null = activeOwner): Owner {
|
|
73
93
|
return {
|
|
74
94
|
parent,
|