respond-framework
Version:
create as fast you think
26 lines (24 loc) • 793 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _kinds = require("../kinds.js");
const parallel = createParallelEvent => (state, e) => {
if (e.kind !== _kinds.navigation) return;
if (e.meta.parallel) return; // prevent cycles, as often parallel dispatches are bi-directional; preventing these cycles is the key and only feature of this plugin
const parallelEvent = createParallelEvent(state, e);
if (!parallelEvent || parallelEvent.event === state.curr.event) return;
state.respond.devtools.sendPluginNotification({
type: 'parallel',
returned: parallelEvent
});
const meta = {
parallel: true,
from: e
};
return parallelEvent.dispatch({
meta
});
};
var _default = exports.default = parallel;