effect-io-ai

Package: effect
Module: Predicate

Predicate.isPromise

A refinement that checks if a value is a Promise. It performs a duck-typing check for .then and .catch methods.

Example

import * as assert from "node:assert"
import { isPromise } from "effect/Predicate"

assert.strictEqual(isPromise(Promise.resolve(1)), true)
assert.strictEqual(isPromise(new Promise(() => {})), true)

assert.strictEqual(isPromise({ then() {} }), false) // Missing .catch
assert.strictEqual(isPromise({}), false)

See

Signature

declare const isPromise: (input: unknown) => input is Promise<unknown>

Source

Since v2.0.0