Svelte API
createAsyncSignal
Импорт
ts
import { createAsyncSignal } from '@azure-net/kit';TypeScript сигнатура
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 можно передавать как значение или как closure (() => value), когда нужна отложенная инициализация для реактивности.
refreshAsyncSignal
Импорт
ts
import { refreshAsyncSignal } from '@azure-net/kit';TypeScript сигнатура
ts
refreshAsyncSignal(key: string): Promise<void>Обновляет один сигнал, зарегистрированный с options.key.
refreshAllAsyncSignals
Импорт
ts
import { refreshAllAsyncSignals } from '@azure-net/kit';TypeScript сигнатура
ts
refreshAllAsyncSignals(): Promise<void>Обновляет все зарегистрированные async-сигналы.
createActiveForm
Импорт
ts
import { createActiveForm } from '@azure-net/kit';TypeScript сигнатура
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>>;
}Помощник формы с реактивными data/errors, асинхронной отправкой и маппингом ошибок валидации.
createQuery
Импорт
ts
import { createQuery } from '@azure-net/kit';TypeScript сигнатура
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;
}Реактивное состояние query для фильтров/пагинации. Может автоматически вызывать signal.refresh() при изменении отслеживаемых ключей.