From aebeeb1f5903fa9dbd4943a36129d134a2f599b3 Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Thu, 30 Jan 2025 11:07:14 +0100 Subject: [PATCH] fix: enhance typing --- .../contexts/broadcast-channel.context.tsx | 25 +++++++++++-------- .../providers/BroadcastChannelProvider.tsx | 25 +++++++++++-------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/frontend/src/contexts/broadcast-channel.context.tsx b/frontend/src/contexts/broadcast-channel.context.tsx index 2879089a..330db77f 100644 --- a/frontend/src/contexts/broadcast-channel.context.tsx +++ b/frontend/src/contexts/broadcast-channel.context.tsx @@ -26,16 +26,24 @@ type BroadcastChannelPayload = { data?: string | number | boolean | Record | undefined | null; }; -export type BroadcastChannelData = { +type BroadcastChannelData = { tabId: string; payload: BroadcastChannelPayload; }; -export interface IBroadcastChannelProps { +interface IBroadcastChannelProps { channelName: string; children: ReactNode; } +interface IBroadcastChannelContext { + subscribe: ( + event: `${EBCEvent}`, + callback: (message: BroadcastChannelData) => void, + ) => void; + postMessage: (payload: BroadcastChannelPayload) => void; +} + const getOrCreateTabId = () => { let storedTabId = sessionStorage.getItem("tab_uuid"); @@ -49,14 +57,6 @@ const getOrCreateTabId = () => { return storedTabId; }; -interface IBroadcastChannelContext { - subscribe: ( - event: `${EBCEvent}`, - callback: (message: BroadcastChannelData) => void, - ) => void; - postMessage: (payload: BroadcastChannelPayload) => void; -} - export const BroadcastChannelContext = createContext< IBroadcastChannelContext | undefined >(undefined); @@ -69,7 +69,10 @@ export const BroadcastChannelProvider: FC = ({ new BroadcastChannel(channelName), ); const subscribersRef = useRef< - Record void>> + Record< + string, + Array["1"]> + > >({}); const tabUuid = getOrCreateTabId(); diff --git a/widget/src/providers/BroadcastChannelProvider.tsx b/widget/src/providers/BroadcastChannelProvider.tsx index 7e4a7257..7f8cb529 100644 --- a/widget/src/providers/BroadcastChannelProvider.tsx +++ b/widget/src/providers/BroadcastChannelProvider.tsx @@ -26,16 +26,24 @@ type BroadcastChannelPayload = { data?: string | number | boolean | Record | undefined | null; }; -export type BroadcastChannelData = { +type BroadcastChannelData = { tabId: string; payload: BroadcastChannelPayload; }; -export interface IBroadcastChannelProps { +interface IBroadcastChannelProps { channelName: string; children: ReactNode; } +interface IBroadcastChannelContext { + subscribe: ( + event: `${EBCEvent}`, + callback: (message: BroadcastChannelData) => void, + ) => void; + postMessage: (payload: BroadcastChannelPayload) => void; +} + const getOrCreateTabId = () => { let storedTabId = sessionStorage.getItem("tab_uuid"); @@ -49,14 +57,6 @@ const getOrCreateTabId = () => { return storedTabId; }; -interface IBroadcastChannelContext { - subscribe: ( - event: `${EBCEvent}`, - callback: (message: BroadcastChannelData) => void, - ) => void; - postMessage: (payload: BroadcastChannelPayload) => void; -} - export const BroadcastChannelContext = createContext< IBroadcastChannelContext | undefined >(undefined); @@ -69,7 +69,10 @@ export const BroadcastChannelProvider: FC = ({ new BroadcastChannel(channelName), ); const subscribersRef = useRef< - Record void>> + Record< + string, + Array["1"]> + > >({}); const tabUuid = getOrCreateTabId();