@capacitor-community/bluetooth-le 8.0.0-0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapacitorCommunityBluetoothLe.podspec +17 -17
- package/LICENSE +21 -21
- package/Package.swift +27 -27
- package/README.md +2 -1
- package/android/build.gradle +73 -71
- package/android/src/main/AndroidManifest.xml +22 -22
- package/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/BluetoothLe.kt +1094 -1094
- package/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/Conversion.kt +51 -51
- package/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/Device.kt +771 -771
- package/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/DeviceList.kt +28 -28
- package/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/DeviceScanner.kt +189 -189
- package/ios/Sources/BluetoothLe/Conversion.swift +83 -83
- package/ios/Sources/BluetoothLe/Device.swift +423 -423
- package/ios/Sources/BluetoothLe/DeviceListView.swift +121 -121
- package/ios/Sources/BluetoothLe/DeviceManager.swift +503 -503
- package/ios/Sources/BluetoothLe/Logging.swift +8 -8
- package/ios/Sources/BluetoothLe/Plugin.swift +775 -775
- package/ios/Sources/BluetoothLe/ThreadSafeDictionary.swift +15 -15
- package/ios/Tests/BluetoothLeTests/ConversionTests.swift +55 -55
- package/ios/Tests/BluetoothLeTests/PluginTests.swift +27 -27
- package/package.json +115 -115
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
class ThreadSafeDictionary<K: Hashable, T> {
|
|
4
|
-
private var dictionary: [K: T] = [:]
|
|
5
|
-
private let queue = DispatchQueue(label: "threadSafeDictionaryQueue", attributes: .concurrent)
|
|
6
|
-
|
|
7
|
-
subscript(key: K) -> T? {
|
|
8
|
-
get {
|
|
9
|
-
return queue.sync { dictionary[key] }
|
|
10
|
-
}
|
|
11
|
-
set {
|
|
12
|
-
queue.async(flags: .barrier) { self.dictionary[key] = newValue }
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class ThreadSafeDictionary<K: Hashable, T> {
|
|
4
|
+
private var dictionary: [K: T] = [:]
|
|
5
|
+
private let queue = DispatchQueue(label: "threadSafeDictionaryQueue", attributes: .concurrent)
|
|
6
|
+
|
|
7
|
+
subscript(key: K) -> T? {
|
|
8
|
+
get {
|
|
9
|
+
return queue.sync { dictionary[key] }
|
|
10
|
+
}
|
|
11
|
+
set {
|
|
12
|
+
queue.async(flags: .barrier) { self.dictionary[key] = newValue }
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
import CoreBluetooth
|
|
3
|
-
import XCTest
|
|
4
|
-
@testable import BluetoothLe
|
|
5
|
-
|
|
6
|
-
class ConversionTests: XCTestCase {
|
|
7
|
-
|
|
8
|
-
func testDataToString() throws {
|
|
9
|
-
let input = Data([0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3])
|
|
10
|
-
let output = dataToString(input)
|
|
11
|
-
XCTAssertEqual(output, "a12e38d489c3")
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
func testStringToData() throws {
|
|
15
|
-
let input = "a12e38d489c3"
|
|
16
|
-
let output = stringToData(input)
|
|
17
|
-
let expected = Data([0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3])
|
|
18
|
-
for (index, byte) in output.enumerated() {
|
|
19
|
-
XCTAssertEqual(byte, expected[index])
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
func testEmptyStringToData() throws {
|
|
24
|
-
let input = ""
|
|
25
|
-
let output = stringToData(input)
|
|
26
|
-
XCTAssertEqual(output, Data([]))
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
func testCbuuidToString() throws {
|
|
30
|
-
XCTAssertEqual(cbuuidToString(CBUUID(string: "180D")), "0000180d-0000-1000-8000-00805f9b34fb")
|
|
31
|
-
XCTAssertEqual(cbuuidToString(CBUUID(string: "AAAA180D")), "aaaa180d-0000-1000-8000-00805f9b34fb")
|
|
32
|
-
XCTAssertEqual(cbuuidToString(CBUUID(string: "fb005c80-02e7-f387-1cad-8acd2d8df0c8")), "fb005c80-02e7-f387-1cad-8acd2d8df0c8")
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
func testCbuuidToStringUppercase() throws {
|
|
36
|
-
XCTAssertEqual(cbuuidToStringUppercase(CBUUID(string: "180D")), "0000180D-0000-1000-8000-00805F9B34FB")
|
|
37
|
-
XCTAssertEqual(cbuuidToStringUppercase(CBUUID(string: "fb005c80-02e7-f387-1cad-8acd2d8df0c8")), "FB005C80-02E7-F387-1CAD-8ACD2D8DF0C8")
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
func testOptionalStringConversion() throws {
|
|
41
|
-
let str: String? = "180D"
|
|
42
|
-
XCTAssertEqual("\(str)", "Optional(\"180D\")")
|
|
43
|
-
XCTAssertEqual("\(str!)", "180D")
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
func testDescriptorValueToString() throws {
|
|
47
|
-
XCTAssertEqual(descriptorValueToString("Hello"), "48656c6c6f")
|
|
48
|
-
XCTAssertEqual(descriptorValueToString(Data([0, 5, 255])), "0005ff")
|
|
49
|
-
XCTAssertEqual(descriptorValueToString(UInt16(258)), "0201")
|
|
50
|
-
XCTAssertEqual(descriptorValueToString(UInt16(1)), "0100")
|
|
51
|
-
XCTAssertEqual(descriptorValueToString(NSNumber(1)), "0100")
|
|
52
|
-
XCTAssertEqual(descriptorValueToString(0), "")
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
}
|
|
1
|
+
import Foundation
|
|
2
|
+
import CoreBluetooth
|
|
3
|
+
import XCTest
|
|
4
|
+
@testable import BluetoothLe
|
|
5
|
+
|
|
6
|
+
class ConversionTests: XCTestCase {
|
|
7
|
+
|
|
8
|
+
func testDataToString() throws {
|
|
9
|
+
let input = Data([0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3])
|
|
10
|
+
let output = dataToString(input)
|
|
11
|
+
XCTAssertEqual(output, "a12e38d489c3")
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
func testStringToData() throws {
|
|
15
|
+
let input = "a12e38d489c3"
|
|
16
|
+
let output = stringToData(input)
|
|
17
|
+
let expected = Data([0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3])
|
|
18
|
+
for (index, byte) in output.enumerated() {
|
|
19
|
+
XCTAssertEqual(byte, expected[index])
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
func testEmptyStringToData() throws {
|
|
24
|
+
let input = ""
|
|
25
|
+
let output = stringToData(input)
|
|
26
|
+
XCTAssertEqual(output, Data([]))
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
func testCbuuidToString() throws {
|
|
30
|
+
XCTAssertEqual(cbuuidToString(CBUUID(string: "180D")), "0000180d-0000-1000-8000-00805f9b34fb")
|
|
31
|
+
XCTAssertEqual(cbuuidToString(CBUUID(string: "AAAA180D")), "aaaa180d-0000-1000-8000-00805f9b34fb")
|
|
32
|
+
XCTAssertEqual(cbuuidToString(CBUUID(string: "fb005c80-02e7-f387-1cad-8acd2d8df0c8")), "fb005c80-02e7-f387-1cad-8acd2d8df0c8")
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
func testCbuuidToStringUppercase() throws {
|
|
36
|
+
XCTAssertEqual(cbuuidToStringUppercase(CBUUID(string: "180D")), "0000180D-0000-1000-8000-00805F9B34FB")
|
|
37
|
+
XCTAssertEqual(cbuuidToStringUppercase(CBUUID(string: "fb005c80-02e7-f387-1cad-8acd2d8df0c8")), "FB005C80-02E7-F387-1CAD-8ACD2D8DF0C8")
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
func testOptionalStringConversion() throws {
|
|
41
|
+
let str: String? = "180D"
|
|
42
|
+
XCTAssertEqual("\(str)", "Optional(\"180D\")")
|
|
43
|
+
XCTAssertEqual("\(str!)", "180D")
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
func testDescriptorValueToString() throws {
|
|
47
|
+
XCTAssertEqual(descriptorValueToString("Hello"), "48656c6c6f")
|
|
48
|
+
XCTAssertEqual(descriptorValueToString(Data([0, 5, 255])), "0005ff")
|
|
49
|
+
XCTAssertEqual(descriptorValueToString(UInt16(258)), "0201")
|
|
50
|
+
XCTAssertEqual(descriptorValueToString(UInt16(1)), "0100")
|
|
51
|
+
XCTAssertEqual(descriptorValueToString(NSNumber(1)), "0100")
|
|
52
|
+
XCTAssertEqual(descriptorValueToString(0), "")
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import XCTest
|
|
2
|
-
import Capacitor
|
|
3
|
-
@testable import BluetoothLe
|
|
4
|
-
|
|
5
|
-
class PluginTests: XCTestCase {
|
|
6
|
-
|
|
7
|
-
func testEcho() {
|
|
8
|
-
// This is an example of a functional test case for a plugin.
|
|
9
|
-
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
|
10
|
-
|
|
11
|
-
let value = "Hello, World!"
|
|
12
|
-
XCTAssertEqual(1, 1)
|
|
13
|
-
|
|
14
|
-
// let plugin = MyPlugin()
|
|
15
|
-
//
|
|
16
|
-
// let call = CAPPluginCall(callbackId: "test", options: [
|
|
17
|
-
// "value": value
|
|
18
|
-
// ], success: { (result, _) in
|
|
19
|
-
// let resultValue = result!.data["value"] as? String
|
|
20
|
-
// XCTAssertEqual(value, resultValue)
|
|
21
|
-
// }, error: { (_) in
|
|
22
|
-
// XCTFail("Error shouldn't have been called")
|
|
23
|
-
// })
|
|
24
|
-
//
|
|
25
|
-
// plugin.echo(call!)
|
|
26
|
-
}
|
|
27
|
-
}
|
|
1
|
+
import XCTest
|
|
2
|
+
import Capacitor
|
|
3
|
+
@testable import BluetoothLe
|
|
4
|
+
|
|
5
|
+
class PluginTests: XCTestCase {
|
|
6
|
+
|
|
7
|
+
func testEcho() {
|
|
8
|
+
// This is an example of a functional test case for a plugin.
|
|
9
|
+
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
|
10
|
+
|
|
11
|
+
let value = "Hello, World!"
|
|
12
|
+
XCTAssertEqual(1, 1)
|
|
13
|
+
|
|
14
|
+
// let plugin = MyPlugin()
|
|
15
|
+
//
|
|
16
|
+
// let call = CAPPluginCall(callbackId: "test", options: [
|
|
17
|
+
// "value": value
|
|
18
|
+
// ], success: { (result, _) in
|
|
19
|
+
// let resultValue = result!.data["value"] as? String
|
|
20
|
+
// XCTAssertEqual(value, resultValue)
|
|
21
|
+
// }, error: { (_) in
|
|
22
|
+
// XCTFail("Error shouldn't have been called")
|
|
23
|
+
// })
|
|
24
|
+
//
|
|
25
|
+
// plugin.echo(call!)
|
|
26
|
+
}
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@capacitor-community/bluetooth-le",
|
|
3
|
-
"version": "8.0.0
|
|
4
|
-
"description": "Capacitor plugin for Bluetooth Low Energy ",
|
|
5
|
-
"main": "dist/plugin.cjs.js",
|
|
6
|
-
"module": "dist/esm/index.js",
|
|
7
|
-
"types": "dist/esm/index.d.ts",
|
|
8
|
-
"unpkg": "dist/plugin.js",
|
|
9
|
-
"scripts": {
|
|
10
|
-
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
11
|
-
"verify:ios": "xcodebuild -scheme CapacitorCommunityBluetoothLe -destination generic/platform=iOS",
|
|
12
|
-
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
13
|
-
"verify:web": "npm run test:coverage && npm run build",
|
|
14
|
-
"lint": "npm run eslint && npm run prettier -- --check && npm run lint:ios",
|
|
15
|
-
"lint:ios": "npm run swiftlint -- lint ios",
|
|
16
|
-
"lint:android": "cd android && ./gradlew clean lint && cd ..",
|
|
17
|
-
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- lint --fix --format ios",
|
|
18
|
-
"eslint": "eslint . --ext ts",
|
|
19
|
-
"prettier": "prettier \"**/*.{css,html,ts,js}\"",
|
|
20
|
-
"swiftlint": "node-swiftlint",
|
|
21
|
-
"docgen": "docgen --api BleClientInterface --output-readme README.md --output-json dist/docs.json",
|
|
22
|
-
"postdocgen": "node scripts/fix-docgen-types.js && prettier README.md --write",
|
|
23
|
-
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",
|
|
24
|
-
"clean": "rimraf ./dist",
|
|
25
|
-
"watch": "tsc --watch",
|
|
26
|
-
"prepublishOnly": "npm run build",
|
|
27
|
-
"test": "jest",
|
|
28
|
-
"test:coverage": "jest --coverage",
|
|
29
|
-
"test:watch": "jest --watch",
|
|
30
|
-
"test:ios": "xcodebuild test -scheme CapacitorCommunityBluetoothLe -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5'",
|
|
31
|
-
"version:dev": "npm version --no-git-tag-version $(git describe)",
|
|
32
|
-
"release": "standard-version",
|
|
33
|
-
"release:minor": "standard-version -r minor",
|
|
34
|
-
"release:major": "standard-version -r major"
|
|
35
|
-
},
|
|
36
|
-
"author": "pwespi",
|
|
37
|
-
"license": "MIT",
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"@types/web-bluetooth": "^0.0.20"
|
|
40
|
-
},
|
|
41
|
-
"devDependencies": {
|
|
42
|
-
"@capacitor/android": "^8.0.0",
|
|
43
|
-
"@capacitor/cli": "^8.0.0",
|
|
44
|
-
"@capacitor/core": "^8.0.0",
|
|
45
|
-
"@capacitor/docgen": "^0.3.1",
|
|
46
|
-
"@capacitor/ios": "^8.0.0",
|
|
47
|
-
"@ionic/eslint-config": "^0.4.0",
|
|
48
|
-
"@ionic/prettier-config": "^4.0.0",
|
|
49
|
-
"@ionic/swiftlint-config": "^2.0.0",
|
|
50
|
-
"@types/jest": "^29.2.5",
|
|
51
|
-
"eslint": "^8.57.1",
|
|
52
|
-
"jest": "^29.3.1",
|
|
53
|
-
"jest-environment-jsdom": "^29.3.1",
|
|
54
|
-
"prettier": "^3.6.2",
|
|
55
|
-
"rimraf": "^6.1.0",
|
|
56
|
-
"rollup": "^4.53.2",
|
|
57
|
-
"standard-version": "^9.5.0",
|
|
58
|
-
"swiftlint": "^2.0.0",
|
|
59
|
-
"ts-jest": "^29.0.3",
|
|
60
|
-
"typescript": "^5.9.3",
|
|
61
|
-
"prettier-plugin-java": "^2.7.7"
|
|
62
|
-
},
|
|
63
|
-
"peerDependencies": {
|
|
64
|
-
"@capacitor/core": ">=8.0.0"
|
|
65
|
-
},
|
|
66
|
-
"files": [
|
|
67
|
-
"android/src/main/",
|
|
68
|
-
"android/build.gradle",
|
|
69
|
-
"dist/",
|
|
70
|
-
"ios/Sources",
|
|
71
|
-
"ios/Tests",
|
|
72
|
-
"Package.swift",
|
|
73
|
-
"CapacitorCommunityBluetoothLe.podspec"
|
|
74
|
-
],
|
|
75
|
-
"keywords": [
|
|
76
|
-
"capacitor",
|
|
77
|
-
"plugin",
|
|
78
|
-
"native",
|
|
79
|
-
"bluetooth"
|
|
80
|
-
],
|
|
81
|
-
"capacitor": {
|
|
82
|
-
"ios": {
|
|
83
|
-
"src": "ios"
|
|
84
|
-
},
|
|
85
|
-
"android": {
|
|
86
|
-
"src": "android"
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
"prettier": "@ionic/prettier-config",
|
|
90
|
-
"swiftlint": "@ionic/swiftlint-config",
|
|
91
|
-
"eslintConfig": {
|
|
92
|
-
"extends": "@ionic/eslint-config/recommended",
|
|
93
|
-
"rules": {
|
|
94
|
-
"@typescript-eslint/no-unused-vars": [
|
|
95
|
-
"error",
|
|
96
|
-
{
|
|
97
|
-
"argsIgnorePattern": "^_",
|
|
98
|
-
"varsIgnorePattern": "^_",
|
|
99
|
-
"caughtErrorsIgnorePattern": "^_"
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"repository": {
|
|
105
|
-
"type": "git",
|
|
106
|
-
"url": "https://github.com/capacitor-community/bluetooth-le"
|
|
107
|
-
},
|
|
108
|
-
"bugs": {
|
|
109
|
-
"url": "https://github.com/capacitor-community/bluetooth-le/issues"
|
|
110
|
-
},
|
|
111
|
-
"volta": {
|
|
112
|
-
"node": "22.13.1",
|
|
113
|
-
"npm": "11.0.0"
|
|
114
|
-
}
|
|
115
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@capacitor-community/bluetooth-le",
|
|
3
|
+
"version": "8.0.0",
|
|
4
|
+
"description": "Capacitor plugin for Bluetooth Low Energy ",
|
|
5
|
+
"main": "dist/plugin.cjs.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/esm/index.d.ts",
|
|
8
|
+
"unpkg": "dist/plugin.js",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
11
|
+
"verify:ios": "xcodebuild -scheme CapacitorCommunityBluetoothLe -destination generic/platform=iOS",
|
|
12
|
+
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
13
|
+
"verify:web": "npm run test:coverage && npm run build",
|
|
14
|
+
"lint": "npm run eslint && npm run prettier -- --check && npm run lint:ios",
|
|
15
|
+
"lint:ios": "npm run swiftlint -- lint ios",
|
|
16
|
+
"lint:android": "cd android && ./gradlew clean lint && cd ..",
|
|
17
|
+
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- lint --fix --format ios",
|
|
18
|
+
"eslint": "eslint . --ext ts",
|
|
19
|
+
"prettier": "prettier \"**/*.{css,html,ts,js}\"",
|
|
20
|
+
"swiftlint": "node-swiftlint",
|
|
21
|
+
"docgen": "docgen --api BleClientInterface --output-readme README.md --output-json dist/docs.json",
|
|
22
|
+
"postdocgen": "node scripts/fix-docgen-types.js && prettier README.md --write",
|
|
23
|
+
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",
|
|
24
|
+
"clean": "rimraf ./dist",
|
|
25
|
+
"watch": "tsc --watch",
|
|
26
|
+
"prepublishOnly": "npm run build",
|
|
27
|
+
"test": "jest",
|
|
28
|
+
"test:coverage": "jest --coverage",
|
|
29
|
+
"test:watch": "jest --watch",
|
|
30
|
+
"test:ios": "xcodebuild test -scheme CapacitorCommunityBluetoothLe -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5'",
|
|
31
|
+
"version:dev": "npm version --no-git-tag-version $(git describe)",
|
|
32
|
+
"release": "standard-version",
|
|
33
|
+
"release:minor": "standard-version -r minor",
|
|
34
|
+
"release:major": "standard-version -r major"
|
|
35
|
+
},
|
|
36
|
+
"author": "pwespi",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@types/web-bluetooth": "^0.0.20"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@capacitor/android": "^8.0.0",
|
|
43
|
+
"@capacitor/cli": "^8.0.0",
|
|
44
|
+
"@capacitor/core": "^8.0.0",
|
|
45
|
+
"@capacitor/docgen": "^0.3.1",
|
|
46
|
+
"@capacitor/ios": "^8.0.0",
|
|
47
|
+
"@ionic/eslint-config": "^0.4.0",
|
|
48
|
+
"@ionic/prettier-config": "^4.0.0",
|
|
49
|
+
"@ionic/swiftlint-config": "^2.0.0",
|
|
50
|
+
"@types/jest": "^29.2.5",
|
|
51
|
+
"eslint": "^8.57.1",
|
|
52
|
+
"jest": "^29.3.1",
|
|
53
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
54
|
+
"prettier": "^3.6.2",
|
|
55
|
+
"rimraf": "^6.1.0",
|
|
56
|
+
"rollup": "^4.53.2",
|
|
57
|
+
"standard-version": "^9.5.0",
|
|
58
|
+
"swiftlint": "^2.0.0",
|
|
59
|
+
"ts-jest": "^29.0.3",
|
|
60
|
+
"typescript": "^5.9.3",
|
|
61
|
+
"prettier-plugin-java": "^2.7.7"
|
|
62
|
+
},
|
|
63
|
+
"peerDependencies": {
|
|
64
|
+
"@capacitor/core": ">=8.0.0"
|
|
65
|
+
},
|
|
66
|
+
"files": [
|
|
67
|
+
"android/src/main/",
|
|
68
|
+
"android/build.gradle",
|
|
69
|
+
"dist/",
|
|
70
|
+
"ios/Sources",
|
|
71
|
+
"ios/Tests",
|
|
72
|
+
"Package.swift",
|
|
73
|
+
"CapacitorCommunityBluetoothLe.podspec"
|
|
74
|
+
],
|
|
75
|
+
"keywords": [
|
|
76
|
+
"capacitor",
|
|
77
|
+
"plugin",
|
|
78
|
+
"native",
|
|
79
|
+
"bluetooth"
|
|
80
|
+
],
|
|
81
|
+
"capacitor": {
|
|
82
|
+
"ios": {
|
|
83
|
+
"src": "ios"
|
|
84
|
+
},
|
|
85
|
+
"android": {
|
|
86
|
+
"src": "android"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"prettier": "@ionic/prettier-config",
|
|
90
|
+
"swiftlint": "@ionic/swiftlint-config",
|
|
91
|
+
"eslintConfig": {
|
|
92
|
+
"extends": "@ionic/eslint-config/recommended",
|
|
93
|
+
"rules": {
|
|
94
|
+
"@typescript-eslint/no-unused-vars": [
|
|
95
|
+
"error",
|
|
96
|
+
{
|
|
97
|
+
"argsIgnorePattern": "^_",
|
|
98
|
+
"varsIgnorePattern": "^_",
|
|
99
|
+
"caughtErrorsIgnorePattern": "^_"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"repository": {
|
|
105
|
+
"type": "git",
|
|
106
|
+
"url": "https://github.com/capacitor-community/bluetooth-le"
|
|
107
|
+
},
|
|
108
|
+
"bugs": {
|
|
109
|
+
"url": "https://github.com/capacitor-community/bluetooth-le/issues"
|
|
110
|
+
},
|
|
111
|
+
"volta": {
|
|
112
|
+
"node": "22.13.1",
|
|
113
|
+
"npm": "11.0.0"
|
|
114
|
+
}
|
|
115
|
+
}
|