// https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Deferred
export default class Deferred {
	constructor() {
		const promise = new Promise((resolve, reject) => {
			this.resolve = resolve;
			this.reject = reject;
		});

		promise.resolve = this.resolve;
		promise.reject = this.reject;

		return promise;
	}
}