UNPKG

ts-data-forge

Version:

[![npm version](https://img.shields.io/npm/v/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![npm downloads](https://img.shields.io/npm/dm/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![License](https://img.shields.

24 lines (22 loc) 507 B
import { ErrTypeTagName } from './tag.mjs'; import { type NarrowToErr } from './types.mjs'; /** * Type guard for the Err variant. * * @example * * ```ts * const maybeErr = TernaryResult.err('boom') as TernaryResult< * number, * string, * string * >; * * if (TernaryResult.isErr(maybeErr)) { * assert.strictEqual(maybeErr.value, 'boom'); * } * ``` */ export const isErr = <R extends UnknownTernaryResult>( result: R, ): result is NarrowToErr<R> => result.$$tag === ErrTypeTagName;