API Reference | fast-check | Property based testing framework
    Preparing search index...

    Function memo

    • For mutually recursive types

      Type Parameters

      • T

      Parameters

      • builder: (maxDepth: number) => Arbitrary<T>

        Arbitrary builder taken the maximal depth allowed as input (parameter n)

      Returns Memo<T>

      // tree is 1 / 3 of node, 2 / 3 of leaf
      const tree: fc.Memo<Tree> = fc.memo(n => fc.oneof(node(n), leaf(), leaf()));
      const node: fc.Memo<Tree> = fc.memo(n => {
      if (n <= 1) return fc.record({ left: leaf(), right: leaf() });
      return fc.record({ left: tree(), right: tree() }); // tree() is equivalent to tree(n-1)
      });
      const leaf = fc.nat;

      Since 1.16.0