rask-ui 0.28.3 → 0.29.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/README.md +1 -1
- package/dist/component.d.ts +4 -3
- package/dist/component.d.ts.map +1 -1
- package/dist/component.js +37 -57
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/render.js +2 -2
- package/dist/scheduler.d.ts +2 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +31 -104
- package/dist/tests/batch.test.js +202 -12
- package/dist/tests/createContext.test.js +50 -37
- package/dist/tests/error.test.js +25 -12
- package/dist/tests/renderCount.test.d.ts +2 -0
- package/dist/tests/renderCount.test.d.ts.map +1 -0
- package/dist/tests/renderCount.test.js +95 -0
- package/dist/tests/scopeEnforcement.test.d.ts +2 -0
- package/dist/tests/scopeEnforcement.test.d.ts.map +1 -0
- package/dist/tests/scopeEnforcement.test.js +157 -0
- package/dist/tests/useAction.test.d.ts +2 -0
- package/dist/tests/useAction.test.d.ts.map +1 -0
- package/dist/tests/useAction.test.js +132 -0
- package/dist/tests/useAsync.test.d.ts +2 -0
- package/dist/tests/useAsync.test.d.ts.map +1 -0
- package/dist/tests/useAsync.test.js +499 -0
- package/dist/tests/useDerived.test.d.ts +2 -0
- package/dist/tests/useDerived.test.d.ts.map +1 -0
- package/dist/tests/useDerived.test.js +407 -0
- package/dist/tests/useEffect.test.d.ts +2 -0
- package/dist/tests/useEffect.test.d.ts.map +1 -0
- package/dist/tests/useEffect.test.js +600 -0
- package/dist/tests/useLookup.test.d.ts +2 -0
- package/dist/tests/useLookup.test.d.ts.map +1 -0
- package/dist/tests/useLookup.test.js +299 -0
- package/dist/tests/useRef.test.d.ts +2 -0
- package/dist/tests/useRef.test.d.ts.map +1 -0
- package/dist/tests/useRef.test.js +189 -0
- package/dist/tests/useState.test.d.ts +2 -0
- package/dist/tests/useState.test.d.ts.map +1 -0
- package/dist/tests/useState.test.js +178 -0
- package/dist/tests/useSuspend.test.d.ts +2 -0
- package/dist/tests/useSuspend.test.d.ts.map +1 -0
- package/dist/tests/useSuspend.test.js +752 -0
- package/dist/tests/useView.test.d.ts +2 -0
- package/dist/tests/useView.test.d.ts.map +1 -0
- package/dist/tests/useView.test.js +305 -0
- package/dist/useAsync.d.ts.map +1 -1
- package/dist/useAsync.js +12 -11
- package/dist/useDerived.d.ts +1 -1
- package/dist/useDerived.d.ts.map +1 -1
- package/dist/useDerived.js +9 -63
- package/dist/useEffect.d.ts.map +1 -1
- package/dist/useEffect.js +4 -19
- package/dist/useLookup.d.ts.map +1 -1
- package/dist/useLookup.js +9 -14
- package/dist/useRef.d.ts.map +1 -1
- package/dist/useRef.js +4 -8
- package/dist/useRouter.d.ts.map +1 -1
- package/dist/useRouter.js +4 -8
- package/dist/useState.d.ts +0 -1
- package/dist/useState.d.ts.map +1 -1
- package/dist/useState.js +2 -100
- package/dist/useSuspend.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/useState.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { INSPECT_MARKER, INSPECTOR_ENABLED } from "./inspect";
|
|
3
|
-
import { getCurrentObserver, Signal } from "./observation";
|
|
1
|
+
import { observable } from "mobx";
|
|
4
2
|
export function assignState(state, newState) {
|
|
5
3
|
return Object.assign(state, newState);
|
|
6
4
|
}
|
|
@@ -29,101 +27,5 @@ export function assignState(state, newState) {
|
|
|
29
27
|
* @returns A reactive proxy of the state object
|
|
30
28
|
*/
|
|
31
29
|
export function useState(state) {
|
|
32
|
-
|
|
33
|
-
throw new Error("useState cannot be called during render. Call it in component setup or globally.");
|
|
34
|
-
}
|
|
35
|
-
return getProxy(state, {});
|
|
36
|
-
}
|
|
37
|
-
const proxyCache = new WeakMap();
|
|
38
|
-
export const PROXY_MARKER = Symbol("isProxy");
|
|
39
|
-
function getProxy(value, notifyInspectorRef) {
|
|
40
|
-
// Check if already a proxy to avoid double-wrapping
|
|
41
|
-
if (PROXY_MARKER in value) {
|
|
42
|
-
return value;
|
|
43
|
-
}
|
|
44
|
-
if (proxyCache.has(value)) {
|
|
45
|
-
return proxyCache.get(value);
|
|
46
|
-
}
|
|
47
|
-
const signals = {};
|
|
48
|
-
const proxy = new Proxy(value, {
|
|
49
|
-
has(target, key) {
|
|
50
|
-
// Support the "in" operator check for PROXY_MARKER
|
|
51
|
-
if (key === PROXY_MARKER) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
if (INSPECTOR_ENABLED && key === INSPECT_MARKER) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
return Reflect.has(target, key);
|
|
58
|
-
},
|
|
59
|
-
get(target, key) {
|
|
60
|
-
// Mark this as a proxy to prevent double-wrapping
|
|
61
|
-
if (key === PROXY_MARKER) {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
if (INSPECTOR_ENABLED && key === INSPECT_MARKER) {
|
|
65
|
-
return !notifyInspectorRef.current;
|
|
66
|
-
}
|
|
67
|
-
const value = Reflect.get(target, key);
|
|
68
|
-
if (typeof key === "symbol" || typeof value === "function") {
|
|
69
|
-
return value;
|
|
70
|
-
}
|
|
71
|
-
const observer = getCurrentObserver();
|
|
72
|
-
if (observer) {
|
|
73
|
-
const signal = (signals[key] = signals[key] || new Signal());
|
|
74
|
-
observer.subscribeSignal(signal);
|
|
75
|
-
}
|
|
76
|
-
if (Array.isArray(value) ||
|
|
77
|
-
(typeof value === "object" && value !== null)) {
|
|
78
|
-
return getProxy(value, INSPECTOR_ENABLED && notifyInspectorRef.current
|
|
79
|
-
? {
|
|
80
|
-
current: {
|
|
81
|
-
notify: notifyInspectorRef.current.notify,
|
|
82
|
-
path: notifyInspectorRef.current.path.concat(key),
|
|
83
|
-
},
|
|
84
|
-
}
|
|
85
|
-
: notifyInspectorRef);
|
|
86
|
-
}
|
|
87
|
-
return value;
|
|
88
|
-
},
|
|
89
|
-
set(target, key, newValue) {
|
|
90
|
-
if (INSPECTOR_ENABLED && key === INSPECT_MARKER) {
|
|
91
|
-
Object.defineProperty(notifyInspectorRef, "current", {
|
|
92
|
-
get() {
|
|
93
|
-
return newValue.current;
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
return Reflect.set(target, key, newValue);
|
|
97
|
-
}
|
|
98
|
-
if (typeof key === "symbol") {
|
|
99
|
-
return Reflect.set(target, key, newValue);
|
|
100
|
-
}
|
|
101
|
-
const oldValue = Reflect.get(target, key);
|
|
102
|
-
const setResult = Reflect.set(target, key, newValue);
|
|
103
|
-
// We only notify if actual change, though array length actually updates under the hood
|
|
104
|
-
if (newValue !== oldValue || (Array.isArray(value) && key === "length")) {
|
|
105
|
-
const signal = signals[key];
|
|
106
|
-
signal?.notify();
|
|
107
|
-
}
|
|
108
|
-
if (INSPECTOR_ENABLED) {
|
|
109
|
-
notifyInspectorRef.current?.notify({
|
|
110
|
-
type: "mutation",
|
|
111
|
-
path: notifyInspectorRef.current.path,
|
|
112
|
-
value: newValue,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
return setResult;
|
|
116
|
-
},
|
|
117
|
-
deleteProperty(target, key) {
|
|
118
|
-
if (typeof key === "symbol") {
|
|
119
|
-
return Reflect.deleteProperty(target, key);
|
|
120
|
-
}
|
|
121
|
-
const signal = signals[key];
|
|
122
|
-
signal?.notify();
|
|
123
|
-
delete signals[key];
|
|
124
|
-
return Reflect.deleteProperty(target, key);
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
proxyCache.set(value, proxy);
|
|
128
|
-
return proxy;
|
|
30
|
+
return observable(state);
|
|
129
31
|
}
|
package/dist/useSuspend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuspend.d.ts","sourceRoot":"","sources":["../src/useSuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"useSuspend.d.ts","sourceRoot":"","sources":["../src/useSuspend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,YAAY,CAAC;AAIjD,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,IACjD,CAAC;IACC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;CACrB,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACpD,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GACzB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACF,CAAC;IACC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;IACjB,YAAY,EAAE,IAAI,CAAC;CACpB,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACpD,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACF,CAAC;IACC,KAAK,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;CACrB,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACpD,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GACzB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACF,CAAC;IACC,KAAK,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;IACjB,YAAY,EAAE,IAAI,CAAC;CACpB,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACpD,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,GACF,CAAC;IACC,KAAK,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;IACjB,YAAY,EAAE,KAAK,CAAC;CACrB,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACpD,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,CAAC;AAEP,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,mBA0DlE"}
|