UNPKG

559 BJavaScriptView Raw
1const Value = require('mutant/value');
2const onceTrue = require('mutant/once-true');
3
4module.exports = () => {
5 function promiseToMutant(promise) {
6 const mutant = Value();
7
8 promise.then(mutant.set).catch((err) => { throw err; } /* gadz */);
9
10 return mutant;
11 }
12
13 function mutantToPromise(mutant) {
14 return new Promise((resolve, reject) => {
15 try {
16 onceTrue(mutant, (v) => {
17 resolve(v);
18 });
19 } catch (e) {
20 reject(e);
21 }
22 });
23 }
24
25 return {
26 promiseToMutant,
27 mutantToPromise,
28 };
29};