vigla 0.1.0 → 0.2.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owners.d.ts","sourceRoot":"","sources":["../../../src/runtime/reactivity/owners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQ1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAQzC,MAAM,WAAW,UAAU;IAC1B,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACnC;AAID,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAE9D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAEnE;
|
|
1
|
+
{"version":3,"file":"owners.d.ts","sourceRoot":"","sources":["../../../src/runtime/reactivity/owners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQ1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAQzC,MAAM,WAAW,UAAU;IAC1B,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACnC;AAID,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAE9D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAEnE;AAgCD,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,CAK7C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAIvD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAKhD;AAED,wBAAgB,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE7C;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAQ3F;AAWD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAQ9C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAOxD;AAcD,qBAAa,KAAK;IACjB,YAAY,MAAM,EAAE,MAAM,EAIzB;IAED,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAGzB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAIrD;IAED,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAIrB;IAEK,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAS/C;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvB;IAED,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAE1C;IAED,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAcpC;IAED,OAAO,IAAI,IAAI,CAEd;CACD;AAWD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE7C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAE7C;AAED,wBAAgB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAGvC;AAED,wBAAgB,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,GAAE,KAAK,GAAG,IAAW,GAAG,KAAK,CAYvF"}
|
|
@@ -29,6 +29,13 @@ function standing() {
|
|
|
29
29
|
function current() {
|
|
30
30
|
return standing() ?? layerOf(ambient());
|
|
31
31
|
}
|
|
32
|
+
function readable() {
|
|
33
|
+
const layer = current();
|
|
34
|
+
if (layer === null && ambient() === null) {
|
|
35
|
+
throw failure('context_without_owner', 'Context can only be read where an owner exists');
|
|
36
|
+
}
|
|
37
|
+
return layer;
|
|
38
|
+
}
|
|
32
39
|
function writable() {
|
|
33
40
|
const layer = standing();
|
|
34
41
|
if (layer !== null)
|
|
@@ -40,7 +47,7 @@ function writable() {
|
|
|
40
47
|
return ownContext(effect);
|
|
41
48
|
}
|
|
42
49
|
export function getContext(key) {
|
|
43
|
-
for (let layer =
|
|
50
|
+
for (let layer = readable(); layer !== null; layer = layer.parent) {
|
|
44
51
|
if (layer.map?.has(key))
|
|
45
52
|
return layer.map.get(key);
|
|
46
53
|
}
|
|
@@ -63,7 +70,7 @@ export function createContext() {
|
|
|
63
70
|
}
|
|
64
71
|
export function getAllContexts() {
|
|
65
72
|
const chain = [];
|
|
66
|
-
for (let layer =
|
|
73
|
+
for (let layer = readable(); layer !== null; layer = layer.parent)
|
|
67
74
|
chain.push(layer);
|
|
68
75
|
const all = new Map();
|
|
69
76
|
for (let index = chain.length - 1; index >= 0; index--) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owners.js","sourceRoot":"","sources":["../../../src/runtime/reactivity/owners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAiB,CAAC;AAC7C,MAAM,MAAM,GAAG,IAAI,OAAO,EAAiB,CAAC;AAO5C,MAAM,SAAS,GAAiB,EAAE,CAAC;AAEnC,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACvD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAqB;IAC5C,OAAQ,MAAM,EAAE,OAA4C,IAAI,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ;IAChB,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,OAAO;IACf,OAAO,QAAQ,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ;IAChB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,uBAAuB,EAAE,+CAA+C,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,GAAY;IACzC,KAAK,IAAI,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"owners.js","sourceRoot":"","sources":["../../../src/runtime/reactivity/owners.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -41,6 +41,14 @@ function current(): Layer<Effect> | null {
|
|
|
41
41
|
return standing() ?? layerOf(ambient());
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
function readable(): Layer<Effect> | null {
|
|
45
|
+
const layer = current();
|
|
46
|
+
if (layer === null && ambient() === null) {
|
|
47
|
+
throw failure('context_without_owner', 'Context can only be read where an owner exists');
|
|
48
|
+
}
|
|
49
|
+
return layer;
|
|
50
|
+
}
|
|
51
|
+
|
|
44
52
|
function writable(): Layer<Effect> {
|
|
45
53
|
const layer = standing();
|
|
46
54
|
if (layer !== null) return layer;
|
|
@@ -52,7 +60,7 @@ function writable(): Layer<Effect> {
|
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
export function getContext<T>(key: unknown): T {
|
|
55
|
-
for (let layer =
|
|
63
|
+
for (let layer = readable(); layer !== null; layer = layer.parent) {
|
|
56
64
|
if (layer.map?.has(key)) return layer.map.get(key) as T;
|
|
57
65
|
}
|
|
58
66
|
return undefined as T;
|
|
@@ -77,7 +85,7 @@ export function createContext<T>(): Context<T> {
|
|
|
77
85
|
|
|
78
86
|
export function getAllContexts<T extends Map<unknown, unknown> = Map<unknown, unknown>>(): T {
|
|
79
87
|
const chain: Layer<Effect>[] = [];
|
|
80
|
-
for (let layer =
|
|
88
|
+
for (let layer = readable(); layer !== null; layer = layer.parent) chain.push(layer);
|
|
81
89
|
const all = new Map<unknown, unknown>();
|
|
82
90
|
for (let index = chain.length - 1; index >= 0; index--) {
|
|
83
91
|
for (const [key, value] of chain[index]?.map ?? []) all.set(key, value);
|