alinea 2.0.0-preview.2 → 2.0.0-preview.4
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/.init/content/pages/welcome.json +1 -1
- package/dist/LICENSES.md +157 -103
- package/dist/adapter/next/DevRemote.js +10 -2
- package/dist/adapter/next/previews.js +4 -1
- package/dist/adapter/next/previews.spec.d.ts +1 -0
- package/dist/backend/Handler.js +14 -7
- package/dist/backend/api/BasicAuth.d.ts +1 -1
- package/dist/backend/api/BasicAuth.js +14 -14
- package/dist/backend/api/OAuth2.d.ts +3 -3
- package/dist/backend/api/OAuth2.js +7 -4
- package/dist/bundled.d.ts +159 -42
- package/dist/chunks/{chunk-Y7XOMJOC.js → chunk-CFNRVI3Y.js} +220 -247
- package/dist/chunks/chunk-D6UJHBJJ.js +183 -0
- package/dist/chunks/chunk-TIJTT5ZI.js +228 -0
- package/dist/chunks/{chunk-UVOEM4AH.js → chunk-XMOVGDFI.js} +1 -1
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cli/serve/LocalAuth.js +1 -1
- package/dist/cloud/AuthResult.d.ts +2 -0
- package/dist/cloud/CloudHandshake.d.ts +7 -0
- package/dist/cloud/CloudHandshake.js +64 -0
- package/dist/cloud/CloudRemote.d.ts +4 -1
- package/dist/cloud/CloudRemote.js +21 -3
- package/dist/components/Breadcrumbs.js +2 -2
- package/dist/components/Calendar.js +6 -6
- package/dist/components/Checkbox.js +3 -3
- package/dist/components/ComboBox.js +11 -11
- package/dist/components/DateField.js +3 -3
- package/dist/components/DatePicker.js +4 -4
- package/dist/components/DateRangePicker.js +6 -6
- package/dist/components/Disclosure.js +8 -8
- package/dist/components/Label.js +5 -5
- package/dist/components/List.js +34 -34
- package/dist/components/Menu.js +4 -4
- package/dist/components/Modal.js +3 -3
- package/dist/components/MultipleSelect.js +25 -25
- package/dist/components/NumberField.js +6 -6
- package/dist/components/ProgressCircle.js +2 -2
- package/dist/components/RadioGroup.js +2 -2
- package/dist/components/SearchField.js +3 -3
- package/dist/components/Select.js +7 -7
- package/dist/components/Surface.js +2 -2
- package/dist/components/Table.js +7 -7
- package/dist/components/Tabs.js +4 -4
- package/dist/components/TagGroup.js +2 -2
- package/dist/components/TextField.js +6 -6
- package/dist/components/TimeField.js +2 -2
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +2 -2
- package/dist/components/Toolbar.js +2 -2
- package/dist/components/Tooltip.js +3 -3
- package/dist/components/Tree.d.ts +4 -2
- package/dist/components/Tree.js +18 -4
- package/dist/core/Connection.d.ts +7 -4
- package/dist/core/Entry.d.ts +6 -0
- package/dist/core/Entry.js +10 -0
- package/dist/core/Graph.d.ts +1 -1
- package/dist/core/Id.d.ts +1 -0
- package/dist/core/Id.js +8 -0
- package/dist/core/Infer.d.ts +8 -1
- package/dist/core/db/EntryAliases.js +1 -4
- package/dist/core/db/EntryResolver.js +6 -6
- package/dist/core/db/EntryTransaction.js +1 -0
- package/dist/core/db/Operation.d.ts +2 -2
- package/dist/core/db/Operation.js +15 -4
- package/dist/dashboard/App.js +37 -17
- package/dist/dashboard/StoryProvider.js +2 -2
- package/dist/dashboard/app/AccessDenied.d.ts +16 -1
- package/dist/dashboard/app/AccessDenied.js +21 -12
- package/dist/dashboard/app/ActivityStatus.js +19 -19
- package/dist/dashboard/app/AppearanceToggle.d.ts +1 -0
- package/dist/dashboard/app/AppearanceToggle.js +43 -0
- package/dist/dashboard/app/AuthView.d.ts +1 -1
- package/dist/dashboard/app/AuthView.js +16 -18
- package/dist/dashboard/app/Badge.js +2 -2
- package/dist/dashboard/app/CompactField.js +17 -17
- package/dist/dashboard/app/DashboardErrorBoundary.js +22 -10
- package/dist/dashboard/app/DashboardLayout.js +15 -8
- package/dist/dashboard/app/DashboardMeta.d.ts +2 -1
- package/dist/dashboard/app/DashboardMeta.js +20 -5
- package/dist/dashboard/app/EntryFields.js +6 -6
- package/dist/dashboard/app/EntryHeader.js +25 -25
- package/dist/dashboard/app/EntryReferences.js +16 -16
- package/dist/dashboard/app/EntrySidebar.js +26 -26
- package/dist/dashboard/app/EntrySidebarPreview.js +61 -34
- package/dist/dashboard/app/EntrySidebarPreview.story.d.ts +6 -1
- package/dist/dashboard/app/EntryTranslationBanner.js +8 -8
- package/dist/dashboard/app/Explorer.d.ts +2 -1
- package/dist/dashboard/app/Explorer.js +79 -67
- package/dist/dashboard/app/ExplorerCards.js +62 -66
- package/dist/dashboard/app/ExplorerFileCard.js +20 -20
- package/dist/dashboard/app/ExplorerList.js +22 -22
- package/dist/dashboard/app/ExplorerModal.js +3 -3
- package/dist/dashboard/app/ExplorerPickerContent.js +2 -2
- package/dist/dashboard/app/ExplorerTable.js +68 -68
- package/dist/dashboard/app/ImagePicker.js +7 -7
- package/dist/dashboard/app/LinkPicker.js +44 -24
- package/dist/dashboard/app/LocaleMenu.js +5 -7
- package/dist/dashboard/app/SidebarLayout.js +7 -7
- package/dist/dashboard/app/SidebarTree.js +66 -74
- package/dist/dashboard/app/WorkspaceMenu.d.ts +10 -3
- package/dist/dashboard/app/WorkspaceMenu.js +85 -64
- package/dist/dashboard/app/WorkspaceMenu.stories.d.ts +2 -0
- package/dist/dashboard/app/WorkspaceRoots.d.ts +3 -1
- package/dist/dashboard/app/WorkspaceRoots.js +82 -107
- package/dist/dashboard/app/editor/FileEditor.js +31 -31
- package/dist/dashboard/app/editor/FilePreview.js +4 -4
- package/dist/dashboard/app/editor/MediaAltField.view.js +4 -4
- package/dist/dashboard/app/modals/CreateEntry.js +14 -14
- package/dist/dashboard/app/pages/EntryPage.js +28 -30
- package/dist/dashboard/app/pages/RootPage.js +4 -4
- package/dist/dashboard/app/pages/SplashPage.d.ts +3 -0
- package/dist/dashboard/app/pages/SplashPage.js +414 -0
- package/dist/dashboard/app/pages/UsersPage.js +35 -35
- package/dist/dashboard/app/ui/DashboardModal.js +19 -19
- package/dist/dashboard/app/ui/Rail.js +3 -3
- package/dist/dashboard/atoms/ReactiveNode.js +1 -1
- package/dist/dashboard/atoms/activity.js +2 -3
- package/dist/dashboard/atoms/auth.d.ts +2 -0
- package/dist/dashboard/atoms/auth.js +6 -2
- package/dist/dashboard/atoms/config.js +1 -1
- package/dist/dashboard/atoms/core.js +2 -2
- package/dist/dashboard/atoms/create.js +1 -1
- package/dist/dashboard/atoms/dashboard.js +2 -2
- package/dist/dashboard/atoms/editor.js +1 -1
- package/dist/dashboard/atoms/entry.js +2 -2
- package/dist/dashboard/atoms/explorer.d.ts +1 -3
- package/dist/dashboard/atoms/explorer.js +7 -9
- package/dist/dashboard/atoms/graph.d.ts +1 -0
- package/dist/dashboard/atoms/graph.js +7 -2
- package/dist/dashboard/atoms/link.js +2 -2
- package/dist/dashboard/atoms/nav.d.ts +4 -3
- package/dist/dashboard/atoms/nav.js +10 -5
- package/dist/dashboard/atoms/preview.js +1 -1
- package/dist/dashboard/atoms/root.js +2 -2
- package/dist/dashboard/atoms/upload.js +1 -1
- package/dist/dashboard/atoms/user.d.ts +1 -1
- package/dist/dashboard/atoms/user.js +8 -6
- package/dist/dashboard/atoms/utils.js +2 -2
- package/dist/dashboard/boot/Boot.js +2 -4
- package/dist/dashboard/boot/DashboardWorker.js +34 -29
- package/dist/dashboard/editor/UseField.js +6 -6
- package/dist/dashboard/fixture/cms.d.ts +12 -0
- package/dist/dashboard/fixture/cms.js +53 -2
- package/dist/dashboard/hook/UseGraph.js +4 -4
- package/dist/dashboard/hook/UseRoot.js +4 -4
- package/dist/dashboard/hooks.js +16 -16
- package/dist/field/check/CheckField.view.js +2 -2
- package/dist/field/code/CodeField.view.js +15 -15
- package/dist/field/link/EntryLink.d.ts +1 -1
- package/dist/field/link/EntryLink.js +1 -0
- package/dist/field/link/Link.js +1 -0
- package/dist/field/link/LinkField.d.ts +5 -0
- package/dist/field/link/LinkField.view.js +81 -64
- package/dist/field/list/ListField.view.js +26 -26
- package/dist/field/localiser/LocalisedField.view.js +76 -5
- package/dist/field/metadata/MetadataField.d.ts +2 -0
- package/dist/field/metadata/MetadataField.js +2 -1
- package/dist/field/metadata/MetadataField.view.js +20 -20
- package/dist/field/richtext/PickTextLink.js +6 -6
- package/dist/field/richtext/RichTextBlock.js +6 -6
- package/dist/field/richtext/RichTextBlocks.js +1 -1
- package/dist/field/richtext/RichTextExtensions.js +23 -23
- package/dist/field/richtext/RichTextField.view.js +9 -9
- package/dist/field/richtext/RichTextState.js +1 -1
- package/dist/field/text/TextField.view.js +2 -2
- package/dist/index.css +436 -28
- package/dist/preview/PreviewMessage.d.ts +3 -0
- package/dist/preview/PreviewMessage.js +1 -0
- package/dist/preview/RegisterPreview.d.ts +1 -1
- package/dist/preview/RegisterPreview.js +28 -10
- package/dist/preview/react.d.ts +5 -1
- package/dist/preview/react.js +12 -9
- package/dist/preview/widget.js +6 -12
- package/dist/query.d.ts +7 -7
- package/package.json +1 -1
- package/dist/chunks/chunk-STAJCW4Z.js +0 -322
- package/dist/chunks/chunk-U4VOHNR2.js +0 -210
|
@@ -1,4 +1,61 @@
|
|
|
1
|
-
// node_modules/jotai/
|
|
1
|
+
// node_modules/jotai/dist/vanilla/atom.js
|
|
2
|
+
var keyCount = 0;
|
|
3
|
+
function atom(read, write) {
|
|
4
|
+
const key = `atom${++keyCount}`;
|
|
5
|
+
const config = {
|
|
6
|
+
toString() {
|
|
7
|
+
return process.env.NODE_ENV !== "production" && this.debugLabel ? key + ":" + this.debugLabel : key;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
if (typeof read === "function") {
|
|
11
|
+
config.read = read;
|
|
12
|
+
} else {
|
|
13
|
+
config.init = read;
|
|
14
|
+
config.read = defaultRead;
|
|
15
|
+
config.write = defaultWrite;
|
|
16
|
+
}
|
|
17
|
+
if (write) {
|
|
18
|
+
config.write = write;
|
|
19
|
+
}
|
|
20
|
+
return config;
|
|
21
|
+
}
|
|
22
|
+
function defaultRead(get) {
|
|
23
|
+
return get(this);
|
|
24
|
+
}
|
|
25
|
+
function defaultWrite(get, set, arg) {
|
|
26
|
+
return set(this, typeof arg === "function" ? arg(get(this)) : arg);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// node_modules/jotai/dist/vanilla/internals.js
|
|
30
|
+
var KEY_atomStateMap = "a";
|
|
31
|
+
var KEY_mountedMap = "m";
|
|
32
|
+
var KEY_invalidatedAtoms = "i";
|
|
33
|
+
var KEY_changedAtoms = "c";
|
|
34
|
+
var KEY_mountCallbacks = "q";
|
|
35
|
+
var KEY_unmountCallbacks = "Q";
|
|
36
|
+
var KEY_storeHooks = "h";
|
|
37
|
+
var KEY_atomRead = "R";
|
|
38
|
+
var KEY_atomWrite = "W";
|
|
39
|
+
var KEY_atomOnInit = "I";
|
|
40
|
+
var KEY_atomOnMount = "M";
|
|
41
|
+
var KEY_ensureAtomState = "e";
|
|
42
|
+
var KEY_flushCallbacks = "f";
|
|
43
|
+
var KEY_recomputeInvalidatedAtoms = "C";
|
|
44
|
+
var KEY_readAtomState = "r";
|
|
45
|
+
var KEY_invalidateDependents = "d";
|
|
46
|
+
var KEY_writeAtomState = "w";
|
|
47
|
+
var KEY_mountDependencies = "D";
|
|
48
|
+
var KEY_mountAtom = "t";
|
|
49
|
+
var KEY_unmountAtom = "T";
|
|
50
|
+
var KEY_setAtomStateValueOrPromise = "v";
|
|
51
|
+
var KEY_storeGet = "g";
|
|
52
|
+
var KEY_storeSet = "s";
|
|
53
|
+
var KEY_storeSub = "b";
|
|
54
|
+
var KEY_enhanceBuildingBlocks = "B";
|
|
55
|
+
var KEY_abortHandlersMap = "p";
|
|
56
|
+
var KEY_registerAbortHandler = "H";
|
|
57
|
+
var KEY_abortPromise = "A";
|
|
58
|
+
var KEY_storeEpochHolder = "E";
|
|
2
59
|
function hasInitialValue(atom2) {
|
|
3
60
|
return "init" in atom2;
|
|
4
61
|
}
|
|
@@ -15,13 +72,13 @@ function returnAtomValue(atomState) {
|
|
|
15
72
|
if ("e" in atomState) {
|
|
16
73
|
throw atomState.e;
|
|
17
74
|
}
|
|
18
|
-
if (
|
|
75
|
+
if (process.env.NODE_ENV !== "production" && !("v" in atomState)) {
|
|
19
76
|
throw new Error("[Bug] atom state is not initialized");
|
|
20
77
|
}
|
|
21
78
|
return atomState.v;
|
|
22
79
|
}
|
|
23
80
|
function isPromiseLike(p) {
|
|
24
|
-
return typeof
|
|
81
|
+
return typeof p?.then === "function";
|
|
25
82
|
}
|
|
26
83
|
function shouldThrowSynchronously(error) {
|
|
27
84
|
if (!(error instanceof Error)) {
|
|
@@ -40,9 +97,9 @@ function addPendingPromiseToDependency(atom2, promise, dependencyAtomState) {
|
|
|
40
97
|
}
|
|
41
98
|
function getMountedOrPendingDependents(atom2, atomState, mountedMap) {
|
|
42
99
|
const mounted = mountedMap.get(atom2);
|
|
43
|
-
const mountedDependents = mounted
|
|
100
|
+
const mountedDependents = mounted?.t;
|
|
44
101
|
const pendingDependents = atomState.p;
|
|
45
|
-
if (!
|
|
102
|
+
if (!mountedDependents?.size) {
|
|
46
103
|
return pendingDependents;
|
|
47
104
|
}
|
|
48
105
|
if (!pendingDependents.size) {
|
|
@@ -60,20 +117,16 @@ function hasOnInit(atom2) {
|
|
|
60
117
|
var BUILDING_BLOCK_atomRead = (_buildingBlocks, _store, atom2, ...params) => atom2.read(...params);
|
|
61
118
|
var BUILDING_BLOCK_atomWrite = (_buildingBlocks, _store, atom2, ...params) => atom2.write(...params);
|
|
62
119
|
var BUILDING_BLOCK_atomOnInit = (_buildingBlocks, store, atom2) => atom2.INTERNAL_onInit(store);
|
|
63
|
-
var BUILDING_BLOCK_atomOnMount = (_buildingBlocks, _store, atom2, setAtom) =>
|
|
64
|
-
var _a;
|
|
65
|
-
return (_a = atom2.onMount) == null ? void 0 : _a.call(atom2, setAtom);
|
|
66
|
-
};
|
|
120
|
+
var BUILDING_BLOCK_atomOnMount = (_buildingBlocks, _store, atom2, setAtom) => atom2.onMount?.(setAtom);
|
|
67
121
|
var BUILDING_BLOCK_ensureAtomState = (buildingBlocks, store, atom2) => {
|
|
68
|
-
|
|
69
|
-
const atomStateMap = buildingBlocks[0];
|
|
122
|
+
const atomStateMap = buildingBlocks[KEY_atomStateMap];
|
|
70
123
|
let atomState = atomStateMap.get(atom2);
|
|
71
124
|
if (!atomState) {
|
|
72
|
-
const storeHooks = buildingBlocks[
|
|
73
|
-
const atomOnInit = buildingBlocks[
|
|
125
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
126
|
+
const atomOnInit = buildingBlocks[KEY_atomOnInit];
|
|
74
127
|
atomState = { d: /* @__PURE__ */ new Map(), p: /* @__PURE__ */ new Set(), n: 0 };
|
|
75
128
|
atomStateMap.set(atom2, atomState);
|
|
76
|
-
|
|
129
|
+
storeHooks.i?.(atom2);
|
|
77
130
|
if (hasOnInit(atom2)) {
|
|
78
131
|
atomOnInit(buildingBlocks, store, atom2);
|
|
79
132
|
}
|
|
@@ -81,13 +134,12 @@ var BUILDING_BLOCK_ensureAtomState = (buildingBlocks, store, atom2) => {
|
|
|
81
134
|
return atomState;
|
|
82
135
|
};
|
|
83
136
|
var BUILDING_BLOCK_flushCallbacks = (buildingBlocks, store) => {
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
const recomputeInvalidatedAtoms = buildingBlocks[13];
|
|
137
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
138
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
139
|
+
const mountCallbacks = buildingBlocks[KEY_mountCallbacks];
|
|
140
|
+
const unmountCallbacks = buildingBlocks[KEY_unmountCallbacks];
|
|
141
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
142
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
91
143
|
if (!storeHooks.f && !changedAtoms.size && !mountCallbacks.size && !unmountCallbacks.size) {
|
|
92
144
|
return;
|
|
93
145
|
}
|
|
@@ -105,7 +157,7 @@ var BUILDING_BLOCK_flushCallbacks = (buildingBlocks, store) => {
|
|
|
105
157
|
}
|
|
106
158
|
const callbacks = /* @__PURE__ */ new Set();
|
|
107
159
|
for (const atom2 of changedAtoms) {
|
|
108
|
-
const listeners =
|
|
160
|
+
const listeners = mountedMap.get(atom2)?.l;
|
|
109
161
|
if (listeners) {
|
|
110
162
|
for (const listener of listeners) {
|
|
111
163
|
callbacks.add(listener);
|
|
@@ -129,16 +181,19 @@ var BUILDING_BLOCK_flushCallbacks = (buildingBlocks, store) => {
|
|
|
129
181
|
}
|
|
130
182
|
} while (changedAtoms.size || unmountCallbacks.size || mountCallbacks.size);
|
|
131
183
|
if (errors.length) {
|
|
132
|
-
|
|
184
|
+
if (typeof AggregateError === "function") {
|
|
185
|
+
throw new AggregateError(errors);
|
|
186
|
+
}
|
|
187
|
+
throw Object.assign(new Error(), { errors });
|
|
133
188
|
}
|
|
134
189
|
};
|
|
135
190
|
var BUILDING_BLOCK_recomputeInvalidatedAtoms = (buildingBlocks, store) => {
|
|
136
|
-
const mountedMap = buildingBlocks[
|
|
137
|
-
const invalidatedAtoms = buildingBlocks[
|
|
138
|
-
const changedAtoms = buildingBlocks[
|
|
139
|
-
const ensureAtomState = buildingBlocks[
|
|
140
|
-
const readAtomState = buildingBlocks[
|
|
141
|
-
const mountDependencies = buildingBlocks[
|
|
191
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
192
|
+
const invalidatedAtoms = buildingBlocks[KEY_invalidatedAtoms];
|
|
193
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
194
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
195
|
+
const readAtomState = buildingBlocks[KEY_readAtomState];
|
|
196
|
+
const mountDependencies = buildingBlocks[KEY_mountDependencies];
|
|
142
197
|
if (!changedAtoms.size) {
|
|
143
198
|
return;
|
|
144
199
|
}
|
|
@@ -165,7 +220,7 @@ var BUILDING_BLOCK_recomputeInvalidatedAtoms = (buildingBlocks, store) => {
|
|
|
165
220
|
if (invalidatedAtoms.get(a) === aState.n) {
|
|
166
221
|
sortedReversedAtoms.push(a);
|
|
167
222
|
sortedReversedStates.push(aState);
|
|
168
|
-
} else if (
|
|
223
|
+
} else if (process.env.NODE_ENV !== "production" && invalidatedAtoms.has(a)) {
|
|
169
224
|
throw new Error("[Bug] invalidated atom exists");
|
|
170
225
|
}
|
|
171
226
|
visited.add(a);
|
|
@@ -201,21 +256,19 @@ var BUILDING_BLOCK_recomputeInvalidatedAtoms = (buildingBlocks, store) => {
|
|
|
201
256
|
};
|
|
202
257
|
var storeMutationSet = /* @__PURE__ */ new WeakSet();
|
|
203
258
|
var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
const
|
|
207
|
-
const
|
|
208
|
-
const
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
const
|
|
212
|
-
const
|
|
213
|
-
const
|
|
214
|
-
const
|
|
215
|
-
const
|
|
216
|
-
const
|
|
217
|
-
const registerAbortHandler = buildingBlocks[26];
|
|
218
|
-
const storeEpochHolder = buildingBlocks[28];
|
|
259
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
260
|
+
const invalidatedAtoms = buildingBlocks[KEY_invalidatedAtoms];
|
|
261
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
262
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
263
|
+
const atomRead = buildingBlocks[KEY_atomRead];
|
|
264
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
265
|
+
const flushCallbacks = buildingBlocks[KEY_flushCallbacks];
|
|
266
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
267
|
+
const readAtomState = buildingBlocks[KEY_readAtomState];
|
|
268
|
+
const mountDependencies = buildingBlocks[KEY_mountDependencies];
|
|
269
|
+
const setAtomStateValueOrPromise = buildingBlocks[KEY_setAtomStateValueOrPromise];
|
|
270
|
+
const registerAbortHandler = buildingBlocks[KEY_registerAbortHandler];
|
|
271
|
+
const storeEpochHolder = buildingBlocks[KEY_storeEpochHolder];
|
|
219
272
|
const atomState = ensureAtomState(buildingBlocks, store, atom2);
|
|
220
273
|
const storeEpochNumber = storeEpochHolder[0];
|
|
221
274
|
if (isAtomStateInitialized(atomState)) {
|
|
@@ -260,7 +313,6 @@ var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
|
260
313
|
}
|
|
261
314
|
};
|
|
262
315
|
const getter = (a) => {
|
|
263
|
-
var _a2;
|
|
264
316
|
if (a === atom2) {
|
|
265
317
|
const aState2 = ensureAtomState(buildingBlocks, store, a);
|
|
266
318
|
if (!isAtomStateInitialized(aState2)) {
|
|
@@ -282,7 +334,7 @@ var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
|
282
334
|
addPendingPromiseToDependency(atom2, atomState.v, aState);
|
|
283
335
|
}
|
|
284
336
|
if (mountedMap.has(atom2)) {
|
|
285
|
-
|
|
337
|
+
mountedMap.get(a)?.t.add(atom2);
|
|
286
338
|
}
|
|
287
339
|
if (!isSync) {
|
|
288
340
|
mountDependenciesIfAsync();
|
|
@@ -290,67 +342,27 @@ var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
|
290
342
|
}
|
|
291
343
|
};
|
|
292
344
|
let controller;
|
|
293
|
-
let setSelf;
|
|
294
345
|
const options = {
|
|
295
346
|
get signal() {
|
|
296
347
|
if (!controller) {
|
|
297
348
|
controller = new AbortController();
|
|
298
349
|
}
|
|
299
350
|
return controller.signal;
|
|
300
|
-
},
|
|
301
|
-
get setSelf() {
|
|
302
|
-
if ((import.meta.env ? "production" : void 0) !== "production") {
|
|
303
|
-
console.warn(
|
|
304
|
-
"[DEPRECATED] setSelf is deprecated and will be removed in v3."
|
|
305
|
-
);
|
|
306
|
-
}
|
|
307
|
-
if ((import.meta.env ? "production" : void 0) !== "production" && !isActuallyWritableAtom(atom2)) {
|
|
308
|
-
console.warn("setSelf function cannot be used with read-only atom");
|
|
309
|
-
}
|
|
310
|
-
if (!setSelf && isActuallyWritableAtom(atom2)) {
|
|
311
|
-
setSelf = (...args) => {
|
|
312
|
-
if ((import.meta.env ? "production" : void 0) !== "production" && isSync) {
|
|
313
|
-
console.warn("setSelf function cannot be called in sync");
|
|
314
|
-
}
|
|
315
|
-
if (!isSync) {
|
|
316
|
-
try {
|
|
317
|
-
return writeAtomState(buildingBlocks, store, atom2, args);
|
|
318
|
-
} finally {
|
|
319
|
-
recomputeInvalidatedAtoms(buildingBlocks, store);
|
|
320
|
-
flushCallbacks(buildingBlocks, store);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
return setSelf;
|
|
326
351
|
}
|
|
327
352
|
};
|
|
328
353
|
const prevEpochNumber = atomState.n;
|
|
329
354
|
const prevInvalidated = invalidatedAtoms.get(atom2) === prevEpochNumber;
|
|
330
355
|
try {
|
|
331
|
-
if (
|
|
356
|
+
if (process.env.NODE_ENV !== "production") {
|
|
332
357
|
storeMutationSet.delete(store);
|
|
333
358
|
}
|
|
334
|
-
const valueOrPromise = atomRead(
|
|
335
|
-
|
|
336
|
-
store
|
|
337
|
-
atom2,
|
|
338
|
-
getter,
|
|
339
|
-
options
|
|
340
|
-
);
|
|
341
|
-
if ((import.meta.env ? "production" : void 0) !== "production" && storeMutationSet.has(store)) {
|
|
342
|
-
console.warn(
|
|
343
|
-
"Detected store mutation during atom read. This is not supported."
|
|
344
|
-
);
|
|
359
|
+
const valueOrPromise = atomRead(buildingBlocks, store, atom2, getter, options);
|
|
360
|
+
if (process.env.NODE_ENV !== "production" && storeMutationSet.has(store)) {
|
|
361
|
+
console.warn("Detected store mutation during atom read. This is not supported.");
|
|
345
362
|
}
|
|
346
363
|
setAtomStateValueOrPromise(buildingBlocks, store, atom2, valueOrPromise);
|
|
347
364
|
if (isPromiseLike(valueOrPromise)) {
|
|
348
|
-
registerAbortHandler(
|
|
349
|
-
buildingBlocks,
|
|
350
|
-
store,
|
|
351
|
-
valueOrPromise,
|
|
352
|
-
() => controller == null ? void 0 : controller.abort()
|
|
353
|
-
);
|
|
365
|
+
registerAbortHandler(buildingBlocks, store, valueOrPromise, () => controller?.abort());
|
|
354
366
|
const settle = () => {
|
|
355
367
|
pruneDependencies();
|
|
356
368
|
mountDependenciesIfAsync();
|
|
@@ -359,7 +371,7 @@ var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
|
359
371
|
} else {
|
|
360
372
|
pruneDependencies();
|
|
361
373
|
}
|
|
362
|
-
|
|
374
|
+
storeHooks.r?.(atom2);
|
|
363
375
|
atomState.m = storeEpochNumber;
|
|
364
376
|
return atomState;
|
|
365
377
|
} catch (error) {
|
|
@@ -376,14 +388,14 @@ var BUILDING_BLOCK_readAtomState = (buildingBlocks, store, atom2) => {
|
|
|
376
388
|
if (atomState.n !== prevEpochNumber && prevInvalidated) {
|
|
377
389
|
invalidatedAtoms.set(atom2, atomState.n);
|
|
378
390
|
changedAtoms.add(atom2);
|
|
379
|
-
|
|
391
|
+
storeHooks.c?.(atom2);
|
|
380
392
|
}
|
|
381
393
|
}
|
|
382
394
|
};
|
|
383
395
|
var BUILDING_BLOCK_invalidateDependents = (buildingBlocks, store, atom2) => {
|
|
384
|
-
const mountedMap = buildingBlocks[
|
|
385
|
-
const invalidatedAtoms = buildingBlocks[
|
|
386
|
-
const ensureAtomState = buildingBlocks[
|
|
396
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
397
|
+
const invalidatedAtoms = buildingBlocks[KEY_invalidatedAtoms];
|
|
398
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
387
399
|
const stack = [atom2];
|
|
388
400
|
while (stack.length) {
|
|
389
401
|
const a = stack.pop();
|
|
@@ -398,29 +410,28 @@ var BUILDING_BLOCK_invalidateDependents = (buildingBlocks, store, atom2) => {
|
|
|
398
410
|
}
|
|
399
411
|
};
|
|
400
412
|
var BUILDING_BLOCK_writeAtomState = (buildingBlocks, store, atom2, args) => {
|
|
401
|
-
const changedAtoms = buildingBlocks[
|
|
402
|
-
const storeHooks = buildingBlocks[
|
|
403
|
-
const atomWrite = buildingBlocks[
|
|
404
|
-
const ensureAtomState = buildingBlocks[
|
|
405
|
-
const flushCallbacks = buildingBlocks[
|
|
406
|
-
const recomputeInvalidatedAtoms = buildingBlocks[
|
|
407
|
-
const readAtomState = buildingBlocks[
|
|
408
|
-
const invalidateDependents = buildingBlocks[
|
|
409
|
-
const writeAtomState = buildingBlocks[
|
|
410
|
-
const mountDependencies = buildingBlocks[
|
|
411
|
-
const setAtomStateValueOrPromise = buildingBlocks[
|
|
412
|
-
const storeEpochHolder = buildingBlocks[
|
|
413
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
414
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
415
|
+
const atomWrite = buildingBlocks[KEY_atomWrite];
|
|
416
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
417
|
+
const flushCallbacks = buildingBlocks[KEY_flushCallbacks];
|
|
418
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
419
|
+
const readAtomState = buildingBlocks[KEY_readAtomState];
|
|
420
|
+
const invalidateDependents = buildingBlocks[KEY_invalidateDependents];
|
|
421
|
+
const writeAtomState = buildingBlocks[KEY_writeAtomState];
|
|
422
|
+
const mountDependencies = buildingBlocks[KEY_mountDependencies];
|
|
423
|
+
const setAtomStateValueOrPromise = buildingBlocks[KEY_setAtomStateValueOrPromise];
|
|
424
|
+
const storeEpochHolder = buildingBlocks[KEY_storeEpochHolder];
|
|
413
425
|
let isSync = true;
|
|
414
426
|
const getter = (a) => returnAtomValue(readAtomState(buildingBlocks, store, a));
|
|
415
427
|
const setter = (a, ...args2) => {
|
|
416
|
-
var _a;
|
|
417
428
|
const aState = ensureAtomState(buildingBlocks, store, a);
|
|
418
429
|
try {
|
|
419
430
|
if (a === atom2) {
|
|
420
431
|
if (!hasInitialValue(a)) {
|
|
421
432
|
throw new Error("atom not writable");
|
|
422
433
|
}
|
|
423
|
-
if (
|
|
434
|
+
if (process.env.NODE_ENV !== "production") {
|
|
424
435
|
storeMutationSet.add(store);
|
|
425
436
|
}
|
|
426
437
|
const prevEpochNumber = aState.n;
|
|
@@ -431,7 +442,7 @@ var BUILDING_BLOCK_writeAtomState = (buildingBlocks, store, atom2, args) => {
|
|
|
431
442
|
++storeEpochHolder[0];
|
|
432
443
|
changedAtoms.add(a);
|
|
433
444
|
invalidateDependents(buildingBlocks, store, a);
|
|
434
|
-
|
|
445
|
+
storeHooks.c?.(a);
|
|
435
446
|
}
|
|
436
447
|
return void 0;
|
|
437
448
|
} else {
|
|
@@ -451,14 +462,13 @@ var BUILDING_BLOCK_writeAtomState = (buildingBlocks, store, atom2, args) => {
|
|
|
451
462
|
}
|
|
452
463
|
};
|
|
453
464
|
var BUILDING_BLOCK_mountDependencies = (buildingBlocks, store, atom2) => {
|
|
454
|
-
|
|
455
|
-
const
|
|
456
|
-
const
|
|
457
|
-
const
|
|
458
|
-
const
|
|
459
|
-
const
|
|
460
|
-
const
|
|
461
|
-
const unmountAtom = buildingBlocks[19];
|
|
465
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
466
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
467
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
468
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
469
|
+
const invalidateDependents = buildingBlocks[KEY_invalidateDependents];
|
|
470
|
+
const mountAtom = buildingBlocks[KEY_mountAtom];
|
|
471
|
+
const unmountAtom = buildingBlocks[KEY_unmountAtom];
|
|
462
472
|
const atomState = ensureAtomState(buildingBlocks, store, atom2);
|
|
463
473
|
const mounted = mountedMap.get(atom2);
|
|
464
474
|
if (mounted && atomState.d.size > 0) {
|
|
@@ -471,7 +481,7 @@ var BUILDING_BLOCK_mountDependencies = (buildingBlocks, store, atom2) => {
|
|
|
471
481
|
if (n !== aState.n) {
|
|
472
482
|
changedAtoms.add(a);
|
|
473
483
|
invalidateDependents(buildingBlocks, store, a);
|
|
474
|
-
|
|
484
|
+
storeHooks.c?.(a);
|
|
475
485
|
}
|
|
476
486
|
}
|
|
477
487
|
}
|
|
@@ -479,23 +489,22 @@ var BUILDING_BLOCK_mountDependencies = (buildingBlocks, store, atom2) => {
|
|
|
479
489
|
if (!atomState.d.has(a)) {
|
|
480
490
|
mounted.d.delete(a);
|
|
481
491
|
const aMounted = unmountAtom(buildingBlocks, store, a);
|
|
482
|
-
aMounted
|
|
492
|
+
aMounted?.t.delete(atom2);
|
|
483
493
|
}
|
|
484
494
|
}
|
|
485
495
|
}
|
|
486
496
|
};
|
|
487
497
|
var BUILDING_BLOCK_mountAtom = (buildingBlocks, store, atom2) => {
|
|
488
|
-
|
|
489
|
-
const
|
|
490
|
-
const
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
const
|
|
494
|
-
const
|
|
495
|
-
const
|
|
496
|
-
const
|
|
497
|
-
const
|
|
498
|
-
const mountAtom = buildingBlocks[18];
|
|
498
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
499
|
+
const mountCallbacks = buildingBlocks[KEY_mountCallbacks];
|
|
500
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
501
|
+
const atomOnMount = buildingBlocks[KEY_atomOnMount];
|
|
502
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
503
|
+
const flushCallbacks = buildingBlocks[KEY_flushCallbacks];
|
|
504
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
505
|
+
const readAtomState = buildingBlocks[KEY_readAtomState];
|
|
506
|
+
const writeAtomState = buildingBlocks[KEY_writeAtomState];
|
|
507
|
+
const mountAtom = buildingBlocks[KEY_mountAtom];
|
|
499
508
|
const atomState = ensureAtomState(buildingBlocks, store, atom2);
|
|
500
509
|
let mounted = mountedMap.get(atom2);
|
|
501
510
|
if (!mounted) {
|
|
@@ -541,17 +550,16 @@ var BUILDING_BLOCK_mountAtom = (buildingBlocks, store, atom2) => {
|
|
|
541
550
|
};
|
|
542
551
|
mountCallbacks.add(processOnMount);
|
|
543
552
|
}
|
|
544
|
-
|
|
553
|
+
storeHooks.m?.(atom2);
|
|
545
554
|
}
|
|
546
555
|
return mounted;
|
|
547
556
|
};
|
|
548
557
|
var BUILDING_BLOCK_unmountAtom = (buildingBlocks, store, atom2) => {
|
|
549
|
-
|
|
550
|
-
const
|
|
551
|
-
const
|
|
552
|
-
const
|
|
553
|
-
const
|
|
554
|
-
const unmountAtom = buildingBlocks[19];
|
|
558
|
+
const mountedMap = buildingBlocks[KEY_mountedMap];
|
|
559
|
+
const unmountCallbacks = buildingBlocks[KEY_unmountCallbacks];
|
|
560
|
+
const storeHooks = buildingBlocks[KEY_storeHooks];
|
|
561
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
562
|
+
const unmountAtom = buildingBlocks[KEY_unmountAtom];
|
|
555
563
|
const atomState = ensureAtomState(buildingBlocks, store, atom2);
|
|
556
564
|
let mounted = mountedMap.get(atom2);
|
|
557
565
|
if (!mounted || mounted.l.size) {
|
|
@@ -559,7 +567,7 @@ var BUILDING_BLOCK_unmountAtom = (buildingBlocks, store, atom2) => {
|
|
|
559
567
|
}
|
|
560
568
|
let isDependent = false;
|
|
561
569
|
for (const a of mounted.t) {
|
|
562
|
-
if (
|
|
570
|
+
if (mountedMap.get(a)?.d.has(atom2)) {
|
|
563
571
|
isDependent = true;
|
|
564
572
|
break;
|
|
565
573
|
}
|
|
@@ -572,26 +580,22 @@ var BUILDING_BLOCK_unmountAtom = (buildingBlocks, store, atom2) => {
|
|
|
572
580
|
mountedMap.delete(atom2);
|
|
573
581
|
for (const a of atomState.d.keys()) {
|
|
574
582
|
const aMounted = unmountAtom(buildingBlocks, store, a);
|
|
575
|
-
aMounted
|
|
583
|
+
aMounted?.t.delete(atom2);
|
|
576
584
|
}
|
|
577
|
-
|
|
585
|
+
storeHooks.u?.(atom2);
|
|
578
586
|
return void 0;
|
|
579
587
|
}
|
|
580
588
|
return mounted;
|
|
581
589
|
};
|
|
582
590
|
var BUILDING_BLOCK_setAtomStateValueOrPromise = (buildingBlocks, store, atom2, valueOrPromise) => {
|
|
583
|
-
const ensureAtomState = buildingBlocks[
|
|
584
|
-
const abortPromise = buildingBlocks[
|
|
591
|
+
const ensureAtomState = buildingBlocks[KEY_ensureAtomState];
|
|
592
|
+
const abortPromise = buildingBlocks[KEY_abortPromise];
|
|
585
593
|
const atomState = ensureAtomState(buildingBlocks, store, atom2);
|
|
586
594
|
const hasPrevValue = "v" in atomState;
|
|
587
595
|
const prevValue = atomState.v;
|
|
588
596
|
if (isPromiseLike(valueOrPromise)) {
|
|
589
597
|
for (const a of atomState.d.keys()) {
|
|
590
|
-
addPendingPromiseToDependency(
|
|
591
|
-
atom2,
|
|
592
|
-
valueOrPromise,
|
|
593
|
-
ensureAtomState(buildingBlocks, store, a)
|
|
594
|
-
);
|
|
598
|
+
addPendingPromiseToDependency(atom2, valueOrPromise, ensureAtomState(buildingBlocks, store, a));
|
|
595
599
|
}
|
|
596
600
|
}
|
|
597
601
|
atomState.v = valueOrPromise;
|
|
@@ -604,14 +608,14 @@ var BUILDING_BLOCK_setAtomStateValueOrPromise = (buildingBlocks, store, atom2, v
|
|
|
604
608
|
}
|
|
605
609
|
};
|
|
606
610
|
var BUILDING_BLOCK_storeGet = (buildingBlocks, store, atom2) => {
|
|
607
|
-
const readAtomState = buildingBlocks[
|
|
611
|
+
const readAtomState = buildingBlocks[KEY_readAtomState];
|
|
608
612
|
return returnAtomValue(readAtomState(buildingBlocks, store, atom2));
|
|
609
613
|
};
|
|
610
614
|
var BUILDING_BLOCK_storeSet = (buildingBlocks, store, atom2, ...args) => {
|
|
611
|
-
const changedAtoms = buildingBlocks[
|
|
612
|
-
const flushCallbacks = buildingBlocks[
|
|
613
|
-
const recomputeInvalidatedAtoms = buildingBlocks[
|
|
614
|
-
const writeAtomState = buildingBlocks[
|
|
615
|
+
const changedAtoms = buildingBlocks[KEY_changedAtoms];
|
|
616
|
+
const flushCallbacks = buildingBlocks[KEY_flushCallbacks];
|
|
617
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
618
|
+
const writeAtomState = buildingBlocks[KEY_writeAtomState];
|
|
615
619
|
const prevChangedAtomsSize = changedAtoms.size;
|
|
616
620
|
try {
|
|
617
621
|
return writeAtomState(buildingBlocks, store, atom2, args);
|
|
@@ -623,21 +627,24 @@ var BUILDING_BLOCK_storeSet = (buildingBlocks, store, atom2, ...args) => {
|
|
|
623
627
|
}
|
|
624
628
|
};
|
|
625
629
|
var BUILDING_BLOCK_storeSub = (buildingBlocks, store, atom2, listener) => {
|
|
626
|
-
const flushCallbacks = buildingBlocks[
|
|
627
|
-
const
|
|
628
|
-
const
|
|
630
|
+
const flushCallbacks = buildingBlocks[KEY_flushCallbacks];
|
|
631
|
+
const recomputeInvalidatedAtoms = buildingBlocks[KEY_recomputeInvalidatedAtoms];
|
|
632
|
+
const mountAtom = buildingBlocks[KEY_mountAtom];
|
|
633
|
+
const unmountAtom = buildingBlocks[KEY_unmountAtom];
|
|
629
634
|
const mounted = mountAtom(buildingBlocks, store, atom2);
|
|
630
635
|
const listeners = mounted.l;
|
|
631
636
|
listeners.add(listener);
|
|
637
|
+
recomputeInvalidatedAtoms(buildingBlocks, store);
|
|
632
638
|
flushCallbacks(buildingBlocks, store);
|
|
633
639
|
return () => {
|
|
634
640
|
listeners.delete(listener);
|
|
635
641
|
unmountAtom(buildingBlocks, store, atom2);
|
|
642
|
+
recomputeInvalidatedAtoms(buildingBlocks, store);
|
|
636
643
|
flushCallbacks(buildingBlocks, store);
|
|
637
644
|
};
|
|
638
645
|
};
|
|
639
646
|
var BUILDING_BLOCK_registerAbortHandler = (buildingBlocks, _store, promise, abortHandler) => {
|
|
640
|
-
const abortHandlersMap = buildingBlocks[
|
|
647
|
+
const abortHandlersMap = buildingBlocks[KEY_abortHandlersMap];
|
|
641
648
|
let abortHandlers = abortHandlersMap.get(promise);
|
|
642
649
|
if (!abortHandlers) {
|
|
643
650
|
abortHandlers = /* @__PURE__ */ new Set();
|
|
@@ -648,25 +655,23 @@ var BUILDING_BLOCK_registerAbortHandler = (buildingBlocks, _store, promise, abor
|
|
|
648
655
|
abortHandlers.add(abortHandler);
|
|
649
656
|
};
|
|
650
657
|
var BUILDING_BLOCK_abortPromise = (buildingBlocks, _store, promise) => {
|
|
651
|
-
const abortHandlersMap = buildingBlocks[
|
|
658
|
+
const abortHandlersMap = buildingBlocks[KEY_abortHandlersMap];
|
|
652
659
|
const abortHandlers = abortHandlersMap.get(promise);
|
|
653
|
-
abortHandlers
|
|
660
|
+
abortHandlers?.forEach((fn) => fn());
|
|
654
661
|
};
|
|
655
662
|
var buildingBlockMap = /* @__PURE__ */ new WeakMap();
|
|
656
663
|
function getBuildingBlocks(store) {
|
|
657
664
|
const buildingBlocks = buildingBlockMap.get(store);
|
|
658
|
-
if (
|
|
659
|
-
throw new Error(
|
|
660
|
-
"Store must be created by buildStore to read its building blocks"
|
|
661
|
-
);
|
|
665
|
+
if (process.env.NODE_ENV !== "production" && !buildingBlocks) {
|
|
666
|
+
throw new Error("Store must be created by buildStore to read its building blocks");
|
|
662
667
|
}
|
|
663
|
-
const enhanceBuildingBlocks = buildingBlocks[
|
|
668
|
+
const enhanceBuildingBlocks = buildingBlocks[KEY_enhanceBuildingBlocks];
|
|
664
669
|
if (enhanceBuildingBlocks) {
|
|
665
670
|
return enhanceBuildingBlocks(buildingBlocks, store);
|
|
666
671
|
}
|
|
667
672
|
return buildingBlocks;
|
|
668
673
|
}
|
|
669
|
-
function buildStore(
|
|
674
|
+
function buildStore(partialBuildingBlocks) {
|
|
670
675
|
const store = {
|
|
671
676
|
get(atom2) {
|
|
672
677
|
return storeGet(buildingBlocks, store, atom2);
|
|
@@ -678,88 +683,55 @@ function buildStore(...partialBuildingBlocks) {
|
|
|
678
683
|
return storeSub(buildingBlocks, store, atom2, listener);
|
|
679
684
|
}
|
|
680
685
|
};
|
|
681
|
-
const
|
|
686
|
+
const defaultBuildingBlocks = {
|
|
682
687
|
// store state
|
|
683
|
-
/* @__PURE__ */ new WeakMap(),
|
|
684
|
-
|
|
685
|
-
/* @__PURE__ */ new WeakMap(),
|
|
686
|
-
|
|
687
|
-
/* @__PURE__ */ new
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
// changedAtoms
|
|
691
|
-
/* @__PURE__ */ new Set(),
|
|
692
|
-
// mountCallbacks
|
|
693
|
-
/* @__PURE__ */ new Set(),
|
|
694
|
-
// unmountCallbacks
|
|
695
|
-
{},
|
|
696
|
-
// storeHooks
|
|
688
|
+
[KEY_atomStateMap]: /* @__PURE__ */ new WeakMap(),
|
|
689
|
+
[KEY_mountedMap]: /* @__PURE__ */ new WeakMap(),
|
|
690
|
+
[KEY_invalidatedAtoms]: /* @__PURE__ */ new WeakMap(),
|
|
691
|
+
[KEY_changedAtoms]: /* @__PURE__ */ new Set(),
|
|
692
|
+
[KEY_mountCallbacks]: /* @__PURE__ */ new Set(),
|
|
693
|
+
[KEY_unmountCallbacks]: /* @__PURE__ */ new Set(),
|
|
694
|
+
[KEY_storeHooks]: {},
|
|
697
695
|
// atom interceptors
|
|
698
|
-
BUILDING_BLOCK_atomRead,
|
|
699
|
-
BUILDING_BLOCK_atomWrite,
|
|
700
|
-
BUILDING_BLOCK_atomOnInit,
|
|
701
|
-
BUILDING_BLOCK_atomOnMount,
|
|
696
|
+
[KEY_atomRead]: BUILDING_BLOCK_atomRead,
|
|
697
|
+
[KEY_atomWrite]: BUILDING_BLOCK_atomWrite,
|
|
698
|
+
[KEY_atomOnInit]: BUILDING_BLOCK_atomOnInit,
|
|
699
|
+
[KEY_atomOnMount]: BUILDING_BLOCK_atomOnMount,
|
|
702
700
|
// building-block functions
|
|
703
|
-
BUILDING_BLOCK_ensureAtomState,
|
|
704
|
-
BUILDING_BLOCK_flushCallbacks,
|
|
705
|
-
BUILDING_BLOCK_recomputeInvalidatedAtoms,
|
|
706
|
-
BUILDING_BLOCK_readAtomState,
|
|
707
|
-
BUILDING_BLOCK_invalidateDependents,
|
|
708
|
-
BUILDING_BLOCK_writeAtomState,
|
|
709
|
-
BUILDING_BLOCK_mountDependencies,
|
|
710
|
-
BUILDING_BLOCK_mountAtom,
|
|
711
|
-
BUILDING_BLOCK_unmountAtom,
|
|
712
|
-
BUILDING_BLOCK_setAtomStateValueOrPromise,
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
701
|
+
[KEY_ensureAtomState]: BUILDING_BLOCK_ensureAtomState,
|
|
702
|
+
[KEY_flushCallbacks]: BUILDING_BLOCK_flushCallbacks,
|
|
703
|
+
[KEY_recomputeInvalidatedAtoms]: BUILDING_BLOCK_recomputeInvalidatedAtoms,
|
|
704
|
+
[KEY_readAtomState]: BUILDING_BLOCK_readAtomState,
|
|
705
|
+
[KEY_invalidateDependents]: BUILDING_BLOCK_invalidateDependents,
|
|
706
|
+
[KEY_writeAtomState]: BUILDING_BLOCK_writeAtomState,
|
|
707
|
+
[KEY_mountDependencies]: BUILDING_BLOCK_mountDependencies,
|
|
708
|
+
[KEY_mountAtom]: BUILDING_BLOCK_mountAtom,
|
|
709
|
+
[KEY_unmountAtom]: BUILDING_BLOCK_unmountAtom,
|
|
710
|
+
[KEY_setAtomStateValueOrPromise]: BUILDING_BLOCK_setAtomStateValueOrPromise,
|
|
711
|
+
// store api
|
|
712
|
+
[KEY_storeGet]: BUILDING_BLOCK_storeGet,
|
|
713
|
+
[KEY_storeSet]: BUILDING_BLOCK_storeSet,
|
|
714
|
+
[KEY_storeSub]: BUILDING_BLOCK_storeSub,
|
|
715
|
+
[KEY_enhanceBuildingBlocks]: void 0,
|
|
718
716
|
// abortable promise support
|
|
719
|
-
/* @__PURE__ */ new WeakMap(),
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
BUILDING_BLOCK_abortPromise,
|
|
717
|
+
[KEY_abortHandlersMap]: /* @__PURE__ */ new WeakMap(),
|
|
718
|
+
[KEY_registerAbortHandler]: BUILDING_BLOCK_registerAbortHandler,
|
|
719
|
+
[KEY_abortPromise]: BUILDING_BLOCK_abortPromise,
|
|
723
720
|
// store epoch
|
|
724
|
-
[0]
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
721
|
+
[KEY_storeEpochHolder]: [0]
|
|
722
|
+
};
|
|
723
|
+
const buildingBlocks = Object.freeze({
|
|
724
|
+
...defaultBuildingBlocks,
|
|
725
|
+
...partialBuildingBlocks
|
|
726
|
+
});
|
|
727
|
+
buildingBlockMap.set(store, buildingBlocks);
|
|
728
|
+
const storeGet = buildingBlocks[KEY_storeGet];
|
|
729
|
+
const storeSet = buildingBlocks[KEY_storeSet];
|
|
730
|
+
const storeSub = buildingBlocks[KEY_storeSub];
|
|
730
731
|
return store;
|
|
731
732
|
}
|
|
732
733
|
|
|
733
|
-
// node_modules/jotai/
|
|
734
|
-
var keyCount = 0;
|
|
735
|
-
function atom(read, write) {
|
|
736
|
-
const key = `atom${++keyCount}`;
|
|
737
|
-
const config = {
|
|
738
|
-
toString() {
|
|
739
|
-
return (import.meta.env ? "production" : void 0) !== "production" && this.debugLabel ? key + ":" + this.debugLabel : key;
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
if (typeof read === "function") {
|
|
743
|
-
config.read = read;
|
|
744
|
-
} else {
|
|
745
|
-
config.init = read;
|
|
746
|
-
config.read = defaultRead;
|
|
747
|
-
config.write = defaultWrite;
|
|
748
|
-
}
|
|
749
|
-
if (write) {
|
|
750
|
-
config.write = write;
|
|
751
|
-
}
|
|
752
|
-
return config;
|
|
753
|
-
}
|
|
754
|
-
function defaultRead(get) {
|
|
755
|
-
return get(this);
|
|
756
|
-
}
|
|
757
|
-
function defaultWrite(get, set, arg) {
|
|
758
|
-
return set(
|
|
759
|
-
this,
|
|
760
|
-
typeof arg === "function" ? arg(get(this)) : arg
|
|
761
|
-
);
|
|
762
|
-
}
|
|
734
|
+
// node_modules/jotai/dist/vanilla/store.js
|
|
763
735
|
var overriddenCreateStore;
|
|
764
736
|
function createStore() {
|
|
765
737
|
if (overriddenCreateStore) {
|
|
@@ -769,14 +741,14 @@ function createStore() {
|
|
|
769
741
|
}
|
|
770
742
|
var defaultStore;
|
|
771
743
|
function getDefaultStore() {
|
|
744
|
+
var _a;
|
|
772
745
|
if (!defaultStore) {
|
|
773
746
|
defaultStore = createStore();
|
|
774
|
-
if (
|
|
775
|
-
|
|
747
|
+
if (process.env.NODE_ENV !== "production") {
|
|
748
|
+
;
|
|
749
|
+
(_a = globalThis).__JOTAI_DEFAULT_STORE__ || (_a.__JOTAI_DEFAULT_STORE__ = defaultStore);
|
|
776
750
|
if (globalThis.__JOTAI_DEFAULT_STORE__ !== defaultStore) {
|
|
777
|
-
console.warn(
|
|
778
|
-
"Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"
|
|
779
|
-
);
|
|
751
|
+
console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044");
|
|
780
752
|
}
|
|
781
753
|
}
|
|
782
754
|
}
|
|
@@ -784,8 +756,9 @@ function getDefaultStore() {
|
|
|
784
756
|
}
|
|
785
757
|
|
|
786
758
|
export {
|
|
787
|
-
getBuildingBlocks,
|
|
788
759
|
atom,
|
|
760
|
+
KEY_registerAbortHandler,
|
|
761
|
+
getBuildingBlocks,
|
|
789
762
|
createStore,
|
|
790
763
|
getDefaultStore
|
|
791
764
|
};
|