mobx-fetch-observable
Version:
36 lines (35 loc) • 1.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true })
exports.promiseObservable = void 0
var fetch_observable_1 = require("./fetch-observable")
function createEmptyPromise() {
return new Promise(function (resolve) {
resolve(undefined)
})
}
function promiseObservable(promiseCreator) {
if (promiseCreator === void 0) {
promiseCreator = undefined
}
var o = fetch_observable_1.fetchObservable(function (sink) {
var p = (promiseCreator || createEmptyPromise)()
p.then(function (value) {
return sink(value)
})
})
return {
current: o.current,
fetch: o.fetch,
set: o.set,
pending: o.pending,
started: o.started,
setPromise: function (promiseCreator) {
return o.setFetch(function (sink) {
promiseCreator().then(function (value) {
sink(value)
})
})
},
}
}
exports.promiseObservable = promiseObservable