@untemps/user-permissions-utils 1.3.3 → 1.3.5-beta.1
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 +10 -0
- package/dist/getPermission.d.ts +11 -0
- package/dist/getUserMediaStream.d.ts +12 -0
- package/dist/index.d.ts +6 -11
- package/dist/index.es.js +1 -1
- package/dist/isNavigatorMediaDevicesSupported.d.ts +5 -0
- package/dist/isNavigatorPermissionsSupported.d.ts +5 -0
- package/package.json +12 -4
package/README.md
CHANGED
|
@@ -12,6 +12,16 @@ Collection of utility functions to manage user permissions.
|
|
|
12
12
|
yarn add @untemps/user-permissions-utils
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
## TypeScript
|
|
16
|
+
|
|
17
|
+
This package is written in TypeScript and ships its own type declarations — no extra `@types/...` package is required. The option types are exported for convenience:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { getPermission, getUserMediaStream, type GetPermissionOptions, type GetUserMediaStreamOptions } from '@untemps/user-permissions-utils'
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`permissionName` is typed as the DOM `PermissionName` (e.g. `'microphone'`, `'camera'`) and `mediaStreamConstraints` as the DOM `MediaStreamConstraints`.
|
|
24
|
+
|
|
15
25
|
## Utils
|
|
16
26
|
|
|
17
27
|
`getPermission`:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface GetPermissionOptions {
|
|
2
|
+
signal?: AbortSignal;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Returns a promise resolved when the permission is granted by the user
|
|
6
|
+
* @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname
|
|
7
|
+
* @param options Optional settings
|
|
8
|
+
* @param options.signal Optional AbortSignal to cancel the pending permission wait
|
|
9
|
+
*/
|
|
10
|
+
declare const getPermission: (permissionName: PermissionName, { signal }?: GetPermissionOptions) => Promise<"granted">;
|
|
11
|
+
export default getPermission;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface GetUserMediaStreamOptions {
|
|
2
|
+
signal?: AbortSignal;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Returns a promise resolved when the permission is granted by the user and the stream is retrieved
|
|
6
|
+
* @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname
|
|
7
|
+
* @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints
|
|
8
|
+
* @param options Optional settings
|
|
9
|
+
* @param options.signal Optional AbortSignal to cancel the operation
|
|
10
|
+
*/
|
|
11
|
+
declare const getUserMediaStream: (permissionName: PermissionName, mediaStreamConstraints: MediaStreamConstraints, { signal }?: GetUserMediaStreamOptions) => Promise<MediaStream>;
|
|
12
|
+
export default getUserMediaStream;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
constraints: MediaStreamConstraints,
|
|
8
|
-
options?: { signal?: AbortSignal }
|
|
9
|
-
): Promise<MediaStream>
|
|
10
|
-
export declare function isNavigatorPermissionsSupported(): boolean
|
|
11
|
-
export declare function isNavigatorMediaDevicesSupported(): boolean
|
|
1
|
+
export { default as isNavigatorPermissionsSupported } from './isNavigatorPermissionsSupported';
|
|
2
|
+
export { default as isNavigatorMediaDevicesSupported } from './isNavigatorMediaDevicesSupported';
|
|
3
|
+
export { default as getPermission } from './getPermission';
|
|
4
|
+
export { default as getUserMediaStream } from './getUserMediaStream';
|
|
5
|
+
export type { GetPermissionOptions } from './getPermission';
|
|
6
|
+
export type { GetUserMediaStreamOptions } from './getUserMediaStream';
|
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region src/isNavigatorPermissionsSupported.
|
|
1
|
+
//#region src/isNavigatorPermissionsSupported.ts
|
|
2
2
|
var e = () => !!navigator.permissions, t = () => !!navigator.mediaDevices, n = async (t, { signal: n } = {}) => {
|
|
3
3
|
if (!e()) throw new DOMException("Navigator API: permissions not supported", "NOT_SUPPORTED_ERR");
|
|
4
4
|
n?.throwIfAborted();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@untemps/user-permissions-utils",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5-beta.1",
|
|
4
4
|
"description": "Collection of utility functions to manage user permissions",
|
|
5
5
|
"repository": "git@github.com:untemps/user-permissions-utils.git",
|
|
6
6
|
"keywords": [
|
|
@@ -44,12 +44,19 @@
|
|
|
44
44
|
"jsdom": "^29.1.1",
|
|
45
45
|
"prettier": "^3.8.3",
|
|
46
46
|
"semantic-release": "^25.0.3",
|
|
47
|
+
"typescript": "^6.0.3",
|
|
48
|
+
"typescript-eslint": "^8.60.1",
|
|
47
49
|
"vite": "^8.0.12",
|
|
50
|
+
"vite-plugin-dts": "^5.0.2",
|
|
48
51
|
"vitest": "^4.1.6"
|
|
49
52
|
},
|
|
50
53
|
"release": {
|
|
51
54
|
"branches": [
|
|
52
|
-
"main"
|
|
55
|
+
"main",
|
|
56
|
+
{
|
|
57
|
+
"name": "beta",
|
|
58
|
+
"prerelease": true
|
|
59
|
+
}
|
|
53
60
|
],
|
|
54
61
|
"plugins": [
|
|
55
62
|
[
|
|
@@ -73,9 +80,10 @@
|
|
|
73
80
|
"dev": "vite demo --config demo/vite.config.js",
|
|
74
81
|
"test": "vitest",
|
|
75
82
|
"test:ci": "vitest run --coverage",
|
|
76
|
-
"
|
|
83
|
+
"typecheck": "tsc --noEmit",
|
|
84
|
+
"build": "vite build",
|
|
77
85
|
"lint": "eslint src/",
|
|
78
|
-
"prettier": "prettier \"./**/*.js\" --ignore-path ./.prettierignore --write",
|
|
86
|
+
"prettier": "prettier \"./**/*.{js,ts}\" --ignore-path ./.prettierignore --write",
|
|
79
87
|
"prepare": "husky"
|
|
80
88
|
}
|
|
81
89
|
}
|