@turbox3d/reactivity
Version:
Large-scale reactive state management library
27 lines (26 loc) • 789 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.normalNextReturn = normalNextReturn;
var _shared = require("@turbox3d/shared");
function normalNextReturn(next, dispatchedAction, callback, errorCallback) {
var result = next(dispatchedAction);
if ((0, _shared.isPromise)(result)) {
return new Promise(function (resolve, reject) {
result.then(function (res) {
callback && callback();
resolve(res);
})["catch"](function (error) {
errorCallback && errorCallback(error.stack || error.message);
reject(error);
});
});
}
if (result && result instanceof Error) {
errorCallback && errorCallback(result.stack || result.message);
} else {
callback && callback();
}
return result;
}