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.

31 lines (28 loc) 864 B
import { hasKey } from '../../../guard/has-key.mjs'; import { isRecord } from '../../../guard/is-record.mjs'; import { ErrTypeTagName, OkTypeTagName } from './tag.mjs'; /** * Checks whether the provided value is a {@link Result<S, E>}. * * @example * * ```ts * const okValue = Result.ok('success'); * * const errValue = Result.err(new Error('failure')); * * const notResult = { $$tag: 'ts-data-forge::Result.ok' }; * * assert.isTrue(Result.isResult(okValue)); * * assert.isTrue(Result.isResult(errValue)); * * assert.isFalse(Result.isResult(notResult)); * ``` */ const isResult = (maybeResult) => isRecord(maybeResult) && hasKey(maybeResult, '$$tag') && hasKey(maybeResult, 'value') && (maybeResult.$$tag === ErrTypeTagName || maybeResult.$$tag === OkTypeTagName); export { isResult }; //# sourceMappingURL=result-is-result.mjs.map