UNPKG

@empoleon/solid-bus

Version:
2 lines (1 loc) 461 B
import{createComponent as o}from"solid-js/web";import{createContext as r,useContext as t,onMount as n,onCleanup as i}from"solid-js";import e from"mitt";const s=r(null);function c(){const o=t(s);if(!o)throw new Error("useBus: missing context");return o}function u(o,r){const t=c();n(()=>{t.on(o,r),i(()=>{t.off(o,r)})})}const f=r=>{const t=e();return o(s.Provider,{value:t,get children(){return r.children}})};export{f as Provider,c as useBus,u as useListener};