@formkit/observer

Introdução

FormKit Observer é uma utilidade para envolver um FormKitNode em um proxy de observador de rastreamento de dependência.

Funções

createObserver()

Cria o observador.

Assinatura

createObserver(node: FormKitNode, dependencies?: FormKitDependencies): FormKitObservedNode;

Parâmetros

  • node — O FormKitNode a ser observado.
  • dependencies opcional — Os nós dependentes e os eventos que são necessários para observar as mudanças.

Retorna

Retorna um FormKitObservedNode.

diffDeps()

Determina quais nós devem ser adicionados como dependências e quais devem ser removidos.

Assinatura

diffDeps(previous: FormKitDependencies, current: FormKitDependencies): [FormKitDependencies, FormKitDependencies];

Parâmetros

  • previous — As dependências do observador anterior.
  • current — As novas/atual dependências do observador.

Retorna

Uma tupla de mapas: toAdd e toRemove.

isKilled()

Verifica se o nó dado foi revogado.

Assinatura

isKilled(node: FormKitObservedNode): boolean;

Parâmetros

  • node — Qualquer nó observado para verificar.

Retorna

Um boolean indicando se o nó foi revogado.

removeListeners()

Remove todos os recibos do nó observado e da subárvore.

Assinatura

removeListeners(receipts: FormKitObserverReceipts): void;

Parâmetros

  • receipts — Os recibos do observador FormKit a serem removidos.

TypeScript

FormKitObservedNode

Um FormKitNode compatível com a API que é capaz de determinar a árvore de dependência completa dos nós e seus valores.

interface FormKitObservedNode extends FormKitNode {
    _node: FormKitNode;
    deps: FormKitDependencies;
    kill: () => undefined;
    observe: () => void;
    receipts: FormKitObserverReceipts;
    stopObserve: () => FormKitDependencies;
    watch:<TextendsFormKitWatchable>(block: T, after?: (value: ReturnType<T>) => void) => void;
}

FormKitWatchable

Um callback para observar os nós.

interface FormKitWatchable<T = unknown> {
    (node: FormKitObservedNode): T;
}

FormKitDependencies

Os nós dependentes e os eventos que são necessários para observar as mudanças.

export type FormKitDependencies = Map<FormKitNode, Set<string>> & {
    active?: boolean;
};

FormKitObserverReceipts

Um Mapa de nós com os valores sendo Mapas de eventsName: receipt

export type FormKitObserverReceipts = Map<FormKitNode, {
    [index: string]: string;
}>;