ember-source
Version:
A JavaScript framework for creating ambitious web applications
25 lines (22 loc) • 671 B
JavaScript
import { isDevelopingApp } from '@embroider/macros';
let HANDLERS = {};
let registerHandler = function registerHandler(_type, _callback) {};
let invoke = () => {};
if (isDevelopingApp()) {
registerHandler = function registerHandler(type, callback) {
let nextHandler = HANDLERS[type] || (() => {});
HANDLERS[type] = (message, options) => {
callback(message, options, nextHandler);
};
};
invoke = function invoke(type, message, test, options) {
if (test) {
return;
}
let handlerForType = HANDLERS[type];
if (handlerForType) {
handlerForType(message, options);
}
};
}
export { HANDLERS, invoke, registerHandler };