UNPKG

@riddance/host

Version:

21 lines 3.11 kB
export * from './meta.js'; const handlers = {}; export function addHandler(type, handler) { const h = (handlers[type] ??= []); h.push(handler); } export function getHandlers(type) { return handlers[type] ?? []; } export function getHandler(type) { const hs = getHandlers(type); const [handler] = hs; if (!handler) { throw new Error(`No ${type} handler registered.`); } if (hs.length !== 1) { throw new Error(`Multiple ${type} handlers registered.`); } return handler; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxjQUFjLFdBQVcsQ0FBQTtBQVF6QixNQUFNLFFBQVEsR0FBNEQsRUFBRSxDQUFBO0FBRTVFLE1BQU0sVUFBVSxVQUFVLENBQ3RCLElBQVUsRUFDVixPQUEyQjtJQUUzQixNQUFNLENBQUMsR0FBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBSUQsTUFBTSxVQUFVLFdBQVcsQ0FBa0MsSUFBVTtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSyxFQUEyQixDQUFBO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFrQyxJQUFVO0lBQ2xFLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLHNCQUFzQixDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSx1QkFBdUIsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXIgfSBmcm9tICcuL2V2ZW50LXJlZ2lzdHJ5LmpzJ1xuaW1wb3J0IHR5cGUgeyBIdHRwSGFuZGxlciB9IGZyb20gJy4vaHR0cC1yZWdpc3RyeS5qcydcbmltcG9ydCB0eXBlIHsgVGltZXJIYW5kbGVyIH0gZnJvbSAnLi90aW1lci1yZWdpc3RyeS5qcydcblxuZXhwb3J0ICogZnJvbSAnLi9tZXRhLmpzJ1xuXG50eXBlIEhhbmRsZXJUeXBlcyA9IHtcbiAgICBodHRwOiBIdHRwSGFuZGxlclxuICAgIHRpbWVyOiBUaW1lckhhbmRsZXJcbiAgICBldmVudDogRXZlbnRIYW5kbGVyXG59XG5cbmNvbnN0IGhhbmRsZXJzOiB7IFtUeXBlIGluIGtleW9mIEhhbmRsZXJUeXBlc10/OiBIYW5kbGVyVHlwZXNbVHlwZV1bXSB9ID0ge31cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEhhbmRsZXI8VHlwZSBleHRlbmRzIGtleW9mIEhhbmRsZXJUeXBlcz4oXG4gICAgdHlwZTogVHlwZSxcbiAgICBoYW5kbGVyOiBIYW5kbGVyVHlwZXNbVHlwZV0sXG4pIHtcbiAgICBjb25zdCBoOiBIYW5kbGVyVHlwZXNbVHlwZV1bXSA9IChoYW5kbGVyc1t0eXBlXSA/Pz0gW10pXG4gICAgaC5wdXNoKGhhbmRsZXIpXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZXJzR2V0dGVyID0gdHlwZW9mIGdldEhhbmRsZXJzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVyczxUeXBlIGV4dGVuZHMga2V5b2YgSGFuZGxlclR5cGVzPih0eXBlOiBUeXBlKSB7XG4gICAgcmV0dXJuIGhhbmRsZXJzW3R5cGVdID8/IChbXSBhcyBIYW5kbGVyVHlwZXNbVHlwZV1bXSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhhbmRsZXI8VHlwZSBleHRlbmRzIGtleW9mIEhhbmRsZXJUeXBlcz4odHlwZTogVHlwZSkge1xuICAgIGNvbnN0IGhzID0gZ2V0SGFuZGxlcnModHlwZSlcbiAgICBjb25zdCBbaGFuZGxlcl0gPSBoc1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICR7dHlwZX0gaGFuZGxlciByZWdpc3RlcmVkLmApXG4gICAgfVxuICAgIGlmIChocy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSAke3R5cGV9IGhhbmRsZXJzIHJlZ2lzdGVyZWQuYClcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXJcbn1cbiJdfQ==