Svelte API
createAsyncSignal
Import
ts
import { createAsyncSignal } from '@azure-net/kit';TypeScript signature
ts
createAsyncSignal<TData, TError = Error>(
handler: (signal?: AbortSignal) => Promise<TData>,
options?: {
server?: boolean;
immediate?: boolean;
watch?: (() => unknown)[];
initialData?: TData | (() => TData);
beforeSend?: (meta: { initial: boolean; source: 'auto' | 'manual' | 'global' }) => void | Promise<void>;
onSuccess?: (data: TData) => void | Promise<void>;
onError?: (error: TError) => void | Promise<void>;
key?: string;
}
): {
data?: TData;
error?: TError;
status: 'idle' | 'pending' | 'success' | 'error';
pending: boolean;
execute: () => Promise<void>;
refresh: () => Promise<void>;
ready: Promise<TData | undefined>;
reset: () => void;
abort: () => void;
}initialData can be passed as a value or as a closure (() => value) when you need deferred initialization for reactivity.
refreshAsyncSignal
Import
ts
import { refreshAsyncSignal } from '@azure-net/kit';TypeScript signature
ts
refreshAsyncSignal(key: string): Promise<void>Refreshes one signal registered with options.key.
refreshAllAsyncSignals
Import
ts
import { refreshAllAsyncSignals } from '@azure-net/kit';TypeScript signature
ts
refreshAllAsyncSignals(): Promise<void>Refreshes all registered async signals.
createActiveForm
Import
ts
import { createActiveForm } from '@azure-net/kit';TypeScript signature
ts
createActiveForm<
SubmitReturn extends Promise<AsyncActionResponse<unknown, unknown, unknown>>,
RequiredPath extends string = never
>(
onSubmit: (formData: Partial<FormData>) => SubmitReturn,
config?: {
initialData?: Partial<FormData> | Promise<Partial<FormData>> | (() => Partial<FormData> | Promise<Partial<FormData>>);
required?: readonly RequiredPath[];
onSuccess?: (response: Response) => void | Promise<void>;
onError?: () => void | Promise<void>;
beforeSubmit?: (form, abort: () => void) => void | Promise<void>;
waitForInitialData?: boolean;
}
): {
data: Partial<FormData>;
errors: RequestErrors<FormData>;
submit: () => Promise<AsyncActionResponse<Response, FormData, Custom>>;
reset: (toInitial?: boolean) => void;
pending: boolean;
dirty: boolean;
ready: Promise<Partial<FormData>>;
}Form helper with reactive data/errors, async submit flow, and schema-aware error mapping.
createQuery
Import
ts
import { createQuery } from '@azure-net/kit';TypeScript signature
ts
createQuery<T extends Record<string, unknown>>(options: {
initial: T;
signal?: { refresh: () => Promise<void> };
excludeKeys?: (keyof T)[];
debounceMs?: number;
autoRefresh?: boolean;
}): {
data: T;
patch: (values: Partial<T>) => void;
set: <K extends keyof T>(key: K, value: T[K]) => void;
reset: () => void;
snapshot: () => T;
initial: () => T;
attachSignal: (signal?: { refresh: () => Promise<void> }) => void;
}Reactive query state for list filtering/pagination. Can auto-call signal.refresh() when tracked keys change.