ts-data-forge
    Preparing search index...
    • Applies the provided mapper based on the current variant.

      Type Parameters

      • R extends UnknownTernaryResult
      • S2
      • W2
      • E2

      Parameters

      Returns TernaryResult<S2, E2, W2>

      const okFold = TernaryResult.fold(
      TernaryResult.ok(2),
      (value) => value * 2,
      (warn: string) => warn.length,
      (error: string) => error.toUpperCase(),
      );

      const warnFold = TernaryResult.fold(
      TernaryResult.warn(2, 'spike'),
      (value: number) => value,
      (warn: string) => warn.toUpperCase(),
      (error: string) => error,
      );

      assert.deepStrictEqual(okFold, TernaryResult.ok(4));

      assert.deepStrictEqual(warnFold, TernaryResult.warn(2, 'SPIKE'));
    • Applies the provided mapper based on the current variant.

      Type Parameters

      • S
      • W
      • E
      • S2
      • W2
      • E2

      Parameters

      • mapOk: (value: S) => S2
      • mapWarn: (value: W) => W2
      • mapErr: (error: E) => E2

      Returns (result: TernaryResult<S, E, W>) => TernaryResult<S2, E2, W2>

      const okFold = TernaryResult.fold(
      TernaryResult.ok(2),
      (value) => value * 2,
      (warn: string) => warn.length,
      (error: string) => error.toUpperCase(),
      );

      const warnFold = TernaryResult.fold(
      TernaryResult.warn(2, 'spike'),
      (value: number) => value,
      (warn: string) => warn.toUpperCase(),
      (error: string) => error,
      );

      assert.deepStrictEqual(okFold, TernaryResult.ok(4));

      assert.deepStrictEqual(warnFold, TernaryResult.warn(2, 'SPIKE'));