isPromise.js.flow 366 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
// @flow strict

/**
 * Returns true if the value acts like a Promise, i.e. has a "then" function,
 * otherwise returns false.
 */
declare function isPromise(value: mixed): boolean %checks(value instanceof
  Promise);

// eslint-disable-next-line no-redeclare
export default function isPromise(value) {
  return Boolean(value && typeof value.then === 'function');
}