From f3fb7c15cdd33dc33437789c22d373f71896206c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=B1=AA?= <504595380@qq.com> Date: Mon, 24 Mar 2025 21:00:29 +0800 Subject: [PATCH 1/5] Add generic parameter to emit and emitTo --- packages/api/src/event.ts | 6 +++--- packages/api/src/window.ts | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/api/src/event.ts b/packages/api/src/event.ts index 4ba54311efb5..e4e403d280db 100644 --- a/packages/api/src/event.ts +++ b/packages/api/src/event.ts @@ -174,7 +174,7 @@ async function once( * * @since 1.0.0 */ -async function emit(event: string, payload?: unknown): Promise { +async function emit(event: string, payload?: T): Promise { await invoke('plugin:event|emit', { event, payload @@ -196,10 +196,10 @@ async function emit(event: string, payload?: unknown): Promise { * * @since 2.0.0 */ -async function emitTo( +async function emitTo( target: EventTarget | string, event: string, - payload?: unknown + payload?: T ): Promise { const eventTarget: EventTarget = typeof target === 'string' ? { kind: 'AnyLabel', label: target } : target diff --git a/packages/api/src/window.ts b/packages/api/src/window.ts index 4904dee497a8..bd9ebbbdcef4 100644 --- a/packages/api/src/window.ts +++ b/packages/api/src/window.ts @@ -441,7 +441,7 @@ class Window { * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`. * @param payload Event payload. */ - async emit(event: string, payload?: unknown): Promise { + async emit(event: string, payload?: T): Promise { if (localTauriEvents.includes(event)) { // eslint-disable-next-line for (const handler of this.listeners[event] || []) { @@ -453,7 +453,7 @@ class Window { } return } - return emit(event, payload) + return emit(event, payload) } /** @@ -468,10 +468,10 @@ class Window { * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`. * @param payload Event payload. */ - async emitTo( + async emitTo( target: string | EventTarget, event: string, - payload?: unknown + payload?: T ): Promise { if (localTauriEvents.includes(event)) { // eslint-disable-next-line security/detect-object-injection @@ -484,7 +484,7 @@ class Window { } return } - return emitTo(target, event, payload) + return emitTo(target, event, payload) } /** @ignore */ From c8e7c5f4127270edb63f25c18481971121fe33d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=B1=AA?= <504595380@qq.com> Date: Mon, 24 Mar 2025 22:04:49 +0800 Subject: [PATCH 2/5] Create change-pr-13066.md --- .changes/change-pr-13066.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .changes/change-pr-13066.md diff --git a/.changes/change-pr-13066.md b/.changes/change-pr-13066.md new file mode 100644 index 000000000000..a6a502860a84 --- /dev/null +++ b/.changes/change-pr-13066.md @@ -0,0 +1,18 @@ +--- +"@tauri-apps/api": patch +"tauri-utils": patch +"tauri-macos-sign": patch +"tauri-bundler": patch +"tauri-runtime": patch +"tauri-runtime-wry": patch +"tauri-codegen": patch +"tauri-macros": patch +"tauri-plugin": patch +"tauri-build": patch +"tauri": patch +"@tauri-apps/cli": patch +"tauri-cli": patch +"tauri-driver": patch +--- + +fix From 11f5995cf6ff7ac716873726249ff31313b5dd63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=B1=AA?= <504595380@qq.com> Date: Mon, 24 Mar 2025 22:48:51 +0800 Subject: [PATCH 3/5] Add generic parameter to emit and emitTo --- packages/api/src/webview.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/api/src/webview.ts b/packages/api/src/webview.ts index b82f3ac247e2..531ab00f7366 100644 --- a/packages/api/src/webview.ts +++ b/packages/api/src/webview.ts @@ -291,7 +291,7 @@ class Webview { * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`. * @param payload Event payload. */ - async emit(event: string, payload?: unknown): Promise { + async emit(event: string, payload?: T): Promise { if (localTauriEvents.includes(event)) { // eslint-disable-next-line for (const handler of this.listeners[event] || []) { @@ -303,7 +303,7 @@ class Webview { } return } - return emit(event, payload) + return emit(event, payload) } /** @@ -319,10 +319,10 @@ class Webview { * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`. * @param payload Event payload. */ - async emitTo( + async emitTo( target: string | EventTarget, event: string, - payload?: unknown + payload?: T ): Promise { if (localTauriEvents.includes(event)) { // eslint-disable-next-line @@ -335,7 +335,7 @@ class Webview { } return } - return emitTo(target, event, payload) + return emitTo(target, event, payload) } /** @ignore */ From c26f3db9d634289544ba831e592faa9ce08893b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=B1=AA?= <504595380@qq.com> Date: Tue, 25 Mar 2025 09:04:48 +0800 Subject: [PATCH 4/5] Update change-pr-13066.md --- .changes/change-pr-13066.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.changes/change-pr-13066.md b/.changes/change-pr-13066.md index a6a502860a84..0bcebabb9395 100644 --- a/.changes/change-pr-13066.md +++ b/.changes/change-pr-13066.md @@ -14,5 +14,8 @@ "tauri-cli": patch "tauri-driver": patch --- - fix +--- +"@tauri-apps/api": patch:enhance +--- +Add a generic to `emit` and `emitTo` functions for the `payload` instead of the previously used type (`unknown`). From 87af950493afb47fe0c0d41ee6a2f959b4ffb70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=B1=AA?= <504595380@qq.com> Date: Tue, 25 Mar 2025 09:05:41 +0800 Subject: [PATCH 5/5] Update change-pr-13066.md --- .changes/change-pr-13066.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.changes/change-pr-13066.md b/.changes/change-pr-13066.md index 0bcebabb9395..27e25f997512 100644 --- a/.changes/change-pr-13066.md +++ b/.changes/change-pr-13066.md @@ -1,21 +1,4 @@ --- -"@tauri-apps/api": patch -"tauri-utils": patch -"tauri-macos-sign": patch -"tauri-bundler": patch -"tauri-runtime": patch -"tauri-runtime-wry": patch -"tauri-codegen": patch -"tauri-macros": patch -"tauri-plugin": patch -"tauri-build": patch -"tauri": patch -"@tauri-apps/cli": patch -"tauri-cli": patch -"tauri-driver": patch ---- -fix ---- "@tauri-apps/api": patch:enhance --- Add a generic to `emit` and `emitTo` functions for the `payload` instead of the previously used type (`unknown`).