@untemps/user-permissions-utils 1.1.29 → 1.1.32

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/dist/index.es.js CHANGED
@@ -1,30 +1,26 @@
1
1
  //#region src/isNavigatorPermissionsSupported.js
2
- var e = () => !!navigator.permissions, t = () => !!navigator.mediaDevices, n = async (t) => new Promise(async (n, i) => {
3
- e() || i(new DOMException("Navigator API: permissions not supported", "NOT_SUPPORTED_ERR"));
4
- try {
5
- let e = await navigator.permissions.query({ name: t }), a = (t) => {
6
- e.removeEventListener("change", a), r(t.target.state, n, i);
2
+ var e = () => !!navigator.permissions, t = () => !!navigator.mediaDevices, n = async (t) => {
3
+ if (!e()) throw new DOMException("Navigator API: permissions not supported", "NOT_SUPPORTED_ERR");
4
+ let n = await navigator.permissions.query({ name: t });
5
+ return n.state === "prompt" ? new Promise((e, t) => {
6
+ let i = (a) => {
7
+ n.removeEventListener("change", i);
8
+ try {
9
+ e(r(a.target.state));
10
+ } catch (e) {
11
+ t(e);
12
+ }
7
13
  };
8
- e.addEventListener("change", a), r(e.state, n, i);
9
- } catch (e) {
10
- i(e);
11
- }
12
- }), r = (e, t, n) => {
13
- switch (e) {
14
- case "denied":
15
- n(new DOMException("Permission denied", "NOT_ALLOWED_ERR"));
16
- break;
17
- default: t(e);
18
- }
19
- }, i = async (r, i) => new Promise(async (a, o) => {
20
- (!e() || !t()) && o(new DOMException("Navigator API: permissions or Navigator API: mediaDevices not supported", "NOT_SUPPORTED_ERR"));
21
- try {
22
- let [, e] = await Promise.all([await n(r), await navigator.mediaDevices.getUserMedia(i)]);
23
- a(e);
24
- } catch (e) {
25
- o(e);
26
- }
27
- });
14
+ n.addEventListener("change", i);
15
+ }) : r(n.state);
16
+ }, r = (e) => {
17
+ if (e === "denied") throw new DOMException("Permission denied", "NOT_ALLOWED_ERR");
18
+ return e;
19
+ }, i = async (r, i) => {
20
+ if (!e() || !t()) throw new DOMException("Navigator API: permissions or Navigator API: mediaDevices not supported", "NOT_SUPPORTED_ERR");
21
+ let [, a] = await Promise.all([await n(r), await navigator.mediaDevices.getUserMedia(i)]);
22
+ return a;
23
+ };
28
24
  //#endregion
29
25
  export { n as getPermission, i as getUserMediaStream, t as isNavigatorMediaDevicesSupported, e as isNavigatorPermissionsSupported };
30
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported()) {\n\t\t\treject(new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR'))\n\t\t}\n\n\t\ttry {\n\t\t\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\tresolveOrRejectBasedOnState(event.target.state, resolve, reject)\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t\tresolveOrRejectBasedOnState(permissionStatus.state, resolve, reject)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\nconst resolveOrRejectBasedOnState = (state, resolve, reject) => {\n\tswitch (state) {\n\t\tcase 'denied':\n\t\t\treject(new DOMException('Permission denied', 'NOT_ALLOWED_ERR'))\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresolve(state)\n\t}\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\t\treject(\n\t\t\t\tnew DOMException(\n\t\t\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t\t\t'NOT_SUPPORTED_ERR'\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\ttry {\n\t\t\tconst [, stream] = await Promise.all([\n\t\t\t\tawait getPermission(permissionName),\n\t\t\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t\t\t])\n\t\t\tresolve(stream)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n"],"mappings":";AAIA,IAAA,UAAqB,CAAC,CAAC,UAAU,aCAjC,UAAqB,CAAC,CAAC,UAAU,cCGjC,IAAe,OAAO,MACd,IAAI,QAAQ,OAAO,GAAS,MAAW;CAC7C,AAAKA,GAAiC,IACrC,EAAO,IAAI,aAAa,4CAA4C,oBAAoB,CAAC;CAG1F,IAAI;EACH,IAAM,IAAmB,MAAM,UAAU,YAAY,MAAM,EAAE,MAAM,GAAgB,CAAC,EAC9E,KAAY,MAAU;GAE3B,AADA,EAAiB,oBAAoB,UAAU,EAAS,EACxD,EAA4B,EAAM,OAAO,OAAO,GAAS,EAAO;;EAGjE,AADA,EAAiB,iBAAiB,UAAU,EAAS,EACrD,EAA4B,EAAiB,OAAO,GAAS,EAAO;UAC5D,GAAO;EACf,EAAO,EAAM;;EAEb,EAGG,KAA+B,GAAO,GAAS,MAAW;CAC/D,QAAQ,GAAR;EACC,KAAK;GACJ,EAAO,IAAI,aAAa,qBAAqB,kBAAkB,CAAC;GAChE;EACD,SACC,EAAQ,EAAM;;GCvBjB,IAAe,OAAO,GAAgB,MAC9B,IAAI,QAAQ,OAAO,GAAS,MAAW;CAC7C,CAAI,CAACC,GAAiC,IAAI,CAACC,GAAkC,KAC5E,EACC,IAAI,aACH,2EACA,oBACA,CACD;CAGF,IAAI;EACH,IAAM,GAAG,KAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,EACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC;EACF,EAAQ,EAAO;UACP,GAAO;EACf,EAAO,EAAM;;EAEb"}
1
+ {"version":3,"file":"index.es.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\tif (!isNavigatorPermissionsSupported()) {\n\t\tthrow new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR')\n\t}\n\n\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\n\tif (permissionStatus.state === 'prompt') {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\ttry {\n\t\t\t\t\tresolve(resolveOrRejectBasedOnState(event.target.state))\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error)\n\t\t\t\t}\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t})\n\t}\n\n\treturn resolveOrRejectBasedOnState(permissionStatus.state)\n}\n\nconst resolveOrRejectBasedOnState = (state) => {\n\tif (state === 'denied') {\n\t\tthrow new DOMException('Permission denied', 'NOT_ALLOWED_ERR')\n\t}\n\treturn state\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\tthrow new DOMException(\n\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t'NOT_SUPPORTED_ERR'\n\t\t)\n\t}\n\n\tconst [, stream] = await Promise.all([\n\t\tawait getPermission(permissionName),\n\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t])\n\treturn stream\n}\n"],"mappings":";AAIA,IAAA,UAAqB,CAAC,CAAC,UAAU,aCAjC,UAAqB,CAAC,CAAC,UAAU,cCGjC,IAAe,OAAO,MAAmB;CACxC,IAAI,CAACA,GAAiC,EACrC,MAAM,IAAI,aAAa,4CAA4C,oBAAoB;CAGxF,IAAM,IAAmB,MAAM,UAAU,YAAY,MAAM,EAAE,MAAM,GAAgB,CAAC;CAgBpF,OAdI,EAAiB,UAAU,WACvB,IAAI,SAAS,GAAS,MAAW;EACvC,IAAM,KAAY,MAAU;GAC3B,EAAiB,oBAAoB,UAAU,EAAS;GACxD,IAAI;IACH,EAAQ,EAA4B,EAAM,OAAO,MAAM,CAAC;YAChD,GAAO;IACf,EAAO,EAAM;;;EAGf,EAAiB,iBAAiB,UAAU,EAAS;GACpD,GAGI,EAA4B,EAAiB,MAAM;GAGrD,KAA+B,MAAU;CAC9C,IAAI,MAAU,UACb,MAAM,IAAI,aAAa,qBAAqB,kBAAkB;CAE/D,OAAO;GCzBR,IAAe,OAAO,GAAgB,MAA2B;CAChE,IAAI,CAACC,GAAiC,IAAI,CAACC,GAAkC,EAC5E,MAAM,IAAI,aACT,2EACA,oBACA;CAGF,IAAM,GAAG,KAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,EACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC;CACF,OAAO"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=()=>!!navigator.permissions,t=()=>!!navigator.mediaDevices,n=async t=>new Promise(async(n,i)=>{e()||i(new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`));try{let e=await navigator.permissions.query({name:t}),a=t=>{e.removeEventListener(`change`,a),r(t.target.state,n,i)};e.addEventListener(`change`,a),r(e.state,n,i)}catch(e){i(e)}}),r=(e,t,n)=>{switch(e){case`denied`:n(new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`));break;default:t(e)}},i=async(r,i)=>new Promise(async(a,o)=>{(!e()||!t())&&o(new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`));try{let[,e]=await Promise.all([await n(r),await navigator.mediaDevices.getUserMedia(i)]);a(e)}catch(e){o(e)}});exports.getPermission=n,exports.getUserMediaStream=i,exports.isNavigatorMediaDevicesSupported=t,exports.isNavigatorPermissionsSupported=e;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=()=>!!navigator.permissions,t=()=>!!navigator.mediaDevices,n=async t=>{if(!e())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);let n=await navigator.permissions.query({name:t});return n.state===`prompt`?new Promise((e,t)=>{let i=a=>{n.removeEventListener(`change`,i);try{e(r(a.target.state))}catch(e){t(e)}};n.addEventListener(`change`,i)}):r(n.state)},r=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e},i=async(r,i)=>{if(!e()||!t())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);let[,a]=await Promise.all([await n(r),await navigator.mediaDevices.getUserMedia(i)]);return a};exports.getPermission=n,exports.getUserMediaStream=i,exports.isNavigatorMediaDevicesSupported=t,exports.isNavigatorPermissionsSupported=e;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported()) {\n\t\t\treject(new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR'))\n\t\t}\n\n\t\ttry {\n\t\t\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\tresolveOrRejectBasedOnState(event.target.state, resolve, reject)\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t\tresolveOrRejectBasedOnState(permissionStatus.state, resolve, reject)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\nconst resolveOrRejectBasedOnState = (state, resolve, reject) => {\n\tswitch (state) {\n\t\tcase 'denied':\n\t\t\treject(new DOMException('Permission denied', 'NOT_ALLOWED_ERR'))\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresolve(state)\n\t}\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\t\treject(\n\t\t\t\tnew DOMException(\n\t\t\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t\t\t'NOT_SUPPORTED_ERR'\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\ttry {\n\t\t\tconst [, stream] = await Promise.all([\n\t\t\t\tawait getPermission(permissionName),\n\t\t\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t\t\t])\n\t\t\tresolve(stream)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n"],"mappings":"mEAIA,IAAA,MAAqB,CAAC,CAAC,UAAU,YCAjC,MAAqB,CAAC,CAAC,UAAU,aCGjC,EAAe,KAAO,IACd,IAAI,QAAQ,MAAO,EAAS,IAAW,CACxCA,GAAiC,EACrC,EAAO,IAAI,aAAa,2CAA4C,oBAAoB,CAAC,CAG1F,GAAI,CACH,IAAM,EAAmB,MAAM,UAAU,YAAY,MAAM,CAAE,KAAM,EAAgB,CAAC,CAC9E,EAAY,GAAU,CAC3B,EAAiB,oBAAoB,SAAU,EAAS,CACxD,EAA4B,EAAM,OAAO,MAAO,EAAS,EAAO,EAEjE,EAAiB,iBAAiB,SAAU,EAAS,CACrD,EAA4B,EAAiB,MAAO,EAAS,EAAO,OAC5D,EAAO,CACf,EAAO,EAAM,GAEb,CAGG,GAA+B,EAAO,EAAS,IAAW,CAC/D,OAAQ,EAAR,CACC,IAAK,SACJ,EAAO,IAAI,aAAa,oBAAqB,kBAAkB,CAAC,CAChE,MACD,QACC,EAAQ,EAAM,GCvBjB,EAAe,MAAO,EAAgB,IAC9B,IAAI,QAAQ,MAAO,EAAS,IAAW,EACzC,CAACC,GAAiC,EAAI,CAACC,GAAkC,GAC5E,EACC,IAAI,aACH,0EACA,oBACA,CACD,CAGF,GAAI,CACH,GAAM,EAAG,GAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,CACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC,CACF,EAAQ,EAAO,OACP,EAAO,CACf,EAAO,EAAM,GAEb"}
1
+ {"version":3,"file":"index.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\tif (!isNavigatorPermissionsSupported()) {\n\t\tthrow new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR')\n\t}\n\n\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\n\tif (permissionStatus.state === 'prompt') {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\ttry {\n\t\t\t\t\tresolve(resolveOrRejectBasedOnState(event.target.state))\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error)\n\t\t\t\t}\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t})\n\t}\n\n\treturn resolveOrRejectBasedOnState(permissionStatus.state)\n}\n\nconst resolveOrRejectBasedOnState = (state) => {\n\tif (state === 'denied') {\n\t\tthrow new DOMException('Permission denied', 'NOT_ALLOWED_ERR')\n\t}\n\treturn state\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\tthrow new DOMException(\n\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t'NOT_SUPPORTED_ERR'\n\t\t)\n\t}\n\n\tconst [, stream] = await Promise.all([\n\t\tawait getPermission(permissionName),\n\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t])\n\treturn stream\n}\n"],"mappings":"mEAIA,IAAA,MAAqB,CAAC,CAAC,UAAU,YCAjC,MAAqB,CAAC,CAAC,UAAU,aCGjC,EAAe,KAAO,IAAmB,CACxC,GAAI,CAACA,GAAiC,CACrC,MAAM,IAAI,aAAa,2CAA4C,oBAAoB,CAGxF,IAAM,EAAmB,MAAM,UAAU,YAAY,MAAM,CAAE,KAAM,EAAgB,CAAC,CAgBpF,OAdI,EAAiB,QAAU,SACvB,IAAI,SAAS,EAAS,IAAW,CACvC,IAAM,EAAY,GAAU,CAC3B,EAAiB,oBAAoB,SAAU,EAAS,CACxD,GAAI,CACH,EAAQ,EAA4B,EAAM,OAAO,MAAM,CAAC,OAChD,EAAO,CACf,EAAO,EAAM,GAGf,EAAiB,iBAAiB,SAAU,EAAS,EACpD,CAGI,EAA4B,EAAiB,MAAM,EAGrD,EAA+B,GAAU,CAC9C,GAAI,IAAU,SACb,MAAM,IAAI,aAAa,oBAAqB,kBAAkB,CAE/D,OAAO,GCzBR,EAAe,MAAO,EAAgB,IAA2B,CAChE,GAAI,CAACC,GAAiC,EAAI,CAACC,GAAkC,CAC5E,MAAM,IAAI,aACT,0EACA,oBACA,CAGF,GAAM,EAAG,GAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,CACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC,CACF,OAAO"}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UserPermissionsUtils={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=()=>!!navigator.permissions,n=()=>!!navigator.mediaDevices,r=async e=>new Promise(async(n,r)=>{t()||r(new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`));try{let t=await navigator.permissions.query({name:e}),a=e=>{t.removeEventListener(`change`,a),i(e.target.state,n,r)};t.addEventListener(`change`,a),i(t.state,n,r)}catch(e){r(e)}}),i=(e,t,n)=>{switch(e){case`denied`:n(new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`));break;default:t(e)}};e.getPermission=r,e.getUserMediaStream=async(e,i)=>new Promise(async(a,o)=>{(!t()||!n())&&o(new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`));try{let[,t]=await Promise.all([await r(e),await navigator.mediaDevices.getUserMedia(i)]);a(t)}catch(e){o(e)}}),e.isNavigatorMediaDevicesSupported=n,e.isNavigatorPermissionsSupported=t});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UserPermissionsUtils={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=()=>!!navigator.permissions,n=()=>!!navigator.mediaDevices,r=async e=>{if(!t())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);let n=await navigator.permissions.query({name:e});return n.state===`prompt`?new Promise((e,t)=>{let r=a=>{n.removeEventListener(`change`,r);try{e(i(a.target.state))}catch(e){t(e)}};n.addEventListener(`change`,r)}):i(n.state)},i=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e};e.getPermission=r,e.getUserMediaStream=async(e,i)=>{if(!t()||!n())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);let[,a]=await Promise.all([await r(e),await navigator.mediaDevices.getUserMedia(i)]);return a},e.isNavigatorMediaDevicesSupported=n,e.isNavigatorPermissionsSupported=t});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported()) {\n\t\t\treject(new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR'))\n\t\t}\n\n\t\ttry {\n\t\t\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\tresolveOrRejectBasedOnState(event.target.state, resolve, reject)\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t\tresolveOrRejectBasedOnState(permissionStatus.state, resolve, reject)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\nconst resolveOrRejectBasedOnState = (state, resolve, reject) => {\n\tswitch (state) {\n\t\tcase 'denied':\n\t\t\treject(new DOMException('Permission denied', 'NOT_ALLOWED_ERR'))\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresolve(state)\n\t}\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\treturn new Promise(async (resolve, reject) => {\n\t\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\t\treject(\n\t\t\t\tnew DOMException(\n\t\t\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t\t\t'NOT_SUPPORTED_ERR'\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\ttry {\n\t\t\tconst [, stream] = await Promise.all([\n\t\t\t\tawait getPermission(permissionName),\n\t\t\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t\t\t])\n\t\t\tresolve(stream)\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n"],"mappings":"4RAIA,IAAA,MAAqB,CAAC,CAAC,UAAU,YCAjC,MAAqB,CAAC,CAAC,UAAU,aCGjC,EAAe,KAAO,IACd,IAAI,QAAQ,MAAO,EAAS,IAAW,CACxCA,GAAiC,EACrC,EAAO,IAAI,aAAa,2CAA4C,oBAAoB,CAAC,CAG1F,GAAI,CACH,IAAM,EAAmB,MAAM,UAAU,YAAY,MAAM,CAAE,KAAM,EAAgB,CAAC,CAC9E,EAAY,GAAU,CAC3B,EAAiB,oBAAoB,SAAU,EAAS,CACxD,EAA4B,EAAM,OAAO,MAAO,EAAS,EAAO,EAEjE,EAAiB,iBAAiB,SAAU,EAAS,CACrD,EAA4B,EAAiB,MAAO,EAAS,EAAO,OAC5D,EAAO,CACf,EAAO,EAAM,GAEb,CAGG,GAA+B,EAAO,EAAS,IAAW,CAC/D,OAAQ,EAAR,CACC,IAAK,SACJ,EAAO,IAAI,aAAa,oBAAqB,kBAAkB,CAAC,CAChE,MACD,QACC,EAAQ,EAAM,gDCvBK,EAAgB,IAC9B,IAAI,QAAQ,MAAO,EAAS,IAAW,EACzC,CAACC,GAAiC,EAAI,CAACC,GAAkC,GAC5E,EACC,IAAI,aACH,0EACA,oBACA,CACD,CAGF,GAAI,CACH,GAAM,EAAG,GAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,CACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC,CACF,EAAQ,EAAO,OACP,EAAO,CACf,EAAO,EAAM,GAEb"}
1
+ {"version":3,"file":"index.umd.js","names":["isNavigatorPermissionsSupported","isNavigatorPermissionsSupported","isNavigatorMediaDevicesSupported","getPermission"],"sources":["../src/isNavigatorPermissionsSupported.js","../src/isNavigatorMediaDevicesSupported.js","../src/getPermission.js","../src/getUserMediaStream.js"],"sourcesContent":["/**\n * Check whether Navigator API: permissions is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.permissions\n","/**\n * Check whether Navigator API: mediaDevices is supported by the current browser\n * @returns {boolean}\n */\nexport default () => !!navigator.mediaDevices\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\n\n/**\n * Returns a promise resolved when the permission is granted by the user\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @returns {Promise}\n */\nexport default async (permissionName) => {\n\tif (!isNavigatorPermissionsSupported()) {\n\t\tthrow new DOMException('Navigator API: permissions not supported', 'NOT_SUPPORTED_ERR')\n\t}\n\n\tconst permissionStatus = await navigator.permissions.query({ name: permissionName })\n\n\tif (permissionStatus.state === 'prompt') {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onChange = (event) => {\n\t\t\t\tpermissionStatus.removeEventListener('change', onChange)\n\t\t\t\ttry {\n\t\t\t\t\tresolve(resolveOrRejectBasedOnState(event.target.state))\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error)\n\t\t\t\t}\n\t\t\t}\n\t\t\tpermissionStatus.addEventListener('change', onChange)\n\t\t})\n\t}\n\n\treturn resolveOrRejectBasedOnState(permissionStatus.state)\n}\n\nconst resolveOrRejectBasedOnState = (state) => {\n\tif (state === 'denied') {\n\t\tthrow new DOMException('Permission denied', 'NOT_ALLOWED_ERR')\n\t}\n\treturn state\n}\n","import isNavigatorPermissionsSupported from './isNavigatorPermissionsSupported'\nimport isNavigatorMediaDevicesSupported from './isNavigatorMediaDevicesSupported'\nimport getPermission from './getPermission'\n\n/**\n * Returns a promise resolved when the permission is granted by the user and the stream is retrieved\n * @param permissionName Name of the permission. @see https://w3c.github.io/permissions/#enumdef-permissionname\n * @param mediaStreamConstraints Constraints object. @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints\n * @returns {Promise}\n */\nexport default async (permissionName, mediaStreamConstraints) => {\n\tif (!isNavigatorPermissionsSupported() || !isNavigatorMediaDevicesSupported()) {\n\t\tthrow new DOMException(\n\t\t\t'Navigator API: permissions or Navigator API: mediaDevices not supported',\n\t\t\t'NOT_SUPPORTED_ERR'\n\t\t)\n\t}\n\n\tconst [, stream] = await Promise.all([\n\t\tawait getPermission(permissionName),\n\t\tawait navigator.mediaDevices.getUserMedia(mediaStreamConstraints),\n\t])\n\treturn stream\n}\n"],"mappings":"4RAIA,IAAA,MAAqB,CAAC,CAAC,UAAU,YCAjC,MAAqB,CAAC,CAAC,UAAU,aCGjC,EAAe,KAAO,IAAmB,CACxC,GAAI,CAACA,GAAiC,CACrC,MAAM,IAAI,aAAa,2CAA4C,oBAAoB,CAGxF,IAAM,EAAmB,MAAM,UAAU,YAAY,MAAM,CAAE,KAAM,EAAgB,CAAC,CAgBpF,OAdI,EAAiB,QAAU,SACvB,IAAI,SAAS,EAAS,IAAW,CACvC,IAAM,EAAY,GAAU,CAC3B,EAAiB,oBAAoB,SAAU,EAAS,CACxD,GAAI,CACH,EAAQ,EAA4B,EAAM,OAAO,MAAM,CAAC,OAChD,EAAO,CACf,EAAO,EAAM,GAGf,EAAiB,iBAAiB,SAAU,EAAS,EACpD,CAGI,EAA4B,EAAiB,MAAM,EAGrD,EAA+B,GAAU,CAC9C,GAAI,IAAU,SACb,MAAM,IAAI,aAAa,oBAAqB,kBAAkB,CAE/D,OAAO,gDCzBc,EAAgB,IAA2B,CAChE,GAAI,CAACC,GAAiC,EAAI,CAACC,GAAkC,CAC5E,MAAM,IAAI,aACT,0EACA,oBACA,CAGF,GAAM,EAAG,GAAU,MAAM,QAAQ,IAAI,CACpC,MAAMC,EAAc,EAAe,CACnC,MAAM,UAAU,aAAa,aAAa,EAAuB,CACjE,CAAC,CACF,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@untemps/user-permissions-utils",
3
- "version": "1.1.29",
3
+ "version": "1.1.32",
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": [