diff --git a/README.md b/README.md
index 38375e7..4657eb5 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://www.npmjs.com/package/sysend)
-
+[](https://www.npmjs.com/package/sysend)
+

[](https://www.jsdelivr.com/package/npm/sysend)
diff --git a/package.json b/package.json
index 1ce1394..c0bd7c0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sysend",
- "version": "1.16.2",
+ "version": "1.16.3",
"description": "Communication and Synchronization between browser tabs/windows. Works cross-domain.",
"main": "sysend.js",
"typings": "sysend.d.ts",
diff --git a/sysend.d.ts b/sysend.d.ts
index 9658f2b..d40da47 100644
--- a/sysend.d.ts
+++ b/sysend.d.ts
@@ -1,29 +1,29 @@
/**@license
- * sysend.js - send messages between browser windows/tabs version 1.16.2
+ * sysend.js - send messages between browser windows/tabs version 1.16.3
*
* Copyright (C) 2014-2023 Jakub T. Jankiewicz
* Released under the MIT license
*
*/
-type callback = (message: unknown, event: string) => void;
+type callback = (message: T, event: string) => void;
interface Sysend {
id: string;
- broadcast(event: string, data?: unknown): void;
+ broadcast(event: string, data?: T): void;
emit(event: string, data?: unknown): void;
- on(event: string, callback: callback): void;
- off(event: string, callback?: callback): void;
+ on(event: string, callback: callback): void;
+ off(event: string, callback?: callback): void;
proxy(...args: string[]): void;
- serializer(to: (data: unknown) => string, from: (data: string) => unknown): void;
+ serializer(to: (data: T) => string, from: (data: string) => T): void;
track(event: 'open', callback: (data: {id: string, count: number, primary: boolean}) => void): void;
track(event: 'close', callback: (data: {id: string, count: number, primary: boolean, self: boolean}) => void): void;
track(event: 'primary', callback: () => void): void;
- track(event: 'message', callback: (payload: {data: unknown, origin: string}) => void): void;
+ track(event: 'message', callback: (payload: {data: T, origin: string}) => void): void;
track(event: 'secondary', callback: () => void): void;
track(event: 'update', callback: (payload: Array<{ id: string, primary: boolean }>) => void): void;
untrack(event: 'open' | 'close' | 'primary' | 'secondary' | 'message' | 'update', fn?: (input?: unknown) => void): void;
list(): Promise>;
- post(target: string, data?: unknown): void;
+ post(target: string, data?: T): void;
channel(...domains: string[]): void;
isPrimary(): boolean;
rpc, U>(object: Record U>): Promise Promise>>
diff --git a/sysend.js b/sysend.js
index 200d5f5..10098fa 100644
--- a/sysend.js
+++ b/sysend.js
@@ -1,5 +1,5 @@
/**@license
- * sysend.js - send messages between browser windows/tabs version 1.16.2
+ * sysend.js - send messages between browser windows/tabs version 1.16.3
*
* Copyright (C) 2014-2023 Jakub T. Jankiewicz
* Released under the MIT license