22 lines
764 B
JavaScript
22 lines
764 B
JavaScript
"use strict";
|
|
var root_1 = require('../util/root');
|
|
function toPromise(PromiseCtor) {
|
|
var _this = this;
|
|
if (!PromiseCtor) {
|
|
if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {
|
|
PromiseCtor = root_1.root.Rx.config.Promise;
|
|
}
|
|
else if (root_1.root.Promise) {
|
|
PromiseCtor = root_1.root.Promise;
|
|
}
|
|
}
|
|
if (!PromiseCtor) {
|
|
throw new Error('no Promise impl found');
|
|
}
|
|
return new PromiseCtor(function (resolve, reject) {
|
|
var value;
|
|
_this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });
|
|
});
|
|
}
|
|
exports.toPromise = toPromise;
|
|
//# sourceMappingURL=toPromise.js.map
|