svelte/store
Interfaces
UseStackOptions
Defined in: packages/svelte/src/store.ts:117
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState[] |
Properties
| Property | Type | Defined in |
|---|---|---|
stack? |
string |
packages/svelte/src/store.ts:118 |
select? |
(states) => T |
packages/svelte/src/store.ts:119 |
compare? |
(a, b) => boolean |
packages/svelte/src/store.ts:120 |
UseLayerStateOptions
Defined in: packages/svelte/src/store.ts:123
Type Parameters
| Type Parameter | Default type |
|---|---|
Key extends LayerKey |
- |
P |
unknown |
D |
unknown |
U |
LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[] |
Properties
| Property | Type | Defined in |
|---|---|---|
key |
Key |
packages/svelte/src/store.ts:129 |
stack? |
string |
packages/svelte/src/store.ts:130 |
select? |
(states) => U |
packages/svelte/src/store.ts:131 |
compare? |
(a, b) => boolean |
packages/svelte/src/store.ts:132 |
MutationRun
Defined in: packages/svelte/src/store.ts:402
Type Parameters
| Type Parameter |
|---|
R |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
orEnd |
(response) => Promise<void> |
On success, end the layer with response; on failure, leave it open and rethrow. |
packages/svelte/src/store.ts:404 |
MutationFlow
Defined in: packages/svelte/src/store.ts:407
Type Parameters
| Type Parameter |
|---|
R |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
pending |
Readable<boolean> |
Store that is true while a run(...) async action is in flight; subscribe with $pending. Mirrors the layer’s actionStatus: "running". |
packages/svelte/src/store.ts:409 |
run |
(fn) => MutationRun<R> |
- | packages/svelte/src/store.ts:410 |
LayerGroup
Defined in: packages/svelte/src/store.ts:451
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
open |
ScopedOpen |
- | packages/svelte/src/store.ts:452 |
dismissAll |
(response?) => void |
- | packages/svelte/src/store.ts:453 |
stack |
Readable<LayerState<unknown, void, Error, unknown>[]> |
The child stack store — render {#each $stack as s} and pair with callFor(client, stackId, s). |
packages/svelte/src/store.ts:455 |
stackId |
string |
- | packages/svelte/src/store.ts:456 |
ScopedOpen()
Defined in: packages/svelte/src/store.ts:460
Open a layer on a pre-bound stack, with DataTag response and error inference.
Call Signature
ScopedOpen<P, R, E, D, RootProps>(options): Promise<R>;
Defined in: packages/svelte/src/store.ts:461
Open a layer on a pre-bound stack, with DataTag response and error inference.
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
E |
Error |
D |
unknown |
RootProps |
unknown |
Parameters
| Parameter | Type |
|---|---|
options |
OmitKeyof<OpenLayerOptions<P, R, E, D, RootProps> & object, "stack" | "validate"> |
Returns
Promise<R>
Call Signature
ScopedOpen<P, R, E, D, RootProps>(options): Promise<R>;
Defined in: packages/svelte/src/store.ts:469
Open a layer on a pre-bound stack, with DataTag response and error inference.
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
void |
E |
Error |
D |
unknown |
RootProps |
unknown |
Parameters
| Parameter | Type |
|---|---|
options |
OmitKeyof<OpenLayerOptions<P, R, E, D, RootProps>, "stack"> |
Returns
Promise<R>
Type Aliases
WiredLayerStoreHandle
type WiredLayerStoreHandle<P, R, E, D, RP> = LayerHandle<P, R, E, D, RP> & object;
Defined in: packages/svelte/src/store.ts:135
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
Readable<LayerState<P, R, E, D>[]> |
packages/svelte/src/store.ts:142 |
queued |
Readable<LayerState<P, R, E, D>[]> |
packages/svelte/src/store.ts:143 |
top |
Readable< | LayerState<P, R, E, D> | null> |
packages/svelte/src/store.ts:144 |
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
E |
DefaultLayerError |
D |
unknown |
RP |
unknown |
WiredValidatedLayerStoreHandle
type WiredValidatedLayerStoreHandle<V, R, E, D, RP> = ValidatedLayerHandle<V, R, E, D, RP> & object;
Defined in: packages/svelte/src/store.ts:147
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
Readable<LayerState<InferValidatorOutput<V>, R, E, D>[]> |
packages/svelte/src/store.ts:154 |
queued |
Readable<LayerState<InferValidatorOutput<V>, R, E, D>[]> |
packages/svelte/src/store.ts:155 |
top |
Readable< | LayerState<InferValidatorOutput<V>, R, E, D> | null> |
packages/svelte/src/store.ts:156 |
Type Parameters
| Type Parameter | Default type |
|---|---|
V extends Validator<unknown> |
- |
R |
- |
E |
DefaultLayerError |
D |
unknown |
RP |
unknown |
Functions
setLayerClient()
function setLayerClient(client?): LayerClient;
Defined in: packages/svelte/src/store.ts:88
Provides a LayerClient to descendant components.
Parameters
| Parameter | Type | Description |
|---|---|---|
client? |
LayerClient |
Client to provide. A new client is created when omitted. |
Returns
The provided client.
useLayerClient()
function useLayerClient(): LayerClient;
Defined in: packages/svelte/src/store.ts:99
Reads the nearest LayerClient from Svelte context.
Returns
The nearest provided client.
useStack()
function useStack<T>(opts?, client?): Readable<T>;
Defined in: packages/svelte/src/store.ts:225
Exposes a LayerClient stack as a Svelte readable store.
Use $stack in components to subscribe. Pair each state with callFor
when rendering a layer.
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState<unknown, void, Error, unknown>[] |
Parameters
| Parameter | Type | Description |
|---|---|---|
opts |
UseStackOptions<T> |
Stack id, selector, and compare options. |
client? |
LayerClient |
Optional client override; defaults to useLayerClient. |
Returns
Readable<T>
A readable store of the selected stack value.
Default
stack is "default"; select is identity; compare is
Object.is.
Example
<script>
import {
callFor,
useLayerClient,
useStack,
} from "@stainless-code/svelte-layers/store";
const client = useLayerClient();
const stack = useStack({ stack: "confirm" });
</script>
{#each $stack as state (state.id)}
{@const call = callFor(client, "confirm", state)}
{#if call}<Confirm {call} />{/if}
{/each}
createQueuedStack()
function createQueuedStack<T>(opts?, client?): Readable<T>;
Defined in: packages/svelte/src/store.ts:239
Exposes a stack’s queued snapshot as a Svelte readable store.
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState<unknown, void, Error, unknown>[] |
Parameters
| Parameter | Type |
|---|---|
opts |
UseStackOptions<T> |
client? |
LayerClient |
Returns
Readable<T>
createLayerState()
function createLayerState<Key, P, D, U>(opts, client?): Readable<U>;
Defined in: packages/svelte/src/store.ts:258
Observe all mounted layers matching a key.
Type Parameters
| Type Parameter | Default type |
|---|---|
Key extends LayerKey |
- |
P |
unknown |
D |
unknown |
U |
LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[] |
Parameters
| Parameter | Type |
|---|---|
opts |
UseLayerStateOptions<Key, P, D, U> |
client? |
LayerClient |
Returns
Readable<U>
createLayerQueuedState()
function createLayerQueuedState<Key, P, D, U>(opts, client?): Readable<U>;
Defined in: packages/svelte/src/store.ts:281
Observe all queued layers matching a key.
Type Parameters
| Type Parameter | Default type |
|---|---|
Key extends LayerKey |
- |
P |
unknown |
D |
unknown |
U |
LayerState<P, ResponseOf<Key>, ErrorOf<Key>, D>[] |
Parameters
| Parameter | Type |
|---|---|
opts |
UseLayerStateOptions<Key, P, D, U> |
client? |
LayerClient |
Returns
Readable<U>
createLayer()
Call Signature
function createLayer<V, R, E, D, RP>(options, client?): WiredValidatedLayerStoreHandle<V, R, E, D, RP>;
Defined in: packages/svelte/src/store.ts:338
Wired handle: wraps core createLayerHandle with store reactivity.
Type Parameters
| Type Parameter | Default type |
|---|---|
V extends Validator<unknown> |
- |
R |
- |
E |
Error |
D |
unknown |
RP |
unknown |
Parameters
| Parameter | Type |
|---|---|
options |
LayerOptions<InferValidatorOutput<V>, R, E, D, RP> & object |
client? |
LayerClient |
Returns
WiredValidatedLayerStoreHandle<V, R, E, D, RP>
Call Signature
function createLayer<P, R, E, D, RP>(options, client?): WiredLayerStoreHandle<P, R, E, D, RP>;
Defined in: packages/svelte/src/store.ts:352
Wired handle: wraps core createLayerHandle with store reactivity.
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
E |
Error |
D |
unknown |
RP |
unknown |
Parameters
| Parameter | Type |
|---|---|
options |
LayerOptions<P, R, E, D, RP> & object |
client? |
LayerClient |
Returns
WiredLayerStoreHandle<P, R, E, D, RP>
callFor()
function callFor<RootProps>(
client,
stackId,
state,
rootProps?):
| LayerCallContext<unknown, unknown, RootProps>
| null;
Defined in: packages/svelte/src/store.ts:385
Builds the call context for a layer state.
Type Parameters
| Type Parameter | Default type |
|---|---|
RootProps |
unknown |
Parameters
| Parameter | Type | Description |
|---|---|---|
client |
LayerClient |
Client that owns the stack. |
stackId |
string |
Stack containing the state. |
state |
LayerState |
State whose layer should receive the call. |
rootProps? |
RootProps |
Props supplied by the layer host. |
Returns
| LayerCallContext<unknown, unknown, RootProps>
| null
The call context, or null if the layer is no longer mounted.
useMutationFlow()
function useMutationFlow<P, R, RootProps>(call): MutationFlow<R>;
Defined in: packages/svelte/src/store.ts:429
Coordinate a layer’s pending state with an async mutation and end it on success.
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
RootProps |
unknown |
Parameters
| Parameter | Type |
|---|---|
call |
LayerCallContext<P, R, RootProps> |
Returns
MutationFlow<R>
Example
<script lang="ts">
import { type LayerComponentProps, useMutationFlow } from "@stainless-code/svelte-layers/store";
let { call }: LayerComponentProps<void, boolean> = $props();
const { pending, run } = useMutationFlow(call);
</script>
<button disabled={$pending} onclick={() => void run(() => Promise.resolve()).orEnd(true)}>
Confirm
</button>
useLayerGroup()
function useLayerGroup<P, R, RootProps>(call, options?): LayerGroup;
Defined in: packages/svelte/src/store.ts:480
Create a child stack scoped to the calling layer’s lifetime.
The child stack is disposed and cleared via cancelAll when its parent
layer unmounts (LayerCancelledError).
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
RootProps |
unknown |
Parameters
| Parameter | Type |
|---|---|
call |
LayerCallContext<P, R, RootProps> |
options? |
LayerGroupOptions |
Returns
References
assertLayerKey
Re-exports assertLayerKey
LayerKeyError
Re-exports LayerKeyError
isLayerKeyError
Re-exports isLayerKeyError
LayerCancelledError
Re-exports LayerCancelledError
isLayerCancelledError
Re-exports isLayerCancelledError
LayerCancelReason
Re-exports LayerCancelReason
LayerKey
Re-exports LayerKey
LayerPhase
Re-exports LayerPhase
LayerTransition
Re-exports LayerTransition
LayerActionStatus
Re-exports LayerActionStatus
BlockerFn
Re-exports BlockerFn
StackBlockerFn
Re-exports StackBlockerFn
DismissAllMode
Re-exports DismissAllMode
DismissOptions
Re-exports DismissOptions
DismissAllOptions
Re-exports DismissAllOptions
LayerState
Re-exports LayerState
LayerCallContext
Re-exports LayerCallContext
LayerComponent
Re-exports LayerComponent
LayerOptions
Re-exports LayerOptions
PayloadArg
Re-exports PayloadArg
ResponseArgTuple
Re-exports ResponseArgTuple
EndArgs
Re-exports EndArgs
DismissAllArgs
Re-exports DismissAllArgs
CancelQueuedArgs
Re-exports CancelQueuedArgs
HandleDismissArgs
Re-exports HandleDismissArgs
OpenLayerOptions
Re-exports OpenLayerOptions
OmitKeyof
Re-exports OmitKeyof
SerialOnLoadError
Re-exports SerialOnLoadError
StackOptions
Re-exports StackOptions
StackDefaults
Re-exports StackDefaults
LayerClientOptions
Re-exports LayerClientOptions
StackNotifyAction
Re-exports StackNotifyAction
LayerNotifyView
Re-exports LayerNotifyView
StackNotifyEvent
Re-exports StackNotifyEvent
Register
Re-exports Register
DefaultLayerError
Re-exports DefaultLayerError
createLayerHandle
Renames and re-exports createLayer
hashKey
Re-exports hashKey
keySignature
Re-exports keySignature
shallowArrayEqual
Re-exports shallowArrayEqual
Subscribable
Re-exports Subscribable
notifyManager
Re-exports notifyManager
ControlledPromise
Re-exports ControlledPromise
Layer
Re-exports Layer
LayerStack
Re-exports LayerStack
LayerClient
Re-exports LayerClient
layerOptions
Re-exports layerOptions
layerKey
Re-exports layerKey
createCallContext
Re-exports createCallContext
childStackId
Re-exports childStackId
createLayerGroup
Re-exports createLayerGroup
PayloadValidationError
Re-exports PayloadValidationError
isPayloadValidationError
Re-exports isPayloadValidationError
Resolve
Re-exports Resolve
Reject
Re-exports Reject
LayerHandle
Re-exports LayerHandle
ValidatedLayerHandle
Re-exports ValidatedLayerHandle
LayerGroupHandle
Re-exports LayerGroupHandle
LayerGroupOptions
Re-exports LayerGroupOptions
DataTag
Re-exports DataTag
InferDataTagResponse
Re-exports InferDataTagResponse
InferDataTagError
Re-exports InferDataTagError
ResponseOf
Re-exports ResponseOf
ErrorOf
Re-exports ErrorOf
StandardSchemaV1
Re-exports StandardSchemaV1
Validator
Re-exports Validator
InferValidatorInput
Re-exports InferValidatorInput
InferValidatorOutput
Re-exports InferValidatorOutput
OpenValidatePayload
Re-exports OpenValidatePayload
ValidationIssue
Re-exports ValidationIssue
LayerComponentProps
Re-exports LayerComponentProps