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

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

LayerClient

The provided client.


useLayerClient()

function useLayerClient(): LayerClient;

Defined in: packages/svelte/src/store.ts:99

Reads the nearest LayerClient from Svelte context.

Returns

LayerClient

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

LayerGroup

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?