respond-framework
Version:
create as fast you think
33 lines (32 loc) • 870 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _trySync = require("../../utils/trySync.js");
const submit0 = (state, e) => {
if (!e.event.submit) return;
const res = e.event.submit.call(state, state, e);
return (0, _trySync.default)(res, r => submit(state, e, r));
};
var _default = exports.default = submit0;
const submit = (state, e, res) => {
state.respond.devtools.sendPluginNotification({
type: 'submit',
returned: res
}, e);
const meta = {
from: e
};
if (res === false) {
return false; // manual short-circuit
} else if (res?.error && !res.dispatch) {
return e.event.error.dispatch(res, meta).then(_ => false);
} else if (res?.dispatch) {
return res.dispatch({
meta
});
} else {
return e.event.done.dispatch(res, meta).then(_ => res);
}
};