svelte
Interfaces
UseStackOptions
Defined in: packages/svelte/src/index.ts:116
Type Parameters
| Type Parameter | Default type |
|---|---|
T |
LayerState[] |
Properties
| Property | Type | Defined in |
|---|---|---|
stack? |
string |
packages/svelte/src/index.ts:117 |
select? |
(states) => T |
packages/svelte/src/index.ts:118 |
compare? |
(a, b) => boolean |
packages/svelte/src/index.ts:119 |
UseLayerStateOptions
Defined in: packages/svelte/src/index.ts:122
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/index.ts:128 |
stack? |
string |
packages/svelte/src/index.ts:129 |
select? |
(states) => U |
packages/svelte/src/index.ts:130 |
compare? |
(a, b) => boolean |
packages/svelte/src/index.ts:131 |
SvelteStack
Defined in: packages/svelte/src/index.ts:159
Exposes a stack through Svelte 5 runes reactivity.
Type Parameters
| Type Parameter | Default type |
|---|---|
RootProps |
unknown |
T |
LayerState[] |
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
current |
readonly |
T |
The selected stack snapshot. Read it inside $derived, $effect, {#if}, or {#each} to subscribe. |
packages/svelte/src/index.ts:165 |
Methods
callFor()
callFor(state, rootProps?):
| LayerCallContext<unknown, unknown, RootProps>
| null;
Defined in: packages/svelte/src/index.ts:173
Builds the call context for a layer state.
Parameters
| Parameter | Type | Description |
|---|---|---|
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.
MutationRun
Defined in: packages/svelte/src/index.ts:434
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/index.ts:436 |
MutationFlow
Defined in: packages/svelte/src/index.ts:439
Type Parameters
| Type Parameter |
|---|
R |
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
pending |
readonly |
boolean |
True while a run(...) async action is in flight. Read it in markup or $derived to subscribe. Mirrors the layer’s actionStatus: "running". |
packages/svelte/src/index.ts:444 |
run |
public |
(fn) => MutationRun<R> |
- | packages/svelte/src/index.ts:445 |
ScopedOpen()
Defined in: packages/svelte/src/index.ts:505
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/index.ts:506
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/index.ts:514
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>
LayerGroup
Defined in: packages/svelte/src/index.ts:519
Type Parameters
| Type Parameter | Default type |
|---|---|
RootProps |
unknown |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
open |
ScopedOpen |
- | packages/svelte/src/index.ts:520 |
dismissAll |
(response?) => void |
- | packages/svelte/src/index.ts:521 |
stack |
SvelteStack<RootProps> |
The child stack — render with {#each group.stack.current as s} + group.stack.callFor(s). |
packages/svelte/src/index.ts:523 |
stackId |
string |
- | packages/svelte/src/index.ts:524 |
Type Aliases
WiredLayerHandle
type WiredLayerHandle<P, R, E, D, RP> = LayerHandle<P, R, E, D, RP> & object;
Defined in: packages/svelte/src/index.ts:134
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
LayerState<P, R, E, D>[] |
packages/svelte/src/index.ts:141 |
queued |
LayerState<P, R, E, D>[] |
packages/svelte/src/index.ts:142 |
top |
| LayerState<P, R, E, D> | null |
packages/svelte/src/index.ts:143 |
Type Parameters
| Type Parameter | Default type |
|---|---|
P |
- |
R |
- |
E |
DefaultLayerError |
D |
unknown |
RP |
unknown |
WiredValidatedLayerHandle
type WiredValidatedLayerHandle<V, R, E, D, RP> = ValidatedLayerHandle<V, R, E, D, RP> & object;
Defined in: packages/svelte/src/index.ts:146
Type Declaration
| Name | Type | Defined in |
|---|---|---|
state |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/svelte/src/index.ts:153 |
queued |
LayerState<InferValidatorOutput<V>, R, E, D>[] |
packages/svelte/src/index.ts:154 |
top |
| LayerState<InferValidatorOutput<V>, R, E, D> | null |
packages/svelte/src/index.ts:155 |
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/index.ts:87
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/index.ts:98
Reads the nearest LayerClient from Svelte context.
Returns
The nearest provided client.
useStack()
function useStack<RootProps, T>(opts?, client?): SvelteStack<RootProps, T>;
Defined in: packages/svelte/src/index.ts:253
Exposes a LayerClient stack through Svelte 5 runes reactivity.
Type Parameters
| Type Parameter | Default type |
|---|---|
RootProps |
unknown |
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
SvelteStack<RootProps, T>
A reactive stack accessor.
Default
stack is "default"; select is identity; compare is
Object.is.
Example
<script>
import { useStack } from "@stainless-code/svelte-layers";
const stack = useStack({ stack: "confirm" });
</script>
{#each stack.current as state (state.id)}
{@const call = stack.callFor(state)}
{#if call}<Confirm {call} />{/if}
{/each}
createQueuedStack()
function createQueuedStack<RootProps, T>(opts?, client?): SvelteStack<RootProps, T>;
Defined in: packages/svelte/src/index.ts:269
Exposes a stack’s queued snapshot through Svelte 5 runes reactivity.
Type Parameters
| Type Parameter | Default type |
|---|---|
RootProps |
unknown |
T |
LayerState<unknown, void, Error, unknown>[] |
Parameters
| Parameter | Type |
|---|---|
opts |
UseStackOptions<T> |
client? |
LayerClient |
Returns
SvelteStack<RootProps, T>
createLayerState()
function createLayerState<Key, P, D, U>(opts, client?): SvelteStack<unknown, U>;
Defined in: packages/svelte/src/index.ts:292
Observe all mounted layers matching a key.
A DataTag key infers its response and error types.
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
SvelteStack<unknown, U>
createLayerQueuedState()
function createLayerQueuedState<Key, P, D, U>(opts, client?): SvelteStack<unknown, U>;
Defined in: packages/svelte/src/index.ts:318
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
SvelteStack<unknown, U>
createLayer()
Call Signature
function createLayer<V, R, E, D, RP>(options, client?): WiredValidatedLayerHandle<V, R, E, D, RP>;
Defined in: packages/svelte/src/index.ts:396
Wired handle: wraps core createLayerHandle with runes 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
WiredValidatedLayerHandle<V, R, E, D, RP>
Call Signature
function createLayer<P, R, E, D, RP>(options, client?): WiredLayerHandle<P, R, E, D, RP>;
Defined in: packages/svelte/src/index.ts:410
Wired handle: wraps core createLayerHandle with runes 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
WiredLayerHandle<P, R, E, D, RP>
useMutationFlow()
function useMutationFlow<P, R, RootProps>(call): MutationFlow<R>;
Defined in: packages/svelte/src/index.ts:467
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";
let { call }: LayerComponentProps<void, boolean> = $props();
const flow = useMutationFlow(call);
</script>
<button
disabled={flow.pending}
onclick={() => void flow.run(() => Promise.resolve()).orEnd(true)}
>
Confirm
</button>
useLayerGroup()
function useLayerGroup<P, R, RootProps>(call, options?): LayerGroup<RootProps>;
Defined in: packages/svelte/src/index.ts:533
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
LayerGroup<RootProps>
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