/** Attachment point for the callback. Object has "Deferred" type. */ export function Deferred() { return defer(Object.create(Deferred.prototype)) } /** Add resolve, reject, promise to an object. */ function defer(deferred) { deferred.promise = new Promise(function (resolve, reject) { deferred.resolve = resolve deferred.reject = reject }) return deferred } export default Deferred