respond-framework
Version:
create as fast you think
47 lines (46 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _trySync = require("../../utils/trySync.js");
const validate0 = (state, e) => {
if (!e.event.validate) return;
const res = e.event.validate.call(state, state, e);
return (0, _trySync.default)(res, r => validate(state, e, r));
};
var _default = exports.default = validate0;
const validate = (state, e, res) => {
if (res === false) {
state.respond.devtools.sendPrevented({
type: 'validate',
returned: res
}, e);
return false;
}
if (res?.error) {
state.respond.devtools.sendPrevented({
type: 'validate',
returned: res
}, e);
return e.event.error.dispatch(res, {
from: e
}).then(_ => false);
}
if (res?.dispatch) {
state.respond.devtools.sendRedirect({
type: 'validate',
returned: res
}, e);
return res.dispatch({
meta: {
from: e
}
}).then(_ => false); // redirect
}
state.respond.devtools.sendPluginNotification({
type: 'validate',
returned: res
}, e);
return res;
};