Get notified by other tabs/windows.
(onReceive: (message: BroadcastMessage) => void)
| 96 | return { |
| 97 | /** Get notified by other tabs/windows. */ |
| 98 | receive(onReceive: (message: BroadcastMessage) => void) { |
| 99 | const handler = (event: StorageEvent) => { |
| 100 | if (event.key !== name) return; |
| 101 | const message: BroadcastMessage = JSON.parse(event.newValue || '{}'); |
| 102 | if (message?.event !== 'session' || !message?.data) return; |
| 103 | |
| 104 | onReceive(message); |
| 105 | }; |
| 106 | window.addEventListener('storage', handler); |
| 107 | return () => window.removeEventListener('storage', handler); |
| 108 | }, |
| 109 | /** Notify other tabs/windows. */ |
| 110 | post(message: Record<string, unknown>) { |
| 111 | if (typeof window === 'undefined') return; |
nothing calls this directly
no outgoing calls
no test coverage detected