@untemps/user-permissions-utils 1.3.1 → 1.3.2

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
@@ -23,7 +23,15 @@ var e = () => !!navigator.permissions, t = () => !!navigator.mediaDevices, n = a
23
23
  }, i = async (n, r, { signal: i } = {}) => {
24
24
  if (!e() || !t()) throw new DOMException("Navigator API: permissions or Navigator API: mediaDevices not supported", "NOT_SUPPORTED_ERR");
25
25
  if (i?.throwIfAborted(), (await navigator.permissions.query({ name: n })).state === "denied") throw new DOMException("Permission denied", "NOT_ALLOWED_ERR");
26
- return i?.throwIfAborted(), navigator.mediaDevices.getUserMedia(r);
26
+ i?.throwIfAborted();
27
+ let a = navigator.mediaDevices.getUserMedia(r);
28
+ if (!i) return a;
29
+ let o, s = new Promise((e, t) => {
30
+ o = () => t(i.reason), i.addEventListener("abort", o, { once: !0 });
31
+ });
32
+ return Promise.race([a, s]).finally(() => {
33
+ i.removeEventListener("abort", o);
34
+ });
27
35
  };
28
36
  //#endregion
29
37
  export { n as getPermission, i as getUserMediaStream, t as isNavigatorMediaDevicesSupported, e as isNavigatorPermissionsSupported };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=()=>!!navigator.permissions,t=()=>!!navigator.mediaDevices,n=async(t,{signal:n}={})=>{if(!e())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);n?.throwIfAborted();let i=await navigator.permissions.query({name:t});return i.state===`prompt`?new Promise((e,t)=>{n?.throwIfAborted();let a=s=>{i.removeEventListener(`change`,a),n?.removeEventListener(`abort`,o);try{e(r(s.target.state))}catch(e){t(e)}},o=()=>{i.removeEventListener(`change`,a),t(n.reason)};i.addEventListener(`change`,a),n?.addEventListener(`abort`,o,{once:!0})}):r(i.state)},r=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e},i=async(n,r,{signal:i}={})=>{if(!e()||!t())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);if(i?.throwIfAborted(),(await navigator.permissions.query({name:n})).state===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return i?.throwIfAborted(),navigator.mediaDevices.getUserMedia(r)};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,{signal:n}={})=>{if(!e())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);n?.throwIfAborted();let i=await navigator.permissions.query({name:t});return i.state===`prompt`?new Promise((e,t)=>{n?.throwIfAborted();let a=s=>{i.removeEventListener(`change`,a),n?.removeEventListener(`abort`,o);try{e(r(s.target.state))}catch(e){t(e)}},o=()=>{i.removeEventListener(`change`,a),t(n.reason)};i.addEventListener(`change`,a),n?.addEventListener(`abort`,o,{once:!0})}):r(i.state)},r=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e},i=async(n,r,{signal:i}={})=>{if(!e()||!t())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);if(i?.throwIfAborted(),(await navigator.permissions.query({name:n})).state===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);i?.throwIfAborted();let a=navigator.mediaDevices.getUserMedia(r);if(!i)return a;let o,s=new Promise((e,t)=>{o=()=>t(i.reason),i.addEventListener(`abort`,o,{once:!0})});return Promise.race([a,s]).finally(()=>{i.removeEventListener(`abort`,o)})};exports.getPermission=n,exports.getUserMediaStream=i,exports.isNavigatorMediaDevicesSupported=t,exports.isNavigatorPermissionsSupported=e;
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
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,{signal:n}={})=>{if(!t())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);n?.throwIfAborted();let r=await navigator.permissions.query({name:e});return r.state===`prompt`?new Promise((e,t)=>{n?.throwIfAborted();let a=s=>{r.removeEventListener(`change`,a),n?.removeEventListener(`abort`,o);try{e(i(s.target.state))}catch(e){t(e)}},o=()=>{r.removeEventListener(`change`,a),t(n.reason)};r.addEventListener(`change`,a),n?.addEventListener(`abort`,o,{once:!0})}):i(r.state)},i=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e};e.getPermission=r,e.getUserMediaStream=async(e,r,{signal:i}={})=>{if(!t()||!n())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);if(i?.throwIfAborted(),(await navigator.permissions.query({name:e})).state===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return i?.throwIfAborted(),navigator.mediaDevices.getUserMedia(r)},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,{signal:n}={})=>{if(!t())throw new DOMException(`Navigator API: permissions not supported`,`NOT_SUPPORTED_ERR`);n?.throwIfAborted();let r=await navigator.permissions.query({name:e});return r.state===`prompt`?new Promise((e,t)=>{n?.throwIfAborted();let a=s=>{r.removeEventListener(`change`,a),n?.removeEventListener(`abort`,o);try{e(i(s.target.state))}catch(e){t(e)}},o=()=>{r.removeEventListener(`change`,a),t(n.reason)};r.addEventListener(`change`,a),n?.addEventListener(`abort`,o,{once:!0})}):i(r.state)},i=e=>{if(e===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);return e};e.getPermission=r,e.getUserMediaStream=async(e,r,{signal:i}={})=>{if(!t()||!n())throw new DOMException(`Navigator API: permissions or Navigator API: mediaDevices not supported`,`NOT_SUPPORTED_ERR`);if(i?.throwIfAborted(),(await navigator.permissions.query({name:e})).state===`denied`)throw new DOMException(`Permission denied`,`NOT_ALLOWED_ERR`);i?.throwIfAborted();let a=navigator.mediaDevices.getUserMedia(r);if(!i)return a;let o,s=new Promise((e,t)=>{o=()=>t(i.reason),i.addEventListener(`abort`,o,{once:!0})});return Promise.race([a,s]).finally(()=>{i.removeEventListener(`abort`,o)})},e.isNavigatorMediaDevicesSupported=n,e.isNavigatorPermissionsSupported=t});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@untemps/user-permissions-utils",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
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": [