UNPKG

@gvray/eskit

Version:

A rich and colorful toolkit about typescript and javascript.

36 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Checks if a value is promise-like (thenable). * 检查值是否类似Promise(可thenable)。 * * @param obj - The value to check / 要检查的值 * @returns True if the value is promise-like / 如果值类似Promise则返回true * * @example * ```typescript * isPromiseLike(new Promise(resolve => resolve('done'))) // true * isPromiseLike(Promise.resolve('value')) // true * isPromiseLike(Promise.reject('error')) // true * * // Thenable objects * isPromiseLike({ then: (resolve) => resolve('value') }) // true * isPromiseLike({ then: function() {} }) // true * * // Non-promise-like values * isPromiseLike({}) // false * isPromiseLike(null) // false * isPromiseLike('promise') // false * isPromiseLike(123) // false * isPromiseLike([]) // false * isPromiseLike(function() {}) // false * ``` * * @since 1.0.0 */ var isPromiseLike = function (obj) { return obj !== null && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; }; // Promises/A+ https://promisesaplus.com/ exports.default = isPromiseLike; //# sourceMappingURL=isPromiseLike.js.map