FormKit Observer est un utilitaire pour envelopper un FormKitNode dans un proxy d'observateur de suivi de dépendance.
Crée l'observateur.
createObserver(node: FormKitNode, dependencies?: FormKitDependencies): FormKitObservedNode;
node
— Le FormKitNode à observer.dependencies
optionnel — Les nœuds dépendants et les événements qui doivent être surveillés pour les changements.Retourne un FormKitObservedNode.
Détermine quels nœuds doivent être ajoutés en tant que dépendances et lesquels doivent être supprimés.
diffDeps(previous: FormKitDependencies, current: FormKitDependencies): [FormKitDependencies, FormKitDependencies];
previous
— Les dépendances du watcher précédent.current
— Les nouvelles/dépendances actuelles du watcher.Un tuple de maps : toAdd
et toRemove
.
Vérifie si le nœud donné est révoqué.
isKilled(node: FormKitObservedNode): boolean;
node
— N'importe quel nœud observé à vérifier.Un boolean
indiquant si le nœud est révoqué.
Supprime tous les reçus du nœud observé et de l'arborescence.
removeListeners(receipts: FormKitObserverReceipts): void;
receipts
— Les reçus de l'observateur FormKit à supprimer.Un FormKitNode compatible avec l'API qui est capable de déterminer l'arbre de dépendance complet des nœuds et de leurs valeurs.
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;
}
Un rappel pour surveiller les nœuds.
interface FormKitWatchable<T = unknown> {
(node: FormKitObservedNode): T;
}
Les nœuds dépendants et les événements qui doivent être surveillés pour les changements.
export type FormKitDependencies = Map<FormKitNode, Set<string>> & {
active?: boolean;
};
Une Map de nœuds avec les valeurs étant des Maps de eventsName : reçu
export type FormKitObserverReceipts = Map<FormKitNode, {
[index: string]: string;
}>;