Skip to content
Layers
Esc
↑↓navigate↵open⌘Jpreview
On this page

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

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

LayerClient

The provided client.


useLayerClient()

function useLayerClient(): LayerClient;

Defined in: packages/svelte/src/index.ts:98

Reads the nearest LayerClient from Svelte context.

Returns

LayerClient

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

Was this page helpful?