Skip to content

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): void

ClassMirror

Импорт

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

Утилита прокрутки к элементу или селектору.