UNPKG

adnbn

Version:

Addon Bone - Cross-browser web extension framework with shared code base

20 lines 659 B
import { useCallback, useEffect, useRef } from "react"; import { Message } from "./../../../message/providers/index.js"; function useMessageHandler(type, handler) { const messageRef = useRef(null); if (!messageRef.current) { messageRef.current = Message.getInstance(); } const handlerRef = useRef(handler); handlerRef.current = handler; const stableWrapper = useCallback((data, sender) => { return handlerRef.current(data, sender); }, []); useEffect(() => { return messageRef.current.watch(type, stableWrapper); }, [type, stableWrapper]); } export { useMessageHandler as default }; //# sourceMappingURL=useMessageHandler.js.map