Delivery API
createAsyncHelpers
Импорт
ts
import { createAsyncHelpers } from '@azure-net/kit';TypeScript сигнатура
ts
createAsyncHelpers<BaseError = unknown, Custom = unknown>(opts?: {
parseError?: (error: ErrorType<BaseError>, retry?: () => unknown) => Promise<AppError<unknown, Custom>>;
}): {
createAsyncAction<Res = unknown, Req = unknown>(
action: Promise<Res> | (() => Promise<Res>),
args?: {
beforeSend?: (next: () => void, abort: () => void) => void | Promise<void>;
onSuccess?: (result: AsyncActionResponse<Res, undefined, Custom>) => unknown | Promise<unknown>;
onError?: (result: AsyncActionResponse<never, Req, Custom>) => unknown | Promise<unknown>;
reject?: boolean;
abort?: { condition: boolean; onAbort?: () => void };
fallbackResponse?: Res;
maxRetries?: number;
}
): Promise<AsyncActionResponse<Res, Req, Custom>>;
createAsyncResource<Res, Req = unknown>(
action: Promise<Res> | (() => Promise<Res>),
args?: {
beforeSend?: (next: () => void, abort: () => void) => void | Promise<void>;
onSuccess?: (result: Res) => unknown | Promise<unknown>;
onError?: (error: AppError<Req, Custom>) => unknown | Promise<unknown>;
reject?: boolean;
abort?: { condition: boolean; onAbort?: () => void };
fallbackResponse?: Res;
maxRetries?: number;
}
): Promise<Res>;
}Создаёт две обертки для async-процессов:
createAsyncAction- возвращает{ success, response, error }createAsyncResource- возвращаетresponseнапрямую
createErrorParser
Импорт
ts
import {
createErrorParser,
baseParseBaseError,
baseParseHttpError,
baseParseSchemaError
} from '@azure-net/kit';TypeScript сигнатура
ts
createErrorParser<BaseError = unknown, Custom = unknown>(parsers?: {
parseBaseError?: typeof baseParseBaseError<Custom>;
parseHttpError?: typeof baseParseHttpError<BaseError, Custom>;
parseSchemaError?: typeof baseParseSchemaError<BaseError, Custom>;
}): <T = unknown>(error: ErrorType<BaseError>, retry?: () => unknown) => Promise<AppError<T, Custom>>Приводит ошибки из разных источников к единому формату AppError.
createServerAction
Импорт
ts
import { createServerAction } from '@azure-net/kit';TypeScript сигнатура
ts
createServerAction<T, I extends Record<string, unknown> = Record<string, unknown>>(
factory: (args: {
context: RequestEvent;
utils: { fail: typeof fail; redirect: typeof redirect; error: typeof error };
} & I) => T,
inject?: I
): () => TСоздаёт серверный action. При вызове на клиенте бросает ошибку.
createServerActionFactory
Импорт
ts
import { createServerActionFactory } from '@azure-net/kit';TypeScript сигнатура
ts
createServerActionFactory<I extends Record<string, unknown>>(inject: I):
<T>(factory: (args: { context: RequestEvent; utils: Utils } & I) => T) => () => TФабрика для создания action с заранее инжектированными зависимостями.
Schema API
schema
Импорт
ts
import { schema } from '@azure-net/kit';TypeScript сигнатура
ts
schema<SchemaData>(): Schema<SchemaData, SchemaData, {}>Точка входа в schema builder.
createSchemaFactory
Импорт
ts
import { createSchemaFactory } from '@azure-net/kit';TypeScript сигнатура
ts
createSchemaFactory<Rules extends Record<string, unknown>>(rules: Rules):
<SchemaData>() => Schema<SchemaData, SchemaData, Rules>Создаёт типизированную фабрику схем с вашим набором правил.
createRules
Импорт
ts
import { createRules, validationMessagesRu } from '@azure-net/kit/schema';TypeScript сигнатура
ts
createRules<M>(validationMessages: M): {
string: ...;
number: ...;
finite: ...;
boolean: ...;
array: ...;
phone: ...;
email: ...;
lettersOnly: ...;
allowedOnly: ...;
sameAs: ...;
notSameAs: ...;
required: ...;
password: ...;
}Возвращает фабрики встроенных правил валидации на базе выбранного набора сообщений.