Skip to content

lazy

DDataParser.lazy(() => parser) permet de décrire des structures récursives (arbres, catégories, menus, etc.) en différant la résolution du parser. Le getter n'est évalué qu'au moment de l'exécution, ce qui évite les références circulaires.

Exemple interactif

Paramètres

  • getter : fonction qui retourne le parser réel (souvent un object contenant à son tour le lazy).
  • checkers : checkerRefine appliqués sur la structure complète (ex: limiter la profondeur, vérifier les invariants globaux).
  • errorMessage : message personnalisé si l'entrée ne correspond pas au schéma résolu.

Valeur de retour

Un DataParserLazy. schema.parse(data) renvoie DEither.success<Output> lorsque la valeur satisfait le parser résolu, sinon un DEither.error<DataParserError> avec le chemin exact même en cas de récursion.

Others exemples

Mode étendu

Voir aussi

  • object - Parser pour les objets
  • bigint - Parser pour les entiers bigint

Diffusé sous licence MIT.