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.