From e1c59e80e8cdee1dff6f36f852d5e747de5764c2 Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 12:47:40 -0500 Subject: [PATCH 1/8] Resolve boolean instead of JSObject in `isAvailable` to agree with TypeScript API --- plugins/nfc/android/src/main/java/NfcPlugin.kt | 4 +--- plugins/nfc/ios/Sources/NfcPlugin.swift | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/plugins/nfc/android/src/main/java/NfcPlugin.kt b/plugins/nfc/android/src/main/java/NfcPlugin.kt index 4deaab4400..5c3bd1dc39 100644 --- a/plugins/nfc/android/src/main/java/NfcPlugin.kt +++ b/plugins/nfc/android/src/main/java/NfcPlugin.kt @@ -299,9 +299,7 @@ class NfcPlugin(private val activity: Activity) : Plugin(activity) { @Command fun isAvailable(invoke: Invoke) { - val ret = JSObject() - ret.put("available", isAvailable().first) - invoke.resolve(ret) + invoke.resolveObject(isAvailable().first) } @Command diff --git a/plugins/nfc/ios/Sources/NfcPlugin.swift b/plugins/nfc/ios/Sources/NfcPlugin.swift index af1a68d58b..22caeb535e 100644 --- a/plugins/nfc/ios/Sources/NfcPlugin.swift +++ b/plugins/nfc/ios/Sources/NfcPlugin.swift @@ -396,9 +396,7 @@ class NfcPlugin: Plugin, NFCTagReaderSessionDelegate, NFCNDEFReaderSessionDelega } @objc func isAvailable(_ invoke: Invoke) { - invoke.resolve([ - "available": self.status.available - ]) + invoke.resolve(self.status.available) } @objc public func write(_ invoke: Invoke) throws { From 3fa34d0b232798f64e1b0e5c4b6a4cf5df0c7605 Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:00:22 -0500 Subject: [PATCH 2/8] Do it the other way to maintain expected functionality in Rust code --- plugins/nfc/android/src/main/java/NfcPlugin.kt | 6 ++++-- plugins/nfc/ios/Sources/NfcPlugin.swift | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/nfc/android/src/main/java/NfcPlugin.kt b/plugins/nfc/android/src/main/java/NfcPlugin.kt index 5c3bd1dc39..f474f2ec50 100644 --- a/plugins/nfc/android/src/main/java/NfcPlugin.kt +++ b/plugins/nfc/android/src/main/java/NfcPlugin.kt @@ -299,7 +299,9 @@ class NfcPlugin(private val activity: Activity) : Plugin(activity) { @Command fun isAvailable(invoke: Invoke) { - invoke.resolveObject(isAvailable().first) + val ret = JSObject() + ret.put("available", isAvailable().first) + invoke.resolve(ret) } @Command @@ -514,4 +516,4 @@ private fun recordToJson(record: NdefRecord): JSObject { json.put("id", fromU8Array(record.id)) json.put("payload", fromU8Array(record.payload)) return json -} \ No newline at end of file +} diff --git a/plugins/nfc/ios/Sources/NfcPlugin.swift b/plugins/nfc/ios/Sources/NfcPlugin.swift index 22caeb535e..a3beb28c81 100644 --- a/plugins/nfc/ios/Sources/NfcPlugin.swift +++ b/plugins/nfc/ios/Sources/NfcPlugin.swift @@ -396,7 +396,9 @@ class NfcPlugin: Plugin, NFCTagReaderSessionDelegate, NFCNDEFReaderSessionDelega } @objc func isAvailable(_ invoke: Invoke) { - invoke.resolve(self.status.available) + invoke.resolve([ + "available": self.status.available + ]) } @objc public func write(_ invoke: Invoke) throws { From a498023b711755b0255ce73dc5758f7ac45736d4 Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:03:34 -0500 Subject: [PATCH 3/8] Formatting --- plugins/nfc/android/src/main/java/NfcPlugin.kt | 2 +- plugins/nfc/ios/Sources/NfcPlugin.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/nfc/android/src/main/java/NfcPlugin.kt b/plugins/nfc/android/src/main/java/NfcPlugin.kt index f474f2ec50..4deaab4400 100644 --- a/plugins/nfc/android/src/main/java/NfcPlugin.kt +++ b/plugins/nfc/android/src/main/java/NfcPlugin.kt @@ -516,4 +516,4 @@ private fun recordToJson(record: NdefRecord): JSObject { json.put("id", fromU8Array(record.id)) json.put("payload", fromU8Array(record.payload)) return json -} +} \ No newline at end of file diff --git a/plugins/nfc/ios/Sources/NfcPlugin.swift b/plugins/nfc/ios/Sources/NfcPlugin.swift index a3beb28c81..af1a68d58b 100644 --- a/plugins/nfc/ios/Sources/NfcPlugin.swift +++ b/plugins/nfc/ios/Sources/NfcPlugin.swift @@ -397,7 +397,7 @@ class NfcPlugin: Plugin, NFCTagReaderSessionDelegate, NFCNDEFReaderSessionDelega @objc func isAvailable(_ invoke: Invoke) { invoke.resolve([ - "available": self.status.available + "available": self.status.available ]) } From a971ae316229fc95eb4f1552735f2cbe1f2f305b Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:09:57 -0500 Subject: [PATCH 4/8] Destructure result from to return expected boolean --- plugins/nfc/guest-js/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/nfc/guest-js/index.ts b/plugins/nfc/guest-js/index.ts index 051a1841fb..c9552fc36c 100644 --- a/plugins/nfc/guest-js/index.ts +++ b/plugins/nfc/guest-js/index.ts @@ -269,5 +269,6 @@ export async function write( } export async function isAvailable(): Promise { - return await invoke('plugin:nfc|is_available') + const { available } : { available: boolean } = await invoke('plugin:nfc|is_available') + return available; } From ffd47fd66cd92684d2993138621e3455f51dd35f Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:17:14 -0500 Subject: [PATCH 5/8] Add .changes --- .changes/nfc-is-available-fix.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changes/nfc-is-available-fix.md diff --git a/.changes/nfc-is-available-fix.md b/.changes/nfc-is-available-fix.md new file mode 100644 index 0000000000..344d3624e9 --- /dev/null +++ b/.changes/nfc-is-available-fix.md @@ -0,0 +1,5 @@ +--- +"nfc-js": "minor" +--- + +Update return value of `isAvailable` to match TypeScript function signature From 7f0dbfed342098334b59ed02fa93446999beff9d Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:36:37 -0500 Subject: [PATCH 6/8] Bump nfc + nfc-js --- .changes/nfc-is-available-fix.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changes/nfc-is-available-fix.md b/.changes/nfc-is-available-fix.md index 344d3624e9..9748fcb087 100644 --- a/.changes/nfc-is-available-fix.md +++ b/.changes/nfc-is-available-fix.md @@ -1,4 +1,5 @@ --- +"nfc": "minor" "nfc-js": "minor" --- From 588259656f429b222567903ed33a722f418c6f5d Mon Sep 17 00:00:00 2001 From: Ben Clarke Date: Wed, 12 Nov 2025 14:38:45 -0500 Subject: [PATCH 7/8] Prettier --- plugins/nfc/guest-js/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/nfc/guest-js/index.ts b/plugins/nfc/guest-js/index.ts index c9552fc36c..9c1fa10b25 100644 --- a/plugins/nfc/guest-js/index.ts +++ b/plugins/nfc/guest-js/index.ts @@ -269,6 +269,8 @@ export async function write( } export async function isAvailable(): Promise { - const { available } : { available: boolean } = await invoke('plugin:nfc|is_available') - return available; + const { available }: { available: boolean } = await invoke( + 'plugin:nfc|is_available' + ) + return available } From f60a6e9d62a9675ab6bbffb6d07b6db2082f7b28 Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Thu, 13 Nov 2025 20:37:38 +0100 Subject: [PATCH 8/8] patch --- .changes/nfc-is-available-fix.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changes/nfc-is-available-fix.md b/.changes/nfc-is-available-fix.md index 9748fcb087..8a16504f1e 100644 --- a/.changes/nfc-is-available-fix.md +++ b/.changes/nfc-is-available-fix.md @@ -1,6 +1,6 @@ --- -"nfc": "minor" -"nfc-js": "minor" +"nfc": "patch" +"nfc-js": "patch" --- Update return value of `isAvailable` to match TypeScript function signature