trpc-browser
Advanced tools
Comparing version
@@ -10,2 +10,10 @@ "use strict"; | ||
const postWindow = (_a = opts.postWindow) !== null && _a !== void 0 ? _a : listenWindow; | ||
const safeEventListener = (action, event, handler) => { | ||
try { | ||
listenWindow[`${action}EventListener`](event, handler); | ||
} | ||
catch (err) { | ||
console.error(`Failed to ${action} ${event} listener:`, err); | ||
} | ||
}; | ||
return (0, base_1.createBaseLink)({ | ||
@@ -22,3 +30,3 @@ postMessage(message) { | ||
handlerMap.set(listener, handler); | ||
listenWindow.addEventListener('message', handler); | ||
safeEventListener('add', 'message', handler); | ||
}, | ||
@@ -28,10 +36,10 @@ removeMessageListener(listener) { | ||
if (handler) { | ||
listenWindow.removeEventListener('message', handler); | ||
safeEventListener('remove', 'message', handler); | ||
} | ||
}, | ||
addCloseListener(listener) { | ||
listenWindow.addEventListener('beforeunload', listener); | ||
safeEventListener('add', 'beforeunload', listener); | ||
}, | ||
removeCloseListener(listener) { | ||
listenWindow.removeEventListener('beforeunload', listener); | ||
safeEventListener('remove', 'beforeunload', listener); | ||
}, | ||
@@ -38,0 +46,0 @@ }); |
{ | ||
"name": "trpc-browser", | ||
"version": "1.4.2", | ||
"version": "1.4.3", | ||
"description": "tRPC adapters and links for everywhere in the browser", | ||
@@ -5,0 +5,0 @@ "author": "Janek Rahrt <janek.rahrt@me.com>, James Berry <jb@jamesbe.com>", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
75021
0.68%788
1.03%