@capacitor/device 1.1.0 → 4.0.0-beta.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/CHANGELOG.md +56 -0
- package/CapacitorDevice.podspec +1 -1
- package/README.md +27 -4
- package/android/build.gradle +10 -11
- package/android/src/main/java/com/capacitorjs/plugins/device/DevicePlugin.java +7 -0
- package/dist/docs.json +40 -2
- package/dist/esm/definitions.d.ts +16 -1
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/web.d.ts +2 -1
- package/dist/esm/web.js +6 -1
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +6 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +6 -1
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/Device.swift +12 -0
- package/ios/Plugin/DevicePlugin.m +1 -0
- package/ios/Plugin/DevicePlugin.swift +13 -2
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,62 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 4.0.0-beta.0 (2022-06-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **device:** handle case of no localStorage for getId ([#1059](https://github.com/ionic-team/capacitor-plugins/issues/1059)) ([5f77a7d](https://github.com/ionic-team/capacitor-plugins/commit/5f77a7da48fc7f0ce5250e7cba621731ac6b210a))
|
|
12
|
+
* **device:** return short language code in web ([#893](https://github.com/ionic-team/capacitor-plugins/issues/893)) ([07f0887](https://github.com/ionic-team/capacitor-plugins/commit/07f0887f4f0c9a883e55fb24b506a47dc61f13f7))
|
|
13
|
+
* add es2017 lib to tsconfig ([#180](https://github.com/ionic-team/capacitor-plugins/issues/180)) ([2c3776c](https://github.com/ionic-team/capacitor-plugins/commit/2c3776c38ca025c5ee965dec10ccf1cdb6c02e2f))
|
|
14
|
+
* correct addListeners links ([#655](https://github.com/ionic-team/capacitor-plugins/issues/655)) ([f9871e7](https://github.com/ionic-team/capacitor-plugins/commit/f9871e7bd53478addb21155e148829f550c0e457))
|
|
15
|
+
* inline source code in esm map files ([#760](https://github.com/ionic-team/capacitor-plugins/issues/760)) ([a960489](https://github.com/ionic-team/capacitor-plugins/commit/a960489a19db0182b90d187a50deff9dfbe51038))
|
|
16
|
+
* **device:** isVirtual is false on M1 simulators ([#726](https://github.com/ionic-team/capacitor-plugins/issues/726)) ([5377586](https://github.com/ionic-team/capacitor-plugins/commit/53775863df624531e8ffa4b18852b408e1bd2cbd))
|
|
17
|
+
* remove postpublish scripts ([#656](https://github.com/ionic-team/capacitor-plugins/issues/656)) ([ed6ac49](https://github.com/ionic-team/capacitor-plugins/commit/ed6ac499ebf4a47525071ccbfc36c27503e11f60))
|
|
18
|
+
* support deprecated types from Capacitor 2 ([#139](https://github.com/ionic-team/capacitor-plugins/issues/139)) ([2d7127a](https://github.com/ionic-team/capacitor-plugins/commit/2d7127a488e26f0287951921a6db47c49d817336))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* set targetSDK default value to 32 ([#970](https://github.com/ionic-team/capacitor-plugins/issues/970)) ([fa70d96](https://github.com/ionic-team/capacitor-plugins/commit/fa70d96f141af751aae53ceb5642c46b204f5958))
|
|
24
|
+
* **device:** Add getLanguageTag function ([#939](https://github.com/ionic-team/capacitor-plugins/issues/939)) ([d268e4a](https://github.com/ionic-team/capacitor-plugins/commit/d268e4a3d5a0a0279bae6a971b0d6e65481f1899))
|
|
25
|
+
* **device:** model now reflects exact model on iOS ([#929](https://github.com/ionic-team/capacitor-plugins/issues/929)) ([302d813](https://github.com/ionic-team/capacitor-plugins/commit/302d813991a755c89fbf57a6f5b2c3a2e1cd79aa))
|
|
26
|
+
* add commonjs output format ([#179](https://github.com/ionic-team/capacitor-plugins/issues/179)) ([8e9e098](https://github.com/ionic-team/capacitor-plugins/commit/8e9e09862064b3f6771d7facbc4008e995d9b463))
|
|
27
|
+
* Device plugin ([#47](https://github.com/ionic-team/capacitor-plugins/issues/47)) ([9870e30](https://github.com/ionic-team/capacitor-plugins/commit/9870e3006094062d7b10df6ab59aa9da35f6c34b))
|
|
28
|
+
* set targetSDK default value to 31 ([#824](https://github.com/ionic-team/capacitor-plugins/issues/824)) ([3ee10de](https://github.com/ionic-team/capacitor-plugins/commit/3ee10de98067984c1a4e75295d001c5a895c47f4))
|
|
29
|
+
* Upgrade gradle to 7.4 ([#826](https://github.com/ionic-team/capacitor-plugins/issues/826)) ([5db0906](https://github.com/ionic-team/capacitor-plugins/commit/5db0906f6264287c4f8e69dbaecf19d4d387824b))
|
|
30
|
+
* Use java 11 ([#910](https://github.com/ionic-team/capacitor-plugins/issues/910)) ([5acb2a2](https://github.com/ionic-team/capacitor-plugins/commit/5acb2a288a413492b163e4e97da46a085d9e4be0))
|
|
31
|
+
* **device:** add browser/webview version to getInfo() ([#109](https://github.com/ionic-team/capacitor-plugins/issues/109)) ([48c49c1](https://github.com/ionic-team/capacitor-plugins/commit/48c49c1cd1ffc86b40b02dd3778c0a3079cdc00c))
|
|
32
|
+
* **device:** Add deviceInfo.name implementation for Android ([#88](https://github.com/ionic-team/capacitor-plugins/issues/88)) ([bdc3b38](https://github.com/ionic-team/capacitor-plugins/commit/bdc3b38f70ecc7898e2bb23c1cceaea8903f26d9))
|
|
33
|
+
* **device:** Add getId function ([#370](https://github.com/ionic-team/capacitor-plugins/issues/370)) ([96664c6](https://github.com/ionic-team/capacitor-plugins/commit/96664c630140112af7e50569b98b00f774480949))
|
|
34
|
+
* **device:** Add realDiskTotal and realDiskFree properties ([#694](https://github.com/ionic-team/capacitor-plugins/issues/694)) ([3f67643](https://github.com/ionic-team/capacitor-plugins/commit/3f67643edf4cfd90a84d4606c4c6349b72531b92))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [1.1.2](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/device@1.1.1...@capacitor/device@1.1.2) (2022-01-19)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* inline source code in esm map files ([#760](https://github.com/ionic-team/capacitor-plugins/issues/760)) ([a960489](https://github.com/ionic-team/capacitor-plugins/commit/a960489a19db0182b90d187a50deff9dfbe51038))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## [1.1.1](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/device@1.1.0...@capacitor/device@1.1.1) (2021-12-08)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### Bug Fixes
|
|
55
|
+
|
|
56
|
+
* **device:** isVirtual is false on M1 simulators ([#726](https://github.com/ionic-team/capacitor-plugins/issues/726)) ([5377586](https://github.com/ionic-team/capacitor-plugins/commit/53775863df624531e8ffa4b18852b408e1bd2cbd))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
6
62
|
# [1.1.0](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/device@1.0.6...@capacitor/device@1.1.0) (2021-11-17)
|
|
7
63
|
|
|
8
64
|
|
package/CapacitorDevice.podspec
CHANGED
|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.author = package['author']
|
|
12
12
|
s.source = { :git => 'https://github.com/ionic-team/capacitor-plugins.git', :tag => package['name'] + '@' + package['version'] }
|
|
13
13
|
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}', 'device/ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
|
-
s.ios.deployment_target = '
|
|
14
|
+
s.ios.deployment_target = '13.0'
|
|
15
15
|
s.dependency 'Capacitor'
|
|
16
16
|
s.swift_version = '5.1'
|
|
17
17
|
end
|
package/README.md
CHANGED
|
@@ -35,6 +35,7 @@ const logBatteryInfo = async () => {
|
|
|
35
35
|
* [`getInfo()`](#getinfo)
|
|
36
36
|
* [`getBatteryInfo()`](#getbatteryinfo)
|
|
37
37
|
* [`getLanguageCode()`](#getlanguagecode)
|
|
38
|
+
* [`getLanguageTag()`](#getlanguagetag)
|
|
38
39
|
* [Interfaces](#interfaces)
|
|
39
40
|
* [Type Aliases](#type-aliases)
|
|
40
41
|
|
|
@@ -103,14 +104,29 @@ Get the device's current language locale code.
|
|
|
103
104
|
--------------------
|
|
104
105
|
|
|
105
106
|
|
|
107
|
+
### getLanguageTag()
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
getLanguageTag() => Promise<LanguageTag>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Get the device's current language locale tag.
|
|
114
|
+
|
|
115
|
+
**Returns:** <code>Promise<<a href="#languagetag">LanguageTag</a>></code>
|
|
116
|
+
|
|
117
|
+
**Since:** 4.0.0
|
|
118
|
+
|
|
119
|
+
--------------------
|
|
120
|
+
|
|
121
|
+
|
|
106
122
|
### Interfaces
|
|
107
123
|
|
|
108
124
|
|
|
109
125
|
#### DeviceId
|
|
110
126
|
|
|
111
|
-
| Prop | Type | Description
|
|
112
|
-
| ---------- | ------------------- |
|
|
113
|
-
| **`uuid`** | <code>string</code> | The UUID of the device as available to the app. This identifier may change on modern mobile platforms that only allow per-app install UUIDs. On web, a random identifier is generated and stored on localStorage for subsequent calls. | 1.0.0 |
|
|
127
|
+
| Prop | Type | Description | Since |
|
|
128
|
+
| ---------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
|
|
129
|
+
| **`uuid`** | <code>string</code> | The UUID of the device as available to the app. This identifier may change on modern mobile platforms that only allow per-app install UUIDs. On web, a random identifier is generated and stored on localStorage for subsequent calls. If localStorage is not available a new random identifier will be generated on every call. | 1.0.0 |
|
|
114
130
|
|
|
115
131
|
|
|
116
132
|
#### DeviceInfo
|
|
@@ -118,7 +134,7 @@ Get the device's current language locale code.
|
|
|
118
134
|
| Prop | Type | Description | Since |
|
|
119
135
|
| --------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
|
|
120
136
|
| **`name`** | <code>string</code> | The name of the device. For example, "John's iPhone". This is only supported on iOS and Android 7.1 or above. | 1.0.0 |
|
|
121
|
-
| **`model`** | <code>string</code> | The device model. For example, "
|
|
137
|
+
| **`model`** | <code>string</code> | The device model. For example, "iPhone13,4". | 1.0.0 |
|
|
122
138
|
| **`platform`** | <code>'ios' \| 'android' \| 'web'</code> | The device platform (lowercase). | 1.0.0 |
|
|
123
139
|
| **`operatingSystem`** | <code><a href="#operatingsystem">OperatingSystem</a></code> | The operating system of the device. | 1.0.0 |
|
|
124
140
|
| **`osVersion`** | <code>string</code> | The version of the device OS. | 1.0.0 |
|
|
@@ -147,6 +163,13 @@ Get the device's current language locale code.
|
|
|
147
163
|
| **`value`** | <code>string</code> | Two character language code. | 1.0.0 |
|
|
148
164
|
|
|
149
165
|
|
|
166
|
+
#### LanguageTag
|
|
167
|
+
|
|
168
|
+
| Prop | Type | Description | Since |
|
|
169
|
+
| ----------- | ------------------- | ----------------------------------------------- | ----- |
|
|
170
|
+
| **`value`** | <code>string</code> | Returns a well-formed IETF BCP 47 language tag. | 4.0.0 |
|
|
171
|
+
|
|
172
|
+
|
|
150
173
|
### Type Aliases
|
|
151
174
|
|
|
152
175
|
|
package/android/build.gradle
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
ext {
|
|
2
|
-
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.
|
|
3
|
-
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.2
|
|
4
|
-
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.
|
|
5
|
-
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.
|
|
2
|
+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
|
|
3
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.4.2'
|
|
4
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.3'
|
|
5
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.4.0'
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
buildscript {
|
|
@@ -11,17 +11,17 @@ buildscript {
|
|
|
11
11
|
mavenCentral()
|
|
12
12
|
}
|
|
13
13
|
dependencies {
|
|
14
|
-
classpath 'com.android.tools.build:gradle:
|
|
14
|
+
classpath 'com.android.tools.build:gradle:7.2.1'
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
apply plugin: 'com.android.library'
|
|
19
19
|
|
|
20
20
|
android {
|
|
21
|
-
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion :
|
|
21
|
+
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 32
|
|
22
22
|
defaultConfig {
|
|
23
|
-
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion :
|
|
24
|
-
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion :
|
|
23
|
+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
|
|
24
|
+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 32
|
|
25
25
|
versionCode 1
|
|
26
26
|
versionName "1.0"
|
|
27
27
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
@@ -36,14 +36,13 @@ android {
|
|
|
36
36
|
abortOnError false
|
|
37
37
|
}
|
|
38
38
|
compileOptions {
|
|
39
|
-
sourceCompatibility JavaVersion.
|
|
40
|
-
targetCompatibility JavaVersion.
|
|
39
|
+
sourceCompatibility JavaVersion.VERSION_11
|
|
40
|
+
targetCompatibility JavaVersion.VERSION_11
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
repositories {
|
|
45
45
|
google()
|
|
46
|
-
jcenter()
|
|
47
46
|
mavenCentral()
|
|
48
47
|
}
|
|
49
48
|
|
|
@@ -63,4 +63,11 @@ public class DevicePlugin extends Plugin {
|
|
|
63
63
|
ret.put("value", Locale.getDefault().getLanguage());
|
|
64
64
|
call.resolve(ret);
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
@PluginMethod
|
|
68
|
+
public void getLanguageTag(PluginCall call) {
|
|
69
|
+
JSObject ret = new JSObject();
|
|
70
|
+
ret.put("value", Locale.getDefault().toLanguageTag());
|
|
71
|
+
call.resolve(ret);
|
|
72
|
+
}
|
|
66
73
|
}
|
package/dist/docs.json
CHANGED
|
@@ -72,6 +72,23 @@
|
|
|
72
72
|
"GetLanguageCodeResult"
|
|
73
73
|
],
|
|
74
74
|
"slug": "getlanguagecode"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "getLanguageTag",
|
|
78
|
+
"signature": "() => Promise<LanguageTag>",
|
|
79
|
+
"parameters": [],
|
|
80
|
+
"returns": "Promise<LanguageTag>",
|
|
81
|
+
"tags": [
|
|
82
|
+
{
|
|
83
|
+
"name": "since",
|
|
84
|
+
"text": "4.0.0"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"docs": "Get the device's current language locale tag.",
|
|
88
|
+
"complexTypes": [
|
|
89
|
+
"LanguageTag"
|
|
90
|
+
],
|
|
91
|
+
"slug": "getlanguagetag"
|
|
75
92
|
}
|
|
76
93
|
],
|
|
77
94
|
"properties": []
|
|
@@ -92,7 +109,7 @@
|
|
|
92
109
|
"name": "since"
|
|
93
110
|
}
|
|
94
111
|
],
|
|
95
|
-
"docs": "The UUID of the device as available to the app. This identifier may change\non modern mobile platforms that only allow per-app install UUIDs.\n\nOn web, a random identifier is generated and stored on localStorage for subsequent calls.",
|
|
112
|
+
"docs": "The UUID of the device as available to the app. This identifier may change\non modern mobile platforms that only allow per-app install UUIDs.\n\nOn web, a random identifier is generated and stored on localStorage for subsequent calls.\nIf localStorage is not available a new random identifier will be generated on every call.",
|
|
96
113
|
"complexTypes": [],
|
|
97
114
|
"type": "string"
|
|
98
115
|
}
|
|
@@ -125,7 +142,7 @@
|
|
|
125
142
|
"name": "since"
|
|
126
143
|
}
|
|
127
144
|
],
|
|
128
|
-
"docs": "The device model. For example, \"
|
|
145
|
+
"docs": "The device model. For example, \"iPhone13,4\".",
|
|
129
146
|
"complexTypes": [],
|
|
130
147
|
"type": "string"
|
|
131
148
|
},
|
|
@@ -326,6 +343,27 @@
|
|
|
326
343
|
"type": "string"
|
|
327
344
|
}
|
|
328
345
|
]
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "LanguageTag",
|
|
349
|
+
"slug": "languagetag",
|
|
350
|
+
"docs": "",
|
|
351
|
+
"tags": [],
|
|
352
|
+
"methods": [],
|
|
353
|
+
"properties": [
|
|
354
|
+
{
|
|
355
|
+
"name": "value",
|
|
356
|
+
"tags": [
|
|
357
|
+
{
|
|
358
|
+
"text": "4.0.0",
|
|
359
|
+
"name": "since"
|
|
360
|
+
}
|
|
361
|
+
],
|
|
362
|
+
"docs": "Returns a well-formed IETF BCP 47 language tag.",
|
|
363
|
+
"complexTypes": [],
|
|
364
|
+
"type": "string"
|
|
365
|
+
}
|
|
366
|
+
]
|
|
329
367
|
}
|
|
330
368
|
],
|
|
331
369
|
"enums": [],
|
|
@@ -5,6 +5,7 @@ export interface DeviceId {
|
|
|
5
5
|
* on modern mobile platforms that only allow per-app install UUIDs.
|
|
6
6
|
*
|
|
7
7
|
* On web, a random identifier is generated and stored on localStorage for subsequent calls.
|
|
8
|
+
* If localStorage is not available a new random identifier will be generated on every call.
|
|
8
9
|
*
|
|
9
10
|
* @since 1.0.0
|
|
10
11
|
*/
|
|
@@ -20,7 +21,7 @@ export interface DeviceInfo {
|
|
|
20
21
|
*/
|
|
21
22
|
name?: string;
|
|
22
23
|
/**
|
|
23
|
-
* The device model. For example, "
|
|
24
|
+
* The device model. For example, "iPhone13,4".
|
|
24
25
|
*
|
|
25
26
|
* @since 1.0.0
|
|
26
27
|
*/
|
|
@@ -125,6 +126,14 @@ export interface GetLanguageCodeResult {
|
|
|
125
126
|
*/
|
|
126
127
|
value: string;
|
|
127
128
|
}
|
|
129
|
+
export interface LanguageTag {
|
|
130
|
+
/**
|
|
131
|
+
* Returns a well-formed IETF BCP 47 language tag.
|
|
132
|
+
*
|
|
133
|
+
* @since 4.0.0
|
|
134
|
+
*/
|
|
135
|
+
value: string;
|
|
136
|
+
}
|
|
128
137
|
export interface DevicePlugin {
|
|
129
138
|
/**
|
|
130
139
|
* Return an unique identifier for the device.
|
|
@@ -150,6 +159,12 @@ export interface DevicePlugin {
|
|
|
150
159
|
* @since 1.0.0
|
|
151
160
|
*/
|
|
152
161
|
getLanguageCode(): Promise<GetLanguageCodeResult>;
|
|
162
|
+
/**
|
|
163
|
+
* Get the device's current language locale tag.
|
|
164
|
+
*
|
|
165
|
+
* @since 4.0.0
|
|
166
|
+
*/
|
|
167
|
+
getLanguageTag(): Promise<LanguageTag>;
|
|
153
168
|
}
|
|
154
169
|
/**
|
|
155
170
|
* @deprecated Use `BatteryInfo`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export type OperatingSystem = 'ios' | 'android' | 'windows' | 'mac' | 'unknown';\n\nexport interface DeviceId {\n /**\n * The UUID of the device as available to the app. This identifier may change\n * on modern mobile platforms that only allow per-app install UUIDs.\n *\n * On web, a random identifier is generated and stored on localStorage for subsequent calls.\n * If localStorage is not available a new random identifier will be generated on every call.\n *\n * @since 1.0.0\n */\n uuid: string;\n}\n\nexport interface DeviceInfo {\n /**\n * The name of the device. For example, \"John's iPhone\".\n *\n * This is only supported on iOS and Android 7.1 or above.\n *\n * @since 1.0.0\n */\n name?: string;\n\n /**\n * The device model. For example, \"iPhone13,4\".\n *\n * @since 1.0.0\n */\n model: string;\n\n /**\n * The device platform (lowercase).\n *\n * @since 1.0.0\n */\n platform: 'ios' | 'android' | 'web';\n\n /**\n * The operating system of the device.\n *\n * @since 1.0.0\n */\n operatingSystem: OperatingSystem;\n\n /**\n * The version of the device OS.\n *\n * @since 1.0.0\n */\n osVersion: string;\n\n /**\n * The manufacturer of the device.\n *\n * @since 1.0.0\n */\n manufacturer: string;\n\n /**\n * Whether the app is running in a simulator/emulator.\n *\n * @since 1.0.0\n */\n isVirtual: boolean;\n\n /**\n * Approximate memory used by the current app, in bytes. Divide by\n * 1048576 to get the number of MBs used.\n *\n * @since 1.0.0\n */\n memUsed?: number;\n\n /**\n * How much free disk space is available on the the normal data storage\n * path for the os, in bytes.\n *\n * On Android it returns the free disk space on the \"system\"\n * partition holding the core Android OS.\n * On iOS this value is not accurate.\n *\n * @deprecated Use `realDiskFree`.\n * @since 1.0.0\n */\n diskFree?: number;\n\n /**\n * The total size of the normal data storage path for the OS, in bytes.\n *\n * On Android it returns the disk space on the \"system\"\n * partition holding the core Android OS.\n *\n * @deprecated Use `realDiskTotal`.\n * @since 1.0.0\n */\n diskTotal?: number;\n\n /**\n * How much free disk space is available on the the normal data storage, in bytes.\n *\n * @since 1.1.0\n */\n realDiskFree?: number;\n\n /**\n * The total size of the normal data storage path, in bytes.\n *\n * @since 1.1.0\n */\n realDiskTotal?: number;\n\n /**\n * The web view browser version\n *\n * @since 1.0.0\n */\n webViewVersion: string;\n}\n\nexport interface BatteryInfo {\n /**\n * A percentage (0 to 1) indicating how much the battery is charged.\n *\n * @since 1.0.0\n */\n batteryLevel?: number;\n\n /**\n * Whether the device is charging.\n *\n * @since 1.0.0\n */\n isCharging?: boolean;\n}\n\nexport interface GetLanguageCodeResult {\n /**\n * Two character language code.\n *\n * @since 1.0.0\n */\n value: string;\n}\n\nexport interface LanguageTag {\n /**\n * Returns a well-formed IETF BCP 47 language tag.\n *\n * @since 4.0.0\n */\n value: string;\n}\n\nexport interface DevicePlugin {\n /**\n * Return an unique identifier for the device.\n *\n * @since 1.0.0\n */\n getId(): Promise<DeviceId>;\n\n /**\n * Return information about the underlying device/os/platform.\n *\n * @since 1.0.0\n */\n getInfo(): Promise<DeviceInfo>;\n\n /**\n * Return information about the battery.\n *\n * @since 1.0.0\n */\n getBatteryInfo(): Promise<BatteryInfo>;\n\n /**\n * Get the device's current language locale code.\n *\n * @since 1.0.0\n */\n getLanguageCode(): Promise<GetLanguageCodeResult>;\n\n /**\n * Get the device's current language locale tag.\n *\n * @since 4.0.0\n */\n getLanguageTag(): Promise<LanguageTag>;\n}\n\n/**\n * @deprecated Use `BatteryInfo`.\n * @since 1.0.0\n */\nexport type DeviceBatteryInfo = BatteryInfo;\n\n/**\n * @deprecated Use `GetLanguageCodeResult`.\n * @since 1.0.0\n */\nexport type DeviceLanguageCodeResult = GetLanguageCodeResult;\n"]}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,MAAM,GAAG,cAAc,CAAe,QAAQ,EAAE;IACpD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,MAAM,GAAG,cAAc,CAAe,QAAQ,EAAE;IACpD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { DevicePlugin } from './definitions';\n\nconst Device = registerPlugin<DevicePlugin>('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\n\nexport * from './definitions';\nexport { Device };\n"]}
|
package/dist/esm/web.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebPlugin } from '@capacitor/core';
|
|
2
|
-
import type { BatteryInfo, DeviceId, DeviceInfo, DevicePlugin, GetLanguageCodeResult } from './definitions';
|
|
2
|
+
import type { BatteryInfo, DeviceId, DeviceInfo, DevicePlugin, GetLanguageCodeResult, LanguageTag } from './definitions';
|
|
3
3
|
declare global {
|
|
4
4
|
interface Navigator {
|
|
5
5
|
getBattery: any;
|
|
@@ -16,6 +16,7 @@ export declare class DeviceWeb extends WebPlugin implements DevicePlugin {
|
|
|
16
16
|
getInfo(): Promise<DeviceInfo>;
|
|
17
17
|
getBatteryInfo(): Promise<BatteryInfo>;
|
|
18
18
|
getLanguageCode(): Promise<GetLanguageCodeResult>;
|
|
19
|
+
getLanguageTag(): Promise<LanguageTag>;
|
|
19
20
|
parseUa(ua: string): any;
|
|
20
21
|
getUid(): string;
|
|
21
22
|
uuid4(): string;
|
package/dist/esm/web.js
CHANGED
|
@@ -38,6 +38,11 @@ export class DeviceWeb extends WebPlugin {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
async getLanguageCode() {
|
|
41
|
+
return {
|
|
42
|
+
value: navigator.language.split('-')[0].toLowerCase(),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
async getLanguageTag() {
|
|
41
46
|
return {
|
|
42
47
|
value: navigator.language,
|
|
43
48
|
};
|
|
@@ -143,7 +148,7 @@ export class DeviceWeb extends WebPlugin {
|
|
|
143
148
|
return uaFields;
|
|
144
149
|
}
|
|
145
150
|
getUid() {
|
|
146
|
-
if (typeof window !== 'undefined') {
|
|
151
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
147
152
|
let uid = window.localStorage.getItem('_capuid');
|
|
148
153
|
if (uid) {
|
|
149
154
|
return uid;
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n BatteryInfo,\n DeviceId,\n DeviceInfo,\n DevicePlugin,\n GetLanguageCodeResult,\n LanguageTag,\n} from './definitions';\n\ndeclare global {\n interface Navigator {\n getBattery: any;\n oscpu: any;\n }\n\n interface Window {\n InstallTrigger?: any;\n ApplePaySession?: any;\n chrome?: any;\n }\n}\n\nexport class DeviceWeb extends WebPlugin implements DevicePlugin {\n async getId(): Promise<DeviceId> {\n return {\n uuid: this.getUid(),\n };\n }\n\n async getInfo(): Promise<DeviceInfo> {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n\n return {\n model: uaFields.model,\n platform: <const>'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n\n async getBatteryInfo(): Promise<BatteryInfo> {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery: any = {};\n\n try {\n battery = await navigator.getBattery();\n } catch (e) {\n // Let it fail, we don't care\n }\n\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n\n async getLanguageCode(): Promise<GetLanguageCodeResult> {\n return {\n value: navigator.language.split('-')[0].toLowerCase(),\n };\n }\n\n async getLanguageTag(): Promise<LanguageTag> {\n return {\n value: navigator.language,\n };\n }\n\n parseUa(ua: string): any {\n const uaFields: any = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n } else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n } else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n } else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(\n /_/g,\n '.',\n );\n }\n }\n }\n }\n\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n } else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n } else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n } else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n } else {\n uaFields.operatingSystem = 'unknown';\n }\n\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (\n isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS\n ) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord: string;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n } else if (isChromeIOS) {\n searchWord = 'CriOS';\n } else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n } else if (isSafari) {\n searchWord = 'Version';\n } else {\n searchWord = 'Chrome';\n }\n\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n } else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n\n return uaFields;\n }\n\n getUid(): string {\n if (typeof window !== 'undefined' && window.localStorage) {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n\n uuid4(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\n /[xy]/g,\n function (c) {\n const r = (Math.random() * 16) | 0,\n v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n },\n );\n }\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -47,6 +47,11 @@ class DeviceWeb extends core.WebPlugin {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
async getLanguageCode() {
|
|
50
|
+
return {
|
|
51
|
+
value: navigator.language.split('-')[0].toLowerCase(),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async getLanguageTag() {
|
|
50
55
|
return {
|
|
51
56
|
value: navigator.language,
|
|
52
57
|
};
|
|
@@ -152,7 +157,7 @@ class DeviceWeb extends core.WebPlugin {
|
|
|
152
157
|
return uaFields;
|
|
153
158
|
}
|
|
154
159
|
getUid() {
|
|
155
|
-
if (typeof window !== 'undefined') {
|
|
160
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
156
161
|
let uid = window.localStorage.getItem('_capuid');
|
|
157
162
|
if (uid) {
|
|
158
163
|
return uid;
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Device = registerPlugin('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\nexport * from './definitions';\nexport { Device };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n uuid: this.getUid(),\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n }\n catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language,\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n }\n else if (isChromeIOS) {\n searchWord = 'CriOS';\n }\n else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n }\n else if (isSafari) {\n searchWord = 'Version';\n }\n else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n }\n else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined') {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Device = registerPlugin('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\nexport * from './definitions';\nexport { Device };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n uuid: this.getUid(),\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n }\n catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language.split('-')[0].toLowerCase(),\n };\n }\n async getLanguageTag() {\n return {\n value: navigator.language,\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n }\n else if (isChromeIOS) {\n searchWord = 'CriOS';\n }\n else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n }\n else if (isSafari) {\n searchWord = 'Version';\n }\n else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n }\n else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined' && window.localStorage) {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -44,6 +44,11 @@ var capacitorDevice = (function (exports, core) {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
async getLanguageCode() {
|
|
47
|
+
return {
|
|
48
|
+
value: navigator.language.split('-')[0].toLowerCase(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async getLanguageTag() {
|
|
47
52
|
return {
|
|
48
53
|
value: navigator.language,
|
|
49
54
|
};
|
|
@@ -149,7 +154,7 @@ var capacitorDevice = (function (exports, core) {
|
|
|
149
154
|
return uaFields;
|
|
150
155
|
}
|
|
151
156
|
getUid() {
|
|
152
|
-
if (typeof window !== 'undefined') {
|
|
157
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
153
158
|
let uid = window.localStorage.getItem('_capuid');
|
|
154
159
|
if (uid) {
|
|
155
160
|
return uid;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Device = registerPlugin('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\nexport * from './definitions';\nexport { Device };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n uuid: this.getUid(),\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n }\n catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language,\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n }\n else if (isChromeIOS) {\n searchWord = 'CriOS';\n }\n else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n }\n else if (isSafari) {\n searchWord = 'Version';\n }\n else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n }\n else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined') {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Device = registerPlugin('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\nexport * from './definitions';\nexport { Device };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n uuid: this.getUid(),\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n }\n catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language.split('-')[0].toLowerCase(),\n };\n }\n async getLanguageTag() {\n return {\n value: navigator.language,\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n }\n else if (isChromeIOS) {\n searchWord = 'CriOS';\n }\n else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n }\n else if (isSafari) {\n searchWord = 'Version';\n }\n else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n }\n else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined' && window.localStorage) {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/ios/Plugin/Device.swift
CHANGED
|
@@ -65,4 +65,16 @@ import Foundation
|
|
|
65
65
|
public func getLanguageCode() -> String {
|
|
66
66
|
return String(Locale.preferredLanguages[0].prefix(2))
|
|
67
67
|
}
|
|
68
|
+
|
|
69
|
+
public func getLanguageTag() -> String {
|
|
70
|
+
return String(Locale.preferredLanguages[0])
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public func getModelName() -> String {
|
|
74
|
+
var size = 0
|
|
75
|
+
sysctlbyname("hw.machine", nil, &size, nil, 0)
|
|
76
|
+
var machine = [CChar](repeating: 0, count: size)
|
|
77
|
+
sysctlbyname("hw.machine", &machine, &size, nil, 0)
|
|
78
|
+
return String(cString: machine)
|
|
79
|
+
}
|
|
68
80
|
}
|
|
@@ -8,4 +8,5 @@ CAP_PLUGIN(DevicePlugin, "Device",
|
|
|
8
8
|
CAP_PLUGIN_METHOD(getInfo, CAPPluginReturnPromise);
|
|
9
9
|
CAP_PLUGIN_METHOD(getBatteryInfo, CAPPluginReturnPromise);
|
|
10
10
|
CAP_PLUGIN_METHOD(getLanguageCode, CAPPluginReturnPromise);
|
|
11
|
+
CAP_PLUGIN_METHOD(getLanguageTag, CAPPluginReturnPromise);
|
|
11
12
|
)
|
|
@@ -16,8 +16,12 @@ public class DevicePlugin: CAPPlugin {
|
|
|
16
16
|
}
|
|
17
17
|
@objc func getInfo(_ call: CAPPluginCall) {
|
|
18
18
|
var isSimulator = false
|
|
19
|
-
|
|
19
|
+
var modelName = ""
|
|
20
|
+
#if targetEnvironment(simulator)
|
|
20
21
|
isSimulator = true
|
|
22
|
+
modelName = ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] ?? "Simulator"
|
|
23
|
+
#else
|
|
24
|
+
modelName = implementation.getModelName()
|
|
21
25
|
#endif
|
|
22
26
|
|
|
23
27
|
let memUsed = implementation.getMemoryUsage()
|
|
@@ -32,7 +36,7 @@ public class DevicePlugin: CAPPlugin {
|
|
|
32
36
|
"realDiskFree": realDiskFree,
|
|
33
37
|
"realDiskTotal": diskTotal,
|
|
34
38
|
"name": UIDevice.current.name,
|
|
35
|
-
"model":
|
|
39
|
+
"model": modelName,
|
|
36
40
|
"operatingSystem": "ios",
|
|
37
41
|
"osVersion": UIDevice.current.systemVersion,
|
|
38
42
|
"platform": "ios",
|
|
@@ -60,4 +64,11 @@ public class DevicePlugin: CAPPlugin {
|
|
|
60
64
|
])
|
|
61
65
|
}
|
|
62
66
|
|
|
67
|
+
@objc func getLanguageTag(_ call: CAPPluginCall) {
|
|
68
|
+
let tag = implementation.getLanguageTag()
|
|
69
|
+
call.resolve([
|
|
70
|
+
"value": tag
|
|
71
|
+
])
|
|
72
|
+
}
|
|
73
|
+
|
|
63
74
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capacitor/device",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.0",
|
|
4
4
|
"description": "The Device API exposes internal information about the device, such as the model and operating system version, along with user information such as unique ids.",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"scripts": {
|
|
31
31
|
"test": "uvu -r esm -r ts-node/register src/__tests__",
|
|
32
32
|
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
33
|
-
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin && cd ..",
|
|
33
|
+
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..",
|
|
34
34
|
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
35
35
|
"verify:web": "npm run build && npm test",
|
|
36
36
|
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"publish:cocoapod": "pod trunk push ./CapacitorDevice.podspec --allow-warnings"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@capacitor/android": "
|
|
50
|
-
"@capacitor/core": "
|
|
49
|
+
"@capacitor/android": "next",
|
|
50
|
+
"@capacitor/core": "next",
|
|
51
51
|
"@capacitor/docgen": "0.0.18",
|
|
52
|
-
"@capacitor/ios": "
|
|
52
|
+
"@capacitor/ios": "next",
|
|
53
53
|
"@ionic/eslint-config": "^0.3.0",
|
|
54
54
|
"@ionic/prettier-config": "~1.0.1",
|
|
55
55
|
"@ionic/swiftlint-config": "^1.1.2",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"uvu": "^0.5.1"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@capacitor/core": "
|
|
68
|
+
"@capacitor/core": "next"
|
|
69
69
|
},
|
|
70
70
|
"prettier": "@ionic/prettier-config",
|
|
71
71
|
"swiftlint": "@ionic/swiftlint-config",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"publishConfig": {
|
|
84
84
|
"access": "public"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "fd7db8285f72990522da0adc889514c9804b6dae"
|
|
87
87
|
}
|