Shared и UI API
Shared
createBoundaryProvider
Импорт
ts
import { createBoundaryProvider } from '@azure-net/kit';TypeScript сигнатура
ts
createBoundaryProvider<TServices, TDeps>(
name: string,
settings: {
dependsOn?: TDeps;
boot?: (services: TServices) => void | Promise<void>;
register: (context: TDeps) => Record<string, () => unknown | Promise<unknown>>;
}
): () => TServicesСоздаёт DI provider с SSR-кэшем на запрос и client-кэшем в браузере.
cleanupProvider
Импорт
ts
import { cleanupProvider } from '@azure-net/kit';TypeScript сигнатура
ts
cleanupProvider(name: string): voidОчищает кэш provider-а (вызывает dispose(), если метод существует).
createMiddlewareManager
Импорт
ts
import { createMiddlewareManager } from '@azure-net/kit';TypeScript сигнатура
ts
createMiddlewareManager(middlewares: IMiddleware[]): {
serverMiddleware: (...) => Promise<unknown>;
clientMiddleware: (...) => Promise<unknown>;
executeMiddlewares: (...) => Promise<unknown>;
}Компонует middleware для выполнения на сервере и клиенте.
UniversalCookie
Импорт
ts
import { UniversalCookie } from '@azure-net/kit';TypeScript сигнатура
ts
UniversalCookie.set<T>(name: string, value: T, options?: CookieOptions): void
UniversalCookie.get<T>(name: string): T | undefined
UniversalCookie.getAll<T>(): Record<string, T>
UniversalCookie.has(name: string): boolean
UniversalCookie.delete(name: string, options?: CookieOptions): void
UniversalCookie.clear(options?: CookieOptions): voidClassMirror
Импорт
ts
import { ClassMirror } from '@azure-net/kit';TypeScript сигнатура
ts
class ClassMirror<TTarget> {
constructor(target: TTarget);
}Зеркалирует методы target-объекта в наследуемом сервисе; типизация фиксируется через declare.
createEventBus и EventBus
Импорт
ts
import { createEventBus, EventBus } from '@azure-net/kit';TypeScript сигнатура
ts
createEventBus<TEventMap>(opts?: ...): EventBus<TEventMap>
class EventBus<TEventMap> {
publish<K extends keyof TEventMap>(eventType: K, payload: TEventMap[K], metadata?: IEventMetadata): Promise<void>;
publishBatch(events: ...): Promise<void>;
subscribe<K extends keyof TEventMap>(eventType: K, handler: DomainEventHandler<TEventMap[K]>, options?: ...): IEventSubscription;
subscribeMany(...): IEventSubscription;
subscribeAll(...): IEventSubscription;
use(...): void;
getHistory(...): IEvent<unknown>[];
waitForCompletion(): Promise<void>;
clear(): void;
}UI
Модификаторы событий: event, prevent, stop, immediate, once
Импорт
ts
import { event, prevent, stop, immediate, once } from '@azure-net/kit';TypeScript сигнатура
ts
event: {
prevent: <E extends Event>(handler: (e: E) => unknown) => (e: E) => unknown;
stop: ...;
immediate: ...;
once: ...;
}Компонуемые helper-ы для лаконичных DOM/Svelte-обработчиков.
onClickOutside
Импорт
ts
import { onClickOutside } from '@azure-net/kit';TypeScript сигнатура
ts
onClickOutside(node: HTMLElement, initiator?: (event: MouseEvent | TouchEvent) => void): {
update: (next?: typeof initiator) => void;
destroy: () => void;
}Svelte action, который срабатывает при клике/касании вне node.
Mask и masked
Импорт
ts
import { Mask, masked } from '@azure-net/kit';TypeScript сигнатура
ts
Mask.maskIt(value: string, mask: string, masked?: boolean, tokens?: Tokens): string
Mask.dynamicMask(maskIt: typeof Mask.maskIt, masks: string[], tokens?: Tokens): (value: string, masked?: boolean) => string
masked(el: HTMLInputElement, mask?: string | ((v: string, masked?: boolean) => string), tokens?: Tokens): {
update: (...) => void;
destroy: () => void;
}scrollTo
Импорт
ts
import { scrollTo } from '@azure-net/kit';TypeScript сигнатура
ts
scrollTo(nodeOrName: Element | string, offset?: number): voidУтилита прокрутки к элементу или селектору.