valdres 1.0.0-beta.22 → 1.0.0-beta.24
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 +17 -4
- package/dist/adapter-internals/v1.js +1 -1
- package/dist/chunk-13jzc8rs.js +2 -0
- package/dist/development/adapter-internals/v1.js +1 -1
- package/dist/development/chunk-13jzc8rs.js +2 -0
- package/dist/development/index.js +1 -6
- package/dist/index.js +1 -6
- package/dist/types/adapter-internals/v1.d.ts +5 -3
- package/dist/types/index.d.ts +44 -77
- package/dist/types/v1-internal/committed-store-tree/committed-store-tree.d.ts +10 -0
- package/dist/types/v1-internal/committed-store-tree/runtime-domain.d.ts +153 -0
- package/dist/types/v1-internal/committed-store-tree/scope-node.d.ts +89 -0
- package/dist/types/v1-internal/committed-store-tree/scratch-selector-host.d.ts +38 -0
- package/dist/types/v1-internal/committed-store-tree/tree-transaction.d.ts +75 -0
- package/dist/types/v1-internal/committed-store-tree/types.d.ts +65 -0
- package/dist/types/v1-internal/public-domain.d.ts +2 -0
- package/dist/types/v1-internal/selector-evaluator/errors.d.ts +42 -0
- package/dist/types/v1-internal/selector-evaluator/evaluate.d.ts +7 -0
- package/dist/types/v1-internal/selector-evaluator/types.d.ts +118 -0
- package/dist/types/v1.d.ts +28 -0
- package/package.json +2 -5
- package/dist/chunk-7db3q547.js +0 -7
- package/dist/development/chunk-9394dmvn.js +0 -7
- package/dist/types/atom.d.ts +0 -12
- package/dist/types/atomFamily.d.ts +0 -4
- package/dist/types/cacheMeta.d.ts +0 -4
- package/dist/types/errors/SchemaValidationError.d.ts +0 -16
- package/dist/types/errors/SelectorCircularDependencyError.d.ts +0 -7
- package/dist/types/errors/SelectorEvaluationError.d.ts +0 -9
- package/dist/types/errors/StoreDisposedError.d.ts +0 -6
- package/dist/types/errors/lib/errorBrand.d.ts +0 -10
- package/dist/types/errors/lib/generateSelectorTrace.d.ts +0 -2
- package/dist/types/globalAtom.d.ts +0 -16
- package/dist/types/globalAtomFamily.d.ts +0 -17
- package/dist/types/globalStore.d.ts +0 -2
- package/dist/types/indexConstructor.d.ts +0 -16
- package/dist/types/lib/IS_PROD.d.ts +0 -1
- package/dist/types/lib/WeakSelectorCache.d.ts +0 -36
- package/dist/types/lib/WeakValueMap.d.ts +0 -48
- package/dist/types/lib/adapterTransaction.d.ts +0 -10
- package/dist/types/lib/architectureInstrumentation.d.ts +0 -67
- package/dist/types/lib/assertJsonSafeFamilyArgs.d.ts +0 -19
- package/dist/types/lib/asyncAtomCoordinatorRegistry.d.ts +0 -12
- package/dist/types/lib/asyncDependencyTracking.d.ts +0 -15
- package/dist/types/lib/atomFamilyIndex.d.ts +0 -40
- package/dist/types/lib/cacheController.d.ts +0 -12
- package/dist/types/lib/cacheState.d.ts +0 -11
- package/dist/types/lib/collectDependents.d.ts +0 -3
- package/dist/types/lib/commitEngine.d.ts +0 -69
- package/dist/types/lib/commitErrors.d.ts +0 -7
- package/dist/types/lib/commitForest.d.ts +0 -11
- package/dist/types/lib/commitIntents.d.ts +0 -33
- package/dist/types/lib/commitPlans.d.ts +0 -69
- package/dist/types/lib/coordinateAsyncWrite.d.ts +0 -12
- package/dist/types/lib/createAtomFamily.d.ts +0 -4
- package/dist/types/lib/createGlobalAtomFamily.d.ts +0 -4
- package/dist/types/lib/createStoreData.d.ts +0 -6
- package/dist/types/lib/deleteFamilyAtom.d.ts +0 -3
- package/dist/types/lib/disposeStoreData.d.ts +0 -7
- package/dist/types/lib/equal.d.ts +0 -1
- package/dist/types/lib/familyKey.d.ts +0 -2
- package/dist/types/lib/getState.d.ts +0 -15
- package/dist/types/lib/getStoreData.d.ts +0 -4
- package/dist/types/lib/getStoreRuntime.d.ts +0 -4
- package/dist/types/lib/globalAtom.d.ts +0 -4
- package/dist/types/lib/globalAtomFanOut.d.ts +0 -17
- package/dist/types/lib/globalOnSetMarker.d.ts +0 -3
- package/dist/types/lib/globalStoreRuntime.d.ts +0 -6
- package/dist/types/lib/graph/cleanupOrphanedDeps.d.ts +0 -9
- package/dist/types/lib/graph/evaluationOutcome.d.ts +0 -27
- package/dist/types/lib/graph/flushPendingOrphanCleanup.d.ts +0 -7
- package/dist/types/lib/graph/index.d.ts +0 -70
- package/dist/types/lib/graph/inheritedDependencyBranches.d.ts +0 -21
- package/dist/types/lib/graph/mountAtom.d.ts +0 -157
- package/dist/types/lib/graph/noteDependencyGraphChanged.d.ts +0 -11
- package/dist/types/lib/graph/queueOrphanCleanup.d.ts +0 -9
- package/dist/types/lib/graph/runtime.d.ts +0 -93
- package/dist/types/lib/graph/scheduler.d.ts +0 -8
- package/dist/types/lib/graph/workspace.d.ts +0 -42
- package/dist/types/lib/hasAtomCommitObservers.d.ts +0 -5
- package/dist/types/lib/hasCommittedValue.d.ts +0 -43
- package/dist/types/lib/initAtom.d.ts +0 -5
- package/dist/types/lib/initSelector.d.ts +0 -30
- package/dist/types/lib/isFunction.d.ts +0 -1
- package/dist/types/lib/mutationDraft.d.ts +0 -29
- package/dist/types/lib/namedStateIndex.d.ts +0 -11
- package/dist/types/lib/nativeAsyncSelectorError.d.ts +0 -1
- package/dist/types/lib/normalizeStagedValue.d.ts +0 -29
- package/dist/types/lib/notifyChangeListeners.d.ts +0 -109
- package/dist/types/lib/notifySubscribers.d.ts +0 -14
- package/dist/types/lib/onCommitEnd.d.ts +0 -61
- package/dist/types/lib/onStoreChange.d.ts +0 -15
- package/dist/types/lib/propagateUpdatedAtoms.d.ts +0 -20
- package/dist/types/lib/registerName.d.ts +0 -13
- package/dist/types/lib/reportAsyncSchemaError.d.ts +0 -16
- package/dist/types/lib/resetAtom.d.ts +0 -3
- package/dist/types/lib/resolveAtomDefaultValue.d.ts +0 -3
- package/dist/types/lib/resolvePendingDefault.d.ts +0 -49
- package/dist/types/lib/rootUnsetAllError.d.ts +0 -10
- package/dist/types/lib/runOnSets.d.ts +0 -7
- package/dist/types/lib/setAtom.d.ts +0 -14
- package/dist/types/lib/setAtoms.d.ts +0 -27
- package/dist/types/lib/setValueInData.d.ts +0 -6
- package/dist/types/lib/snapshot.d.ts +0 -7
- package/dist/types/lib/stateNameForError.d.ts +0 -1
- package/dist/types/lib/stateRevisions.d.ts +0 -24
- package/dist/types/lib/storeAdapter.d.ts +0 -11
- package/dist/types/lib/storeCancellableKey.d.ts +0 -14
- package/dist/types/lib/storeDataAccessToken.d.ts +0 -2
- package/dist/types/lib/storeFromStoreData.d.ts +0 -4
- package/dist/types/lib/storeLifecycle.d.ts +0 -83
- package/dist/types/lib/storeRuntimeKey.d.ts +0 -4
- package/dist/types/lib/storeTreeRuntime.d.ts +0 -76
- package/dist/types/lib/stringifyFamilyArgs.d.ts +0 -3
- package/dist/types/lib/subscribe.d.ts +0 -3
- package/dist/types/lib/trackScopeValue.d.ts +0 -10
- package/dist/types/lib/transaction.d.ts +0 -245
- package/dist/types/lib/treeTriggerGroups.d.ts +0 -47
- package/dist/types/lib/unsetValue.d.ts +0 -51
- package/dist/types/lib/unsubscribe.d.ts +0 -5
- package/dist/types/lib/valdresGlobal.d.ts +0 -61
- package/dist/types/lib/validateResolvedValue.d.ts +0 -19
- package/dist/types/lib/validateSchema.d.ts +0 -27
- package/dist/types/lib/wireCodec.d.ts +0 -24
- package/dist/types/lib/writeAtoms.d.ts +0 -19
- package/dist/types/selector.d.ts +0 -4
- package/dist/types/selectorFamily.d.ts +0 -5
- package/dist/types/store.d.ts +0 -4
- package/dist/types/types/Atom.d.ts +0 -28
- package/dist/types/types/AtomDefaultValue.d.ts +0 -2
- package/dist/types/types/AtomFamily.d.ts +0 -23
- package/dist/types/types/AtomFamilyAtom.d.ts +0 -7
- package/dist/types/types/AtomFamilyDefaultValue.d.ts +0 -5
- package/dist/types/types/AtomFamilyOptions.d.ts +0 -7
- package/dist/types/types/AtomFamilySelector.d.ts +0 -6
- package/dist/types/types/AtomInput.d.ts +0 -7
- package/dist/types/types/AtomOnInit.d.ts +0 -9
- package/dist/types/types/AtomOnMount.d.ts +0 -31
- package/dist/types/types/AtomOnSet.d.ts +0 -2
- package/dist/types/types/AtomOptions.d.ts +0 -33
- package/dist/types/types/CacheController.d.ts +0 -5
- package/dist/types/types/CacheEntry.d.ts +0 -4
- package/dist/types/types/CommitForestSettleFn.d.ts +0 -60
- package/dist/types/types/CommitIntent.d.ts +0 -26
- package/dist/types/types/CommitPlan.d.ts +0 -163
- package/dist/types/types/DehydratedState.d.ts +0 -35
- package/dist/types/types/DepsChange.d.ts +0 -11
- package/dist/types/types/EqualFunc.d.ts +0 -3
- package/dist/types/types/FamilyKey.d.ts +0 -4
- package/dist/types/types/GetValue.d.ts +0 -9
- package/dist/types/types/GlobalAtom.d.ts +0 -9
- package/dist/types/types/GlobalAtomFamily.d.ts +0 -13
- package/dist/types/types/GlobalAtomFamilyOptions.d.ts +0 -7
- package/dist/types/types/GlobalAtomGetSelfFunc.d.ts +0 -1
- package/dist/types/types/GlobalAtomOptions.d.ts +0 -7
- package/dist/types/types/GlobalAtomResetSelfFunc.d.ts +0 -1
- package/dist/types/types/GlobalAtomSetSelfFunc.d.ts +0 -2
- package/dist/types/types/IndexOptions.d.ts +0 -7
- package/dist/types/types/InitializeCallback.d.ts +0 -11
- package/dist/types/types/InternalAtom.d.ts +0 -18
- package/dist/types/types/InternalAtomFamily.d.ts +0 -13
- package/dist/types/types/InternalGlobalAtom.d.ts +0 -13
- package/dist/types/types/InternalSelector.d.ts +0 -12
- package/dist/types/types/InternalSelectorFamily.d.ts +0 -9
- package/dist/types/types/InternalState.d.ts +0 -5
- package/dist/types/types/MutationDraft.d.ts +0 -73
- package/dist/types/types/NonEmpty.d.ts +0 -6
- package/dist/types/types/Reactive.d.ts +0 -3
- package/dist/types/types/ResetAtom.d.ts +0 -2
- package/dist/types/types/Schema.d.ts +0 -27
- package/dist/types/types/Selector.d.ts +0 -22
- package/dist/types/types/SelectorFamily.d.ts +0 -17
- package/dist/types/types/SelectorFamilyOptions.d.ts +0 -7
- package/dist/types/types/SelectorOptions.d.ts +0 -21
- package/dist/types/types/SelectorSettleFn.d.ts +0 -6
- package/dist/types/types/SetAtom.d.ts +0 -8
- package/dist/types/types/SetAtomValue.d.ts +0 -1
- package/dist/types/types/SettleFlags.d.ts +0 -26
- package/dist/types/types/SettleFn.d.ts +0 -14
- package/dist/types/types/SnapshotEntry.d.ts +0 -24
- package/dist/types/types/StandardSchemaV1.d.ts +0 -39
- package/dist/types/types/State.d.ts +0 -4
- package/dist/types/types/Store.d.ts +0 -209
- package/dist/types/types/StoreChange.d.ts +0 -65
- package/dist/types/types/StoreChangeCallback.d.ts +0 -16
- package/dist/types/types/StoreChangeMeta.d.ts +0 -11
- package/dist/types/types/StoreChangeSource.d.ts +0 -23
- package/dist/types/types/StoreData.d.ts +0 -253
- package/dist/types/types/StoreOptions.d.ts +0 -38
- package/dist/types/types/SubscribeFn.d.ts +0 -9
- package/dist/types/types/Subscription.d.ts +0 -25
- package/dist/types/types/SyncSetAtom.d.ts +0 -4
- package/dist/types/types/Transaction.d.ts +0 -48
- package/dist/types/types/TransactionFn.d.ts +0 -5
- package/dist/types/types/TransactionInterface.d.ts +0 -3
- package/dist/types/utils/applyInitialize.d.ts +0 -25
- package/dist/types/utils/deepFreeze.d.ts +0 -1
- package/dist/types/utils/dehydrate.d.ts +0 -47
- package/dist/types/utils/hydrate.d.ts +0 -58
- package/dist/types/utils/isAtom.d.ts +0 -2
- package/dist/types/utils/isAtomFamily.d.ts +0 -2
- package/dist/types/utils/isFamily.d.ts +0 -1
- package/dist/types/utils/isFamilyAtom.d.ts +0 -2
- package/dist/types/utils/isFamilySelector.d.ts +0 -2
- package/dist/types/utils/isFamilyState.d.ts +0 -3
- package/dist/types/utils/isGlobalAtom.d.ts +0 -2
- package/dist/types/utils/isPromiseLike.d.ts +0 -1
- package/dist/types/utils/isSelector.d.ts +0 -2
- package/dist/types/utils/isSelectorFamily.d.ts +0 -2
- package/dist/types/utils/resolveReactive.d.ts +0 -4
- package/dist/types/utils/setAtomPairs.d.ts +0 -21
package/README.md
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# valdres
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The first public beta of Valdres's new synchronous state engine.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install valdres
|
|
10
|
+
npm install valdres@beta
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
```ts
|
|
@@ -21,8 +21,21 @@ s.set(countAtom, 21)
|
|
|
21
21
|
s.get(doubledSelector) // 42
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
`set` always stores the exact value you pass, including functions. Use `update` when the next value depends on the current value:
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
```ts
|
|
27
|
+
s.set(countAtom, 1)
|
|
28
|
+
s.update(countAtom, current => current + 1)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A store also exposes `sub`, `reset`, `txn`, `scope`, and `dispose`. Store operations are stable bound functions, so they can be passed as callbacks without rebinding.
|
|
32
|
+
|
|
33
|
+
`atom(initial, options)` and `atom.lazy(initialize, options)` create writable state. `selector(read, options)` creates synchronous derived state. Atom and selector options accept an inert diagnostic `name` and an `equal(previous, next)` comparator.
|
|
34
|
+
|
|
35
|
+
The versioned `valdres/adapter-internals/v1` entry is for framework bindings. It exports only `assertStore`, `read`, `subscribe`, and `readHydrationSnapshot`; application code should use Store methods directly.
|
|
36
|
+
|
|
37
|
+
## Beta compatibility
|
|
38
|
+
|
|
39
|
+
`valdres@1.0.0-beta.24` intentionally replaces the legacy beta API. Only the core package and `valdres-react@1.0.0-beta.5` are certified together. Deferred framework adapters and plugins remain unsupported even when their published semver ranges allow npm to resolve this core; do not mix them with the new beta until they are migrated.
|
|
27
40
|
|
|
28
41
|
<!-- DOCS:END -->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{o as e}from"../chunk-13jzc8rs.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Me=Object.freeze({kind:"not-thenable"}),lt=()=>{},ut=Reflect.apply,_e=Symbol.for("valdres.runtime-owner/v1");class w extends Error{seal(){Object.freeze(this)}}class ye extends w{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Ae extends w{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class W extends w{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class U extends w{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class q extends w{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ie extends w{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class Q extends w{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class X extends w{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class J extends w{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class be extends w{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class ke extends w{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class we extends w{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class se extends w{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var R=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Me;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Me}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},O=(e)=>{try{ut(e.then,e.target,[void 0,lt])}catch{}},Z=(e)=>{let t=R(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return O(t),Object.freeze({kind:"error",error:new X})},ve=(e)=>{try{return Z(e())}catch(t){let n=R(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return O(n),Object.freeze({kind:"error",error:new X})}},ee=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},P=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},He=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},te=(e,t,n)=>ee(e,Object.freeze({kind:"selector",session:t}),n),Be=(e,t,n)=>ee(e,Object.freeze({kind:"transaction",transaction:t}),n),ae=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},C=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new U(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new q;throw new W},ge=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new U(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new q;throw new W},Le=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new U("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new q;throw new W},ce=(e,t,n)=>{if(!n)throw new ie;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new U("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new W;throw new q},We=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},L=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,_e);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new ye;throw We(e,n).latchControlFault(r),r}}return"invalid"},E=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=We(e,n);if(o!==void 0&&"session"in o)try{let i=L(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return P(e,r,()=>L(e,t,r))},ne=(e,t)=>(Object.defineProperty(e,_e,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),de=(e,t)=>Object.freeze(ne({kind:e},t));class z extends Error{seal(){Object.freeze(this)}}class le extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Te extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class oe extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Re extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ue extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class Oe extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}class S{#t=[];#n;#o=0;#r;#s=ft;latchControlFault(e){if(this.#s.kind==="fault")return;this.#s=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#s}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#r??(this.#r=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#r?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#a(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#a(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#i(e,t);o.cycleError??=n}getCycle(e,t){return this.#a(e,t).cycleError}#a(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#i(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var ft=Object.freeze({kind:"none"});var Ue=Object.freeze({kind:"not-thenable"}),ht=()=>{},St=Reflect.apply,qe=Symbol("selector dependency path root"),$e=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ue;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ue}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},Qe=(e)=>{try{St(e.then,e.target,[void 0,ht])}catch{}},mt=(e)=>Object.freeze(e),pt=(e)=>Object.freeze(e),g=(e,t,n,o)=>{let r=pt(o);return Object.freeze({selector:e,token:t,outcome:mt(n),dependencies:r,attemptedPrefix:n.kind==="value"?yt:Object.freeze(r.map((i)=>i.node))})},yt=Object.freeze([]),Ge=(e,t,n,o)=>{let r=[e],i=new Map([[e,qe]]);while(r.length>0){let s=r.pop();if(Object.is(s,t)){let d=[],l=s;while(l!==qe)d.push(l),l=i.get(l);return d.reverse(),Object.freeze(d)}let a=o.getTransientDependencies(n,s);if(a){for(let d of a){if(i.has(d.node))continue;i.set(d.node,s),r.push(d.node)}continue}let c=n.getSelectorRecord(s);if(!c)continue;for(let d of c.dependencies){if(i.has(d.node))continue;i.set(d.node,s),r.push(d.node)}}return},Ke=(e,t)=>{let n=$e(e);if(n.kind==="thenable")return Qe(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},Ye=(e,t)=>{let n=$e(e);if(n.kind==="thenable")return Qe(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},fe=(e,t,n)=>{let{node:o}=e,r=[],i=t.getSelectorRecord(o),s=i?.dependencies,a=s===void 0?new Set:void 0,c,d=0,l=t.getComparisonBaseline(o),f=!0,b=()=>{let u=a;if(u!==void 0)return u;u=new Set;for(let m of r)u.add(m.node);return a=u,u};n.enter(t,o,r);let p=t.getSelectorGraphVersion(),v=n.getSelectorGraphPublicationCount(t),D=p,G=v,Pe=p,ze=v,me=(u,m,k,y)=>k-u===y-m,Fe=(u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t),k=me(D,G,u,m))=>{if(k){D=u,G=m;return}for(let y=0;y<r.length;y++){let I=r[y],V=Ge(I.node,o,t,n);if(!V)continue;if(a!==void 0)for(let A=r.length-1;A>=y;A--)a.delete(r[A].node);if(r.length=y,d++,n.getControlFault().kind==="fault")return;let M=new oe(o,[o,...V]);n.latchCycle(t,o,M);return}D=u,G=m},pe=()=>{let u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t);Pe=u,ze=m;let k=me(D,G,u,m);if(!k)n.revalidateAncestorPrefixes(t,o);Fe(u,m,k)};n.setPrefixRevalidator(t,o,Fe);let dt=(u)=>{if(!f)throw new Oe;let m=n.getControlFault();if(m.kind==="fault")throw m.error;let k=n.getCycle(t,o);if(k!==void 0)throw k;let y=n.activeCyclePath(t,u);if(y){let h=new oe(o,y);throw n.latchCycle(t,o,h),h}let I=r.length,V,j=!1;if(a===void 0){let h=s?.[I];if(h!==void 0&&Object.is(h.node,u))V=!1,j=!0;else V=b().has(u)}else V=a.has(u);if(!V&&!j&&s!==void 0&&s.length>0){let h=s[r.length];if(h!==void 0&&Object.is(h.node,u))j=!0;else{if(c===void 0){c=new Set;for(let B of s)c.add(B.node)}j=c.has(u)}}let M=d,A=t.serve(u,n);pe();let _=n.getCycle(t,o);if(_!==void 0)throw _;let K=a!==void 0?a.has(u):d===M&&r.length===I?!1:b().has(u),x=Pe,H=ze,N=K||j&&x===p,re=s===void 0&&me(p,v,x,H);if(!N&&!re){let h=Ge(u,o,t,n);if(h){let B=n.getControlFault();if(B.kind==="fault")throw B.error;let Ie=new oe(o,[o,...h]);throw n.latchCycle(t,o,Ie),Ie}}if(!K){let h=i?.dependencies[r.length];a?.add(u),r.push(h!==void 0&&Object.is(h.node,u)&&Object.is(h.token,A.token)?h:Object.freeze({node:u,token:A.token}))}if(D=x,G=H,A.outcome.kind==="control-error"){n.latchControlFault(A.outcome.error);let h=n.getControlFault();if(h.kind==="fault")throw h.error;throw A.outcome.error}let Y=n.getControlFault();if(Y.kind==="fault")throw Y.error;if(A.outcome.kind==="error")throw new Te(u,A.outcome.error);return A.outcome.value};try{let u,m,k=!1;try{u=e.get(dt)}catch(_){k=!0,m=_}finally{f=!1}if(k)m=Ke(m,"getter");let y=k?void 0:Ye(u,"getter");pe();let I=n.getControlFault();if(I.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:I.error},r);let V=n.getCycle(t,o);if(V!==void 0)return g(o,t.createOutcomeToken(),{kind:"error",error:V},r);if(k)return g(o,t.createOutcomeToken(),{kind:"error",error:m instanceof F?m:new le(o,m)},r);if(y===void 0)throw Error("Selector result classification was not completed");let j=n.getControlFault();if(j.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:j.error},r);if(y.kind==="error")return g(o,t.createOutcomeToken(),{kind:"error",error:y.error instanceof F?y.error:new le(o,y.error)},r);let M=y.value,A;if(l){let _=e.equal??Object.is,K,x,H=!1;try{K=_(l.value,M)}catch(B){H=!0,x=Ke(B,"comparator")}let N=H?void 0:Ye(K,"comparator");pe();let re=n.getControlFault();if(re.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:re.error},r);let Y=n.getCycle(t,o);if(Y!==void 0)return g(o,t.createOutcomeToken(),{kind:"error",error:Y},r);if(H)return g(o,t.createOutcomeToken(),{kind:"error",error:x instanceof F?x:new ue(o,x)},r);if(N===void 0)throw Error("Selector comparator classification was not completed");let h=n.getControlFault();if(h.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:h.error},r);if(N.kind==="error")return g(o,t.createOutcomeToken(),{kind:"error",error:N.error instanceof F?N.error:new ue(o,N.error)},r);if(N.value!==!0&&N.value!==!1)return g(o,t.createOutcomeToken(),{kind:"error",error:new Re},r);if(N.value===!0)M=l.value,A=l.current?l.token:void 0}return g(o,A??t.createOutcomeToken(),{kind:"value",value:M},r)}finally{n.leave(t,o)}};var Xe=Symbol("no-committed-selector-baseline");class he{#t;#n=new Map;#o=new Map;#r=new Map;#s;#a=1;#i=0;constructor(e,t){this.#t=e,this.#s=t}readSelector(e){let t=new S,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#s+1)throw Error("Scratch selector generation is not contiguous");this.#s=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#r.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>fe(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#i++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#i}getComparisonBaseline(e){let t=this.#r.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??Xe,this.#r.set(e,t);return t===Xe?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#a++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}class Je{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class Se{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#r=new WeakMap;#s=new WeakSet;#a=0;#i;#c="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#l(),this.#n=this.#l()}get status(){return this.#c}get facade(){if(this.#i===void 0)throw Error("Store scope facade is not installed");return this.#i}installFacade(e){if(this.#i!==void 0)throw Error("Store scope facade is already installed");this.#i=e}markDisposing(){if(this.#c==="live")this.#c="disposing"}markDisposed(){this.#c="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#s.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#l()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#s.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#r.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#s.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#r=new WeakMap,this.#s=new WeakSet}serve(e,t){let n=this.coordinator.runtimeDomain;if(L(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r),i=this.#o.get(r);if(i!==void 0&&!this.#s.has(r))return i.served;let s=te(n,t,()=>fe(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#f(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#a}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#f(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess});if(this.#u(e,o?.dependencies??At,t.dependencies),this.#a++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#s.delete(e),o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#u(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return}for(let o of t){let r=this.#r.get(o.node);if(r?.delete(e),r?.isEmpty())this.#r.delete(o.node)}for(let o of n){let r=this.#r.get(o.node);if(r===void 0)r=this.#l(),this.#r.set(o.node,r);r.add(e)}}#l(){return new Je(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var At=Object.freeze([]);class Ce{transaction=Object.freeze({});#t;#n;#o;#r;#s;#a;#i;#c;#f;#u;#l;#h;#b;#p;#S;#m;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#r!==void 0||this.#s!==void 0||this.#a!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#r===void 0?this.#o:void 0}stage(e,t){let n=this.#a;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#d(),n.set(e,i);i.set(t.atom,t),this.#y();return}let o=this.#s;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#d();i.set(this.#n,o);let s=this.#d();s.set(t.atom,t),i.set(e,s),this.#a=i,this.#s=void 0,this.#n=void 0}this.#y();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#y();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#y();return}if(Object.is(this.#n,e)){let i=this.#r;if(i===void 0){this.#r=t,this.#y();return}if(Object.is(i.atom,t.atom)){this.#r=t,this.#y();return}let s=this.#d();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#s=s}else{let i=this.#d(),s=this.#d();if(s.set(r.atom,r),this.#r!==void 0)s.set(this.#r.atom,this.#r);i.set(this.#n,s);let a=this.#d();a.set(t.atom,t),i.set(e,a),this.#a=i,this.#n=void 0}this.#o=void 0,this.#r=void 0,this.#y()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#r!==void 0)e(this.#n,this.#r);return}let n=this.#s;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#a;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#r;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#s?.get(t);return this.#a?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#f!==void 0&&Object.is(this.#i,e)&&Object.is(this.#c,t))return this.#f;if(this.#l!==void 0&&Object.is(this.#i,e)&&Object.is(this.#u,t))return this.#l;if(Object.is(this.#i,e))return this.#h?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#d(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#h;if(r!==void 0){if(Object.is(this.#i,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#d();s.set(this.#i,r);let a=this.#d();a.set(t,n),s.set(e,a),this.#b=s,this.#h=void 0,this.#i=void 0}return}let i=this.#f;if(i===void 0){this.#i=e,this.#c=t,this.#f=n;return}if(Object.is(this.#i,e)&&Object.is(this.#c,t))return;if(Object.is(this.#i,e)){let s=this.#l;if(s===void 0){this.#u=t,this.#l=n;return}if(Object.is(this.#u,t))return;let a=this.#d();a.set(this.#c,i),a.set(this.#u,s),a.set(t,n),this.#h=a}else{let s=this.#d(),a=this.#d();if(a.set(this.#c,i),this.#u!==void 0&&this.#l!==void 0)a.set(this.#u,this.#l);s.set(this.#i,a);let c=this.#d();c.set(t,n),s.set(e,c),this.#b=s,this.#i=void 0}this.#c=void 0,this.#f=void 0,this.#u=void 0,this.#l=void 0}getFallback(e){if(Object.is(this.#p,e))return this.#S;return this.#m?.get(e)}hasFallback(e){return Object.is(this.#p,e)||(this.#m?.has(e)??!1)}setFallback(e,t){let n=this.#m;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#p=e,this.#S=t;return}if(Object.is(this.#p,e)){this.#S=t;return}let o=this.#d();o.set(this.#p,this.#S),o.set(e,t),this.#m=o,this.#p=void 0,this.#S=void 0}forEachFallback(e){if(this.#p!==void 0&&this.#S!==void 0)e(this.#p,this.#S);if(this.#m!==void 0)for(let[t,n]of this.#m)e(t,n)}#y(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#s?.clear(),this.#a!==void 0){for(let e of this.#a.values())e.clear();this.#a.clear()}if(this.#h?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#m?.clear(),this.#n=void 0,this.#o=void 0,this.#r=void 0,this.#s=void 0,this.#a=void 0,this.#i=void 0,this.#c=void 0,this.#f=void 0,this.#u=void 0,this.#l=void 0,this.#h=void 0,this.#b=void 0,this.#p=void 0,this.#S=void 0,this.#m=void 0,this.#e?.clear(),this.#e=void 0}#d(){return this.#t?.(),new Map}}class Ze{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ne(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var Ve=(e,t,n)=>new Ze(e,t,n),Ne=(e)=>{let t=R(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw O(t),new Q},et=(e)=>{let t=R(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw O(t),new Q};var bt=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},kt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31});var wt=new WeakMap;var T=(e)=>Object.freeze({kind:"value",value:e}),vt=(e)=>Object.freeze({kind:"error",error:e}),tt=(e)=>e.kind==="value"?T(e.value):vt(e.error),nt=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},ot=1,Ee=2,rt=4,gt=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),je=(e)=>(e.onAllocation?.(),new Map),Tt=(e)=>(e.onAllocation?.(),new Set),De=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},it=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=je(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=je(e),r.set(t,i);i.set(n,o)},Rt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Tt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Ot=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=je(e),e.affected=o;o.set(t,n)};class at{#t=new WeakMap;#n;#o=1;#r=0;#s=!1;#a;#i;#c;#f=0;#u;#l;#h;#b=1;#p=0;#S;#m;#e;#y;constructor(e,t){this.#e=e,this.#y=t===void 0?void 0:wt.get(t),this.#n=new Se(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#s}get instrumented(){return this.#y!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#y;if(n===void 0)return;n[kt[e]]+=t}#d(){return this.recordCounter("draftCreations"),new Ce(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new S,o=t,r=E(this.#e,o,n),i=ge(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":E(this.#e,o,r=new S);if(C(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new S);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#h;if(a===void 0){if(a=new Map,this.#h=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return bt(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Le(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#h,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#h=void 0}set(e,t,n){this.#T(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#T(e,t,"StoreTree.update","update",n)}reset(e,t){this.#T(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)E(this.#e,n,new S);if(C(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#D(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#D(e,n)}dispose(e){if(C(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t){if(C(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function")throw TypeError("StoreTree.txn requires a callback function");let n=this.#d(),o=Ve(this,n,e),r;try{r=Be(this.#e,n.transaction,()=>t(o))}catch(i){throw n.close(),n.release(),i}n.close();try{let i=new S;ae(this.#e,i,()=>Ne(r)),this.#I(n)}finally{n.release()}return r}readHydrationSnapshot(e,t){let n=new S,o=t,r=E(this.#e,o,n);if(C(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#d(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#G(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new S,i=E(this.#e,o,r);if(ce(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new S;this.#R(e,t,r,i,"Transaction.set"),this.#x(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new S;this.#R(e,t,r,i,"Transaction.update"),this.#P(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new S;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new S;if(typeof n!=="string")E(this.#e,n,i);ce(this.#e,e.transaction,e.active),this.#A(t);let s=this.#K(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=Ve(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let f=new S;return ae(this.#e,f,()=>et(l))}let d=new S;return ae(this.#e,d,()=>Ne(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#E(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>te(this.#e,n,o)}),e.generation)}#G(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#E(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>te(this.#e,n,o)}),e.generation)}#E(e,t){if(L(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#D(e,t){let n=new Se(this,e,t);this.recordCounter("scopeNodesCreated");let o=new xe(this,n);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#K(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new ke;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new we;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ie;throw new se}throw new se}#A(e){if(e.status!=="live")throw new be}#Y(e,t,n,o){let r=E(this.#e,t,n);C(this.#e,o),this.#A(e),this.#j(t,r,o)}#T(e,t,n,o,r){let i=t,s=new S;this.#Y(e,i,s,n);let a=this.#d();try{if(o==="set")this.#x(a,e,i,r,s);else if(o==="update")this.#P(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#I(a)}finally{a.release()}}#$(e){let t=this.#h,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#h=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=E(this.#e,n,o);ce(this.#e,e.transaction,e.active),this.#A(t),this.#j(n,i,r)}#j(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#x(e,t,n,o,r){let i=P(this.#e,r,()=>Z(o));if(i.kind==="error")throw i.error;let s=this.#O(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#P(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#O(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#J(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#O(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0}):this.#F(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#O(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=T(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#C(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#F(e,t,n,o).outcome}#F(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:T(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:T(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0})}#C(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#w(t);if(r.fallback.kind==="eager")return T(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=tt(P(this.#e,n,()=>ve(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#w(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#X(r,t,n,o)?t:n}#X(e,t,n,o){return P(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=R(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw O(a),new J}let i=R(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw O(i),new J;if(r!==!0&&r!==!1)throw new J;return r})}#J(e,t,n){return P(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=R(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw O(s),new X}let r=Z(o);if(r.kind==="error")throw r.error;return r.value})}#I(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=gt(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#M(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#M(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#_(e,r),i!==void 0)for(let a of i)this.#_(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let c=this.#H(a);s||=c}if(this.#B(r),i!==void 0)for(let a of i)this.#B(a);this.#ie();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#V(o,d,l);let{secondAffectedRecord:f,secondAffectedBefore:b}=o;if(f!==void 0&&b!==void 0){let p=this.#V(o,f,b);if(p!==void 0)if(a===void 0)a=p;else c=[p]}if(o.affected!==void 0)for(let[p,v]of o.affected){let D=this.#V(o,p,v);if(D===void 0)continue;if(a===void 0)a=D;else{if(c===void 0)c=[];c.push(D)}}if(s)this.#r+=1,this.recordCounter("sourceEpoch");this.#re(a,c)}catch(a){throw this.#v(),a}}#M(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#Z(e,s,o);return i}#_(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#B({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#ne(e.parent,t.atom))}#V(e,t,n){let o=De(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),nt(n,o))return;return t.scope.updateAtomView(t,o),t}#Z(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Rt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(nt(i,s))continue;Ot(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#L(e,t,n,o){let r=De(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=De(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=T(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=T(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#ee(e,n),s!==void 0)it(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)it(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#ee(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#w(t);if(r.fallback.kind==="eager")return T(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#te(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#w(e);if(n.fallback.kind==="eager")return T(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#ne(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,T(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#te(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,T(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#oe(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#oe(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#w(e);if(o.fallback.kind==="eager")return T(o.fallback.value);let r=o.fallback.initialize,i=tt(P(this.#e,t,()=>ve(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#w(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#re(e,t){if(e===void 0){this.#v();return}this.recordCounter("propagationSettlements"),this.#a=[],this.#i=void 0,this.#c=void 0,this.#f=0,this.#u=void 0,this.#l=void 0,this.#s=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#a.length){let r=this.#a[o++],i=this.#a[o++];this.#N(r,i)}}finally{n=this.#l,this.#l=void 0,this.#s=!1,this.#a=void 0,this.#i=void 0,this.#c=void 0,this.#f=0,this.#u=void 0}this.#se(n)}#ie(){this.#S=void 0,this.#m=void 0,this.#p=this.#h===void 0?0:this.#b++}#v(){this.#p=0,this.#S=void 0,this.#m=void 0}reachSubscriptionTarget(e,t){let n=this.#p,o=this.#h?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#m===void 0)this.#m=[o];else this.#m.push(o)}#se(e){let t=this.#S;if(t===void 0){if(this.#v(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let f=l.callback;if(f!==void 0)if(n===void 0)n=f;else if(o===void 0)o=[n,f];else o.push(f);l=l.next}};r(t);let i=this.#m;if(i!==void 0)for(let d of i)r(d);if(this.#v(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new S,f=!1,b;try{He(this.#e,l,()=>{try{let p=d(),v=R(p);if(v.kind==="thenable")O(v);else if(v.kind==="inspection-error")f=!0,b=v.error}catch(p){f=!0,b=p;let v=R(p);if(v.kind==="thenable")O(v)}})}catch(p){f=!0,b=p}if(f){if(c===void 0)c=[];if(c.push(b),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new Ae(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#a;if(n===void 0)return!1;if((this.#W(e,t)&ot)!==0)return!0;return this.#g(e,t,ot),n.push(e,t),!0}prepareSelectorRead(e,t){if(this.#a===void 0)return;this.#N(e,t)}#N(e,t){if((this.#W(e,t)&(rt|Ee))!==0)return;this.#g(e,t,Ee);try{let o=e.getCommittedSelectorDependencies(t);if(o!==void 0){for(let r of o)if(this.#e.selectors.has(r.node))this.#N(e,r.node)}if(e.isSelectorDirty(t))e.serve(t,new S);this.#g(e,t,rt)}finally{this.#g(e,t,0,Ee)}}#W(e,t){if(Object.is(this.#i,e)&&Object.is(this.#c,t))return this.#f;return this.#u?.get(e)?.get(t)??0}#g(e,t,n,o=0){if(this.#i===void 0){this.#i=e,this.#c=t,this.#f=n&~o;return}if(Object.is(this.#i,e)&&Object.is(this.#c,t)){this.#f=(this.#f|n)&~o;return}let r=this.#u;if(r===void 0)r=new Map,this.#u=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#l??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class xe{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t){this.get=(n)=>e.get(t,n),this.sub=(n,o)=>e.sub(t,n,o),this.set=(n,o)=>e.set(t,n,o),this.update=(n,o)=>e.update(t,n,o),this.reset=(n)=>e.reset(t,n),this.txn=(n)=>e.txn(t,n),this.scope=function(n){return e.scope(t,arguments.length,n)},this.dispose=()=>e.dispose(t),t.installFacade(this),ne(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),Object.freeze(this)}}var st=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return e.equal===void 0?{}:{equal:e.equal}},ct=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new S,f=P(t,l,()=>Z(c));if(f.kind==="error")throw f.error;let b=de("atom",t.ownerToken);return t.states.add(b),t.atoms.set(b,Object.freeze({fallback:Object.freeze({kind:"eager",value:f.value}),...st(d)})),b},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=de("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...st(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=de("selector",t.ownerToken),f=Object.freeze({node:l,get:c,...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,f),l},i=(c)=>{let d=new S;if(E(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(C(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw ge(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw C(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw C(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:()=>{C(t,"createStoreTree");let c=new at(t,e);return new xe(c,c.rootScope)}})};var Kt=ct();
|
|
2
|
+
export{ye as a,Ae as b,W as c,U as d,q as e,ie as f,Q as g,X as h,J as i,be as j,ke as k,we as l,se as m,oe as n,Kt as o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{o as e}from"../chunk-13jzc8rs.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Me=Object.freeze({kind:"not-thenable"}),lt=()=>{},ut=Reflect.apply,_e=Symbol.for("valdres.runtime-owner/v1");class w extends Error{seal(){Object.freeze(this)}}class ye extends w{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Ae extends w{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class W extends w{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class U extends w{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class q extends w{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ie extends w{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class Q extends w{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class X extends w{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class J extends w{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class be extends w{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class ke extends w{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class we extends w{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class se extends w{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var R=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Me;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Me}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},O=(e)=>{try{ut(e.then,e.target,[void 0,lt])}catch{}},Z=(e)=>{let t=R(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return O(t),Object.freeze({kind:"error",error:new X})},ve=(e)=>{try{return Z(e())}catch(t){let n=R(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return O(n),Object.freeze({kind:"error",error:new X})}},ee=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},P=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},He=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},te=(e,t,n)=>ee(e,Object.freeze({kind:"selector",session:t}),n),Be=(e,t,n)=>ee(e,Object.freeze({kind:"transaction",transaction:t}),n),ae=(e,t,n)=>{try{let o=ee(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},C=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new U(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new q;throw new W},ge=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new U(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new q;throw new W},Le=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new U("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new q;throw new W},ce=(e,t,n)=>{if(!n)throw new ie;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new U("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new W;throw new q},We=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},L=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,_e);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new ye;throw We(e,n).latchControlFault(r),r}}return"invalid"},E=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=We(e,n);if(o!==void 0&&"session"in o)try{let i=L(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return P(e,r,()=>L(e,t,r))},ne=(e,t)=>(Object.defineProperty(e,_e,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),de=(e,t)=>Object.freeze(ne({kind:e},t));class z extends Error{seal(){Object.freeze(this)}}class le extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class Te extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class oe extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class Re extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ue extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class Oe extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}class S{#t=[];#n;#o=0;#r;#s=ft;latchControlFault(e){if(this.#s.kind==="fault")return;this.#s=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#s}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#r??(this.#r=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#r?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#a(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#a(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#i(e,t);o.cycleError??=n}getCycle(e,t){return this.#a(e,t).cycleError}#a(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#i(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var ft=Object.freeze({kind:"none"});var Ue=Object.freeze({kind:"not-thenable"}),ht=()=>{},St=Reflect.apply,qe=Symbol("selector dependency path root"),$e=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ue;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ue}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},Qe=(e)=>{try{St(e.then,e.target,[void 0,ht])}catch{}},mt=(e)=>Object.freeze(e),pt=(e)=>Object.freeze(e),g=(e,t,n,o)=>{let r=pt(o);return Object.freeze({selector:e,token:t,outcome:mt(n),dependencies:r,attemptedPrefix:n.kind==="value"?yt:Object.freeze(r.map((i)=>i.node))})},yt=Object.freeze([]),Ge=(e,t,n,o)=>{let r=[e],i=new Map([[e,qe]]);while(r.length>0){let s=r.pop();if(Object.is(s,t)){let d=[],l=s;while(l!==qe)d.push(l),l=i.get(l);return d.reverse(),Object.freeze(d)}let a=o.getTransientDependencies(n,s);if(a){for(let d of a){if(i.has(d.node))continue;i.set(d.node,s),r.push(d.node)}continue}let c=n.getSelectorRecord(s);if(!c)continue;for(let d of c.dependencies){if(i.has(d.node))continue;i.set(d.node,s),r.push(d.node)}}return},Ke=(e,t)=>{let n=$e(e);if(n.kind==="thenable")return Qe(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},Ye=(e,t)=>{let n=$e(e);if(n.kind==="thenable")return Qe(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},fe=(e,t,n)=>{let{node:o}=e,r=[],i=t.getSelectorRecord(o),s=i?.dependencies,a=s===void 0?new Set:void 0,c,d=0,l=t.getComparisonBaseline(o),f=!0,b=()=>{let u=a;if(u!==void 0)return u;u=new Set;for(let m of r)u.add(m.node);return a=u,u};n.enter(t,o,r);let p=t.getSelectorGraphVersion(),v=n.getSelectorGraphPublicationCount(t),D=p,G=v,Pe=p,ze=v,me=(u,m,k,y)=>k-u===y-m,Fe=(u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t),k=me(D,G,u,m))=>{if(k){D=u,G=m;return}for(let y=0;y<r.length;y++){let I=r[y],V=Ge(I.node,o,t,n);if(!V)continue;if(a!==void 0)for(let A=r.length-1;A>=y;A--)a.delete(r[A].node);if(r.length=y,d++,n.getControlFault().kind==="fault")return;let M=new oe(o,[o,...V]);n.latchCycle(t,o,M);return}D=u,G=m},pe=()=>{let u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t);Pe=u,ze=m;let k=me(D,G,u,m);if(!k)n.revalidateAncestorPrefixes(t,o);Fe(u,m,k)};n.setPrefixRevalidator(t,o,Fe);let dt=(u)=>{if(!f)throw new Oe;let m=n.getControlFault();if(m.kind==="fault")throw m.error;let k=n.getCycle(t,o);if(k!==void 0)throw k;let y=n.activeCyclePath(t,u);if(y){let h=new oe(o,y);throw n.latchCycle(t,o,h),h}let I=r.length,V,j=!1;if(a===void 0){let h=s?.[I];if(h!==void 0&&Object.is(h.node,u))V=!1,j=!0;else V=b().has(u)}else V=a.has(u);if(!V&&!j&&s!==void 0&&s.length>0){let h=s[r.length];if(h!==void 0&&Object.is(h.node,u))j=!0;else{if(c===void 0){c=new Set;for(let B of s)c.add(B.node)}j=c.has(u)}}let M=d,A=t.serve(u,n);pe();let _=n.getCycle(t,o);if(_!==void 0)throw _;let K=a!==void 0?a.has(u):d===M&&r.length===I?!1:b().has(u),x=Pe,H=ze,N=K||j&&x===p,re=s===void 0&&me(p,v,x,H);if(!N&&!re){let h=Ge(u,o,t,n);if(h){let B=n.getControlFault();if(B.kind==="fault")throw B.error;let Ie=new oe(o,[o,...h]);throw n.latchCycle(t,o,Ie),Ie}}if(!K){let h=i?.dependencies[r.length];a?.add(u),r.push(h!==void 0&&Object.is(h.node,u)&&Object.is(h.token,A.token)?h:Object.freeze({node:u,token:A.token}))}if(D=x,G=H,A.outcome.kind==="control-error"){n.latchControlFault(A.outcome.error);let h=n.getControlFault();if(h.kind==="fault")throw h.error;throw A.outcome.error}let Y=n.getControlFault();if(Y.kind==="fault")throw Y.error;if(A.outcome.kind==="error")throw new Te(u,A.outcome.error);return A.outcome.value};try{let u,m,k=!1;try{u=e.get(dt)}catch(_){k=!0,m=_}finally{f=!1}if(k)m=Ke(m,"getter");let y=k?void 0:Ye(u,"getter");pe();let I=n.getControlFault();if(I.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:I.error},r);let V=n.getCycle(t,o);if(V!==void 0)return g(o,t.createOutcomeToken(),{kind:"error",error:V},r);if(k)return g(o,t.createOutcomeToken(),{kind:"error",error:m instanceof F?m:new le(o,m)},r);if(y===void 0)throw Error("Selector result classification was not completed");let j=n.getControlFault();if(j.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:j.error},r);if(y.kind==="error")return g(o,t.createOutcomeToken(),{kind:"error",error:y.error instanceof F?y.error:new le(o,y.error)},r);let M=y.value,A;if(l){let _=e.equal??Object.is,K,x,H=!1;try{K=_(l.value,M)}catch(B){H=!0,x=Ke(B,"comparator")}let N=H?void 0:Ye(K,"comparator");pe();let re=n.getControlFault();if(re.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:re.error},r);let Y=n.getCycle(t,o);if(Y!==void 0)return g(o,t.createOutcomeToken(),{kind:"error",error:Y},r);if(H)return g(o,t.createOutcomeToken(),{kind:"error",error:x instanceof F?x:new ue(o,x)},r);if(N===void 0)throw Error("Selector comparator classification was not completed");let h=n.getControlFault();if(h.kind==="fault")return g(o,t.createOutcomeToken(),{kind:"control-error",error:h.error},r);if(N.kind==="error")return g(o,t.createOutcomeToken(),{kind:"error",error:N.error instanceof F?N.error:new ue(o,N.error)},r);if(N.value!==!0&&N.value!==!1)return g(o,t.createOutcomeToken(),{kind:"error",error:new Re},r);if(N.value===!0)M=l.value,A=l.current?l.token:void 0}return g(o,A??t.createOutcomeToken(),{kind:"value",value:M},r)}finally{n.leave(t,o)}};var Xe=Symbol("no-committed-selector-baseline");class he{#t;#n=new Map;#o=new Map;#r=new Map;#s;#a=1;#i=0;constructor(e,t){this.#t=e,this.#s=t}readSelector(e){let t=new S,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#s+1)throw Error("Scratch selector generation is not contiguous");this.#s=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#r.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>fe(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#i++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#i}getComparisonBaseline(e){let t=this.#r.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??Xe,this.#r.set(e,t);return t===Xe?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#a++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}class Je{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class Se{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#r=new WeakMap;#s=new WeakSet;#a=0;#i;#c="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#l(),this.#n=this.#l()}get status(){return this.#c}get facade(){if(this.#i===void 0)throw Error("Store scope facade is not installed");return this.#i}installFacade(e){if(this.#i!==void 0)throw Error("Store scope facade is already installed");this.#i=e}markDisposing(){if(this.#c==="live")this.#c="disposing"}markDisposed(){this.#c="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#s.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#l()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#s.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#r.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#s.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#r=new WeakMap,this.#s=new WeakSet}serve(e,t){let n=this.coordinator.runtimeDomain;if(L(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r),i=this.#o.get(r);if(i!==void 0&&!this.#s.has(r))return i.served;let s=te(n,t,()=>fe(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#f(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#a}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#f(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess});if(this.#u(e,o?.dependencies??At,t.dependencies),this.#a++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#s.delete(e),o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#u(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return}for(let o of t){let r=this.#r.get(o.node);if(r?.delete(e),r?.isEmpty())this.#r.delete(o.node)}for(let o of n){let r=this.#r.get(o.node);if(r===void 0)r=this.#l(),this.#r.set(o.node,r);r.add(e)}}#l(){return new Je(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var At=Object.freeze([]);class Ce{transaction=Object.freeze({});#t;#n;#o;#r;#s;#a;#i;#c;#f;#u;#l;#h;#b;#p;#S;#m;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#r!==void 0||this.#s!==void 0||this.#a!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#r===void 0?this.#o:void 0}stage(e,t){let n=this.#a;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#d(),n.set(e,i);i.set(t.atom,t),this.#y();return}let o=this.#s;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#d();i.set(this.#n,o);let s=this.#d();s.set(t.atom,t),i.set(e,s),this.#a=i,this.#s=void 0,this.#n=void 0}this.#y();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#y();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#y();return}if(Object.is(this.#n,e)){let i=this.#r;if(i===void 0){this.#r=t,this.#y();return}if(Object.is(i.atom,t.atom)){this.#r=t,this.#y();return}let s=this.#d();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#s=s}else{let i=this.#d(),s=this.#d();if(s.set(r.atom,r),this.#r!==void 0)s.set(this.#r.atom,this.#r);i.set(this.#n,s);let a=this.#d();a.set(t.atom,t),i.set(e,a),this.#a=i,this.#n=void 0}this.#o=void 0,this.#r=void 0,this.#y()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#r!==void 0)e(this.#n,this.#r);return}let n=this.#s;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#a;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#r;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#s?.get(t);return this.#a?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#f!==void 0&&Object.is(this.#i,e)&&Object.is(this.#c,t))return this.#f;if(this.#l!==void 0&&Object.is(this.#i,e)&&Object.is(this.#u,t))return this.#l;if(Object.is(this.#i,e))return this.#h?.get(t);return this.#b?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#b;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#d(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#h;if(r!==void 0){if(Object.is(this.#i,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#d();s.set(this.#i,r);let a=this.#d();a.set(t,n),s.set(e,a),this.#b=s,this.#h=void 0,this.#i=void 0}return}let i=this.#f;if(i===void 0){this.#i=e,this.#c=t,this.#f=n;return}if(Object.is(this.#i,e)&&Object.is(this.#c,t))return;if(Object.is(this.#i,e)){let s=this.#l;if(s===void 0){this.#u=t,this.#l=n;return}if(Object.is(this.#u,t))return;let a=this.#d();a.set(this.#c,i),a.set(this.#u,s),a.set(t,n),this.#h=a}else{let s=this.#d(),a=this.#d();if(a.set(this.#c,i),this.#u!==void 0&&this.#l!==void 0)a.set(this.#u,this.#l);s.set(this.#i,a);let c=this.#d();c.set(t,n),s.set(e,c),this.#b=s,this.#i=void 0}this.#c=void 0,this.#f=void 0,this.#u=void 0,this.#l=void 0}getFallback(e){if(Object.is(this.#p,e))return this.#S;return this.#m?.get(e)}hasFallback(e){return Object.is(this.#p,e)||(this.#m?.has(e)??!1)}setFallback(e,t){let n=this.#m;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#p=e,this.#S=t;return}if(Object.is(this.#p,e)){this.#S=t;return}let o=this.#d();o.set(this.#p,this.#S),o.set(e,t),this.#m=o,this.#p=void 0,this.#S=void 0}forEachFallback(e){if(this.#p!==void 0&&this.#S!==void 0)e(this.#p,this.#S);if(this.#m!==void 0)for(let[t,n]of this.#m)e(t,n)}#y(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#s?.clear(),this.#a!==void 0){for(let e of this.#a.values())e.clear();this.#a.clear()}if(this.#h?.clear(),this.#b!==void 0){for(let e of this.#b.values())e.clear();this.#b.clear()}this.#m?.clear(),this.#n=void 0,this.#o=void 0,this.#r=void 0,this.#s=void 0,this.#a=void 0,this.#i=void 0,this.#c=void 0,this.#f=void 0,this.#u=void 0,this.#l=void 0,this.#h=void 0,this.#b=void 0,this.#p=void 0,this.#S=void 0,this.#m=void 0,this.#e?.clear(),this.#e=void 0}#d(){return this.#t?.(),new Map}}class Ze{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ne(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var Ve=(e,t,n)=>new Ze(e,t,n),Ne=(e)=>{let t=R(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw O(t),new Q},et=(e)=>{let t=R(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw O(t),new Q};var bt=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},kt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31});var wt=new WeakMap;var T=(e)=>Object.freeze({kind:"value",value:e}),vt=(e)=>Object.freeze({kind:"error",error:e}),tt=(e)=>e.kind==="value"?T(e.value):vt(e.error),nt=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},ot=1,Ee=2,rt=4,gt=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),je=(e)=>(e.onAllocation?.(),new Map),Tt=(e)=>(e.onAllocation?.(),new Set),De=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},it=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=je(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=je(e),r.set(t,i);i.set(n,o)},Rt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Tt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Ot=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=je(e),e.affected=o;o.set(t,n)};class at{#t=new WeakMap;#n;#o=1;#r=0;#s=!1;#a;#i;#c;#f=0;#u;#l;#h;#b=1;#p=0;#S;#m;#e;#y;constructor(e,t){this.#e=e,this.#y=t===void 0?void 0:wt.get(t),this.#n=new Se(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#s}get instrumented(){return this.#y!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#y;if(n===void 0)return;n[kt[e]]+=t}#d(){return this.recordCounter("draftCreations"),new Ce(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new S,o=t,r=E(this.#e,o,n),i=ge(this.#e,"StoreTree.get");if(this.#A(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":E(this.#e,o,r=new S);if(C(this.#e,"StoreTree.sub"),this.#A(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new S);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#h;if(a===void 0){if(a=new Map,this.#h=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return bt(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Le(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#h,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#h=void 0}set(e,t,n){this.#T(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#T(e,t,"StoreTree.update","update",n)}reset(e,t){this.#T(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)E(this.#e,n,new S);if(C(this.#e,"StoreTree.scope"),this.#A(e),t===0)return this.#D(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#D(e,n)}dispose(e){if(C(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t){if(C(this.#e,"StoreTree.txn"),this.#A(e),typeof t!=="function")throw TypeError("StoreTree.txn requires a callback function");let n=this.#d(),o=Ve(this,n,e),r;try{r=Be(this.#e,n.transaction,()=>t(o))}catch(i){throw n.close(),n.release(),i}n.close();try{let i=new S;ae(this.#e,i,()=>Ne(r)),this.#I(n)}finally{n.release()}return r}readHydrationSnapshot(e,t){let n=new S,o=t,r=E(this.#e,o,n);if(C(this.#e,"adapter readHydrationSnapshot"),this.#A(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#d(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#G(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new S,i=E(this.#e,o,r);if(ce(this.#e,e.transaction,e.active),this.#A(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new S;this.#R(e,t,r,i,"Transaction.set"),this.#x(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new S;this.#R(e,t,r,i,"Transaction.update"),this.#P(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new S;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new S;if(typeof n!=="string")E(this.#e,n,i);ce(this.#e,e.transaction,e.active),this.#A(t);let s=this.#K(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=Ve(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let f=new S;return ae(this.#e,f,()=>et(l))}let d=new S;return ae(this.#e,d,()=>Ne(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#E(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>te(this.#e,n,o)}),e.generation)}#G(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#E(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>te(this.#e,n,o)}),e.generation)}#E(e,t){if(L(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#D(e,t){let n=new Se(this,e,t);this.recordCounter("scopeNodesCreated");let o=new xe(this,n);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#K(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new ke;return this.#A(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#A(i),!Object.is(i.coordinator,this))throw new we;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ie;throw new se}throw new se}#A(e){if(e.status!=="live")throw new be}#Y(e,t,n,o){let r=E(this.#e,t,n);C(this.#e,o),this.#A(e),this.#j(t,r,o)}#T(e,t,n,o,r){let i=t,s=new S;this.#Y(e,i,s,n);let a=this.#d();try{if(o==="set")this.#x(a,e,i,r,s);else if(o==="update")this.#P(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#I(a)}finally{a.release()}}#$(e){let t=this.#h,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#h=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=E(this.#e,n,o);ce(this.#e,e.transaction,e.active),this.#A(t),this.#j(n,i,r)}#j(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#x(e,t,n,o,r){let i=P(this.#e,r,()=>Z(o));if(i.kind==="error")throw i.error;let s=this.#O(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#P(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#O(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#J(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#O(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0}):this.#F(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#O(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=T(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#C(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#F(e,t,n,o).outcome}#F(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:T(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:T(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#C(e,n,o),reachesFallback:!0})}#C(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#w(t);if(r.fallback.kind==="eager")return T(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=tt(P(this.#e,n,()=>ve(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#w(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#X(r,t,n,o)?t:n}#X(e,t,n,o){return P(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=R(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw O(a),new J}let i=R(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw O(i),new J;if(r!==!0&&r!==!1)throw new J;return r})}#J(e,t,n){return P(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=R(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw O(s),new X}let r=Z(o);if(r.kind==="error")throw r.error;return r.value})}#I(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=gt(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#M(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#M(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#_(e,r),i!==void 0)for(let a of i)this.#_(e,a);let s=this.#H(r);if(i!==void 0)for(let a of i){let c=this.#H(a);s||=c}if(this.#B(r),i!==void 0)for(let a of i)this.#B(a);this.#ie();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#V(o,d,l);let{secondAffectedRecord:f,secondAffectedBefore:b}=o;if(f!==void 0&&b!==void 0){let p=this.#V(o,f,b);if(p!==void 0)if(a===void 0)a=p;else c=[p]}if(o.affected!==void 0)for(let[p,v]of o.affected){let D=this.#V(o,p,v);if(D===void 0)continue;if(a===void 0)a=D;else{if(c===void 0)c=[];c.push(D)}}if(s)this.#r+=1,this.recordCounter("sourceEpoch");this.#re(a,c)}catch(a){throw this.#v(),a}}#M(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#L(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#Z(e,s,o);return i}#_(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#H(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#B({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#ne(e.parent,t.atom))}#V(e,t,n){let o=De(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),nt(n,o))return;return t.scope.updateAtomView(t,o),t}#Z(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Rt(n,r))continue;let i=r.served.outcome,s=this.#L(e,r.scope,r.atom,n);if(nt(i,s))continue;Ot(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#L(e,t,n,o){let r=De(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=De(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=T(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=T(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#ee(e,n),s!==void 0)it(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)it(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#ee(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#w(t);if(r.fallback.kind==="eager")return T(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#te(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#w(e);if(n.fallback.kind==="eager")return T(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#ne(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,T(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#te(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,T(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#oe(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#oe(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#w(e);if(o.fallback.kind==="eager")return T(o.fallback.value);let r=o.fallback.initialize,i=tt(P(this.#e,t,()=>ve(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#w(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#re(e,t){if(e===void 0){this.#v();return}this.recordCounter("propagationSettlements"),this.#a=[],this.#i=void 0,this.#c=void 0,this.#f=0,this.#u=void 0,this.#l=void 0,this.#s=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#a.length){let r=this.#a[o++],i=this.#a[o++];this.#N(r,i)}}finally{n=this.#l,this.#l=void 0,this.#s=!1,this.#a=void 0,this.#i=void 0,this.#c=void 0,this.#f=0,this.#u=void 0}this.#se(n)}#ie(){this.#S=void 0,this.#m=void 0,this.#p=this.#h===void 0?0:this.#b++}#v(){this.#p=0,this.#S=void 0,this.#m=void 0}reachSubscriptionTarget(e,t){let n=this.#p,o=this.#h?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#m===void 0)this.#m=[o];else this.#m.push(o)}#se(e){let t=this.#S;if(t===void 0){if(this.#v(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let f=l.callback;if(f!==void 0)if(n===void 0)n=f;else if(o===void 0)o=[n,f];else o.push(f);l=l.next}};r(t);let i=this.#m;if(i!==void 0)for(let d of i)r(d);if(this.#v(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new S,f=!1,b;try{He(this.#e,l,()=>{try{let p=d(),v=R(p);if(v.kind==="thenable")O(v);else if(v.kind==="inspection-error")f=!0,b=v.error}catch(p){f=!0,b=p;let v=R(p);if(v.kind==="thenable")O(v)}})}catch(p){f=!0,b=p}if(f){if(c===void 0)c=[];if(c.push(b),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new Ae(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#a;if(n===void 0)return!1;if((this.#W(e,t)&ot)!==0)return!0;return this.#g(e,t,ot),n.push(e,t),!0}prepareSelectorRead(e,t){if(this.#a===void 0)return;this.#N(e,t)}#N(e,t){if((this.#W(e,t)&(rt|Ee))!==0)return;this.#g(e,t,Ee);try{let o=e.getCommittedSelectorDependencies(t);if(o!==void 0){for(let r of o)if(this.#e.selectors.has(r.node))this.#N(e,r.node)}if(e.isSelectorDirty(t))e.serve(t,new S);this.#g(e,t,rt)}finally{this.#g(e,t,0,Ee)}}#W(e,t){if(Object.is(this.#i,e)&&Object.is(this.#c,t))return this.#f;return this.#u?.get(e)?.get(t)??0}#g(e,t,n,o=0){if(this.#i===void 0){this.#i=e,this.#c=t,this.#f=n&~o;return}if(Object.is(this.#i,e)&&Object.is(this.#c,t)){this.#f=(this.#f|n)&~o;return}let r=this.#u;if(r===void 0)r=new Map,this.#u=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#l??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class xe{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t){this.get=(n)=>e.get(t,n),this.sub=(n,o)=>e.sub(t,n,o),this.set=(n,o)=>e.set(t,n,o),this.update=(n,o)=>e.update(t,n,o),this.reset=(n)=>e.reset(t,n),this.txn=(n)=>e.txn(t,n),this.scope=function(n){return e.scope(t,arguments.length,n)},this.dispose=()=>e.dispose(t),t.installFacade(this),ne(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),Object.freeze(this)}}var st=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return e.equal===void 0?{}:{equal:e.equal}},ct=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new S,f=P(t,l,()=>Z(c));if(f.kind==="error")throw f.error;let b=de("atom",t.ownerToken);return t.states.add(b),t.atoms.set(b,Object.freeze({fallback:Object.freeze({kind:"eager",value:f.value}),...st(d)})),b},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=de("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...st(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=de("selector",t.ownerToken),f=Object.freeze({node:l,get:c,...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,f),l},i=(c)=>{let d=new S;if(E(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(C(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw ge(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw C(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw C(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:()=>{C(t,"createStoreTree");let c=new at(t,e);return new xe(c,c.rootScope)}})};var Kt=ct();
|
|
2
|
+
export{ye as a,Ae as b,W as c,U as d,q as e,ie as f,Q as g,X as h,J as i,be as j,ke as k,we as l,se as m,oe as n,Kt as o};
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import{$ as Ft,$a as Cr,A as Xt,Aa as wo,B as Rt,Ba as Fo,C as Ie,Ca as Co,D as Re,Da as oe,E as Dr,Ea as ke,F as ie,Fa as rt,G as Mt,Ga as Dt,H as bo,Ha as ge,I,Ia as jr,J as $e,Ja as Rr,K as Kt,Ka as Sr,L as Wt,La as _t,M as R,Ma as X,N as Pt,Na as Ae,O as vr,Oa as or,P as Er,Pa as nr,Q as $t,Qa as gr,R as me,Ra as ir,S as re,Sa as vt,T as Nt,Ta as de,U as jt,Ua as sr,V as zt,Va as Ar,W as Lt,Wa as br,X as Bt,Xa as Vr,Y as xe,Ya as wr,Z as kt,_ as wt,_a as Fr,a as U,aa as ur,ab as Or,b as G,ba as yr,bb as zr,c as ye,ca as Ne,d as ce,da as Ir,e as Oe,ea as je,f as P,fa as xt,g as Z,ga as Ct,h as W,ha as Tt,i as j,ia as he,j as ut,ja as z,k as st,ka as it,l as St,la as qt,m as gt,ma as Ut,n as Y,na as Jt,o as Q,oa as J,p as At,pa as er,q as We,qa as tr,r as ve,ra as Ht,s as B,sa as rr,t as Se,ta as dr,u as bt,ua as nt,v as ne,va as Ee,w as Pe,wa as hr,x as Yt,xa as Nr,y as ze,ya as H,z as Qt,za as Vo}from"./chunk-9394dmvn.js";function qr(e,t){if(!t)return{equal:G,defaultValue:e};let r={equal:G,defaultValue:e,...t};if(t.name!==void 0)ye(t.name,r);return r}var K=(e)=>{throw TypeError(`valdres: unsupported family key value (${e}). Pass a deterministic options.keyOf function for this argument type.`)},Me=(e,t)=>{let r=t??new WeakSet;if(r.has(e))throw TypeError("valdres: cyclic family key values are not supported. Pass a deterministic options.keyOf function for cyclic arguments.");return r.add(e),r},et=(e,t)=>{if(Reflect.ownKeys(e).length>0)K(t)},Ur=(e)=>{if(Number.isNaN(e))return"nNaN;";if(e===1/0)return"nInfinity;";if(e===-1/0)return"n-Infinity;";if(Object.is(e,-0))return"n-0;";return`n${e};`},le=(e,t)=>{switch(typeof e){case"undefined":return"u;";case"boolean":return e?"b1;":"b0;";case"number":return Ur(e);case"bigint":return`i${e};`;case"string":return`s${e.length}:${e}`;case"symbol":return K("symbol");case"function":return K("function")}if(e===null)return"z;";if(typeof e!=="object")return K(typeof e);if(Array.isArray(e)){if(Object.getPrototypeOf(e)!==Array.prototype)return K("Array subclass");let o=Me(e,t);try{let i=[];for(let a of Reflect.ownKeys(e)){if(typeof a==="symbol")return K("symbol-keyed property");if(a==="length")continue;let n=a,m=Number(n);if(!Number.isInteger(m)||m<0||m>=e.length||String(m)!==n)return K("Array with non-index property");i.push(n)}i.sort((a,n)=>Number(a)-Number(n));let s=`r${e.length}:${i.length}:`;for(let a of i){let n=Object.getOwnPropertyDescriptor(e,a);if(n===void 0||!("value"in n))return K("Array accessor property");s+=`j${a};${le(n.value,o)}`}return s}finally{o.delete(e)}}let r=Object.getPrototypeOf(e);if(r===Object.prototype||r===null){let o=Me(e,t);try{let i=Reflect.ownKeys(e);for(let n of i)if(typeof n==="symbol")return K("symbol-keyed property");let s=i;s.sort();let a=`${r===null?"q":"o"}${s.length}:`;for(let n of s){let m=Object.getOwnPropertyDescriptor(e,n);if(m===void 0||!m.enumerable)return K("object with non-enumerable property");if(!("value"in m))return K("object accessor property");a+=`k${n.length}:${n}`,a+=le(m.value,o)}return a}finally{o.delete(e)}}if(r===Date.prototype){et(e,"Date with custom properties");try{return`d${Date.prototype.getTime.call(e)};`}catch{return K("non-Date object with Date prototype")}}if(r===Map.prototype){let o=Me(e,t);try{et(e,"Map with custom properties");let i=[],s;try{s=Map.prototype.entries.call(e)}catch{return K("non-Map object with Map prototype")}for(let[a,n]of s)i.push(le(a,o)+le(n,o));return i.sort(),`m${i.length}:${i.join("")}`}finally{o.delete(e)}}if(r===Set.prototype){let o=Me(e,t);try{et(e,"Set with custom properties");let i=[],s;try{s=Set.prototype.values.call(e)}catch{return K("non-Set object with Set prototype")}for(let a of s)i.push(le(a,o));return i.sort(),`e${i.length}:${i.join("")}`}finally{o.delete(e)}}if(r===Promise.prototype)return K("Promise");return K("non-plain object or class instance")},ht=(e)=>{if(e.length===1)return`a1:${le(e[0])}`;let t,r=`a${e.length}:`;for(let o of e){if(o!==null&&typeof o==="object")t??=new WeakSet;r+=le(o,t)}return r};var q=(e)=>{if(e.length===1){let t=e[0],r=typeof t;if(r==="boolean"||r==="bigint"||r==="number"&&!Object.is(t,-0))return t}return ht(e)};var Ke=(e)=>typeof e==="object"&&e!==null&&(Z(e)||W(e)),Ce=(e,t)=>{if(typeof e==="object"&&e!==null&&(Z(e)||W(e))){if(t.values.has(e))return t.values.get(e);return de(e,t,new Set)}return e};var ot=(e,t,r)=>{if(ge(e,r),ke(e,t,r),nt(e,r))X([e],r,void 0,"revalidate",We)},Jr=(e,t,r,o)=>{if(!o())return!1;return ot(e,t,r),!0},tt=(e,t,r)=>{let o=!0,i=()=>{if(!o)return;o=!1,re(t,i),oe.clearRelease(e,t,i),r()},s=oe.installRelease(e,t,i);if(s)re(t,s);me(t,i)},Hr=(e,t)=>{oe.peek(e,t)?.release?.()},Zr=(e,t)=>{let r=e,o=r.maxAge;if(o===void 0||t.parent)return!1;let i=Oe(r);if(i){if(r.cacheController!==void 0)return!1}let s=oe.peek(e,t);if(!i&&s?.release!==void 0)return!1;let a=s?.lastWriteAt;if(a===void 0)return!1;let n=typeof o==="number"?o:Ce(o,t);if(Date.now()-a<=n)return!1;return ge(r,t),t.values.delete(e),oe.clearWrite(r,t,s),!0},Vt=(e,t,r)=>{if(e.maxAge===void 0)return;let o=e,i=Oe(e)?e:void 0,s=i?.cacheController;if(s){s.refCount++,tt(e,t,()=>{if(s.refCount<=0)return;if(s.refCount--,s.refCount===0)try{s.cleanup()}finally{if(i.cacheController===s)i.cacheController=void 0}});let l=o.__cacheMeta??={equal:G,defaultValue:null,__valdresInternal:!0};for(let S of i.stores)if(S!==t&&S.values.has(l)){Jr(l,S.values.get(l),t,s.active);break}return}let a=new Set,n=!1,m=!1,c=0,y=Date.now(),A=Symbol(),f=A,u,F=[],V=(l)=>!m&&c===l&&!$e(t),d=()=>Ce(e.maxAge,t),h=()=>e.staleWhileRevalidate!==void 0?Ce(e.staleWhileRevalidate,t):1/0,C=()=>e.staleIfError!==void 0?Ce(e.staleIfError,t):1/0,x=o.__cacheMeta??={equal:G,defaultValue:null,__valdresInternal:!0},_=(l,S,b,O,w,N)=>{if(w&&!B&&t.architectureInstrumentation)gt(t);let ue=w?[...i.stores]:i.stores,ae=[];for(let E of ue){if(!V(b))break;try{let L=E.values.get(l),dt=he(l,E,L),Br=P(S);if(dt&&(Br||P(L)?L===S:l.equal(L,S))){if(N!==void 0)oe.recordWrite(l,E,N);continue}if(dt&&P(L))ge(l,E);if(ke(l,S,E),nt(l,E))ae.push(Pe(E,[l],void 0,void 0,void 0))}catch(L){Q(O,L)}}if(ae.length!==0)try{Ae(ae,void 0,void 0,"revalidate",O)}catch(E){Q(O,E)}},v=(l,S,b,O,w,N)=>{if(i)_(l,S,b,O,w,N);else ot(l,S,t)},k=(l,S,b,O)=>{if(!V(b))return!1;let w=Y();return v(l,S,b,w,O),At(w),!0},M=(l)=>{if(!B&&t.architectureInstrumentation)St(t);return{isRevalidating:l,lastSuccessAt:y,maxAge:d(),staleWhileRevalidate:h(),staleIfError:C()}},pe=(l)=>{let S=M(n);return k(x,S,l,!1)},Ye=()=>Date.now()-y>=d()+C(),Ge=(l)=>{if(!e.schema)return!0;if(e.schemaValidation===!1)return!0;if(e.schemaValidation===!0||!i)return rt(e,l,t);for(let S of i.stores)if(S.schemaValidation)return rt(e,l,S);return!0},Qe=(l,S,b,O)=>{if(i){_(e,l,S,b,!P(l),O);return}let w=t.values.get(e),N=he(e,t,w),ue=P(l);if(N&&(ue||P(w)?w===l:e.equal(w,l))){if(O!==void 0)oe.recordWrite(e,t,O);return}ot(e,l,t)},se=(l,S,b,O)=>{let w=Y();return ie(ne(t,bt,Se,w,void 0,void 0,()=>V(b),()=>{if(S)Qe(l,b,w,O);if(w.hasError||!V(b))return;let N=M(!1);v(x,N,b,w,!1)}))},Xe=()=>{if(i)for(let l of i.stores)return l;return t},yt=()=>{if(n||m)return;if(typeof e.defaultValue!=="function")return;let l=++c,S=Xe();if(S.values.has(e)){let w=S.values.get(e);if(!P(w))f=w}let b=e.defaultValue();if(P(b)){n=!0;let w=M(!0);k(x,w,l,!1);let N=w.staleWhileRevalidate,ue=(E)=>{if(!V(l))return;if(n=!1,!Ge(E)){if(!V(l))return;se(f,f!==A,l,void 0);return}if(!V(l))return;let L=Date.now();y=L,f=E,se(E,!0,l,L)},ae=()=>{if(!V(l))return;if(n=!1,!Ye()&&f!==A)se(f,!0,l,void 0);else se(b,!0,l,void 0)};if(N>0){let E;if(Number.isFinite(N))E=setTimeout(()=>{if(a.delete(E),!V(l)||!n)return;k(e,b,l,!P(b))},N),a.add(E);b.then((L)=>{if(E!==void 0)clearTimeout(E),a.delete(E);ue(L)},()=>{if(E!==void 0)clearTimeout(E),a.delete(E);ae()})}else k(e,b,l,!P(b)),b.then(ue,ae);return}if(!Ge(b))return;if(!V(l))return;let O=Date.now();y=O,f=b,se(b,!0,l,O)},p=()=>{u=setInterval(yt,d())},g=()=>{if(m)return;if(m=!0,c++,u!==void 0)clearInterval(u);for(let b of a)clearTimeout(b);a.clear();let l,S=!1;for(let b of F)try{b()}catch(O){if(!S)l=O,S=!0}if(S)throw l};try{if(p(),pe(c),!V(c)){g();return}if(Ke(e.maxAge))F.push(r(e.maxAge,()=>{if(u!==void 0)clearInterval(u);p(),pe(c)},!1,t));if(e.staleWhileRevalidate&&Ke(e.staleWhileRevalidate))F.push(r(e.staleWhileRevalidate,()=>pe(c),!1,t));if(e.staleIfError&&Ke(e.staleIfError))F.push(r(e.staleIfError,()=>pe(c),!1,t))}catch(l){try{g()}catch{}throw l}if(i){let l={cleanup:g,refCount:1,active:()=>!m};i.cacheController=l,tt(e,t,()=>{if(l.refCount<=0)return;if(l.refCount--,l.refCount===0){try{l.cleanup()}finally{if(i.cacheController===l)i.cacheController=void 0}return}let S=[];for(let w of i.stores)if(w!==t&&(w.subscriptions.get(e)?.size??0)>0)S.push(w);let b,O=!1;try{l.cleanup()}catch(w){b=w,O=!0}if(l.refCount=0,i.cacheController===l)i.cacheController=void 0;for(let w of S)try{Vt(e,w,r)}catch(N){if(!O)b=N,O=!0}if(O)throw b});return}tt(e,t,g)},Yr=(e)=>{let t=e.cacheController;if(!t)return;try{t.cleanup()}finally{if(t.refCount=0,e.cacheController===t)e.cacheController=void 0}},ee={retain:Vt,release:Hr,expireIfStale:Zr,stopGlobal:Yr};var be=Symbol.for("valdres.subscriptionEqualCheckCount"),Ot=(e,t,r)=>{let o=t,i=o[be]??0;if(i===0){o[be]=1,r.subscriptionsRequireEqualCheck.set(e,!0);return}o[be]=i+1},Qr=(e,t,r)=>{let o=t,i=o[be];if(i===void 0)return;if(i===1){if(o[be]=0,t.size!==0)r.subscriptionsRequireEqualCheck.set(e,void 0);return}o[be]=i-1},De=(e,t,r)=>{let o=r.subscriptions.get(e);if(o){if(o.delete(t)&&t.requireDeepEqualCheckBeforeCallback)Qr(e,o,r);if(o.size===0){if(r.subscriptionsRequireEqualCheck.delete(e),ee.release(e,r),r.subscriptions.delete(e),wt(e,r),W(e)&&r.cycleRiskInClosure.has(e)&&Ft(e,r))try{Ne(new Set([e]),r)}catch(s){if(!xe(e,r))it(e,r);throw s}if(!xe(e,r))try{Ct(e,r)}finally{it(e,r)}}}};var Xr=(e,t)=>{let r=new Set;return t.subscriptions.set(e,r),r},Ve=(e,t,r,o)=>{if(o.pendingOrphanCleanup===I)throw R(o);let i=Z(e),s=!i&&j(e),a=!i&&!s&&W(e);if(!i&&!s&&!a)throw Error(`valdres: invalid object${Ee(e)} passed to sub()`);let n,m,c;if(o.parent&&(i||s)){let u=t,F=()=>Ve(e,u,r,o.parent);if(s||!o.values.has(e))n=F();m=()=>{if(n)n(),n=void 0},c=()=>{if(!n)n=F()},t=s?(...V)=>{m(),u(...V)}:()=>{m(),u()}}else if(!o.values.has(e)&&i){let u=new Set;if(vt(e,o,u),u.size)u.add(e),X([...u],o,void 0,void 0,ve);else if(st(e))X([e],o,void 0,void 0,ve)}if(a){let u=o.values.has(e);if(!u&&!o.stateDependencies.has(e))Dt(e,o,new Set,new WeakSet);else if(!u||o.coldSelectorCachesEnabled&&!o.selectorGraphActive.has(e))de(e,o,new Set,new WeakSet)}let y=o.subscriptions.get(e)||Xr(e,o),A;if(s)A={callback:t,state:e,requireDeepEqualCheckBeforeCallback:r,reRoot:m,reDelegate:c};else A={callback:t,requireDeepEqualCheckBeforeCallback:r,reRoot:m,reDelegate:c};if(y.add(A),y.size===1&&!r)o.subscriptionsRequireEqualCheck.set(e,void 0);if(r)Ot(e,y,o);let f=()=>{if(!n){De(e,A,o);return}try{n()}finally{De(e,A,o)}};if(y.size===1)try{if(i&&e.maxAge!==void 0&&!o.parent)ee.retain(e,o,Ve);if(!s)kt(e,o),xt(e,o)}catch(u){try{f()}catch{}throw u}return f};var Et=(e)=>({root:e,revision:0,revisionEnabled:!1,trackedRevisions:void 0,commitDepth:0,commitDidWork:!1,commitEndListeners:void 0,pendingBatch:null,pendingBatchCleanup:void 0});var eo=U().runtime,to=()=>"__valdres_store_"+eo.nextStoreId++;function T(e,t=()=>new WeakMap){return{get(){let r=t();return Object.defineProperty(this,e,{value:r,writable:!0,configurable:!0}),r},configurable:!0}}var It=Object.create(Object.prototype);Object.defineProperties(It,{subscriptions:T("subscriptions"),subscriptionsRequireEqualCheck:T("subscriptionsRequireEqualCheck",()=>new Map),stateDependents:T("stateDependents"),stateDependencies:T("stateDependencies"),inheritedDependencyBranches:T("inheritedDependencyBranches"),selectorGraphActive:T("selectorGraphActive",()=>new WeakSet),coldSelectorCaches:T("coldSelectorCaches"),stateRevisions:T("stateRevisions"),coldCacheValidationSet:T("coldCacheValidationSet",()=>new WeakSet),dependencyOrder:T("dependencyOrder"),cycleRiskInClosure:T("cycleRiskInClosure"),acyclicDependencyVersion:T("acyclicDependencyVersion"),orphanCleanupVersion:T("orphanCleanupVersion"),mounts:T("mounts"),liveDependentCount:T("liveDependentCount"),mountInClosure:T("mountInClosure"),abortControllers:T("abortControllers"),cache:T("cache"),circularDepSet:T("circularDepSet",()=>new WeakSet),latestEvalContext:T("latestEvalContext")});function we(e,t,r){let o=Object.create(It);o.id=e??to();let i=r?.enumerable??t?.enumerable??!1;o.enumerable=i,o.values=i?new Map:new WeakMap,o.tree=t?t.tree:Et(o),o.coldSelectorCachesEnabled=!1,o.nextDependencyOrder=0,o.dependencyGraphVersion=0,o.pendingOrphanCleanup=void 0,o.orphanCleanupScheduled=!1,o.scopes=new Map,o.dirtyFamilyIndexes=void 0,o.dirtyFamilyIndexCount=0,o.scopeValueIndex=new WeakMap,o.pendingDefaults=new WeakMap,o[Ie]=void 0,o[Re]=void 0,o.resources=void 0,o.livenessPassActive=!1,o.livenessSeeds=void 0,o.livenessRemovalArmed=!1,o.livenessLazyArmed=!1,o.batchUpdates=r?.batchUpdates??!1;let s=r?.schemaValidation??t?.schemaValidation??!1;return o.schemaValidation=s,o.parent=t,o.scopeConsumers=t?new Set:void 0,o.scopeIndexKeys=t?new Set:void 0,o.inheritedDependencyKeys=void 0,o.architectureInstrumentation=t?.architectureInstrumentation,o}var Gt=(e,t)=>{if(ge(e,t),t.values.delete(e))Tt(e,t);ie(ne(t,Rt(t,[e],_t),Se,Y(),"delete",void 0,void 0,void 0,void 0,void 0,void 0,void 0,!1))};var at=(e)=>{let t={},r=[e];for(let n=0;n<r.length;n++)for(let m of r[n].scopes.values())r.push(m);let o=[];for(let n of r){let m=$t(n);if(m?.size)o.push([n,[...m]]);Kt(n,t),qt(n);let c=n.parent;if(c){if(Mt(n,n===e),c.scopes.get(n.id)===n)c.scopes.delete(n.id);let y=n.scopeIndexKeys;if(y){for(let A of y){let f=c.scopeValueIndex.get(A);if(!f)continue;if(f.delete(n),f.size===0)c.scopeValueIndex.delete(A)}y.clear()}n.scopeConsumers?.clear()}n.scopes.clear()}for(let[n,m]of o)for(let c of m)c.detach(n);let i,s=!1,a=(n)=>{if(Pt(n)===t)return;if(s)return;i=n,s=!0};for(let n of r){Ut(n);let m=jt(n);if(m)zt(m,a);let c=Bt(n);if(c)for(let f of c)try{f.abort()}catch(u){a(u)}if(Object.hasOwn(n,"subscriptionsRequireEqualCheck"))for(let f of n.subscriptionsRequireEqualCheck.keys()){let u=n.subscriptions.get(f);if(!u)continue;for(let F of u){try{F.reRoot?.()}catch(V){a(V)}try{De(f,F,n)}catch(V){a(V)}}}let y=Nt(n);if(y)for(let f of y)try{f()}catch(u){a(u)}let A=Lt(n);if(A)for(let f of A)try{je(f,n)}catch(u){a(u)}n.dirtyFamilyIndexes=void 0,n.dirtyFamilyIndexCount=0,Jt(n)}for(let n of r){if(n.changeListeners?.size){J.count-=n.changeListeners.size;for(let m of n.changeListeners.values())if(m.selectors)J.selectorCount--;n.changeListeners.clear(),n.changeListeners=void 0}Wt(n)}if(e.tree.root===e){let n=e.tree.commitEndListeners;if(n?.size)Ht.count-=n.size,n.clear(),e.tree.commitEndListeners=void 0}if(s)throw i};var Zt=(e,t,r)=>{let o=r?.atoms??!0,i=r?.selectors??!1;if(!o&&!i)return()=>{};let s=t.changeListeners;if(!s)s=new Map,t.changeListeners=s;let a=s.get(e);if(s.set(e,{atoms:o,selectors:i}),!a)J.count++;let n=a?.selectors??!1;if(i&&!n)J.selectorCount++;else if(!i&&n)J.selectorCount--;let m=()=>{re(t,m);let c=t.changeListeners;if(!c)return;let y=c.get(e);if(y&&c.delete(e)){if(J.count--,y.selectors)J.selectorCount--;if(c.size===0)t.changeListeners=void 0}};return me(t,m),m};var ar=(e,t)=>{let o=ir(e,t,new Set);if(t.pendingOrphanCleanup===I)throw R(t);let i=[],s=[],a=new Set,n=new Map([[e,o]]),m=J.count===0?void 0:er(void 0,"reset"),c=Y(),y=Oe(e)?Qt(t,"set",nr):void 0;return ie(ne(t,y?ze(t,Yt(t,s),y,Ae):Xt(t,s,X,We),i,c,m,void 0,void 0,()=>{if(s.push(...sr(n,t,a,"collect",i)),y){let A=or(i);if(A)y.sets.push(...A)}},void 0,m?()=>tr(m):void 0,rr())),o};var lr=new WeakSet,mr=(e,t,r)=>{for(let[o,i]of e.values){if(o.__valdresInternal)continue;if(j(o)||ce(o))continue;r.push({type:W(o)?"selector":"atom",state:o,value:i,scope:t})}for(let[o,i]of e.scopes)mr(i,[...t,o],r)},cr=(e)=>{if(!e.enumerable){if(!lr.has(e))lr.add(e),console.warn("store.snapshot() requires an enumerable store. Create it with `store({ enumerable: true })` or `store(id, { enumerable: true })` to retain state enumerably. Returning [].");return[]}let t=[];return mr(e,[],t),t};var kr=(e,t)=>t.parent?kr(e,t.parent).scopedTransaction(t.id):e,fr=(e)=>`valdres: invalid state object${Ee(e)} passed to set().
|
|
2
|
-
You provided a \`selector\`.
|
|
3
|
-
Only an \`atom\` can be set.
|
|
4
|
-
`,pr=(e)=>`valdres: invalid state object${Ee(e)} passed to set().
|
|
5
|
-
Only an \`atom\` can be set.
|
|
6
|
-
`;function Te(e,t){let r=xr(e);return t?no(r,t):r}var xr=(e)=>{let t=e,r=t[Ie];if(!r)r=oo(e),t[Ie]=r;return r},ro=(e)=>{let t=e,r=t[Re];if(!r){let{dispose:o,...i}=xr(e);r=i,t[Re]=r}return r},oo=(e)=>{let t=new Set,r=0,o=null,i=()=>{if(o?._state)o=null;return o},s=(p)=>{let g=kr(p,e);return o=g,queueMicrotask(()=>{if(o===g)o=null}),g},a=()=>{let p=e.tree.pendingBatch;if(p){let g=e.tree;if(g.pendingBatch=null,g.pendingBatchCleanup)re(g.root,g.pendingBatchCleanup),g.pendingBatchCleanup=void 0;wr(p)}},n=()=>{if(e.pendingOrphanCleanup===I){o=null;return}a()},m=()=>{let p=e.tree.pendingBatch;if(!p){let g=e.tree;p=new Vr(g.root),p._implicitBatch=!0;let l=()=>{let S=g.pendingBatch;if(g.pendingBatch=null,g.pendingBatchCleanup=void 0,S)Fr(S)};g.pendingBatch=p,g.pendingBatchCleanup=me(g.root,l),queueMicrotask(()=>{try{a()}catch(S){setTimeout(()=>{throw S},0)}})}return p},c=()=>i()??s(m()),y=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.values.has(p)){if(e.dirtyFamilyIndexes!==void 0&&e.dirtyFamilyIndexes.has(p))return hr(p,e);let O=e.coldSelectorCachesEnabled?e.coldSelectorCaches.get(p):void 0;if(O!==void 0){if(O.validatedAt===e.tree.revision)return e.values.get(p)}else if(p.maxAge===void 0||!ee.expireIfStale(p,e))return e.values.get(p)}let g,l=!1,S=ur(e),b=null;r++;try{g=de(p,e,t)}finally{if(r--,r===0&&t.size){let O=[...t];t.clear(),X(O,e,void 0,void 0,ve),l=!0}if(S)b=yr(e)}if(b)Ne(b,e);if(l&&W(p)&&!e.values.has(p))ke(p,g,e);return g},A=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}let g=i();if(g)return g.get(p);let l=e.tree.pendingBatch;if(l)return s(l).get(p);return y(p)},f=e.batchUpdates?A:y;function u(p,g){if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(Z(p))return gr(p,g,e);if(W(p))throw Error(fr(p));throw Error(pr(p))}function F(p,g){if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(Z(p))return c().set(p,g);if(W(p))throw Error(fr(p));throw Error(pr(p))}let V=e.batchUpdates?F:u,d=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return ar(p,e)},h=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Gt(p,e)},C=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Sr(p,e)},x=()=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(!e.parent)throw Error(br(e.id,"store"));if(e.batchUpdates)n();if(e.scopeIndexKeys.size===0)return;Or("unset",(p)=>p.unsetAll(),e)},_=(p,g,l=!0)=>Ve(p,g,l,e),k=(p,g)=>{if(p===Ar)return e;if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Cr(p,e,g)},M=(p,g)=>{if(e.pendingOrphanCleanup===I)throw R(e);return Zt(p,e,g)},pe=(p)=>{if(e.pendingOrphanCleanup===I)throw R(e);return dr(p,e)},Ye=()=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}return cr(e)},Ge=()=>{if(e.pendingOrphanCleanup===I)return;at(e)},Qe=(p)=>{if(e.pendingOrphanCleanup===I)throw R(e);let g=()=>p();return me(e,g),()=>re(e,g)},se=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}return e.scopes.has(p)},Xe=(p,g)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(g){let l=e.scopes.get(p);if(l===void 0)throw Error(`valdres: scope '${p}' does not exist`);let S=ro(l);return g(S)}else{let l=e.scopes.get(p);if(l===void 0){let w=e.batchUpdates?{batchUpdates:!0}:void 0;l=we(p,e,w),e.scopes.set(p,l)}let S=l.scopeConsumers,b=(w=!1)=>{if(S.delete(b),S.size===0)return at(l),!0;if(w)console.warn(`Scope ${p} still has ${S.size} consumers, will not detach`);return!1};return S.add(b),Te(l,b)}};return{id:e.id,get:f,set:V,sub:_,txn:k,reset:d,del:h,unset:C,unsetAll:x,scope:Xe,hasScope:se,onDispose:Qe,onChange:M,onCommitEnd:pe,snapshot:Ye,dispose:Ge}},no=(e,t)=>({id:e.id,get:e.get,set:e.set,sub:e.sub,txn:e.txn,reset:e.reset,del:e.del,unset:e.unset,unsetAll:e.unsetAll,scope:e.scope,hasScope:e.hasScope,onDispose:e.onDispose,onChange:e.onChange,onCommitEnd:e.onCommitEnd,snapshot:e.snapshot,dispose:t,detach:t});var io=()=>{throw Error("valdres: globalStore is process-wide and cannot be disposed")},lt=U().runtime;if(lt.globalStore===void 0){let e=we("valdres-global-store"),t=Object.assign(Te(e),{dispose:io});lt.globalStore={store:t,data:e}}var Le=lt.globalStore;var _e=Le.store;var Be=(e,t)=>{let r=new Set,o=Le.data,i=t.onSet,s=(h)=>{if(h===o){if($e(h))return}else if(!vr(h,d))return;r.add(h)},a=(h)=>{r.delete(h),Er(h,d)},n=(h,C)=>{h(_e.get(d)),s(C)},m=i??Dr,c=0,y,A=t.onMount,d={equal:G,...t,defaultValue:e,onInit:n,onSet:m,onMount:A?(...h)=>{if(c++,c===1)try{y=A(...h)}catch(C){throw c--,y=void 0,C}return()=>{if(c<=0)return;if(c--,c===0&&typeof y==="function"){let C=y;y=void 0,C()}}}:void 0,setSelf:(h)=>_e.set(d,h),getSelf:()=>_e.get(d),resetSelf:()=>{let h=[...r],C=[];for(let k of h)if(xe(d,k))C.push(k);let x=Y();for(let k of h)try{je(d,k)}catch(M){Q(x,M)}if(d.cacheController)try{ee.stopGlobal(d)}catch(k){Q(x,k)}let _=[];for(let k of h)a(k),Rr(d,k),_.push(Pe(k,[d],void 0,void 0,void 0));let v=C[0]??h[0]??o;ie(ne(v,ze(v,_,void 0,Ae),Se,x,"reset",void 0,void 0,void 0,void 0,void 0,void 0,()=>{for(let k of C){try{s(k)}catch(M){Q(x,M)}if(d.maxAge!==void 0&&(k.subscriptions.get(d)?.size??0)>0)try{ee.retain(d,k,Ve)}catch(M){Q(x,M)}try{Ir(d,k)}catch(M){Q(x,M)}}}))},attach:s,detach:a,stores:r,cacheController:void 0};return d};class Tr{remove;batchTokensByValue=new WeakMap;entryByRef=new WeakMap;finalizer=new FinalizationRegistry((e)=>{for(let t of e)if(t.active)this.remove(t.key,t.ref)});constructor(e){this.remove=e}register(e){for(let t=0;t<e.length;){let r={},o=[],i=Math.min(t+64,e.length);for(;t<i;t++){let{key:s,value:a,ref:n}=e[t],m={active:!0,key:s,ref:n};this.entryByRef.set(n,m);let c=this.batchTokensByValue.get(a);if(c===void 0)this.batchTokensByValue.set(a,[r]);else c.push(r);o.push(m)}this.finalizer.register(r,o)}}release(e){let t=this.entryByRef.get(e);if(t===void 0)return;t.active=!1,t.key=void 0}}class fe{[Symbol.toStringTag]="Map";refs=new Map;autonomousCleanup;weakeningScheduled=!1;weaken=()=>{this.weakeningScheduled=!1;let e=this.autonomousCleanup?[]:void 0;for(let[t,r]of this.refs)if(!(r instanceof WeakRef)){let o=new WeakRef(r);this.refs.set(t,o),e?.push({key:t,value:r,ref:o})}if(e!==void 0)this.autonomousCleanup.register(e)};constructor(e){this.autonomousCleanup=e?.autonomousCleanup?new Tr((t,r)=>{if(this.refs.get(t)===r)this.refs.delete(t)}):void 0}get size(){for(let[e,t]of this.refs)if(t instanceof WeakRef&&t.deref()===void 0)this.deleteRef(e,t);return this.refs.size}clear(){if(this.autonomousCleanup!==void 0){for(let e of this.refs.values())if(e instanceof WeakRef)this.autonomousCleanup.release(e)}this.refs.clear()}delete(e){if(this.autonomousCleanup!==void 0){let t=this.refs.get(e);if(t instanceof WeakRef)this.autonomousCleanup.release(t)}return this.refs.delete(e)}get(e){let t=this.refs.get(e);if(t===void 0)return;if(!(t instanceof WeakRef))return t;let r=t.deref();if(r===void 0)this.deleteRef(e,t);return r}has(e){return this.get(e)!==void 0}set(e,t){return this.refs.set(e,t),this.scheduleWeakening(),this}getOrInsert(e,t){let r=this.get(e);if(r!==void 0)return r;return this.set(e,t),t}getOrInsertComputed(e,t){let r=this.get(e);if(r!==void 0)return r;let o=t(e);return this.set(e,o),o}entries(){return this.iterateEntries()}keys(){return this.iterateKeys()}values(){return this.iterateValues()}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}[Symbol.iterator](){return this.entries()}*iterateEntries(){for(let[e,t]of this.refs)if(t instanceof WeakRef){let r=t.deref();if(r===void 0)this.deleteRef(e,t);else yield[e,r]}else yield[e,t]}*iterateKeys(){for(let[e]of this.entries())yield e}*iterateValues(){for(let[,e]of this.entries())yield e}scheduleWeakening(){if(this.weakeningScheduled)return;this.weakeningScheduled=!0,queueMicrotask(this.weaken)}deleteRef(e,t){if(this.refs.get(e)!==t)return;this.autonomousCleanup?.release(t),this.refs.delete(e)}}var so=()=>{},qe=(e,t,r=!1)=>{let o=new fe,i=new fe,s=t?.keyOf,a;if(t!==void 0){let{keyOf:d,...h}=t;a=h}let n=ce(e),m=!n&&typeof e==="function",c=!!a?.name,y=(d,h,C=h)=>{let x;if(n)x=e(...d);else if(m)x=()=>e(...d);else x=e;let _=c?a.name+"_"+C:void 0,v;if(r)v=Be(x,{...a,name:_});else v={equal:G,...a,defaultValue:x,name:_};return v.family=u,v.familyArgs=d,v.familyArgsStringified=h,o.set(h,v),v};function A(d){if(arguments.length===1){let _=typeof d;if(_==="number"&&(d!==0||1/d===1/0)){let v=o.get(d);if(v!==void 0)return v;return y([d],d)}if(_==="string"){let v=i.get(d);if(v!==void 0)return v;let k=[d],M=y(k,q(k),d);return i.set(d,M),M}if(_==="boolean"||_==="bigint"){let v=o.get(d);if(v!==void 0)return v;return y([d],d)}}let h=Array.prototype.slice.call(arguments),C=q(h),x=o.get(C);if(x!==void 0)return x;return y(h,C)}function f(d){let h=Array.prototype.slice.call(arguments),C=[s(...h)],x=q(C),_=o.get(x);if(_!==void 0)return _;return y(h,x,C.length===1&&typeof C[0]==="string"?C[0]:x)}let u=s===void 0?A:f;Object.defineProperty(u,"name",{value:c?a.name:void 0,writable:!1});let V=Object.assign(u,{__valdresAtomFamilyMap:o,release:so,equal:G,schema:a?.schema,schemaValidation:a?.schemaValidation});if(c)ye(a.name,V);return V};function ao(e,t){return qe(e,t)}var Ue=(e)=>Error("valdres: "+e+" does not accept async functions. Use a sync function that returns a Promise instead.");var Fe=(e,t)=>{if(e.constructor?.name==="AsyncFunction")throw Ue("selector()");if(!t)return{equal:G,get:e};return{equal:G,...t,get:e}};var lo=(e)=>{let t=e;if(t.__cacheMetaSelector)return t.__cacheMetaSelector;if(!t.__cacheMeta)t.__cacheMeta={equal:G,defaultValue:null,__valdresInternal:!0};return t.__cacheMetaSelector=Fe((r)=>r(t.__cacheMeta)),t.__cacheMetaSelector.__valdresInternal=!0,t.__cacheMetaSelector};function mo(e,t){if(!t.name)throw Error("valdres: missing name for global atom");let r=Be(e,t);return ye(t.name,r),r}var _r=U().runtime.globalAtomFamilies,Gr=(e)=>{if(e.length===0)return;let t=Function.prototype.toString.call(e),r=t.indexOf("=>"),o=r===-1?t.indexOf(")"):r;if(o===-1)return;let i=t.slice(0,o);return i.includes("=")||i.includes("...")?void 0:e.length},Mr=(e,t)=>{if(!t.name)throw Error("valdres: missing name for global atomFamily");let r=_r.get(t.name);if(r!==void 0){let a=t.keyOf!==void 0,n=t.keyOf===void 0?void 0:Gr(t.keyOf);if(r.usesKeyOf!==a)throw Error(`valdres: global atomFamily '${t.name}' contract mismatch: the first definition ${r.usesKeyOf?"uses":"does not use"} keyOf, but the later definition ${a?"does":"does not"}.`);if(r.keyOfArity!==void 0&&n!==void 0&&r.keyOfArity!==n)throw Error(`valdres: global atomFamily '${t.name}' contract mismatch: keyOf arity was ${r.keyOfArity} in the first definition and ${n} in the later definition.`);if(!B)console.warn(`valdres: global atomFamily '${t.name}' already exists; keeping the first definition. The later defaultValue and options were ignored.`);return r.family}let{registry:o}=U(),i=o.get(t.name);if(i!==void 0){let a=j(i)?"an ordinary atomFamily":"an atom";throw Error(`valdres: global atomFamily '${t.name}' kind mismatch: the name is already registered as ${a} and cannot be reused as a global atomFamily.`)}let s=qe(e,t,!0);return _r.set(t.name,{family:s,usesKeyOf:t.keyOf!==void 0,keyOfArity:t.keyOf===void 0?void 0:Gr(t.keyOf)}),s};function co(e,t){return Mr(e,t)}class mt{[Symbol.toStringTag]="Map";refs=new Map;finalizer=new FinalizationRegistry(({key:e,ref:t})=>{if(this.refs.get(e)===t)this.refs.delete(e)});get size(){return this.sweep(),this.refs.size}clear(){for(let e of this.refs.values())this.finalizer.unregister(e);this.refs.clear()}delete(e){let t=this.refs.get(e);if(t===void 0)return!1;return this.finalizer.unregister(t),this.refs.delete(e)}get(e){let t=this.refs.get(e);if(t===void 0)return;let r=t.deref();if(r===void 0)this.deleteRef(e,t);return r}has(e){return this.get(e)!==void 0}set(e,t){let r=this.refs.get(e);if(r!==void 0)this.finalizer.unregister(r);let o=new WeakRef(t);return this.refs.set(e,o),this.finalizer.register(t,{key:e,ref:o},o),this}entries(){return this.iterateEntries()}keys(){return this.iterateKeys()}values(){return this.iterateValues()}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}[Symbol.iterator](){return this.entries()}*iterateEntries(){for(let[e,t]of this.refs){let r=t.deref();if(r===void 0)this.deleteRef(e,t);else yield[e,r]}}*iterateKeys(){for(let[e]of this.entries())yield e}*iterateValues(){for(let[,e]of this.entries())yield e}sweep(){for(let[e,t]of this.refs)if(t.deref()===void 0)this.deleteRef(e,t)}deleteRef(e,t){if(this.refs.get(e)!==t)return;this.finalizer.unregister(t),this.refs.delete(e)}}var fo=(e,t,r)=>{let o=new mt,i=r?.keyOf;return Object.assign((a)=>{let n=i===void 0?a:i(a),m=q([n]),c=o.get(m);if(c)return c;let y=new WeakMap,A=(u)=>{let F=y.get(u);if(!F)F=Fe((V)=>t(V(u),a),{name:`index:callback:selector:${u.name}`}),y.set(u,F);return F},f=Fe((u)=>{let F=[],V=u(e);for(let d of V)if(u(A(d)))F.push(d);return F},{name:`index:${r?.name}:${typeof n==="string"?n:m}:termSelector`});return o.set(m,f),f},{map:o,callback:t})};var Kr=(e)=>{let t=e.length,r=Array(t);for(let o=0;o<t;o++)r[o]=e[o];return r},po=(e,t)=>{let r=new fe({autonomousCleanup:!0}),o=new fe({autonomousCleanup:!0}),i=t?.keyOf,s;if(t!==void 0){let{keyOf:f,...u}=t;s=u}let a=!!s?.name,n=(f,u,F=u,V)=>{let d=r.get(u);if(d!==void 0)return d;let h=e(...f);if(h.constructor?.name==="AsyncFunction")throw Ue("selectorFamily()");let C={equal:G,...s,get:h,family:A,familyArgs:f,familyArgsStringified:u,name:a?s.name+"_"+F:void 0};if(r.set(u,C),V!==void 0)o.set(V,C);return C};function m(f){if(arguments.length===1){let d=typeof f;if(d==="string"){let h=o.get(f);if(h!==void 0)return h;let C=[f];return n(C,q(C),f,f)}if(d==="number"&&(f!==0||1/f===1/0)){let h=r.get(f);if(h!==void 0)return h;return n([f],f)}if(d==="boolean"||d==="bigint"){let h=r.get(f);if(h!==void 0)return h;return n([f],f)}}let u=arguments.length===1?[f]:arguments.length===2?[f,arguments[1]]:Kr(arguments),F=q(u),V=r.get(F);if(V!==void 0)return V;return n(u,F)}function c(f){let u=arguments.length===1?[f]:arguments.length===2?[f,arguments[1]]:Kr(arguments),F=[i(...u)],V=q(F),d=r.get(V);if(d!==void 0)return d;return n(u,V,typeof F[0]==="string"?F[0]:V)}let y=i===void 0?m:c,A=y;return A.__valdresSelectorFamilyMap=r,A.release=(...f)=>{if(i===void 0&&f.length===1&&typeof f[0]==="string")o.delete(f[0]);let u=i===void 0?f:[i(...f)];return r.delete(q(u))},A.schema=s?.schema,A.schemaValidation=s?.schemaValidation,Object.defineProperty(y,"name",{value:a?s.name:void 0,writable:!1}),A};function uo(e,t){let r=typeof e==="object"&&e!==null?e:void 0,o=typeof e==="string"?e:r?.id,s=we(o,void 0,r??t);return Te(s)}var D=(e,t)=>({path:e,reason:t}),Je=(e,t)=>/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(t)?`${e}.${t}`:`${e}[${JSON.stringify(t)}]`,ct=(e,t,r)=>{switch(typeof e){case"string":case"boolean":return;case"number":if(Number.isNaN(e))return D(t,"NaN");if(e===1/0)return D(t,"Infinity");if(e===-1/0)return D(t,"-Infinity");if(Object.is(e,-0))return D(t,"-0");return;case"bigint":return D(t,"a BigInt");case"undefined":return D(t,"undefined");case"symbol":return D(t,"a symbol");case"function":return D(t,"a function")}if(e===null)return;if(typeof e!=="object")return D(t,typeof e);if(r.has(e))return D(t,"a circular reference");if(Array.isArray(e)){if(Object.getPrototypeOf(e)!==Array.prototype)return D(t,"an Array subclass");r.add(e);try{for(let s of Reflect.ownKeys(e)){if(typeof s==="symbol")return D(t,"a symbol-keyed property");if(s==="length")continue;if(s==="toJSON"&&typeof Object.getOwnPropertyDescriptor(e,s).value==="function")return D(t,"an array with a toJSON hook");let a=Number(s);if(!Number.isInteger(a)||a<0||a>=e.length||String(a)!==s)return D(Je(t,s),"a non-index array property")}for(let s=0;s<e.length;s++){let a=`${t}[${s}]`,n=Object.getOwnPropertyDescriptor(e,s);if(n===void 0)return D(a,"a sparse-array hole");if(!("value"in n))return D(a,"an accessor property");let m=ct(n.value,a,r);if(m)return m}}finally{r.delete(e)}return}let o=Object.getPrototypeOf(e);if(o===Object.prototype){r.add(e);try{for(let s of Reflect.ownKeys(e)){if(typeof s==="symbol")return D(t,"a symbol-keyed property");let a=Object.getOwnPropertyDescriptor(e,s);if(s==="toJSON"&&typeof a.value==="function")return D(t,"an object with a toJSON hook");if(!a.enumerable)return D(Je(t,s),"a non-enumerable property");if(!("value"in a))return D(Je(t,s),"an accessor property");let n=ct(a.value,Je(t,s),r);if(n)return n}}finally{r.delete(e)}return}if(o===null)return D(t,"a null-prototype object");if(o===Date.prototype)return D(t,"a Date");if(o===Map.prototype)return D(t,"a Map");if(o===Set.prototype)return D(t,"a Set");let i=e.constructor?.name;return D(t,i?`a ${i} instance`:"a non-plain object")},Wr=(e,t)=>{let r=new WeakSet;for(let o=0;o<t.length;o++){let i=ct(t[o],`args[${o}]`,r);if(i===void 0)continue;throw TypeError(`valdres: dehydrate cannot serialize a '${e}' member — ${i.path} is ${i.reason}, which JSON does not round-trip. Family args cross the wire raw, and hydrate re-derives the member with ${e}(...args), so this entry would land on a different member. Key transferred families by strings and numbers (e.g. date.toISOString()).`)}};var $r=(e)=>{let t=e.schema;if(t&&typeof t.safeEncode==="function"&&typeof t.safeDecode==="function")return t;return},Pr=new WeakSet,ft=(e,t)=>{let r=$r(e);if(!r)return{value:t,encoded:!1};let o;try{o=r.safeEncode(t)}catch(i){if(i?.name==="ZodEncodeError"){if(!B&&!Pr.has(r))Pr.add(r),console.warn(`valdres: dehydrate is emitting '${e.name??"anonymous atom"}' raw — its schema cannot encode (${i instanceof Error?i.message:String(i)}). Use a bidirectional codec (z.codec) for wire-transformed values.`);return{value:t,encoded:!1}}throw new H(i,e)}if(o.success)return{value:o.data,encoded:!0};throw new H(o.error,e)},He=(e,t)=>{let r=$r(e);if(!r)throw new H(Error("the payload entry is wire-encoded, but the registered atom's schema is not bidirectional (no safeDecode) — was it dehydrated with a different schema?"),e);let o;try{o=r.safeDecode(t)}catch(i){throw new H(i,e)}if(!o.success)throw new H(o.error,e);return o.data};var yo=(e)=>{let t=zr(e);if(t.parent)throw Error("valdres: dehydrate(store) only supports root stores. Scoped "+"stores are out of scope for v1 — initialize scopes on the "+"hydrating side instead (adapters' scope `initialize`).");let r=[],o=[],i=jr(t);if(i===void 0)return{atoms:r,families:o};for(let[s,a]of i)if(j(s)){let n=Nr(s,t);if(n===void 0)continue;for(let m of n){let c=t.values.get(m);if(!he(m,t,c))continue;if(m.familyArgs.length===0){if(!B)console.warn(`valdres: dehydrate skipped a '${a}' member created with zero args — it cannot be addressed by hydrate (family args must be a non-empty tuple).`);continue}if(!B)Wr(a,m.familyArgs);if(P(c)){if(!B)console.warn(`valdres: dehydrate skipped '${a}(${JSON.stringify(m.familyArgs).slice(1,-1)})' — its value is a pending promise. Settle async state before dehydrating.`);continue}if(m.schema===void 0)o.push([a,m.familyArgs,c]);else{let y=ft(m,c);o.push(y.encoded?[a,m.familyArgs,y.value,1]:[a,m.familyArgs,y.value])}}}else{let n=t.values.get(s);if(!he(s,t,n))continue;if(P(n)){if(!B)console.warn(`valdres: dehydrate skipped '${a}' — its value is a pending promise. Settle async state before dehydrating.`);continue}if(s.schema===void 0)r.push([a,n]);else{let m=ft(s,n);r.push(m.encoded?[a,m.value,1]:[a,m.value])}}return{atoms:r,families:o}};var ho=(e,t,r)=>{let o=r?.invalid==="skip",{registry:i}=U();e.txn((s)=>{let a=(c,y,A)=>{if(!o){s.set(c,A===1?He(c,y):y);return}try{s.set(c,A===1?He(c,y):y)}catch(f){if(!(f instanceof H))throw f;console.warn(`valdres: hydrate skipped an entry — ${f.message}`)}};for(let[c,y,A]of t.atoms){let f=i.get(c);if(f===void 0){console.warn(`valdres: hydrate skipped unknown atom '${c}' — no atom with that name is registered (was the module defining it imported?).`);continue}if(j(f)){console.warn(`valdres: hydrate skipped '${c}' — the payload has an atom entry but '${c}' is registered as an atomFamily.`);continue}a(f,y,A)}let n=new Map;for(let[c,y,A,f]of t.families){let u=i.get(c);if(u===void 0){console.warn(`valdres: hydrate skipped unknown atomFamily '${c}' — no atomFamily with that name is registered (was the module defining it imported?).`);continue}if(!j(u)){console.warn(`valdres: hydrate skipped '${c}' — the payload has an atomFamily entry but '${c}' is registered as an atom.`);continue}if(!Array.isArray(y)||y.length===0){console.warn(`valdres: hydrate skipped a '${c}' entry — its args is not a non-empty array (got ${JSON.stringify(y)}).`);continue}let F=u(...y),V;try{V=f===1?He(F,A):A}catch(h){if(!o||!(h instanceof H))throw h;console.warn(`valdres: hydrate skipped an entry — ${h.message}`);continue}let d=n.get(u);if(!d)d=[],n.set(u,d);d.push([F,V])}let m=o?(c)=>console.warn(`valdres: hydrate skipped an entry — ${c.message}`):void 0;for(let[c,y]of n)s.batchSetFamilyAtoms(c,y,m)})};var pt=(e,t)=>{for(let[r,o]of t)e(r,o)};var So=(e,t)=>{let r=t?.(e);if(Array.isArray(r))pt(e.set,r)};var go=(e)=>j(e)||ce(e);var Ao=(e)=>ut(e)&&W(e);var Lr="development",Ze=typeof process>"u"||process.env==null?void 0:"1.0.0-beta.22",te=U();if(te.loaded){let e=`Loaded: ${te.version??"unknown"} (${te.buildVariant??"unknown"}). Attempted: ${Ze??"unknown"} (${Lr}).`;if(te.version===void 0||Ze===void 0)throw Error(`valdres: cannot safely load another runtime because at least one valdres version is unknown. ${e} Build valdres or inject process.env.VALDRES_VERSION so same-version copies can adopt the shared runtime.`);if(te.version!==Ze)throw Error(`valdres: cannot load different valdres versions in the same JavaScript global. ${e} Ensure the dependency graph resolves one version and deduplicate valdres dependencies.`);if(!te.adoptable)throw Error(`valdres: the loaded same-version instance does not expose the shared runtime required for safe adoption. ${e} Deduplicate valdres dependencies or reload after upgrading every copy together.`)}else te.loaded=!0,te.version=Ze,te.buildVariant=Lr;export{H as SchemaValidationError,wo as SelectorCircularDependencyError,Vo as SelectorEvaluationError,bo as StoreDisposedError,So as applyInitialize,qr as atom,ao as atomFamily,lo as cacheMeta,Co as deepFreeze,yo as dehydrate,mo as globalAtom,co as globalAtomFamily,_e as globalStore,ho as hydrate,fo as index,Z as isAtom,j as isAtomFamily,go as isFamily,st as isFamilyAtom,Ao as isFamilySelector,ut as isFamilyState,P as isPromiseLike,W as isSelector,ce as isSelectorFamily,Fo as isSuspendError,Fe as selector,po as selectorFamily,pt as setAtomPairs,uo as store};
|
|
1
|
+
import{a as o,b as a,c as n,d as l,e as p,f as c,g as i,h as s,i as u,j as y,k as v,l as E,m,n as S,o as t}from"./chunk-13jzc8rs.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=n,g=u,D=s,O=i,M=m,N=o,q=v,P=l,z=S,w=y,U=E,G=a,j=c,L=p;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import{$ as Ft,$a as Cr,A as Xt,Aa as wo,B as Rt,Ba as Fo,C as Ie,Ca as Co,D as Re,Da as oe,E as Dr,Ea as ke,F as ie,Fa as rt,G as Mt,Ga as Dt,H as bo,Ha as ge,I,Ia as jr,J as $e,Ja as Rr,K as Kt,Ka as Sr,L as Wt,La as _t,M as R,Ma as X,N as Pt,Na as Ae,O as vr,Oa as or,P as Er,Pa as nr,Q as $t,Qa as gr,R as me,Ra as ir,S as re,Sa as vt,T as Nt,Ta as de,U as jt,Ua as sr,V as zt,Va as Ar,W as Lt,Wa as br,X as Bt,Xa as Vr,Y as xe,Ya as wr,Z as kt,_ as wt,_a as Fr,a as U,aa as ur,ab as Or,b as G,ba as yr,bb as zr,c as ye,ca as Ne,d as ce,da as Ir,e as Oe,ea as je,f as P,fa as xt,g as Z,ga as Ct,h as W,ha as Tt,i as j,ia as he,j as ut,ja as z,k as st,ka as it,l as St,la as qt,m as gt,ma as Ut,n as Y,na as Jt,o as Q,oa as J,p as At,pa as er,q as We,qa as tr,r as ve,ra as Ht,s as B,sa as rr,t as Se,ta as dr,u as bt,ua as nt,v as ne,va as Ee,w as Pe,wa as hr,x as Yt,xa as Nr,y as ze,ya as H,z as Qt,za as Vo}from"./chunk-7db3q547.js";function qr(e,t){if(!t)return{equal:G,defaultValue:e};let r={equal:G,defaultValue:e,...t};if(t.name!==void 0)ye(t.name,r);return r}var K=(e)=>{throw TypeError(`valdres: unsupported family key value (${e}). Pass a deterministic options.keyOf function for this argument type.`)},Me=(e,t)=>{let r=t??new WeakSet;if(r.has(e))throw TypeError("valdres: cyclic family key values are not supported. Pass a deterministic options.keyOf function for cyclic arguments.");return r.add(e),r},et=(e,t)=>{if(Reflect.ownKeys(e).length>0)K(t)},Ur=(e)=>{if(Number.isNaN(e))return"nNaN;";if(e===1/0)return"nInfinity;";if(e===-1/0)return"n-Infinity;";if(Object.is(e,-0))return"n-0;";return`n${e};`},le=(e,t)=>{switch(typeof e){case"undefined":return"u;";case"boolean":return e?"b1;":"b0;";case"number":return Ur(e);case"bigint":return`i${e};`;case"string":return`s${e.length}:${e}`;case"symbol":return K("symbol");case"function":return K("function")}if(e===null)return"z;";if(typeof e!=="object")return K(typeof e);if(Array.isArray(e)){if(Object.getPrototypeOf(e)!==Array.prototype)return K("Array subclass");let o=Me(e,t);try{let i=[];for(let a of Reflect.ownKeys(e)){if(typeof a==="symbol")return K("symbol-keyed property");if(a==="length")continue;let n=a,m=Number(n);if(!Number.isInteger(m)||m<0||m>=e.length||String(m)!==n)return K("Array with non-index property");i.push(n)}i.sort((a,n)=>Number(a)-Number(n));let s=`r${e.length}:${i.length}:`;for(let a of i){let n=Object.getOwnPropertyDescriptor(e,a);if(n===void 0||!("value"in n))return K("Array accessor property");s+=`j${a};${le(n.value,o)}`}return s}finally{o.delete(e)}}let r=Object.getPrototypeOf(e);if(r===Object.prototype||r===null){let o=Me(e,t);try{let i=Reflect.ownKeys(e);for(let n of i)if(typeof n==="symbol")return K("symbol-keyed property");let s=i;s.sort();let a=`${r===null?"q":"o"}${s.length}:`;for(let n of s){let m=Object.getOwnPropertyDescriptor(e,n);if(m===void 0||!m.enumerable)return K("object with non-enumerable property");if(!("value"in m))return K("object accessor property");a+=`k${n.length}:${n}`,a+=le(m.value,o)}return a}finally{o.delete(e)}}if(r===Date.prototype){et(e,"Date with custom properties");try{return`d${Date.prototype.getTime.call(e)};`}catch{return K("non-Date object with Date prototype")}}if(r===Map.prototype){let o=Me(e,t);try{et(e,"Map with custom properties");let i=[],s;try{s=Map.prototype.entries.call(e)}catch{return K("non-Map object with Map prototype")}for(let[a,n]of s)i.push(le(a,o)+le(n,o));return i.sort(),`m${i.length}:${i.join("")}`}finally{o.delete(e)}}if(r===Set.prototype){let o=Me(e,t);try{et(e,"Set with custom properties");let i=[],s;try{s=Set.prototype.values.call(e)}catch{return K("non-Set object with Set prototype")}for(let a of s)i.push(le(a,o));return i.sort(),`e${i.length}:${i.join("")}`}finally{o.delete(e)}}if(r===Promise.prototype)return K("Promise");return K("non-plain object or class instance")},ht=(e)=>{if(e.length===1)return`a1:${le(e[0])}`;let t,r=`a${e.length}:`;for(let o of e){if(o!==null&&typeof o==="object")t??=new WeakSet;r+=le(o,t)}return r};var q=(e)=>{if(e.length===1){let t=e[0],r=typeof t;if(r==="boolean"||r==="bigint"||r==="number"&&!Object.is(t,-0))return t}return ht(e)};var Ke=(e)=>typeof e==="object"&&e!==null&&(Z(e)||W(e)),Ce=(e,t)=>{if(typeof e==="object"&&e!==null&&(Z(e)||W(e))){if(t.values.has(e))return t.values.get(e);return de(e,t,new Set)}return e};var ot=(e,t,r)=>{if(ge(e,r),ke(e,t,r),nt(e,r))X([e],r,void 0,"revalidate",We)},Jr=(e,t,r,o)=>{if(!o())return!1;return ot(e,t,r),!0},tt=(e,t,r)=>{let o=!0,i=()=>{if(!o)return;o=!1,re(t,i),oe.clearRelease(e,t,i),r()},s=oe.installRelease(e,t,i);if(s)re(t,s);me(t,i)},Hr=(e,t)=>{oe.peek(e,t)?.release?.()},Zr=(e,t)=>{let r=e,o=r.maxAge;if(o===void 0||t.parent)return!1;let i=Oe(r);if(i){if(r.cacheController!==void 0)return!1}let s=oe.peek(e,t);if(!i&&s?.release!==void 0)return!1;let a=s?.lastWriteAt;if(a===void 0)return!1;let n=typeof o==="number"?o:Ce(o,t);if(Date.now()-a<=n)return!1;return ge(r,t),t.values.delete(e),oe.clearWrite(r,t,s),!0},Vt=(e,t,r)=>{if(e.maxAge===void 0)return;let o=e,i=Oe(e)?e:void 0,s=i?.cacheController;if(s){s.refCount++,tt(e,t,()=>{if(s.refCount<=0)return;if(s.refCount--,s.refCount===0)try{s.cleanup()}finally{if(i.cacheController===s)i.cacheController=void 0}});let l=o.__cacheMeta??={equal:G,defaultValue:null,__valdresInternal:!0};for(let S of i.stores)if(S!==t&&S.values.has(l)){Jr(l,S.values.get(l),t,s.active);break}return}let a=new Set,n=!1,m=!1,c=0,y=Date.now(),A=Symbol(),f=A,u,F=[],V=(l)=>!m&&c===l&&!$e(t),d=()=>Ce(e.maxAge,t),h=()=>e.staleWhileRevalidate!==void 0?Ce(e.staleWhileRevalidate,t):1/0,C=()=>e.staleIfError!==void 0?Ce(e.staleIfError,t):1/0,x=o.__cacheMeta??={equal:G,defaultValue:null,__valdresInternal:!0},_=(l,S,b,O,w,N)=>{if(w&&!B&&t.architectureInstrumentation)gt(t);let ue=w?[...i.stores]:i.stores,ae=[];for(let E of ue){if(!V(b))break;try{let L=E.values.get(l),dt=he(l,E,L),Br=P(S);if(dt&&(Br||P(L)?L===S:l.equal(L,S))){if(N!==void 0)oe.recordWrite(l,E,N);continue}if(dt&&P(L))ge(l,E);if(ke(l,S,E),nt(l,E))ae.push(Pe(E,[l],void 0,void 0,void 0))}catch(L){Q(O,L)}}if(ae.length!==0)try{Ae(ae,void 0,void 0,"revalidate",O)}catch(E){Q(O,E)}},v=(l,S,b,O,w,N)=>{if(i)_(l,S,b,O,w,N);else ot(l,S,t)},k=(l,S,b,O)=>{if(!V(b))return!1;let w=Y();return v(l,S,b,w,O),At(w),!0},M=(l)=>{if(!B&&t.architectureInstrumentation)St(t);return{isRevalidating:l,lastSuccessAt:y,maxAge:d(),staleWhileRevalidate:h(),staleIfError:C()}},pe=(l)=>{let S=M(n);return k(x,S,l,!1)},Ye=()=>Date.now()-y>=d()+C(),Ge=(l)=>{if(!e.schema)return!0;if(e.schemaValidation===!1)return!0;if(e.schemaValidation===!0||!i)return rt(e,l,t);for(let S of i.stores)if(S.schemaValidation)return rt(e,l,S);return!0},Qe=(l,S,b,O)=>{if(i){_(e,l,S,b,!P(l),O);return}let w=t.values.get(e),N=he(e,t,w),ue=P(l);if(N&&(ue||P(w)?w===l:e.equal(w,l))){if(O!==void 0)oe.recordWrite(e,t,O);return}ot(e,l,t)},se=(l,S,b,O)=>{let w=Y();return ie(ne(t,bt,Se,w,void 0,void 0,()=>V(b),()=>{if(S)Qe(l,b,w,O);if(w.hasError||!V(b))return;let N=M(!1);v(x,N,b,w,!1)}))},Xe=()=>{if(i)for(let l of i.stores)return l;return t},yt=()=>{if(n||m)return;if(typeof e.defaultValue!=="function")return;let l=++c,S=Xe();if(S.values.has(e)){let w=S.values.get(e);if(!P(w))f=w}let b=e.defaultValue();if(P(b)){n=!0;let w=M(!0);k(x,w,l,!1);let N=w.staleWhileRevalidate,ue=(E)=>{if(!V(l))return;if(n=!1,!Ge(E)){if(!V(l))return;se(f,f!==A,l,void 0);return}if(!V(l))return;let L=Date.now();y=L,f=E,se(E,!0,l,L)},ae=()=>{if(!V(l))return;if(n=!1,!Ye()&&f!==A)se(f,!0,l,void 0);else se(b,!0,l,void 0)};if(N>0){let E;if(Number.isFinite(N))E=setTimeout(()=>{if(a.delete(E),!V(l)||!n)return;k(e,b,l,!P(b))},N),a.add(E);b.then((L)=>{if(E!==void 0)clearTimeout(E),a.delete(E);ue(L)},()=>{if(E!==void 0)clearTimeout(E),a.delete(E);ae()})}else k(e,b,l,!P(b)),b.then(ue,ae);return}if(!Ge(b))return;if(!V(l))return;let O=Date.now();y=O,f=b,se(b,!0,l,O)},p=()=>{u=setInterval(yt,d())},g=()=>{if(m)return;if(m=!0,c++,u!==void 0)clearInterval(u);for(let b of a)clearTimeout(b);a.clear();let l,S=!1;for(let b of F)try{b()}catch(O){if(!S)l=O,S=!0}if(S)throw l};try{if(p(),pe(c),!V(c)){g();return}if(Ke(e.maxAge))F.push(r(e.maxAge,()=>{if(u!==void 0)clearInterval(u);p(),pe(c)},!1,t));if(e.staleWhileRevalidate&&Ke(e.staleWhileRevalidate))F.push(r(e.staleWhileRevalidate,()=>pe(c),!1,t));if(e.staleIfError&&Ke(e.staleIfError))F.push(r(e.staleIfError,()=>pe(c),!1,t))}catch(l){try{g()}catch{}throw l}if(i){let l={cleanup:g,refCount:1,active:()=>!m};i.cacheController=l,tt(e,t,()=>{if(l.refCount<=0)return;if(l.refCount--,l.refCount===0){try{l.cleanup()}finally{if(i.cacheController===l)i.cacheController=void 0}return}let S=[];for(let w of i.stores)if(w!==t&&(w.subscriptions.get(e)?.size??0)>0)S.push(w);let b,O=!1;try{l.cleanup()}catch(w){b=w,O=!0}if(l.refCount=0,i.cacheController===l)i.cacheController=void 0;for(let w of S)try{Vt(e,w,r)}catch(N){if(!O)b=N,O=!0}if(O)throw b});return}tt(e,t,g)},Yr=(e)=>{let t=e.cacheController;if(!t)return;try{t.cleanup()}finally{if(t.refCount=0,e.cacheController===t)e.cacheController=void 0}},ee={retain:Vt,release:Hr,expireIfStale:Zr,stopGlobal:Yr};var be=Symbol.for("valdres.subscriptionEqualCheckCount"),Ot=(e,t,r)=>{let o=t,i=o[be]??0;if(i===0){o[be]=1,r.subscriptionsRequireEqualCheck.set(e,!0);return}o[be]=i+1},Qr=(e,t,r)=>{let o=t,i=o[be];if(i===void 0)return;if(i===1){if(o[be]=0,t.size!==0)r.subscriptionsRequireEqualCheck.set(e,void 0);return}o[be]=i-1},De=(e,t,r)=>{let o=r.subscriptions.get(e);if(o){if(o.delete(t)&&t.requireDeepEqualCheckBeforeCallback)Qr(e,o,r);if(o.size===0){if(r.subscriptionsRequireEqualCheck.delete(e),ee.release(e,r),r.subscriptions.delete(e),wt(e,r),W(e)&&r.cycleRiskInClosure.has(e)&&Ft(e,r))try{Ne(new Set([e]),r)}catch(s){if(!xe(e,r))it(e,r);throw s}if(!xe(e,r))try{Ct(e,r)}finally{it(e,r)}}}};var Xr=(e,t)=>{let r=new Set;return t.subscriptions.set(e,r),r},Ve=(e,t,r,o)=>{if(o.pendingOrphanCleanup===I)throw R(o);let i=Z(e),s=!i&&j(e),a=!i&&!s&&W(e);if(!i&&!s&&!a)throw Error(`valdres: invalid object${Ee(e)} passed to sub()`);let n,m,c;if(o.parent&&(i||s)){let u=t,F=()=>Ve(e,u,r,o.parent);if(s||!o.values.has(e))n=F();m=()=>{if(n)n(),n=void 0},c=()=>{if(!n)n=F()},t=s?(...V)=>{m(),u(...V)}:()=>{m(),u()}}else if(!o.values.has(e)&&i){let u=new Set;if(vt(e,o,u),u.size)u.add(e),X([...u],o,void 0,void 0,ve);else if(st(e))X([e],o,void 0,void 0,ve)}if(a){let u=o.values.has(e);if(!u&&!o.stateDependencies.has(e))Dt(e,o,new Set,new WeakSet);else if(!u||o.coldSelectorCachesEnabled&&!o.selectorGraphActive.has(e))de(e,o,new Set,new WeakSet)}let y=o.subscriptions.get(e)||Xr(e,o),A;if(s)A={callback:t,state:e,requireDeepEqualCheckBeforeCallback:r,reRoot:m,reDelegate:c};else A={callback:t,requireDeepEqualCheckBeforeCallback:r,reRoot:m,reDelegate:c};if(y.add(A),y.size===1&&!r)o.subscriptionsRequireEqualCheck.set(e,void 0);if(r)Ot(e,y,o);let f=()=>{if(!n){De(e,A,o);return}try{n()}finally{De(e,A,o)}};if(y.size===1)try{if(i&&e.maxAge!==void 0&&!o.parent)ee.retain(e,o,Ve);if(!s)kt(e,o),xt(e,o)}catch(u){try{f()}catch{}throw u}return f};var Et=(e)=>({root:e,revision:0,revisionEnabled:!1,trackedRevisions:void 0,commitDepth:0,commitDidWork:!1,commitEndListeners:void 0,pendingBatch:null,pendingBatchCleanup:void 0});var eo=U().runtime,to=()=>"__valdres_store_"+eo.nextStoreId++;function T(e,t=()=>new WeakMap){return{get(){let r=t();return Object.defineProperty(this,e,{value:r,writable:!0,configurable:!0}),r},configurable:!0}}var It=Object.create(Object.prototype);Object.defineProperties(It,{subscriptions:T("subscriptions"),subscriptionsRequireEqualCheck:T("subscriptionsRequireEqualCheck",()=>new Map),stateDependents:T("stateDependents"),stateDependencies:T("stateDependencies"),inheritedDependencyBranches:T("inheritedDependencyBranches"),selectorGraphActive:T("selectorGraphActive",()=>new WeakSet),coldSelectorCaches:T("coldSelectorCaches"),stateRevisions:T("stateRevisions"),coldCacheValidationSet:T("coldCacheValidationSet",()=>new WeakSet),dependencyOrder:T("dependencyOrder"),cycleRiskInClosure:T("cycleRiskInClosure"),acyclicDependencyVersion:T("acyclicDependencyVersion"),orphanCleanupVersion:T("orphanCleanupVersion"),mounts:T("mounts"),liveDependentCount:T("liveDependentCount"),mountInClosure:T("mountInClosure"),abortControllers:T("abortControllers"),cache:T("cache"),circularDepSet:T("circularDepSet",()=>new WeakSet),latestEvalContext:T("latestEvalContext")});function we(e,t,r){let o=Object.create(It);o.id=e??to();let i=r?.enumerable??t?.enumerable??!1;o.enumerable=i,o.values=i?new Map:new WeakMap,o.tree=t?t.tree:Et(o),o.coldSelectorCachesEnabled=!1,o.nextDependencyOrder=0,o.dependencyGraphVersion=0,o.pendingOrphanCleanup=void 0,o.orphanCleanupScheduled=!1,o.scopes=new Map,o.dirtyFamilyIndexes=void 0,o.dirtyFamilyIndexCount=0,o.scopeValueIndex=new WeakMap,o.pendingDefaults=new WeakMap,o[Ie]=void 0,o[Re]=void 0,o.resources=void 0,o.livenessPassActive=!1,o.livenessSeeds=void 0,o.livenessRemovalArmed=!1,o.livenessLazyArmed=!1,o.batchUpdates=r?.batchUpdates??!1;let s=r?.schemaValidation??t?.schemaValidation??!1;return o.schemaValidation=s,o.parent=t,o.scopeConsumers=t?new Set:void 0,o.scopeIndexKeys=t?new Set:void 0,o.inheritedDependencyKeys=void 0,o.architectureInstrumentation=t?.architectureInstrumentation,o}var Gt=(e,t)=>{if(ge(e,t),t.values.delete(e))Tt(e,t);ie(ne(t,Rt(t,[e],_t),Se,Y(),"delete",void 0,void 0,void 0,void 0,void 0,void 0,void 0,!1))};var at=(e)=>{let t={},r=[e];for(let n=0;n<r.length;n++)for(let m of r[n].scopes.values())r.push(m);let o=[];for(let n of r){let m=$t(n);if(m?.size)o.push([n,[...m]]);Kt(n,t),qt(n);let c=n.parent;if(c){if(Mt(n,n===e),c.scopes.get(n.id)===n)c.scopes.delete(n.id);let y=n.scopeIndexKeys;if(y){for(let A of y){let f=c.scopeValueIndex.get(A);if(!f)continue;if(f.delete(n),f.size===0)c.scopeValueIndex.delete(A)}y.clear()}n.scopeConsumers?.clear()}n.scopes.clear()}for(let[n,m]of o)for(let c of m)c.detach(n);let i,s=!1,a=(n)=>{if(Pt(n)===t)return;if(s)return;i=n,s=!0};for(let n of r){Ut(n);let m=jt(n);if(m)zt(m,a);let c=Bt(n);if(c)for(let f of c)try{f.abort()}catch(u){a(u)}if(Object.hasOwn(n,"subscriptionsRequireEqualCheck"))for(let f of n.subscriptionsRequireEqualCheck.keys()){let u=n.subscriptions.get(f);if(!u)continue;for(let F of u){try{F.reRoot?.()}catch(V){a(V)}try{De(f,F,n)}catch(V){a(V)}}}let y=Nt(n);if(y)for(let f of y)try{f()}catch(u){a(u)}let A=Lt(n);if(A)for(let f of A)try{je(f,n)}catch(u){a(u)}n.dirtyFamilyIndexes=void 0,n.dirtyFamilyIndexCount=0,Jt(n)}for(let n of r){if(n.changeListeners?.size){J.count-=n.changeListeners.size;for(let m of n.changeListeners.values())if(m.selectors)J.selectorCount--;n.changeListeners.clear(),n.changeListeners=void 0}Wt(n)}if(e.tree.root===e){let n=e.tree.commitEndListeners;if(n?.size)Ht.count-=n.size,n.clear(),e.tree.commitEndListeners=void 0}if(s)throw i};var Zt=(e,t,r)=>{let o=r?.atoms??!0,i=r?.selectors??!1;if(!o&&!i)return()=>{};let s=t.changeListeners;if(!s)s=new Map,t.changeListeners=s;let a=s.get(e);if(s.set(e,{atoms:o,selectors:i}),!a)J.count++;let n=a?.selectors??!1;if(i&&!n)J.selectorCount++;else if(!i&&n)J.selectorCount--;let m=()=>{re(t,m);let c=t.changeListeners;if(!c)return;let y=c.get(e);if(y&&c.delete(e)){if(J.count--,y.selectors)J.selectorCount--;if(c.size===0)t.changeListeners=void 0}};return me(t,m),m};var ar=(e,t)=>{let o=ir(e,t,new Set);if(t.pendingOrphanCleanup===I)throw R(t);let i=[],s=[],a=new Set,n=new Map([[e,o]]),m=J.count===0?void 0:er(void 0,"reset"),c=Y(),y=Oe(e)?Qt(t,"set",nr):void 0;return ie(ne(t,y?ze(t,Yt(t,s),y,Ae):Xt(t,s,X,We),i,c,m,void 0,void 0,()=>{if(s.push(...sr(n,t,a,"collect",i)),y){let A=or(i);if(A)y.sets.push(...A)}},void 0,m?()=>tr(m):void 0,rr())),o};var lr=new WeakSet,mr=(e,t,r)=>{for(let[o,i]of e.values){if(o.__valdresInternal)continue;if(j(o)||ce(o))continue;r.push({type:W(o)?"selector":"atom",state:o,value:i,scope:t})}for(let[o,i]of e.scopes)mr(i,[...t,o],r)},cr=(e)=>{if(!e.enumerable){if(!lr.has(e))lr.add(e),console.warn("store.snapshot() requires an enumerable store. Create it with `store({ enumerable: true })` or `store(id, { enumerable: true })` to retain state enumerably. Returning [].");return[]}let t=[];return mr(e,[],t),t};var kr=(e,t)=>t.parent?kr(e,t.parent).scopedTransaction(t.id):e,fr=(e)=>`valdres: invalid state object${Ee(e)} passed to set().
|
|
2
|
-
You provided a \`selector\`.
|
|
3
|
-
Only an \`atom\` can be set.
|
|
4
|
-
`,pr=(e)=>`valdres: invalid state object${Ee(e)} passed to set().
|
|
5
|
-
Only an \`atom\` can be set.
|
|
6
|
-
`;function Te(e,t){let r=xr(e);return t?no(r,t):r}var xr=(e)=>{let t=e,r=t[Ie];if(!r)r=oo(e),t[Ie]=r;return r},ro=(e)=>{let t=e,r=t[Re];if(!r){let{dispose:o,...i}=xr(e);r=i,t[Re]=r}return r},oo=(e)=>{let t=new Set,r=0,o=null,i=()=>{if(o?._state)o=null;return o},s=(p)=>{let g=kr(p,e);return o=g,queueMicrotask(()=>{if(o===g)o=null}),g},a=()=>{let p=e.tree.pendingBatch;if(p){let g=e.tree;if(g.pendingBatch=null,g.pendingBatchCleanup)re(g.root,g.pendingBatchCleanup),g.pendingBatchCleanup=void 0;wr(p)}},n=()=>{if(e.pendingOrphanCleanup===I){o=null;return}a()},m=()=>{let p=e.tree.pendingBatch;if(!p){let g=e.tree;p=new Vr(g.root),p._implicitBatch=!0;let l=()=>{let S=g.pendingBatch;if(g.pendingBatch=null,g.pendingBatchCleanup=void 0,S)Fr(S)};g.pendingBatch=p,g.pendingBatchCleanup=me(g.root,l),queueMicrotask(()=>{try{a()}catch(S){setTimeout(()=>{throw S},0)}})}return p},c=()=>i()??s(m()),y=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.values.has(p)){if(e.dirtyFamilyIndexes!==void 0&&e.dirtyFamilyIndexes.has(p))return hr(p,e);let O=e.coldSelectorCachesEnabled?e.coldSelectorCaches.get(p):void 0;if(O!==void 0){if(O.validatedAt===e.tree.revision)return e.values.get(p)}else if(p.maxAge===void 0||!ee.expireIfStale(p,e))return e.values.get(p)}let g,l=!1,S=ur(e),b=null;r++;try{g=de(p,e,t)}finally{if(r--,r===0&&t.size){let O=[...t];t.clear(),X(O,e,void 0,void 0,ve),l=!0}if(S)b=yr(e)}if(b)Ne(b,e);if(l&&W(p)&&!e.values.has(p))ke(p,g,e);return g},A=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}let g=i();if(g)return g.get(p);let l=e.tree.pendingBatch;if(l)return s(l).get(p);return y(p)},f=e.batchUpdates?A:y;function u(p,g){if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(Z(p))return gr(p,g,e);if(W(p))throw Error(fr(p));throw Error(pr(p))}function F(p,g){if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(Z(p))return c().set(p,g);if(W(p))throw Error(fr(p));throw Error(pr(p))}let V=e.batchUpdates?F:u,d=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return ar(p,e)},h=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Gt(p,e)},C=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Sr(p,e)},x=()=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(!e.parent)throw Error(br(e.id,"store"));if(e.batchUpdates)n();if(e.scopeIndexKeys.size===0)return;Or("unset",(p)=>p.unsetAll(),e)},_=(p,g,l=!0)=>Ve(p,g,l,e),k=(p,g)=>{if(p===Ar)return e;if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(e.batchUpdates)n();return Cr(p,e,g)},M=(p,g)=>{if(e.pendingOrphanCleanup===I)throw R(e);return Zt(p,e,g)},pe=(p)=>{if(e.pendingOrphanCleanup===I)throw R(e);return dr(p,e)},Ye=()=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}return cr(e)},Ge=()=>{if(e.pendingOrphanCleanup===I)return;at(e)},Qe=(p)=>{if(e.pendingOrphanCleanup===I)throw R(e);let g=()=>p();return me(e,g),()=>re(e,g)},se=(p)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}return e.scopes.has(p)},Xe=(p,g)=>{if(e.pendingOrphanCleanup){if(e.pendingOrphanCleanup===I)throw R(e);z(e)}if(g){let l=e.scopes.get(p);if(l===void 0)throw Error(`valdres: scope '${p}' does not exist`);let S=ro(l);return g(S)}else{let l=e.scopes.get(p);if(l===void 0){let w=e.batchUpdates?{batchUpdates:!0}:void 0;l=we(p,e,w),e.scopes.set(p,l)}let S=l.scopeConsumers,b=(w=!1)=>{if(S.delete(b),S.size===0)return at(l),!0;if(w)console.warn(`Scope ${p} still has ${S.size} consumers, will not detach`);return!1};return S.add(b),Te(l,b)}};return{id:e.id,get:f,set:V,sub:_,txn:k,reset:d,del:h,unset:C,unsetAll:x,scope:Xe,hasScope:se,onDispose:Qe,onChange:M,onCommitEnd:pe,snapshot:Ye,dispose:Ge}},no=(e,t)=>({id:e.id,get:e.get,set:e.set,sub:e.sub,txn:e.txn,reset:e.reset,del:e.del,unset:e.unset,unsetAll:e.unsetAll,scope:e.scope,hasScope:e.hasScope,onDispose:e.onDispose,onChange:e.onChange,onCommitEnd:e.onCommitEnd,snapshot:e.snapshot,dispose:t,detach:t});var io=()=>{throw Error("valdres: globalStore is process-wide and cannot be disposed")},lt=U().runtime;if(lt.globalStore===void 0){let e=we("valdres-global-store"),t=Object.assign(Te(e),{dispose:io});lt.globalStore={store:t,data:e}}var Le=lt.globalStore;var _e=Le.store;var Be=(e,t)=>{let r=new Set,o=Le.data,i=t.onSet,s=(h)=>{if(h===o){if($e(h))return}else if(!vr(h,d))return;r.add(h)},a=(h)=>{r.delete(h),Er(h,d)},n=(h,C)=>{h(_e.get(d)),s(C)},m=i??Dr,c=0,y,A=t.onMount,d={equal:G,...t,defaultValue:e,onInit:n,onSet:m,onMount:A?(...h)=>{if(c++,c===1)try{y=A(...h)}catch(C){throw c--,y=void 0,C}return()=>{if(c<=0)return;if(c--,c===0&&typeof y==="function"){let C=y;y=void 0,C()}}}:void 0,setSelf:(h)=>_e.set(d,h),getSelf:()=>_e.get(d),resetSelf:()=>{let h=[...r],C=[];for(let k of h)if(xe(d,k))C.push(k);let x=Y();for(let k of h)try{je(d,k)}catch(M){Q(x,M)}if(d.cacheController)try{ee.stopGlobal(d)}catch(k){Q(x,k)}let _=[];for(let k of h)a(k),Rr(d,k),_.push(Pe(k,[d],void 0,void 0,void 0));let v=C[0]??h[0]??o;ie(ne(v,ze(v,_,void 0,Ae),Se,x,"reset",void 0,void 0,void 0,void 0,void 0,void 0,()=>{for(let k of C){try{s(k)}catch(M){Q(x,M)}if(d.maxAge!==void 0&&(k.subscriptions.get(d)?.size??0)>0)try{ee.retain(d,k,Ve)}catch(M){Q(x,M)}try{Ir(d,k)}catch(M){Q(x,M)}}}))},attach:s,detach:a,stores:r,cacheController:void 0};return d};class Tr{remove;batchTokensByValue=new WeakMap;entryByRef=new WeakMap;finalizer=new FinalizationRegistry((e)=>{for(let t of e)if(t.active)this.remove(t.key,t.ref)});constructor(e){this.remove=e}register(e){for(let t=0;t<e.length;){let r={},o=[],i=Math.min(t+64,e.length);for(;t<i;t++){let{key:s,value:a,ref:n}=e[t],m={active:!0,key:s,ref:n};this.entryByRef.set(n,m);let c=this.batchTokensByValue.get(a);if(c===void 0)this.batchTokensByValue.set(a,[r]);else c.push(r);o.push(m)}this.finalizer.register(r,o)}}release(e){let t=this.entryByRef.get(e);if(t===void 0)return;t.active=!1,t.key=void 0}}class fe{[Symbol.toStringTag]="Map";refs=new Map;autonomousCleanup;weakeningScheduled=!1;weaken=()=>{this.weakeningScheduled=!1;let e=this.autonomousCleanup?[]:void 0;for(let[t,r]of this.refs)if(!(r instanceof WeakRef)){let o=new WeakRef(r);this.refs.set(t,o),e?.push({key:t,value:r,ref:o})}if(e!==void 0)this.autonomousCleanup.register(e)};constructor(e){this.autonomousCleanup=e?.autonomousCleanup?new Tr((t,r)=>{if(this.refs.get(t)===r)this.refs.delete(t)}):void 0}get size(){for(let[e,t]of this.refs)if(t instanceof WeakRef&&t.deref()===void 0)this.deleteRef(e,t);return this.refs.size}clear(){if(this.autonomousCleanup!==void 0){for(let e of this.refs.values())if(e instanceof WeakRef)this.autonomousCleanup.release(e)}this.refs.clear()}delete(e){if(this.autonomousCleanup!==void 0){let t=this.refs.get(e);if(t instanceof WeakRef)this.autonomousCleanup.release(t)}return this.refs.delete(e)}get(e){let t=this.refs.get(e);if(t===void 0)return;if(!(t instanceof WeakRef))return t;let r=t.deref();if(r===void 0)this.deleteRef(e,t);return r}has(e){return this.get(e)!==void 0}set(e,t){return this.refs.set(e,t),this.scheduleWeakening(),this}getOrInsert(e,t){let r=this.get(e);if(r!==void 0)return r;return this.set(e,t),t}getOrInsertComputed(e,t){let r=this.get(e);if(r!==void 0)return r;let o=t(e);return this.set(e,o),o}entries(){return this.iterateEntries()}keys(){return this.iterateKeys()}values(){return this.iterateValues()}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}[Symbol.iterator](){return this.entries()}*iterateEntries(){for(let[e,t]of this.refs)if(t instanceof WeakRef){let r=t.deref();if(r===void 0)this.deleteRef(e,t);else yield[e,r]}else yield[e,t]}*iterateKeys(){for(let[e]of this.entries())yield e}*iterateValues(){for(let[,e]of this.entries())yield e}scheduleWeakening(){if(this.weakeningScheduled)return;this.weakeningScheduled=!0,queueMicrotask(this.weaken)}deleteRef(e,t){if(this.refs.get(e)!==t)return;this.autonomousCleanup?.release(t),this.refs.delete(e)}}var so=()=>{},qe=(e,t,r=!1)=>{let o=new fe,i=new fe,s=t?.keyOf,a;if(t!==void 0){let{keyOf:d,...h}=t;a=h}let n=ce(e),m=!n&&typeof e==="function",c=!!a?.name,y=(d,h,C=h)=>{let x;if(n)x=e(...d);else if(m)x=()=>e(...d);else x=e;let _=c?a.name+"_"+C:void 0,v;if(r)v=Be(x,{...a,name:_});else v={equal:G,...a,defaultValue:x,name:_};return v.family=u,v.familyArgs=d,v.familyArgsStringified=h,o.set(h,v),v};function A(d){if(arguments.length===1){let _=typeof d;if(_==="number"&&(d!==0||1/d===1/0)){let v=o.get(d);if(v!==void 0)return v;return y([d],d)}if(_==="string"){let v=i.get(d);if(v!==void 0)return v;let k=[d],M=y(k,q(k),d);return i.set(d,M),M}if(_==="boolean"||_==="bigint"){let v=o.get(d);if(v!==void 0)return v;return y([d],d)}}let h=Array.prototype.slice.call(arguments),C=q(h),x=o.get(C);if(x!==void 0)return x;return y(h,C)}function f(d){let h=Array.prototype.slice.call(arguments),C=[s(...h)],x=q(C),_=o.get(x);if(_!==void 0)return _;return y(h,x,C.length===1&&typeof C[0]==="string"?C[0]:x)}let u=s===void 0?A:f;Object.defineProperty(u,"name",{value:c?a.name:void 0,writable:!1});let V=Object.assign(u,{__valdresAtomFamilyMap:o,release:so,equal:G,schema:a?.schema,schemaValidation:a?.schemaValidation});if(c)ye(a.name,V);return V};function ao(e,t){return qe(e,t)}var Ue=(e)=>Error("valdres: "+e+" does not accept async functions. Use a sync function that returns a Promise instead.");var Fe=(e,t)=>{if(e.constructor?.name==="AsyncFunction")throw Ue("selector()");if(!t)return{equal:G,get:e};return{equal:G,...t,get:e}};var lo=(e)=>{let t=e;if(t.__cacheMetaSelector)return t.__cacheMetaSelector;if(!t.__cacheMeta)t.__cacheMeta={equal:G,defaultValue:null,__valdresInternal:!0};return t.__cacheMetaSelector=Fe((r)=>r(t.__cacheMeta)),t.__cacheMetaSelector.__valdresInternal=!0,t.__cacheMetaSelector};function mo(e,t){if(!t.name)throw Error("valdres: missing name for global atom");let r=Be(e,t);return ye(t.name,r),r}var _r=U().runtime.globalAtomFamilies,Gr=(e)=>{if(e.length===0)return;let t=Function.prototype.toString.call(e),r=t.indexOf("=>"),o=r===-1?t.indexOf(")"):r;if(o===-1)return;let i=t.slice(0,o);return i.includes("=")||i.includes("...")?void 0:e.length},Mr=(e,t)=>{if(!t.name)throw Error("valdres: missing name for global atomFamily");let r=_r.get(t.name);if(r!==void 0){let a=t.keyOf!==void 0,n=t.keyOf===void 0?void 0:Gr(t.keyOf);if(r.usesKeyOf!==a)throw Error(`valdres: global atomFamily '${t.name}' contract mismatch: the first definition ${r.usesKeyOf?"uses":"does not use"} keyOf, but the later definition ${a?"does":"does not"}.`);if(r.keyOfArity!==void 0&&n!==void 0&&r.keyOfArity!==n)throw Error(`valdres: global atomFamily '${t.name}' contract mismatch: keyOf arity was ${r.keyOfArity} in the first definition and ${n} in the later definition.`);if(!B)console.warn(`valdres: global atomFamily '${t.name}' already exists; keeping the first definition. The later defaultValue and options were ignored.`);return r.family}let{registry:o}=U(),i=o.get(t.name);if(i!==void 0){let a=j(i)?"an ordinary atomFamily":"an atom";throw Error(`valdres: global atomFamily '${t.name}' kind mismatch: the name is already registered as ${a} and cannot be reused as a global atomFamily.`)}let s=qe(e,t,!0);return _r.set(t.name,{family:s,usesKeyOf:t.keyOf!==void 0,keyOfArity:t.keyOf===void 0?void 0:Gr(t.keyOf)}),s};function co(e,t){return Mr(e,t)}class mt{[Symbol.toStringTag]="Map";refs=new Map;finalizer=new FinalizationRegistry(({key:e,ref:t})=>{if(this.refs.get(e)===t)this.refs.delete(e)});get size(){return this.sweep(),this.refs.size}clear(){for(let e of this.refs.values())this.finalizer.unregister(e);this.refs.clear()}delete(e){let t=this.refs.get(e);if(t===void 0)return!1;return this.finalizer.unregister(t),this.refs.delete(e)}get(e){let t=this.refs.get(e);if(t===void 0)return;let r=t.deref();if(r===void 0)this.deleteRef(e,t);return r}has(e){return this.get(e)!==void 0}set(e,t){let r=this.refs.get(e);if(r!==void 0)this.finalizer.unregister(r);let o=new WeakRef(t);return this.refs.set(e,o),this.finalizer.register(t,{key:e,ref:o},o),this}entries(){return this.iterateEntries()}keys(){return this.iterateKeys()}values(){return this.iterateValues()}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}[Symbol.iterator](){return this.entries()}*iterateEntries(){for(let[e,t]of this.refs){let r=t.deref();if(r===void 0)this.deleteRef(e,t);else yield[e,r]}}*iterateKeys(){for(let[e]of this.entries())yield e}*iterateValues(){for(let[,e]of this.entries())yield e}sweep(){for(let[e,t]of this.refs)if(t.deref()===void 0)this.deleteRef(e,t)}deleteRef(e,t){if(this.refs.get(e)!==t)return;this.finalizer.unregister(t),this.refs.delete(e)}}var fo=(e,t,r)=>{let o=new mt,i=r?.keyOf;return Object.assign((a)=>{let n=i===void 0?a:i(a),m=q([n]),c=o.get(m);if(c)return c;let y=new WeakMap,A=(u)=>{let F=y.get(u);if(!F)F=Fe((V)=>t(V(u),a),{name:`index:callback:selector:${u.name}`}),y.set(u,F);return F},f=Fe((u)=>{let F=[],V=u(e);for(let d of V)if(u(A(d)))F.push(d);return F},{name:`index:${r?.name}:${typeof n==="string"?n:m}:termSelector`});return o.set(m,f),f},{map:o,callback:t})};var Kr=(e)=>{let t=e.length,r=Array(t);for(let o=0;o<t;o++)r[o]=e[o];return r},po=(e,t)=>{let r=new fe({autonomousCleanup:!0}),o=new fe({autonomousCleanup:!0}),i=t?.keyOf,s;if(t!==void 0){let{keyOf:f,...u}=t;s=u}let a=!!s?.name,n=(f,u,F=u,V)=>{let d=r.get(u);if(d!==void 0)return d;let h=e(...f);if(h.constructor?.name==="AsyncFunction")throw Ue("selectorFamily()");let C={equal:G,...s,get:h,family:A,familyArgs:f,familyArgsStringified:u,name:a?s.name+"_"+F:void 0};if(r.set(u,C),V!==void 0)o.set(V,C);return C};function m(f){if(arguments.length===1){let d=typeof f;if(d==="string"){let h=o.get(f);if(h!==void 0)return h;let C=[f];return n(C,q(C),f,f)}if(d==="number"&&(f!==0||1/f===1/0)){let h=r.get(f);if(h!==void 0)return h;return n([f],f)}if(d==="boolean"||d==="bigint"){let h=r.get(f);if(h!==void 0)return h;return n([f],f)}}let u=arguments.length===1?[f]:arguments.length===2?[f,arguments[1]]:Kr(arguments),F=q(u),V=r.get(F);if(V!==void 0)return V;return n(u,F)}function c(f){let u=arguments.length===1?[f]:arguments.length===2?[f,arguments[1]]:Kr(arguments),F=[i(...u)],V=q(F),d=r.get(V);if(d!==void 0)return d;return n(u,V,typeof F[0]==="string"?F[0]:V)}let y=i===void 0?m:c,A=y;return A.__valdresSelectorFamilyMap=r,A.release=(...f)=>{if(i===void 0&&f.length===1&&typeof f[0]==="string")o.delete(f[0]);let u=i===void 0?f:[i(...f)];return r.delete(q(u))},A.schema=s?.schema,A.schemaValidation=s?.schemaValidation,Object.defineProperty(y,"name",{value:a?s.name:void 0,writable:!1}),A};function uo(e,t){let r=typeof e==="object"&&e!==null?e:void 0,o=typeof e==="string"?e:r?.id,s=we(o,void 0,r??t);return Te(s)}var D=(e,t)=>({path:e,reason:t}),Je=(e,t)=>/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(t)?`${e}.${t}`:`${e}[${JSON.stringify(t)}]`,ct=(e,t,r)=>{switch(typeof e){case"string":case"boolean":return;case"number":if(Number.isNaN(e))return D(t,"NaN");if(e===1/0)return D(t,"Infinity");if(e===-1/0)return D(t,"-Infinity");if(Object.is(e,-0))return D(t,"-0");return;case"bigint":return D(t,"a BigInt");case"undefined":return D(t,"undefined");case"symbol":return D(t,"a symbol");case"function":return D(t,"a function")}if(e===null)return;if(typeof e!=="object")return D(t,typeof e);if(r.has(e))return D(t,"a circular reference");if(Array.isArray(e)){if(Object.getPrototypeOf(e)!==Array.prototype)return D(t,"an Array subclass");r.add(e);try{for(let s of Reflect.ownKeys(e)){if(typeof s==="symbol")return D(t,"a symbol-keyed property");if(s==="length")continue;if(s==="toJSON"&&typeof Object.getOwnPropertyDescriptor(e,s).value==="function")return D(t,"an array with a toJSON hook");let a=Number(s);if(!Number.isInteger(a)||a<0||a>=e.length||String(a)!==s)return D(Je(t,s),"a non-index array property")}for(let s=0;s<e.length;s++){let a=`${t}[${s}]`,n=Object.getOwnPropertyDescriptor(e,s);if(n===void 0)return D(a,"a sparse-array hole");if(!("value"in n))return D(a,"an accessor property");let m=ct(n.value,a,r);if(m)return m}}finally{r.delete(e)}return}let o=Object.getPrototypeOf(e);if(o===Object.prototype){r.add(e);try{for(let s of Reflect.ownKeys(e)){if(typeof s==="symbol")return D(t,"a symbol-keyed property");let a=Object.getOwnPropertyDescriptor(e,s);if(s==="toJSON"&&typeof a.value==="function")return D(t,"an object with a toJSON hook");if(!a.enumerable)return D(Je(t,s),"a non-enumerable property");if(!("value"in a))return D(Je(t,s),"an accessor property");let n=ct(a.value,Je(t,s),r);if(n)return n}}finally{r.delete(e)}return}if(o===null)return D(t,"a null-prototype object");if(o===Date.prototype)return D(t,"a Date");if(o===Map.prototype)return D(t,"a Map");if(o===Set.prototype)return D(t,"a Set");let i=e.constructor?.name;return D(t,i?`a ${i} instance`:"a non-plain object")},Wr=(e,t)=>{let r=new WeakSet;for(let o=0;o<t.length;o++){let i=ct(t[o],`args[${o}]`,r);if(i===void 0)continue;throw TypeError(`valdres: dehydrate cannot serialize a '${e}' member — ${i.path} is ${i.reason}, which JSON does not round-trip. Family args cross the wire raw, and hydrate re-derives the member with ${e}(...args), so this entry would land on a different member. Key transferred families by strings and numbers (e.g. date.toISOString()).`)}};var $r=(e)=>{let t=e.schema;if(t&&typeof t.safeEncode==="function"&&typeof t.safeDecode==="function")return t;return},Pr=new WeakSet,ft=(e,t)=>{let r=$r(e);if(!r)return{value:t,encoded:!1};let o;try{o=r.safeEncode(t)}catch(i){if(i?.name==="ZodEncodeError"){if(!B&&!Pr.has(r))Pr.add(r),console.warn(`valdres: dehydrate is emitting '${e.name??"anonymous atom"}' raw — its schema cannot encode (${i instanceof Error?i.message:String(i)}). Use a bidirectional codec (z.codec) for wire-transformed values.`);return{value:t,encoded:!1}}throw new H(i,e)}if(o.success)return{value:o.data,encoded:!0};throw new H(o.error,e)},He=(e,t)=>{let r=$r(e);if(!r)throw new H(Error("the payload entry is wire-encoded, but the registered atom's schema is not bidirectional (no safeDecode) — was it dehydrated with a different schema?"),e);let o;try{o=r.safeDecode(t)}catch(i){throw new H(i,e)}if(!o.success)throw new H(o.error,e);return o.data};var yo=(e)=>{let t=zr(e);if(t.parent)throw Error("valdres: dehydrate(store) only supports root stores. Scoped "+"stores are out of scope for v1 — initialize scopes on the "+"hydrating side instead (adapters' scope `initialize`).");let r=[],o=[],i=jr(t);if(i===void 0)return{atoms:r,families:o};for(let[s,a]of i)if(j(s)){let n=Nr(s,t);if(n===void 0)continue;for(let m of n){let c=t.values.get(m);if(!he(m,t,c))continue;if(m.familyArgs.length===0){if(!B)console.warn(`valdres: dehydrate skipped a '${a}' member created with zero args — it cannot be addressed by hydrate (family args must be a non-empty tuple).`);continue}if(!B)Wr(a,m.familyArgs);if(P(c)){if(!B)console.warn(`valdres: dehydrate skipped '${a}(${JSON.stringify(m.familyArgs).slice(1,-1)})' — its value is a pending promise. Settle async state before dehydrating.`);continue}if(m.schema===void 0)o.push([a,m.familyArgs,c]);else{let y=ft(m,c);o.push(y.encoded?[a,m.familyArgs,y.value,1]:[a,m.familyArgs,y.value])}}}else{let n=t.values.get(s);if(!he(s,t,n))continue;if(P(n)){if(!B)console.warn(`valdres: dehydrate skipped '${a}' — its value is a pending promise. Settle async state before dehydrating.`);continue}if(s.schema===void 0)r.push([a,n]);else{let m=ft(s,n);r.push(m.encoded?[a,m.value,1]:[a,m.value])}}return{atoms:r,families:o}};var ho=(e,t,r)=>{let o=r?.invalid==="skip",{registry:i}=U();e.txn((s)=>{let a=(c,y,A)=>{if(!o){s.set(c,A===1?He(c,y):y);return}try{s.set(c,A===1?He(c,y):y)}catch(f){if(!(f instanceof H))throw f;console.warn(`valdres: hydrate skipped an entry — ${f.message}`)}};for(let[c,y,A]of t.atoms){let f=i.get(c);if(f===void 0){console.warn(`valdres: hydrate skipped unknown atom '${c}' — no atom with that name is registered (was the module defining it imported?).`);continue}if(j(f)){console.warn(`valdres: hydrate skipped '${c}' — the payload has an atom entry but '${c}' is registered as an atomFamily.`);continue}a(f,y,A)}let n=new Map;for(let[c,y,A,f]of t.families){let u=i.get(c);if(u===void 0){console.warn(`valdres: hydrate skipped unknown atomFamily '${c}' — no atomFamily with that name is registered (was the module defining it imported?).`);continue}if(!j(u)){console.warn(`valdres: hydrate skipped '${c}' — the payload has an atomFamily entry but '${c}' is registered as an atom.`);continue}if(!Array.isArray(y)||y.length===0){console.warn(`valdres: hydrate skipped a '${c}' entry — its args is not a non-empty array (got ${JSON.stringify(y)}).`);continue}let F=u(...y),V;try{V=f===1?He(F,A):A}catch(h){if(!o||!(h instanceof H))throw h;console.warn(`valdres: hydrate skipped an entry — ${h.message}`);continue}let d=n.get(u);if(!d)d=[],n.set(u,d);d.push([F,V])}let m=o?(c)=>console.warn(`valdres: hydrate skipped an entry — ${c.message}`):void 0;for(let[c,y]of n)s.batchSetFamilyAtoms(c,y,m)})};var pt=(e,t)=>{for(let[r,o]of t)e(r,o)};var So=(e,t)=>{let r=t?.(e);if(Array.isArray(r))pt(e.set,r)};var go=(e)=>j(e)||ce(e);var Ao=(e)=>ut(e)&&W(e);var Lr="default",Ze=typeof process>"u"||process.env==null?void 0:"1.0.0-beta.22",te=U();if(te.loaded){let e=`Loaded: ${te.version??"unknown"} (${te.buildVariant??"unknown"}). Attempted: ${Ze??"unknown"} (${Lr}).`;if(te.version===void 0||Ze===void 0)throw Error(`valdres: cannot safely load another runtime because at least one valdres version is unknown. ${e} Build valdres or inject process.env.VALDRES_VERSION so same-version copies can adopt the shared runtime.`);if(te.version!==Ze)throw Error(`valdres: cannot load different valdres versions in the same JavaScript global. ${e} Ensure the dependency graph resolves one version and deduplicate valdres dependencies.`);if(!te.adoptable)throw Error(`valdres: the loaded same-version instance does not expose the shared runtime required for safe adoption. ${e} Deduplicate valdres dependencies or reload after upgrading every copy together.`)}else te.loaded=!0,te.version=Ze,te.buildVariant=Lr;export{H as SchemaValidationError,wo as SelectorCircularDependencyError,Vo as SelectorEvaluationError,bo as StoreDisposedError,So as applyInitialize,qr as atom,ao as atomFamily,lo as cacheMeta,Co as deepFreeze,yo as dehydrate,mo as globalAtom,co as globalAtomFamily,_e as globalStore,ho as hydrate,fo as index,Z as isAtom,j as isAtomFamily,go as isFamily,st as isFamilyAtom,Ao as isFamilySelector,ut as isFamilyState,P as isPromiseLike,W as isSelector,ce as isSelectorFamily,Fo as isSuspendError,Fe as selector,po as selectorFamily,pt as setAtomPairs,uo as store};
|
|
1
|
+
import{a as o,b as a,c as n,d as l,e as p,f as c,g as i,h as s,i as u,j as y,k as v,l as E,m,n as S,o as t}from"./chunk-13jzc8rs.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=n,g=u,D=s,O=i,M=m,N=o,q=v,P=l,z=S,w=y,U=E,G=a,j=c,L=p;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
import type { CommittedStoreTree as Store, State } from "../v1-internal/committed-store-tree/committed-store-tree.js";
|
|
2
|
+
export declare const assertStore: (value: unknown) => asserts value is Store;
|
|
3
|
+
export declare const read: <Value>(store: Store, state: State<Value>) => Value;
|
|
4
|
+
export declare const subscribe: <Value>(store: Store, state: State<Value>, callback: () => void) => () => void;
|
|
5
|
+
export declare const readHydrationSnapshot: <Value>(store: Store, state: State<Value>) => Value;
|