UNPKG

inspire-tree

Version:

Inspired JavaScript Tree UI Component

29 lines (25 loc) 729 B
import { isFunction, isObject } from 'lodash'; /** * Resolve promise-like objects consistently. * * @private * @param {object} promise Promise-like object. * @returns {Promise} Promise */ export function standardizePromise(promise) { return new Promise((resolve, reject) => { if (!isObject(promise)) { return reject(new Error('Invalid Promise')); } if (isFunction(promise.then)) { promise.then(resolve); } // jQuery promises use "error" if (isFunction(promise.error)) { promise.error(reject); } else if (isFunction(promise.catch)) { promise.catch(reject); } }); }