mirror of https://github.com/vuejs/core.git
chore(shared): improve isPromise check in accordance with Promise A+ specification (#8506)
This commit is contained in:
parent
736cf154cc
commit
97b6fae6b4
|
@ -50,7 +50,11 @@ export const isObject = (val: unknown): val is Record<any, any> =>
|
||||||
val !== null && typeof val === 'object'
|
val !== null && typeof val === 'object'
|
||||||
|
|
||||||
export const isPromise = <T = any>(val: unknown): val is Promise<T> => {
|
export const isPromise = <T = any>(val: unknown): val is Promise<T> => {
|
||||||
return isObject(val) && isFunction(val.then) && isFunction(val.catch)
|
return (
|
||||||
|
(isObject(val) || isFunction(val)) &&
|
||||||
|
isFunction(val.then) &&
|
||||||
|
isFunction(val.catch)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const objectToString = Object.prototype.toString
|
export const objectToString = Object.prototype.toString
|
||||||
|
|
Loading…
Reference in New Issue