@jayalfredprufrock/mobx-toolbox 0.2.3 → 0.2.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/dialog.mjs +127 -1
- package/dist/dialog.mjs.map +1 -1
- package/dist/form.mjs +172 -1
- package/dist/form.mjs.map +1 -1
- package/dist/react-util.mjs +151 -1
- package/dist/react-util.mjs.map +1 -1
- package/dist/router.d.mts +4 -4
- package/dist/router.d.mts.map +1 -1
- package/dist/router.mjs +392 -1
- package/dist/router.mjs.map +1 -1
- package/dist/util.mjs +145 -1
- package/dist/util.mjs.map +1 -1
- package/package.json +1 -4
package/dist/util.mjs
CHANGED
|
@@ -1,2 +1,146 @@
|
|
|
1
|
-
import{useEffect
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { _allowStateChanges, autorun, observable, onBecomeObserved, onBecomeUnobserved, runInAction } from "mobx";
|
|
3
|
+
|
|
4
|
+
//#region src/util/lazy-observable.ts
|
|
5
|
+
function lazyObservable(fetch, options) {
|
|
6
|
+
const value = observable.box(options?.initialValue, { deep: !options?.shallow });
|
|
7
|
+
const status = observable.box("init");
|
|
8
|
+
let resetTimer;
|
|
9
|
+
let autorunDisposer;
|
|
10
|
+
let promise;
|
|
11
|
+
let promiseResolve;
|
|
12
|
+
let promiseReject;
|
|
13
|
+
const getOrCreatePromise = () => {
|
|
14
|
+
if (promise && status.get() !== "loaded" && status.get() !== "error") return promise;
|
|
15
|
+
promise = new Promise((resolve, reject) => {
|
|
16
|
+
promiseResolve = resolve;
|
|
17
|
+
promiseReject = reject;
|
|
18
|
+
});
|
|
19
|
+
return promise;
|
|
20
|
+
};
|
|
21
|
+
const reset = () => {
|
|
22
|
+
clearTimeout(resetTimer);
|
|
23
|
+
autorunDisposer?.();
|
|
24
|
+
_allowStateChanges(true, () => {
|
|
25
|
+
value.set(options?.initialValue);
|
|
26
|
+
status.set("init");
|
|
27
|
+
});
|
|
28
|
+
return options?.initialValue;
|
|
29
|
+
};
|
|
30
|
+
const load = () => {
|
|
31
|
+
if (status.get() === "loading") return;
|
|
32
|
+
clearTimeout(resetTimer);
|
|
33
|
+
autorunDisposer?.();
|
|
34
|
+
autorunDisposer = autorun(() => {
|
|
35
|
+
_allowStateChanges(true, () => {
|
|
36
|
+
status.set("loading");
|
|
37
|
+
});
|
|
38
|
+
fetch().then((newValue) => {
|
|
39
|
+
_allowStateChanges(true, () => {
|
|
40
|
+
value.set(newValue);
|
|
41
|
+
status.set("loaded");
|
|
42
|
+
promiseResolve?.(newValue);
|
|
43
|
+
});
|
|
44
|
+
}).catch((e) => {
|
|
45
|
+
_allowStateChanges(true, () => {
|
|
46
|
+
status.set("error");
|
|
47
|
+
promiseReject?.(e);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const set = (val) => {
|
|
53
|
+
_allowStateChanges(true, () => {
|
|
54
|
+
value.set(val);
|
|
55
|
+
status.set("loaded");
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
let observedCount = 0;
|
|
59
|
+
const onObserved = () => {
|
|
60
|
+
observedCount = Math.min(2, observedCount + 1);
|
|
61
|
+
if (observedCount !== 1) return;
|
|
62
|
+
if (options?.debugName) console.log(`lazyObservable ${options.debugName}`, "observed");
|
|
63
|
+
clearTimeout(resetTimer);
|
|
64
|
+
if (status.get() === "error" || status.get() === "init") load();
|
|
65
|
+
};
|
|
66
|
+
const onUnobserved = () => {
|
|
67
|
+
observedCount = Math.max(0, observedCount - 1);
|
|
68
|
+
if (observedCount) return;
|
|
69
|
+
if (options?.debugName) console.log(`lazyObservable ${options.debugName}`, "unobserved");
|
|
70
|
+
if (options?.resetOnUnobserved === "never") return;
|
|
71
|
+
else if (typeof options?.resetOnUnobserved === "number") resetTimer = setTimeout(() => {
|
|
72
|
+
reset();
|
|
73
|
+
}, options?.resetOnUnobserved);
|
|
74
|
+
else reset();
|
|
75
|
+
};
|
|
76
|
+
onBecomeObserved(value, onObserved);
|
|
77
|
+
onBecomeObserved(status, onObserved);
|
|
78
|
+
onBecomeUnobserved(value, onUnobserved);
|
|
79
|
+
onBecomeUnobserved(status, onUnobserved);
|
|
80
|
+
return {
|
|
81
|
+
get value() {
|
|
82
|
+
return value.get();
|
|
83
|
+
},
|
|
84
|
+
get status() {
|
|
85
|
+
return status.get();
|
|
86
|
+
},
|
|
87
|
+
get loading() {
|
|
88
|
+
return status.get() === "loading";
|
|
89
|
+
},
|
|
90
|
+
get loaded() {
|
|
91
|
+
return status.get() === "loaded";
|
|
92
|
+
},
|
|
93
|
+
reload() {
|
|
94
|
+
const promise = getOrCreatePromise();
|
|
95
|
+
load();
|
|
96
|
+
return promise;
|
|
97
|
+
},
|
|
98
|
+
getOrLoad() {
|
|
99
|
+
if (this.loaded) return Promise.resolve(value.get());
|
|
100
|
+
return this.reload();
|
|
101
|
+
},
|
|
102
|
+
set,
|
|
103
|
+
reset
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function lazyObservableArray(fetch, options) {
|
|
107
|
+
return lazyObservable(fetch, {
|
|
108
|
+
initialValue: [],
|
|
109
|
+
...options
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/util/mutable.ts
|
|
115
|
+
const mutable = (accessor) => {
|
|
116
|
+
const boxedValues = /* @__PURE__ */ new WeakMap();
|
|
117
|
+
return {
|
|
118
|
+
get() {
|
|
119
|
+
let boxedValue = boxedValues.get(this);
|
|
120
|
+
if (!boxedValue) {
|
|
121
|
+
const value = accessor.get.call(this);
|
|
122
|
+
boxedValue = observable.box(value);
|
|
123
|
+
boxedValues.set(this, boxedValue);
|
|
124
|
+
}
|
|
125
|
+
return boxedValue.get();
|
|
126
|
+
},
|
|
127
|
+
set(value) {
|
|
128
|
+
let boxedValue = boxedValues.get(this);
|
|
129
|
+
if (!boxedValue) {
|
|
130
|
+
boxedValue = observable.box(value);
|
|
131
|
+
boxedValues.set(this, boxedValue);
|
|
132
|
+
}
|
|
133
|
+
runInAction(() => boxedValue.set(value));
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/util/use-autorun.ts
|
|
140
|
+
function useAutorun(func, options) {
|
|
141
|
+
useEffect(() => autorun(func, options), []);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//#endregion
|
|
145
|
+
export { lazyObservable, lazyObservableArray, mutable, useAutorun };
|
|
2
146
|
//# sourceMappingURL=util.mjs.map
|
package/dist/util.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.mjs","names":[],"sources":["../src/util/lazy-observable.ts","../src/util/mutable.ts","../src/util/use-autorun.ts"],"sourcesContent":["import {\n _allowStateChanges,\n autorun,\n type IObservableArray,\n type IReactionDisposer,\n observable,\n onBecomeObserved,\n onBecomeUnobserved,\n} from \"mobx\";\n\nexport interface LazyObservable<T = any, TInitialValue = T | undefined> {\n value: TInitialValue;\n reset(): TInitialValue;\n getOrLoad(): Promise<T>;\n set(value: T): void;\n reload(): Promise<T>;\n status: \"init\" | \"loading\" | \"loaded\" | \"error\";\n loading: boolean;\n loaded: boolean;\n}\n\nexport interface LazyObservableOptions {\n shallow?: boolean;\n resetOnUnobserved?: \"never\" | \"always\" | number;\n debugName?: string;\n}\n\nexport interface LazyObservableOptionsWithInitialValue<\n TInitialValue,\n> extends LazyObservableOptions {\n initialValue?: TInitialValue;\n}\n\nexport function lazyObservable<T>(fetch: () => Promise<T>): LazyObservable<T>;\nexport function lazyObservable<T>(\n fetch: () => Promise<T>,\n options: LazyObservableOptions,\n): LazyObservable<T>;\nexport function lazyObservable<T, TInitialValue>(\n fetch: () => Promise<T>,\n options: LazyObservableOptionsWithInitialValue<TInitialValue>,\n): LazyObservable<T, TInitialValue>;\n\nexport function lazyObservable<T>(\n fetch: () => Promise<T>,\n options?: LazyObservableOptionsWithInitialValue<T>,\n): LazyObservable<T> {\n const value = observable.box<T>(options?.initialValue, { deep: !options?.shallow });\n const status = observable.box<LazyObservable<T>[\"status\"]>(\"init\");\n\n let resetTimer: NodeJS.Timeout;\n let autorunDisposer: IReactionDisposer;\n\n let promise: Promise<T> | undefined;\n let promiseResolve: ((value: T) => void) | undefined;\n let promiseReject: ((value: unknown) => void) | undefined;\n\n const getOrCreatePromise = () => {\n if (promise && status.get() !== \"loaded\" && status.get() !== \"error\") {\n return promise;\n }\n promise = new Promise<T>((resolve, reject) => {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n return promise;\n };\n\n const reset = () => {\n clearTimeout(resetTimer);\n autorunDisposer?.();\n _allowStateChanges(true, () => {\n value.set(options?.initialValue);\n status.set(\"init\");\n });\n return options?.initialValue;\n };\n\n const load = (): void => {\n if (status.get() === \"loading\") return;\n clearTimeout(resetTimer);\n\n // TODO: this disposer is unreliable while we are using\n // babel to convert all async function to generators\n autorunDisposer?.();\n autorunDisposer = autorun(() => {\n _allowStateChanges(true, () => {\n status.set(\"loading\");\n });\n fetch()\n .then((newValue) => {\n _allowStateChanges(true, () => {\n value.set(newValue);\n status.set(\"loaded\");\n promiseResolve?.(newValue);\n });\n })\n .catch((e) => {\n _allowStateChanges(true, () => {\n status.set(\"error\");\n promiseReject?.(e);\n });\n });\n });\n };\n\n // TODO: should this resolve any promises?\n const set = (val: T): void => {\n _allowStateChanges(true, () => {\n value.set(val);\n status.set(\"loaded\");\n });\n };\n\n let observedCount = 0;\n\n const onObserved = () => {\n observedCount = Math.min(2, observedCount + 1);\n\n // only consider observed the first time this handler gets called\n if (observedCount !== 1) return;\n\n if (options?.debugName) {\n console.log(`lazyObservable ${options.debugName}`, \"observed\");\n }\n clearTimeout(resetTimer);\n if (status.get() === \"error\" || status.get() === \"init\") {\n load();\n }\n };\n\n const onUnobserved = () => {\n observedCount = Math.max(0, observedCount - 1);\n\n // only consider unobserved when count reaches zero\n if (observedCount) return;\n\n if (options?.debugName) {\n console.log(`lazyObservable ${options.debugName}`, \"unobserved\");\n }\n if (options?.resetOnUnobserved === \"never\") {\n return;\n } else if (typeof options?.resetOnUnobserved === \"number\") {\n resetTimer = setTimeout(() => {\n reset();\n }, options?.resetOnUnobserved);\n } else {\n reset();\n }\n };\n\n onBecomeObserved(value, onObserved);\n onBecomeObserved(status, onObserved);\n\n onBecomeUnobserved(value, onUnobserved);\n onBecomeUnobserved(status, onUnobserved);\n\n return {\n get value() {\n return value.get();\n },\n get status() {\n return status.get();\n },\n get loading() {\n return status.get() === \"loading\";\n },\n get loaded() {\n return status.get() === \"loaded\";\n },\n reload() {\n const promise = getOrCreatePromise();\n load();\n return promise;\n },\n getOrLoad() {\n // TODO: this assertion shouldn't be necessary\n // consider fixing box/value type\n if (this.loaded) return Promise.resolve(value.get() as Promise<T>);\n return this.reload();\n },\n set,\n reset,\n };\n}\n\nexport interface LazyObservableArray<T> extends Omit<LazyObservable<IObservableArray<T>>, \"set\"> {\n set(value: T[]): void;\n}\n\nexport interface LazyObservableArrayOptions<T> extends LazyObservableOptions {\n initialValue?: T[];\n}\n\nexport function lazyObservableArray<T>(\n fetch: () => Promise<T[]>,\n options?: LazyObservableArrayOptions<T>,\n): LazyObservableArray<T> {\n return lazyObservable(fetch, { initialValue: [], ...options }) as LazyObservableArray<T>;\n}\n\nexport type InferLazyObservable<O> =\n O extends LazyObservableArray<infer T> ? T[] : O extends LazyObservable<infer T> ? T : never;\n","import { observable, runInAction } from \"mobx\";\nimport type { ClassAccessorDecorator } from \"mobx/dist/types/decorator_fills\";\n\nexport const mutable: ClassAccessorDecorator = (accessor) => {\n const boxedValues = new WeakMap();\n\n return {\n get() {\n let boxedValue = boxedValues.get(this);\n if (!boxedValue) {\n const value = accessor.get.call(this);\n boxedValue = observable.box(value);\n boxedValues.set(this, boxedValue);\n }\n\n return boxedValue.get();\n },\n set(value) {\n let boxedValue = boxedValues.get(this);\n if (!boxedValue) {\n boxedValue = observable.box(value);\n boxedValues.set(this, boxedValue);\n }\n\n runInAction(() => boxedValue.set(value));\n },\n };\n};\n","import { autorun, type IAutorunOptions, type IReactionPublic } from \"mobx\";\nimport { useEffect } from \"react\";\n\nexport function useAutorun(func: (r: IReactionPublic) => unknown, options?: IAutorunOptions): void {\n // biome-ignore lint/correctness/useExhaustiveDependencies: by design\n useEffect(() => autorun(func, options), []);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.mjs","names":[],"sources":["../src/util/lazy-observable.ts","../src/util/mutable.ts","../src/util/use-autorun.ts"],"sourcesContent":["import {\n _allowStateChanges,\n autorun,\n type IObservableArray,\n type IReactionDisposer,\n observable,\n onBecomeObserved,\n onBecomeUnobserved,\n} from \"mobx\";\n\nexport interface LazyObservable<T = any, TInitialValue = T | undefined> {\n value: TInitialValue;\n reset(): TInitialValue;\n getOrLoad(): Promise<T>;\n set(value: T): void;\n reload(): Promise<T>;\n status: \"init\" | \"loading\" | \"loaded\" | \"error\";\n loading: boolean;\n loaded: boolean;\n}\n\nexport interface LazyObservableOptions {\n shallow?: boolean;\n resetOnUnobserved?: \"never\" | \"always\" | number;\n debugName?: string;\n}\n\nexport interface LazyObservableOptionsWithInitialValue<\n TInitialValue,\n> extends LazyObservableOptions {\n initialValue?: TInitialValue;\n}\n\nexport function lazyObservable<T>(fetch: () => Promise<T>): LazyObservable<T>;\nexport function lazyObservable<T>(\n fetch: () => Promise<T>,\n options: LazyObservableOptions,\n): LazyObservable<T>;\nexport function lazyObservable<T, TInitialValue>(\n fetch: () => Promise<T>,\n options: LazyObservableOptionsWithInitialValue<TInitialValue>,\n): LazyObservable<T, TInitialValue>;\n\nexport function lazyObservable<T>(\n fetch: () => Promise<T>,\n options?: LazyObservableOptionsWithInitialValue<T>,\n): LazyObservable<T> {\n const value = observable.box<T>(options?.initialValue, { deep: !options?.shallow });\n const status = observable.box<LazyObservable<T>[\"status\"]>(\"init\");\n\n let resetTimer: NodeJS.Timeout;\n let autorunDisposer: IReactionDisposer;\n\n let promise: Promise<T> | undefined;\n let promiseResolve: ((value: T) => void) | undefined;\n let promiseReject: ((value: unknown) => void) | undefined;\n\n const getOrCreatePromise = () => {\n if (promise && status.get() !== \"loaded\" && status.get() !== \"error\") {\n return promise;\n }\n promise = new Promise<T>((resolve, reject) => {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n return promise;\n };\n\n const reset = () => {\n clearTimeout(resetTimer);\n autorunDisposer?.();\n _allowStateChanges(true, () => {\n value.set(options?.initialValue);\n status.set(\"init\");\n });\n return options?.initialValue;\n };\n\n const load = (): void => {\n if (status.get() === \"loading\") return;\n clearTimeout(resetTimer);\n\n // TODO: this disposer is unreliable while we are using\n // babel to convert all async function to generators\n autorunDisposer?.();\n autorunDisposer = autorun(() => {\n _allowStateChanges(true, () => {\n status.set(\"loading\");\n });\n fetch()\n .then((newValue) => {\n _allowStateChanges(true, () => {\n value.set(newValue);\n status.set(\"loaded\");\n promiseResolve?.(newValue);\n });\n })\n .catch((e) => {\n _allowStateChanges(true, () => {\n status.set(\"error\");\n promiseReject?.(e);\n });\n });\n });\n };\n\n // TODO: should this resolve any promises?\n const set = (val: T): void => {\n _allowStateChanges(true, () => {\n value.set(val);\n status.set(\"loaded\");\n });\n };\n\n let observedCount = 0;\n\n const onObserved = () => {\n observedCount = Math.min(2, observedCount + 1);\n\n // only consider observed the first time this handler gets called\n if (observedCount !== 1) return;\n\n if (options?.debugName) {\n console.log(`lazyObservable ${options.debugName}`, \"observed\");\n }\n clearTimeout(resetTimer);\n if (status.get() === \"error\" || status.get() === \"init\") {\n load();\n }\n };\n\n const onUnobserved = () => {\n observedCount = Math.max(0, observedCount - 1);\n\n // only consider unobserved when count reaches zero\n if (observedCount) return;\n\n if (options?.debugName) {\n console.log(`lazyObservable ${options.debugName}`, \"unobserved\");\n }\n if (options?.resetOnUnobserved === \"never\") {\n return;\n } else if (typeof options?.resetOnUnobserved === \"number\") {\n resetTimer = setTimeout(() => {\n reset();\n }, options?.resetOnUnobserved);\n } else {\n reset();\n }\n };\n\n onBecomeObserved(value, onObserved);\n onBecomeObserved(status, onObserved);\n\n onBecomeUnobserved(value, onUnobserved);\n onBecomeUnobserved(status, onUnobserved);\n\n return {\n get value() {\n return value.get();\n },\n get status() {\n return status.get();\n },\n get loading() {\n return status.get() === \"loading\";\n },\n get loaded() {\n return status.get() === \"loaded\";\n },\n reload() {\n const promise = getOrCreatePromise();\n load();\n return promise;\n },\n getOrLoad() {\n // TODO: this assertion shouldn't be necessary\n // consider fixing box/value type\n if (this.loaded) return Promise.resolve(value.get() as Promise<T>);\n return this.reload();\n },\n set,\n reset,\n };\n}\n\nexport interface LazyObservableArray<T> extends Omit<LazyObservable<IObservableArray<T>>, \"set\"> {\n set(value: T[]): void;\n}\n\nexport interface LazyObservableArrayOptions<T> extends LazyObservableOptions {\n initialValue?: T[];\n}\n\nexport function lazyObservableArray<T>(\n fetch: () => Promise<T[]>,\n options?: LazyObservableArrayOptions<T>,\n): LazyObservableArray<T> {\n return lazyObservable(fetch, { initialValue: [], ...options }) as LazyObservableArray<T>;\n}\n\nexport type InferLazyObservable<O> =\n O extends LazyObservableArray<infer T> ? T[] : O extends LazyObservable<infer T> ? T : never;\n","import { observable, runInAction } from \"mobx\";\nimport type { ClassAccessorDecorator } from \"mobx/dist/types/decorator_fills\";\n\nexport const mutable: ClassAccessorDecorator = (accessor) => {\n const boxedValues = new WeakMap();\n\n return {\n get() {\n let boxedValue = boxedValues.get(this);\n if (!boxedValue) {\n const value = accessor.get.call(this);\n boxedValue = observable.box(value);\n boxedValues.set(this, boxedValue);\n }\n\n return boxedValue.get();\n },\n set(value) {\n let boxedValue = boxedValues.get(this);\n if (!boxedValue) {\n boxedValue = observable.box(value);\n boxedValues.set(this, boxedValue);\n }\n\n runInAction(() => boxedValue.set(value));\n },\n };\n};\n","import { autorun, type IAutorunOptions, type IReactionPublic } from \"mobx\";\nimport { useEffect } from \"react\";\n\nexport function useAutorun(func: (r: IReactionPublic) => unknown, options?: IAutorunOptions): void {\n // biome-ignore lint/correctness/useExhaustiveDependencies: by design\n useEffect(() => autorun(func, options), []);\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jayalfredprufrock/mobx-toolbox",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Misc mobx/react modules/utilities.",
|
|
5
5
|
"homepage": "https://github.com/jayalfredprufrock/mobx-toolbox#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -28,9 +28,6 @@
|
|
|
28
28
|
"prepare": "vp config"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@babel/plugin-proposal-decorators": "^7.28.0",
|
|
32
|
-
"@kayakyakr/babel-plugin-mobx-async-action": "^7.0.0",
|
|
33
|
-
"@rolldown/plugin-babel": "^0.2.3",
|
|
34
31
|
"@tsconfig/node24": "^24.0.4",
|
|
35
32
|
"@types/node": "^24.12.0",
|
|
36
33
|
"@types/react": "^19.2.2",
|