FormKit Observer é uma utilidade para envolver um FormKitNode em um proxy de observador de rastreamento de dependência.
Cria o observador.
createObserver(node: FormKitNode, dependencies?: FormKitDependencies): FormKitObservedNode;
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 um FormKitObservedNode.
Determina quais nós devem ser adicionados como dependências e quais devem ser removidos.
diffDeps(previous: FormKitDependencies, current: FormKitDependencies): [FormKitDependencies, FormKitDependencies];
previous
— As dependências do observador anterior.current
— As novas/atual dependências do observador.Uma tupla de mapas: toAdd
e toRemove
.
Verifica se o nó dado foi revogado.
isKilled(node: FormKitObservedNode): boolean;
node
— Qualquer nó observado para verificar.Um boolean
indicando se o nó foi revogado.
Remove todos os recibos do nó observado e da subárvore.
removeListeners(receipts: FormKitObserverReceipts): void;
receipts
— Os recibos do observador FormKit a serem removidos.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;
}
Um callback para observar os nós.
interface FormKitWatchable<T = unknown> {
(node: FormKitObservedNode): T;
}
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;
};
Um Mapa de nós com os valores sendo Mapas de eventsName: receipt
export type FormKitObserverReceipts = Map<FormKitNode, {
[index: string]: string;
}>;