Explorar o código

chore(shared): improve isPromise check in accordance with Promise A+ specification (#8506)

丶远方 %!s(int64=2) %!d(string=hai) anos
pai
achega
97b6fae6b4
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      packages/shared/src/general.ts

+ 5 - 1
packages/shared/src/general.ts

@@ -50,7 +50,11 @@ export const isObject = (val: unknown): val is Record<any, any> =>
   val !== null && typeof val === 'object'
 
 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