ts-data-forge
Version:
[](https://www.npmjs.com/package/ts-data-forge) [](https://www.npmjs.com/package/ts-data-forge) [ • 864 B
JavaScript
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