ts-data-forge
    Preparing search index...
    • Maps the Ok variant while leaving Warn/Err untouched.

      Type Parameters

      • R extends UnknownTernaryResult
      • S2

      Parameters

      Returns TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>>

      const okNumber = TernaryResult.ok(5);

      const warnValue = TernaryResult.warn(5, 'slow');

      const errValue = TernaryResult.err('bad');

      const doubled = TernaryResult.map(okNumber, (value) => value * 2);

      const warnPassthrough = TernaryResult.map(
      warnValue,
      (value: number) => value * 2,
      );

      const errPassthrough = TernaryResult.map(
      errValue,
      (value: number) => value * 2,
      );

      assert.deepStrictEqual(doubled, TernaryResult.ok(10));

      assert.deepStrictEqual(warnPassthrough, TernaryResult.warn(10, 'slow'));

      assert.deepStrictEqual(errPassthrough, errValue);
    • Maps the Ok variant while leaving Warn/Err untouched.

      Type Parameters

      • S
      • S2

      Parameters

      • mapFn: (value: S) => S2

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

      const okNumber = TernaryResult.ok(5);

      const warnValue = TernaryResult.warn(5, 'slow');

      const errValue = TernaryResult.err('bad');

      const doubled = TernaryResult.map(okNumber, (value) => value * 2);

      const warnPassthrough = TernaryResult.map(
      warnValue,
      (value: number) => value * 2,
      );

      const errPassthrough = TernaryResult.map(
      errValue,
      (value: number) => value * 2,
      );

      assert.deepStrictEqual(doubled, TernaryResult.ok(10));

      assert.deepStrictEqual(warnPassthrough, TernaryResult.warn(10, 'slow'));

      assert.deepStrictEqual(errPassthrough, errValue);