@nativescript-community/perms 2.2.20 → 2.2.22
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/README.md +66 -14
- package/{permissions.android.d.ts → index.android.d.ts} +3 -3
- package/{permissions.android.js → index.android.js} +115 -31
- package/index.android.js.map +1 -0
- package/{permissions.common.d.ts → index.common.d.ts} +0 -0
- package/{permissions.common.js → index.common.js} +2 -2
- package/index.common.js.map +1 -0
- package/{permissions.d.ts → index.d.ts} +9 -7
- package/{permissions.ios.d.ts → index.ios.d.ts} +6 -3
- package/{permissions.ios.js → index.ios.js} +78 -64
- package/index.ios.js.map +1 -0
- package/package.json +11 -4
- package/references.d.ts +10 -0
- package/CHANGELOG.md +0 -396
- package/permissions.android.js.map +0 -1
- package/permissions.common.js.map +0 -1
- package/permissions.ios.js.map +0 -1
package/README.md
CHANGED
@@ -1,20 +1,69 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
<!-- ⚠️ This README has been generated from the file(s) "blueprint.md" ⚠️-->
|
2
|
+
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
3
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
4
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
5
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
6
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
7
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
8
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
9
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
10
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
11
|
+
DO NOT EDIT THIS READEME DIRECTLY! Edit "bluesprint.md" instead.
|
12
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
13
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
14
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
15
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
16
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
17
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
18
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
19
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
20
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
21
|
+
<h1 align="center">@nativescript-community/perms</h1>
|
22
|
+
<p align="center">
|
23
|
+
<a href="https://npmcharts.com/compare/@nativescript-community/perms?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/@nativescript-community/perms.svg" height="20"/></a>
|
24
|
+
<a href="https://www.npmjs.com/package/@nativescript-community/perms"><img alt="NPM Version" src="https://img.shields.io/npm/v/@nativescript-community/perms.svg" height="20"/></a>
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p align="center">
|
28
|
+
<b>An unified permissions API for NativeScript on iOS and Android.</b></br>
|
29
|
+
<sub><sub>
|
30
|
+
</p>
|
31
|
+
|
32
|
+
<br />
|
33
|
+
|
34
|
+
|
35
|
+
| <img src="https://raw.githubusercontent.com/nativescript-community/gps/master/images/demo-ios.gif" height="500" /> | <img src="https://raw.githubusercontent.com/nativescript-community/gps/master/images/demo-android.gif" height="500" /> |
|
36
|
+
| --- | ----------- |
|
37
|
+
| iOS Demo | Android Demo |
|
38
|
+
|
39
|
+
|
40
|
+
[](#table-of-contents)
|
41
|
+
|
42
|
+
## Table of Contents
|
43
|
+
|
44
|
+
* [Installation](#installation)
|
45
|
+
* [API](#api)
|
46
|
+
* [Permissions statuses](#permissions-statuses)
|
47
|
+
* [Supported permissions types](#supported-permissions-types)
|
48
|
+
* [Methods](#methods)
|
49
|
+
* [iOS Notes](#ios-notes)
|
50
|
+
* [App Store submission disclaimer](#app-store-submission-disclaimer)
|
51
|
+
* [Android Notes](#android-notes)
|
52
|
+
* [Troubleshooting](#troubleshooting)
|
53
|
+
* [Q: iOS - App crashes as soon as I request permission](#q-ios---app-crashes-as-soon-as-i-request-permission)
|
54
|
+
* [Q: iOS - App crashes when I change permission from settings](#q-ios---app-crashes-when-i-change-permission-from-settings)
|
55
|
+
|
56
|
+
|
57
|
+
[](#installation)
|
58
|
+
|
8
59
|
## Installation
|
60
|
+
Run the following command from the root of your project:
|
9
61
|
|
10
|
-
|
11
|
-
|
12
|
-
Be sure to run a new build after adding plugins to avoid any issues.
|
13
|
-
|
14
|
-
---
|
15
|
-
|
16
|
-
This is a port of [react-native-permissions](https://github.com/yonahforst/react-native-permissions)
|
62
|
+
`ns plugin add @nativescript-community/perms`
|
17
63
|
|
64
|
+
|
65
|
+
[](#api)
|
66
|
+
|
18
67
|
## API
|
19
68
|
|
20
69
|
### Permissions statuses
|
@@ -175,6 +224,9 @@ android {
|
|
175
224
|
// ...
|
176
225
|
```
|
177
226
|
|
227
|
+
|
228
|
+
[](#troubleshooting)
|
229
|
+
|
178
230
|
## Troubleshooting
|
179
231
|
|
180
232
|
#### Q: iOS - App crashes as soon as I request permission
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { CheckOptions, ObjectPermissions, Permissions as PermissionsType, RequestOptions, Status } from '
|
2
|
-
export * from './
|
1
|
+
import { CheckOptions, MultiResult, ObjectPermissions, ObjectPermissionsRest, Permissions as PermissionsType, RequestOptions, Status } from '.';
|
2
|
+
export * from './index.common';
|
3
3
|
export declare function canOpenSettings(): Promise<boolean>;
|
4
4
|
export declare function openSettings(): Promise<void>;
|
5
5
|
export declare function getTypes(): PermissionsType[];
|
@@ -7,4 +7,4 @@ export declare function check(permission: PermissionsType | string, options?: Ch
|
|
7
7
|
export declare function request(permission: PermissionsType | string | ObjectPermissions, options?: RequestOptions): Promise<[Status, boolean] | {
|
8
8
|
[permission: string]: Status;
|
9
9
|
}>;
|
10
|
-
export declare function checkMultiple(permissions:
|
10
|
+
export declare function checkMultiple<T extends Partial<ObjectPermissionsRest>>(permissions: T): Promise<MultiResult>;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Trace, Utils } from '@nativescript/core';
|
2
2
|
import { AndroidApplication, android as androidApp } from '@nativescript/core/application';
|
3
3
|
import { getBoolean, setBoolean } from '@nativescript/core/application-settings';
|
4
|
-
import { CLog, CLogTypes } from './
|
5
|
-
export * from './
|
4
|
+
import { CLog, CLogTypes } from './index.common';
|
5
|
+
export * from './index.common';
|
6
6
|
let ANDROID_SDK = -1;
|
7
7
|
function getAndroidSDK() {
|
8
8
|
if (ANDROID_SDK === -1) {
|
@@ -14,17 +14,31 @@ const MARSHMALLOW = 23;
|
|
14
14
|
const ANDROIDQ = 29;
|
15
15
|
const ANDROIDS = 31;
|
16
16
|
const ANDROID13 = 33;
|
17
|
-
const NativePermissionsTypes = [
|
17
|
+
const NativePermissionsTypes = [
|
18
|
+
'location',
|
19
|
+
'camera',
|
20
|
+
'mediaLocation',
|
21
|
+
'microphone',
|
22
|
+
'contacts',
|
23
|
+
'event',
|
24
|
+
'storage',
|
25
|
+
'photo',
|
26
|
+
'callPhone',
|
27
|
+
'readSms',
|
28
|
+
'receiveSms',
|
29
|
+
'bluetoothScan',
|
30
|
+
'bluetoothConnect',
|
31
|
+
'bluetooth'
|
32
|
+
];
|
18
33
|
function getNativePermissions(permission, options) {
|
19
|
-
var _a, _b, _c, _d;
|
20
34
|
if (Trace.isEnabled()) {
|
21
35
|
CLog(CLogTypes.info, 'getNativePermissions', permission, options);
|
22
36
|
}
|
23
37
|
switch (permission) {
|
24
38
|
case 'location': {
|
25
39
|
const result = [];
|
26
|
-
const coarse =
|
27
|
-
const precise =
|
40
|
+
const coarse = options?.coarse ?? true;
|
41
|
+
const precise = options?.precise ?? true;
|
28
42
|
console.log('coarse', coarse, options);
|
29
43
|
if (coarse !== false) {
|
30
44
|
result.push(android.Manifest.permission.ACCESS_COARSE_LOCATION);
|
@@ -33,7 +47,7 @@ function getNativePermissions(permission, options) {
|
|
33
47
|
result.push(android.Manifest.permission.ACCESS_FINE_LOCATION);
|
34
48
|
}
|
35
49
|
if (getAndroidSDK() >= ANDROIDQ) {
|
36
|
-
const type = typeof options === 'string' ? options : options
|
50
|
+
const type = typeof options === 'string' ? options : options?.type;
|
37
51
|
if (type === 'always') {
|
38
52
|
result.push(android.Manifest.permission.ACCESS_BACKGROUND_LOCATION);
|
39
53
|
}
|
@@ -60,14 +74,18 @@ function getNativePermissions(permission, options) {
|
|
60
74
|
}
|
61
75
|
case 'storage': {
|
62
76
|
const result = [];
|
63
|
-
const read =
|
64
|
-
const write =
|
77
|
+
const read = options?.read ?? true;
|
78
|
+
const write = options?.write ?? true;
|
79
|
+
// const manage = options?.manage?? true;
|
65
80
|
if (read !== false) {
|
66
81
|
result.push(android.Manifest.permission.READ_EXTERNAL_STORAGE);
|
67
82
|
}
|
68
83
|
if (write !== false) {
|
69
84
|
result.push(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
70
85
|
}
|
86
|
+
// if (manage !== false) {
|
87
|
+
// result.push(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE);
|
88
|
+
// }
|
71
89
|
return result;
|
72
90
|
}
|
73
91
|
case 'photo': {
|
@@ -102,6 +120,7 @@ function getNativePermissions(permission, options) {
|
|
102
120
|
}
|
103
121
|
case 'notification': {
|
104
122
|
if (getAndroidSDK() >= ANDROID13) {
|
123
|
+
// @ts-ignore
|
105
124
|
return [android.Manifest.permission.POST_NOTIFICATIONS];
|
106
125
|
}
|
107
126
|
break;
|
@@ -122,7 +141,42 @@ const GRANT_RESULTS = {
|
|
122
141
|
};
|
123
142
|
var PermissionsAndroid;
|
124
143
|
(function (PermissionsAndroid) {
|
144
|
+
/**
|
145
|
+
* A list of specified "dangerous" permissions that require prompting the user
|
146
|
+
*/
|
147
|
+
// export const PERMISSIONS = {
|
148
|
+
// READ_CALENDAR: 'android.permission.READ_CALENDAR',
|
149
|
+
// WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR',
|
150
|
+
// CAMERA: 'android.permission.CAMERA',
|
151
|
+
// READ_CONTACTS: 'android.permission.READ_CONTACTS',
|
152
|
+
// WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',
|
153
|
+
// GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS',
|
154
|
+
// ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',
|
155
|
+
// ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',
|
156
|
+
// RECORD_AUDIO: 'android.permission.RECORD_AUDIO',
|
157
|
+
// READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
|
158
|
+
// CALL_PHONE: 'android.permission.CALL_PHONE',
|
159
|
+
// READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
|
160
|
+
// WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',
|
161
|
+
// ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',
|
162
|
+
// USE_SIP: 'android.permission.USE_SIP',
|
163
|
+
// PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
|
164
|
+
// BODY_SENSORS: 'android.permission.BODY_SENSORS',
|
165
|
+
// SEND_SMS: 'android.permission.SEND_SMS',
|
166
|
+
// RECEIVE_SMS: 'android.permission.RECEIVE_SMS',
|
167
|
+
// READ_SMS: 'android.permission.READ_SMS',
|
168
|
+
// RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',
|
169
|
+
// RECEIVE_MMS: 'android.permission.RECEIVE_MMS',
|
170
|
+
// READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
|
171
|
+
// WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE'
|
172
|
+
// };
|
125
173
|
PermissionsAndroid.RESULTS = GRANT_RESULTS;
|
174
|
+
/**
|
175
|
+
* Returns a promise resolving to a boolean value as to whether the specified
|
176
|
+
* permissions has been granted
|
177
|
+
*
|
178
|
+
* See https://facebook.github.io/react-native/docs/permissionsandroid.html#check
|
179
|
+
*/
|
126
180
|
async function check(permission) {
|
127
181
|
const context = Utils.android.getApplicationContext();
|
128
182
|
let result = true;
|
@@ -131,23 +185,45 @@ var PermissionsAndroid;
|
|
131
185
|
permission = [permission];
|
132
186
|
}
|
133
187
|
if (getAndroidSDK() < MARSHMALLOW) {
|
134
|
-
permission.forEach(p => result = result && context.checkPermission(p, android.os.Process.myPid(), android.os.Process.myUid()) === granted);
|
188
|
+
permission.forEach((p) => (result = result && context.checkPermission(p, android.os.Process.myPid(), android.os.Process.myUid()) === granted));
|
135
189
|
}
|
136
190
|
else {
|
137
|
-
permission.forEach(p => result = result && context.checkSelfPermission(p) === granted);
|
191
|
+
permission.forEach((p) => (result = result && context.checkSelfPermission(p) === granted));
|
138
192
|
}
|
139
193
|
return result;
|
140
194
|
}
|
141
195
|
PermissionsAndroid.check = check;
|
196
|
+
/**
|
197
|
+
* Prompts the user to enable a permission and returns a promise resolving to a
|
198
|
+
* string value indicating whether the user allowed or denied the request
|
199
|
+
*
|
200
|
+
* See https://facebook.github.io/react-native/docs/permissionsandroid.html#request
|
201
|
+
*/
|
142
202
|
async function request(permission) {
|
203
|
+
// if (rationale) {
|
204
|
+
// const shouldShowRationale = await shouldShowRequestPermissionRationale(permission);
|
205
|
+
// if (shouldShowRationale) {
|
206
|
+
// return new Promise((resolve, reject) => {
|
207
|
+
// NativeModules.DialogManagerAndroid.showAlert(rationale, () => reject(new Error('Error showing rationale')), () => resolve(requestPermission(permission)));
|
208
|
+
// });
|
209
|
+
// }
|
210
|
+
// }
|
143
211
|
return (await requestMultiplePermissions([permission]))[permission];
|
144
212
|
}
|
145
213
|
PermissionsAndroid.request = request;
|
214
|
+
/**
|
215
|
+
* Prompts the user to enable multiple permissions in the same dialog and
|
216
|
+
* returns an object with the permissions as keys and strings as values
|
217
|
+
* indicating whether the user allowed or denied the request
|
218
|
+
*
|
219
|
+
* See https://facebook.github.io/react-native/docs/permissionsandroid.html#requestmultiple
|
220
|
+
*/
|
146
221
|
function requestMultiple(permissions) {
|
147
222
|
return requestMultiplePermissions(permissions);
|
148
223
|
}
|
149
224
|
PermissionsAndroid.requestMultiple = requestMultiple;
|
150
225
|
})(PermissionsAndroid || (PermissionsAndroid = {}));
|
226
|
+
// PermissionsAndroid = new PermissionsAndroid();
|
151
227
|
let mRequestCode = 0;
|
152
228
|
async function requestMultiplePermissions(permissions) {
|
153
229
|
const grantedPermissions = {};
|
@@ -161,9 +237,7 @@ async function requestMultiplePermissions(permissions) {
|
|
161
237
|
const perm = permissions[i];
|
162
238
|
if (getAndroidSDK() < MARSHMALLOW) {
|
163
239
|
grantedPermissions[perm] =
|
164
|
-
context.checkPermission(perm, android.os.Process.myPid(), android.os.Process.myUid()) === android.content.pm.PackageManager.PERMISSION_GRANTED
|
165
|
-
? 'authorized'
|
166
|
-
: GRANT_RESULTS.DENIED;
|
240
|
+
context.checkPermission(perm, android.os.Process.myPid(), android.os.Process.myUid()) === android.content.pm.PackageManager.PERMISSION_GRANTED ? 'authorized' : GRANT_RESULTS.DENIED;
|
167
241
|
checkedPermissionsCount++;
|
168
242
|
}
|
169
243
|
else if (context.checkSelfPermission(perm) === android.content.pm.PackageManager.PERMISSION_GRANTED) {
|
@@ -175,7 +249,7 @@ async function requestMultiplePermissions(permissions) {
|
|
175
249
|
}
|
176
250
|
}
|
177
251
|
if (permissions.length === checkedPermissionsCount) {
|
178
|
-
return
|
252
|
+
return grantedPermissions;
|
179
253
|
}
|
180
254
|
const activity = androidApp.foregroundActivity || androidApp.startActivity;
|
181
255
|
return new Promise((resolve, reject) => {
|
@@ -266,16 +340,16 @@ export async function check(permission, options) {
|
|
266
340
|
const type = typeof options === 'string' ? options : options && options.type;
|
267
341
|
if (type === 'always') {
|
268
342
|
const backAuthorized = await PermissionsAndroid.check(android.Manifest.permission.ACCESS_BACKGROUND_LOCATION);
|
269
|
-
return
|
343
|
+
return [GRANT_RESULTS.GRANTED, backAuthorized];
|
270
344
|
}
|
271
345
|
}
|
272
|
-
return
|
346
|
+
return [GRANT_RESULTS.GRANTED, true];
|
273
347
|
}
|
274
|
-
return getDidAskOnce(permission).then(didAsk => {
|
348
|
+
return getDidAskOnce(permission).then((didAsk) => {
|
275
349
|
if (didAsk) {
|
276
|
-
return shouldShowRequestPermissionRationale(perms).then(shouldShow => [shouldShow ? GRANT_RESULTS.DENIED : 'restricted', true]);
|
350
|
+
return shouldShowRequestPermissionRationale(perms).then((shouldShow) => [shouldShow ? GRANT_RESULTS.DENIED : 'restricted', true]);
|
277
351
|
}
|
278
|
-
return
|
352
|
+
return [GRANT_RESULTS.UNDETERMINED, true];
|
279
353
|
});
|
280
354
|
}
|
281
355
|
export function request(permission, options) {
|
@@ -285,23 +359,36 @@ export function request(permission, options) {
|
|
285
359
|
let types = [];
|
286
360
|
let permissions = [];
|
287
361
|
if (typeof permission === 'object') {
|
362
|
+
// const keys = as IOSPermissionTypes[];
|
288
363
|
permissions = Object.keys(permission);
|
289
|
-
permissions.forEach(s => {
|
364
|
+
permissions.forEach((s) => {
|
365
|
+
// if (s.startsWith('android.permission.')) {
|
366
|
+
// types.push(s);
|
367
|
+
// } else {
|
290
368
|
types.push(...getNativePermissions(s, permission[s]));
|
369
|
+
// }
|
291
370
|
});
|
292
371
|
}
|
293
372
|
else {
|
294
373
|
permissions = [permission];
|
374
|
+
// if (permission.startsWith('android.permission.')) {
|
375
|
+
// types.push(permission);
|
376
|
+
// } else {
|
295
377
|
types = getNativePermissions(permission, options);
|
378
|
+
// }
|
296
379
|
}
|
297
|
-
console.log('types', types);
|
298
380
|
if (types.length === 0) {
|
381
|
+
// if (Trace.isEnabled()) {
|
382
|
+
// CLog(CLogTypes.warning, permission, 'is not a valid permission type on Android');
|
383
|
+
// }
|
299
384
|
return Promise.resolve([GRANT_RESULTS.GRANTED, true]);
|
300
385
|
}
|
301
386
|
if (types.length > 1) {
|
302
387
|
return requestMultiplePermissions(types);
|
303
388
|
}
|
304
|
-
return PermissionsAndroid.request(types[0]).then(result => {
|
389
|
+
return PermissionsAndroid.request(types[0]).then((result) => {
|
390
|
+
// PermissionsAndroid.request() to native module resolves to boolean
|
391
|
+
// rather than string if running on OS version prior to Android M
|
305
392
|
if (typeof result === 'boolean') {
|
306
393
|
return [result ? GRANT_RESULTS.GRANTED : GRANT_RESULTS.DENIED, true];
|
307
394
|
}
|
@@ -315,12 +402,9 @@ export function checkMultiple(permissions) {
|
|
315
402
|
if (Trace.isEnabled()) {
|
316
403
|
CLog(CLogTypes.info, 'checkMultiple', permissions);
|
317
404
|
}
|
318
|
-
return Promise.all(Object.keys(permissions).map(permission => check(permission, permissions[permission]).then(r => [permission, r]))).then(result => {
|
319
|
-
|
320
|
-
return
|
321
|
-
|
322
|
-
return acc;
|
323
|
-
}, {});
|
324
|
-
});
|
405
|
+
return Promise.all(Object.keys(permissions).map((permission) => check(permission, permissions[permission]).then((r) => [permission, r]))).then((result) => result.reduce((acc, value, index) => {
|
406
|
+
acc[value[0]] = value[1][0];
|
407
|
+
return acc;
|
408
|
+
}, {}));
|
325
409
|
}
|
326
|
-
//# sourceMappingURL=
|
410
|
+
//# sourceMappingURL=index.android.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["index.android.ts"],"names":[],"mappings":"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"}
|
File without changes
|
@@ -8,6 +8,6 @@ export var CLogTypes;
|
|
8
8
|
CLogTypes[CLogTypes["error"] = Trace.messageType.error] = "error";
|
9
9
|
})(CLogTypes || (CLogTypes = {}));
|
10
10
|
export const CLog = (type, ...args) => {
|
11
|
-
Trace.write(args.map(a => (a && typeof a === 'object' ? JSON.stringify(a) : a)).join(' '), PermsTraceCategory, type);
|
11
|
+
Trace.write(args.map((a) => (a && typeof a === 'object' ? JSON.stringify(a) : a)).join(' '), PermsTraceCategory, type);
|
12
12
|
};
|
13
|
-
//# sourceMappingURL=
|
13
|
+
//# sourceMappingURL=index.common.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.common.js","sourceRoot":"../src/","sources":["index.common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAEtD,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,6BAAM,KAAK,CAAC,WAAW,CAAC,GAAG,SAAA,CAAA;IAC3B,8BAAO,KAAK,CAAC,WAAW,CAAC,IAAI,UAAA,CAAA;IAC7B,iCAAU,KAAK,CAAC,WAAW,CAAC,IAAI,aAAA,CAAA;IAChC,+BAAQ,KAAK,CAAC,WAAW,CAAC,KAAK,WAAA,CAAA;AACnC,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAe,EAAE,GAAG,IAAI,EAAE,EAAE;IAC7C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC3H,CAAC,CAAC"}
|
@@ -7,7 +7,7 @@ export type AndroidPermissions<T = Exclude<keyof typeof android.Manifest.permiss
|
|
7
7
|
[K in keyof T]: T[K] extends string ? T : never;
|
8
8
|
};
|
9
9
|
|
10
|
-
export type AndroidPermissionsString = `android.permission.${AndroidPermissions}
|
10
|
+
export type AndroidPermissionsString = `android.permission.${AndroidPermissions}` /* | `android.Manifest.permission.${AndroidPermissions}` */;
|
11
11
|
|
12
12
|
export type Permissions =
|
13
13
|
| 'location'
|
@@ -46,15 +46,15 @@ export interface StorageOptions {
|
|
46
46
|
export type PermissionOptions = Record<string, any>;
|
47
47
|
|
48
48
|
export interface ObjectPermissions {
|
49
|
-
|
50
|
-
|
49
|
+
location: LocationOptions;
|
50
|
+
storage: StorageOptions;
|
51
51
|
}
|
52
52
|
|
53
53
|
export type ObjectPermissionsRest = {
|
54
54
|
[key in Permissions]: PermissionOptions;
|
55
55
|
};
|
56
56
|
|
57
|
-
export type CheckOptions
|
57
|
+
export type CheckOptions<T extends Permissions = Permissions> = T extends keyof ObjectPermissions ? ObjectPermissions[T] : any;
|
58
58
|
export function check<T extends Permissions>(permission: T, options?: CheckOptions<T>): Promise<Result>;
|
59
59
|
export function check<T extends string>(permission: T): Promise<Result>;
|
60
60
|
|
@@ -65,11 +65,13 @@ export function openSettings(): Promise<boolean>;
|
|
65
65
|
export function getTypes(): Permissions[];
|
66
66
|
|
67
67
|
export type Result = [Status, boolean];
|
68
|
-
export interface MultiResult {
|
68
|
+
export interface MultiResult {
|
69
|
+
[k: Permissions | string]: Status;
|
70
|
+
}
|
69
71
|
|
70
|
-
export type RequestOptions
|
72
|
+
export type RequestOptions<T extends Permissions = Permissions> = T extends keyof ObjectPermissions ? ObjectPermissions[T] : any;
|
71
73
|
export function request<T extends Permissions>(permission: T, options?: RequestOptions<T>): Promise<Result>;
|
72
74
|
export function request<T extends Partial<ObjectPermissions | ObjectPermissionsRest>>(permission: T): Promise<MultiResult>;
|
73
75
|
export function request<T extends string>(permission: T): Promise<Result>;
|
74
76
|
|
75
|
-
export function checkMultiple<T extends Partial<
|
77
|
+
export function checkMultiple<T extends Partial<ObjectPermissionsRest>>(permissions: T): Promise<MultiResult>;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { CheckOptions,
|
2
|
-
export * from './
|
1
|
+
import { CheckOptions, PermissionOptions, RequestOptions } from '.';
|
2
|
+
export * from './index.common';
|
3
3
|
export declare namespace PermissionsIOS {
|
4
4
|
enum Status {
|
5
5
|
Undetermined = "undetermined",
|
@@ -29,6 +29,9 @@ export declare namespace PermissionsIOS {
|
|
29
29
|
function requestPermission(type: any, json: any): Promise<[Status, boolean]>;
|
30
30
|
}
|
31
31
|
declare type IOSPermissionTypes = `${PermissionsIOS.NSType}`;
|
32
|
+
declare type ObjectIOSPermissionsRest = {
|
33
|
+
[key in IOSPermissionTypes]: PermissionOptions;
|
34
|
+
};
|
32
35
|
export declare function canOpenSettings(): Promise<boolean>;
|
33
36
|
export declare function openSettings(): Promise<unknown>;
|
34
37
|
export declare function getTypes(): ("location" | "camera" | "microphone" | "photo" | "contacts" | "event" | "reminder" | "bluetooth" | "notification" | "backgroundRefresh" | "speechRecognition" | "mediaLibrary" | "motion")[];
|
@@ -39,4 +42,4 @@ interface MultipleResult {
|
|
39
42
|
declare type Result<T> = T extends any[] ? MultipleResult : SingleResult;
|
40
43
|
export declare function check(permission: IOSPermissionTypes, options?: CheckOptions): Promise<SingleResult>;
|
41
44
|
export declare function request<T extends IOSPermissionTypes | Record<IOSPermissionTypes, any>>(permission: T, options?: RequestOptions): Promise<Result<T>>;
|
42
|
-
export declare function checkMultiple(permissions:
|
45
|
+
export declare function checkMultiple<T extends Partial<ObjectIOSPermissionsRest>>(permissions: T): Promise<MultipleResult>;
|