Package: effect
Module: Predicate
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>
Since v2.0.0