@withease/web-api
Advanced tools
@@ -1,1 +0,1 @@ | ||
| "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("effector");function d(n,t){try{const e=n();return e===void 0?t:e}catch{return t}}function u({add:n,remove:t,readPayload:e},o){const c=r.createEvent(),i=r.createStore(null,{serialize:"ignore"}),a=r.createEffect(()=>{const l=r.scopeBind(c,{safe:!0});let v=l;return e&&(v=()=>l(e())),n(v),v}),s=r.attach({source:i,effect(l){l&&t(l)}});return r.sample({clock:o.setup,target:a}),r.sample({clock:a.doneData,filter:Boolean,target:i}),o.teardown&&r.sample({clock:o.teardown,target:s}),r.sample({clock:s.done,target:i.reinit}),c}const f=n=>{const t=r.createStore(d(()=>screen.orientation.type,null),{serialize:"ignore"}),e=r.createStore(d(()=>screen.orientation.angle,null),{serialize:"ignore"}),o=t.map(a=>a==="landscape-primary"||a==="landscape-secondary"),c=t.map(a=>a==="portrait-primary"||a==="portrait-secondary"),i=u({add:a=>screen.orientation.addEventListener("change",a),remove:a=>screen.orientation.removeEventListener("change",a),readPayload:()=>screen.orientation},n);return r.sample({clock:i,fn:()=>screen.orientation.type,target:t}),r.sample({clock:i,fn:()=>screen.orientation.angle,target:e}),{$type:t,$angle:e,$portrait:c,$landscape:o}};f["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{$type:e}=f({setup:n,teardown:t}),o=r.sample({clock:e.updates,fn:()=>{}});return{setup:n,teardown:t,fired:o}};const m=n=>{const t=u({add:s=>document.addEventListener("visibilitychange",s),remove:s=>document.removeEventListener("visibilitychange",s),readPayload:()=>document.visibilityState},n),e=r.createStore(d(()=>document.visibilityState,"visible"),{serialize:"ignore"}).on(t,(s,l)=>l),o=e.map(s=>s==="visible"),c=e.map(s=>s==="hidden"),i=r.sample({clock:o.updates,filter:Boolean,fn:()=>{}}),a=r.sample({clock:c.updates,filter:Boolean,fn:()=>{}});return{visible:i,hidden:a,$visible:o,$hidden:c}};m["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{visible:e}=m({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};const h=n=>{const t=u({add:i=>window.addEventListener("online",i),remove:i=>window.removeEventListener("online",i)},n),e=u({add:i=>window.addEventListener("offline",i),remove:i=>window.removeEventListener("offline",i)},n),o=r.createStore(d(()=>navigator.onLine,!0),{serialize:"ignore"}).on(t,()=>!0).on(e,()=>!1),c=o.map(i=>!i);return{online:t,offline:e,$offline:c,$online:o}};h["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{online:e}=h({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};function k(n,t){if(typeof n=="string"){if(t)return p(n,t);{const e=o=>p(n,o);return e["@@trigger"]=()=>{const o=r.createEvent(),c=r.createEvent(),{matched:i}=p(n,{setup:o,teardown:c});return{setup:o,teardown:c,fired:i}},e}}else if(t){const e={};for(const[o,c]of Object.entries(n))e[o]=k(c,t);return e}else{const e={};for(const[o,c]of Object.entries(n))e[o]=i=>k(c,i);return e}}function p(n,t){const e=d(()=>window.matchMedia(n),null),o=u({add:a=>e==null?void 0:e.addEventListener("change",a),remove:a=>e==null?void 0:e.removeEventListener("change",a)},t),c=r.createStore((e==null?void 0:e.matches)??!1,{serialize:"ignore"}).on(o,(a,s)=>s.matches),i=r.createEvent();return r.sample({clock:[c.updates,t.setup],filter:c,fn:()=>{},target:i}),{$matches:c,matched:i}}const E=r.createStore(null,{serialize:"ignore"}),y=E.map(n=>n?n.split(",").map(t=>{var e;return(e=t.split(";")[0])==null?void 0:e.trim()}).filter(t=>t&&t!=="*"):[]),g=n=>{const t=r.createStore(d(()=>navigator.languages,[]),{serialize:"ignore"}),e=u({add:a=>window.addEventListener("languagechange",a),remove:a=>window.removeEventListener("languagechange",a),readPayload:()=>navigator.languages},n);r.sample({clock:e,target:t});const o=r.combine({fromHeader:y,fromNavigator:t},({fromHeader:a,fromNavigator:s})=>a.length>0?a:s),c=o.map(a=>a[0]??null),i=r.sample({clock:e,fn(){}});return{$languages:o,$language:c,languageChanged:i}};g["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{languageChanged:e}=g({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};g.$acceptLanguageHeader=E;exports.trackMediaQuery=k;exports.trackNetworkStatus=h;exports.trackPageVisibility=m;exports.trackPreferredLanguages=g;exports.trackScreenOrientation=f; | ||
| "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("effector");function w(t,r){try{const n=t();return n===void 0?r:n}catch{return r}}function b({add:t,remove:r,readPayload:n},a){const c=e.createEvent(),o=e.createStore(null,{serialize:"ignore"}),i=e.createEffect(()=>{const g=e.scopeBind(c,{safe:!0});let f=g;return n&&(f=()=>g(n())),t(f),f}),l=e.attach({source:o,effect(g){g&&r(g)}});return e.sample({clock:a.setup,target:i}),e.sample({clock:i.doneData,filter:Boolean,target:o}),a.teardown&&e.sample({clock:a.teardown,target:l}),e.sample({clock:l.done,target:o.reinit}),c}function B(t){return t.map(r=>r)}const C=t=>{const r=e.createStore(w(()=>screen.orientation.type,null),{serialize:"ignore"}),n=e.createStore(w(()=>screen.orientation.angle,null),{serialize:"ignore"}),a=r.map(i=>i==="landscape-primary"||i==="landscape-secondary"),c=r.map(i=>i==="portrait-primary"||i==="portrait-secondary"),o=b({add:i=>screen.orientation.addEventListener("change",i),remove:i=>screen.orientation.removeEventListener("change",i),readPayload:()=>screen.orientation},t);return e.sample({clock:o,fn:()=>screen.orientation.type,target:r}),e.sample({clock:o,fn:()=>screen.orientation.angle,target:n}),{$type:r,$angle:n,$portrait:c,$landscape:a}};C["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{$type:n}=C({setup:t,teardown:r}),a=e.sample({clock:n.updates,fn:()=>{}});return{setup:t,teardown:r,fired:a}};const F=t=>{const r=b({add:l=>document.addEventListener("visibilitychange",l),remove:l=>document.removeEventListener("visibilitychange",l),readPayload:()=>document.visibilityState},t),n=e.createStore(w(()=>document.visibilityState,"visible"),{serialize:"ignore"}).on(r,(l,g)=>g),a=n.map(l=>l==="visible"),c=n.map(l=>l==="hidden"),o=e.sample({clock:a.updates,filter:Boolean,fn:()=>{}}),i=e.sample({clock:c.updates,filter:Boolean,fn:()=>{}});return{visible:o,hidden:i,$visible:a,$hidden:c}};F["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{visible:n}=F({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};const A=t=>{const r=b({add:o=>window.addEventListener("online",o),remove:o=>window.removeEventListener("online",o)},t),n=b({add:o=>window.addEventListener("offline",o),remove:o=>window.removeEventListener("offline",o)},t),a=e.createStore(w(()=>navigator.onLine,!0),{serialize:"ignore"}).on(r,()=>!0).on(n,()=>!1),c=a.map(o=>!o);return{online:r,offline:n,$offline:c,$online:a}};A["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{online:n}=A({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};function N(t,r){if(typeof t=="string"){if(r)return z(t,r);{const n=a=>z(t,a);return n["@@trigger"]=()=>{const a=e.createEvent(),c=e.createEvent(),{matched:o}=z(t,{setup:a,teardown:c});return{setup:a,teardown:c,fired:o}},n}}else if(r){const n={};for(const[a,c]of Object.entries(t))n[a]=N(c,r);return n}else{const n={};for(const[a,c]of Object.entries(t))n[a]=o=>N(c,o);return n}}function z(t,r){const n=w(()=>window.matchMedia(t),null),a=b({add:i=>n==null?void 0:n.addEventListener("change",i),remove:i=>n==null?void 0:n.removeEventListener("change",i)},r),c=e.createStore((n==null?void 0:n.matches)??!1,{serialize:"ignore"}).on(a,(i,l)=>l.matches),o=e.createEvent();return e.sample({clock:[c.updates,r.setup],filter:c,fn:()=>{},target:o}),{$matches:c,matched:o}}const T=e.createStore(null,{serialize:"ignore"}),I=T.map(t=>t?t.split(",").map(r=>{var n;return(n=r.split(";")[0])==null?void 0:n.trim()}).filter(r=>r&&r!=="*"):[]),y=t=>{const r=e.createStore(w(()=>navigator.languages,[]),{serialize:"ignore"}),n=b({add:i=>window.addEventListener("languagechange",i),remove:i=>window.removeEventListener("languagechange",i),readPayload:()=>navigator.languages},t);e.sample({clock:n,target:r});const a=e.combine({fromHeader:I,fromNavigator:r},({fromHeader:i,fromNavigator:l})=>i.length>0?i:l),c=a.map(i=>i[0]??null),o=e.sample({clock:n,fn(){}});return{$languages:a,$language:c,languageChanged:o}};y["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{languageChanged:n}=y({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};y.$acceptLanguageHeader=T;const x=Symbol("BrowserProvider");function V(t){let r;const n=t==null?void 0:t.providers;e.is.store(n)?r=n:r=e.createStore(n??[x]);const a=e.attach({source:r,effect(s){return s.map(d=>_(d,t)).filter(Boolean)}}),c=e.createStore(null,{serialize:"ignore"}).on(a.doneData,(s,d)=>d),o=e.createStore(null),i=e.combine(o,s=>(s==null?void 0:s.longitude)??null),l=e.combine(o,s=>(s==null?void 0:s.latitude)??null),g=e.createEvent(),f=e.createEvent(),$=e.createEvent(),D=e.createStore(!1),E=e.createEvent(),P=e.createEvent();e.sample({clock:P,fn:s=>({latitude:s.coords.latitude,longitude:s.coords.longitude}),target:o});const S=e.attach({source:c,async effect(s){let d=null;const k=e.scopeBind(E,{safe:!0});let v;s?v=s:v=await a();for(const p of v)try{O(p)?d=await new Promise((m,u)=>p.getCurrentPosition(m,u,t)):d=await p.getCurrentPosition()}catch(m){k(m)}if(!d)throw{code:"POSITION_UNAVAILABLE",message:"No available geolocation provider"};return d}});e.sample({clock:g,target:S}),e.sample({clock:S.doneData,target:P}),e.sample({clock:S.failData,target:E});const L=e.createStore(null),M=e.attach({source:c,async effect(s){const d=e.scopeBind(P,{safe:!0}),k=e.scopeBind(E,{safe:!0});let v;s?v=s:v=await a();const p=new Map,m=new Set;for(const u of v)try{if(O(u)){const h=u.watchPosition(d,k,t);p.set(G=>u.clearWatch(G),h)}else{const h=u.watchPosition(d,k);m.add(h)}}catch(h){k(h)}return()=>{for(const[u,h]of p)u(h),p.delete(u);for(const u of m)u(),m.delete(u)}}}),W=e.attach({source:L,effect(s){s==null||s()}});return e.sample({clock:f,target:M}),e.sample({clock:M.doneData,target:L}),e.sample({clock:$,target:W}),e.sample({clock:W.finally,target:L.reinit}),D.on(f,()=>!0).on($,()=>!1),{$location:B(o),$longitude:i,$latitude:l,request:g,watching:{start:f,stop:$,$active:B(D)},reporting:{failed:B(E)}}}V.browserProvider=x;function _(t,r){return t===x?globalThis.navigator&&"geolocation"in globalThis.navigator?globalThis.navigator.geolocation:null:O(t)?t:t(r??{})}function O(t){return"getCurrentPosition"in t&&"watchPosition"in t&&"clearWatch"in t}exports.trackGeolocation=V;exports.trackMediaQuery=N;exports.trackNetworkStatus=A;exports.trackPageVisibility=F;exports.trackPreferredLanguages=y;exports.trackScreenOrientation=C; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("effector");function d(n,t){try{const e=n();return e===void 0?t:e}catch{return t}}function u({add:n,remove:t,readPayload:e},o){const c=r.createEvent(),i=r.createStore(null,{serialize:"ignore"}),a=r.createEffect(()=>{const l=r.scopeBind(c,{safe:!0});let v=l;return e&&(v=()=>l(e())),n(v),v}),s=r.attach({source:i,effect(l){l&&t(l)}});return r.sample({clock:o.setup,target:a}),r.sample({clock:a.doneData,filter:Boolean,target:i}),o.teardown&&r.sample({clock:o.teardown,target:s}),r.sample({clock:s.done,target:i.reinit}),c}const f=n=>{const t=r.createStore(d(()=>screen.orientation.type,null),{serialize:"ignore"}),e=r.createStore(d(()=>screen.orientation.angle,null),{serialize:"ignore"}),o=t.map(a=>a==="landscape-primary"||a==="landscape-secondary"),c=t.map(a=>a==="portrait-primary"||a==="portrait-secondary"),i=u({add:a=>screen.orientation.addEventListener("change",a),remove:a=>screen.orientation.removeEventListener("change",a),readPayload:()=>screen.orientation},n);return r.sample({clock:i,fn:()=>screen.orientation.type,target:t}),r.sample({clock:i,fn:()=>screen.orientation.angle,target:e}),{$type:t,$angle:e,$portrait:c,$landscape:o}};f["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{$type:e}=f({setup:n,teardown:t}),o=r.sample({clock:e.updates,fn:()=>{}});return{setup:n,teardown:t,fired:o}};const m=n=>{const t=u({add:s=>document.addEventListener("visibilitychange",s),remove:s=>document.removeEventListener("visibilitychange",s),readPayload:()=>document.visibilityState},n),e=r.createStore(d(()=>document.visibilityState,"visible"),{serialize:"ignore"}).on(t,(s,l)=>l),o=e.map(s=>s==="visible"),c=e.map(s=>s==="hidden"),i=r.sample({clock:o.updates,filter:Boolean,fn:()=>{}}),a=r.sample({clock:c.updates,filter:Boolean,fn:()=>{}});return{visible:i,hidden:a,$visible:o,$hidden:c}};m["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{visible:e}=m({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};const h=n=>{const t=u({add:i=>window.addEventListener("online",i),remove:i=>window.removeEventListener("online",i)},n),e=u({add:i=>window.addEventListener("offline",i),remove:i=>window.removeEventListener("offline",i)},n),o=r.createStore(d(()=>navigator.onLine,!0),{serialize:"ignore"}).on(t,()=>!0).on(e,()=>!1),c=o.map(i=>!i);return{online:t,offline:e,$offline:c,$online:o}};h["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{online:e}=h({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};function k(n,t){if(typeof n=="string"){if(t)return p(n,t);{const e=o=>p(n,o);return e["@@trigger"]=()=>{const o=r.createEvent(),c=r.createEvent(),{matched:i}=p(n,{setup:o,teardown:c});return{setup:o,teardown:c,fired:i}},e}}else if(t){const e={};for(const[o,c]of Object.entries(n))e[o]=k(c,t);return e}else{const e={};for(const[o,c]of Object.entries(n))e[o]=i=>k(c,i);return e}}function p(n,t){const e=d(()=>window.matchMedia(n),null),o=u({add:a=>e==null?void 0:e.addEventListener("change",a),remove:a=>e==null?void 0:e.removeEventListener("change",a)},t),c=r.createStore((e==null?void 0:e.matches)??!1,{serialize:"ignore"}).on(o,(a,s)=>s.matches),i=r.createEvent();return r.sample({clock:[c.updates,t.setup],filter:c,fn:()=>{},target:i}),{$matches:c,matched:i}}const E=r.createStore(null,{serialize:"ignore"}),y=E.map(n=>n?n.split(",").map(t=>{var e;return(e=t.split(";")[0])==null?void 0:e.trim()}).filter(t=>t&&t!=="*"):[]),g=n=>{const t=r.createStore(d(()=>navigator.languages,[]),{serialize:"ignore"}),e=u({add:a=>window.addEventListener("languagechange",a),remove:a=>window.removeEventListener("languagechange",a),readPayload:()=>navigator.languages},n);r.sample({clock:e,target:t});const o=r.combine({fromHeader:y,fromNavigator:t},({fromHeader:a,fromNavigator:s})=>a.length>0?a:s),c=o.map(a=>a[0]??null),i=r.sample({clock:e,fn(){}});return{$languages:o,$language:c,languageChanged:i}};g["@@trigger"]=()=>{const n=r.createEvent(),t=r.createEvent(),{languageChanged:e}=g({setup:n,teardown:t});return{setup:n,teardown:t,fired:e}};g.$acceptLanguageHeader=E;exports.trackMediaQuery=k;exports.trackNetworkStatus=h;exports.trackPageVisibility=m;exports.trackPreferredLanguages=g;exports.trackScreenOrientation=f; | ||
| "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("effector");function w(t,r){try{const n=t();return n===void 0?r:n}catch{return r}}function b({add:t,remove:r,readPayload:n},a){const c=e.createEvent(),o=e.createStore(null,{serialize:"ignore"}),i=e.createEffect(()=>{const g=e.scopeBind(c,{safe:!0});let f=g;return n&&(f=()=>g(n())),t(f),f}),l=e.attach({source:o,effect(g){g&&r(g)}});return e.sample({clock:a.setup,target:i}),e.sample({clock:i.doneData,filter:Boolean,target:o}),a.teardown&&e.sample({clock:a.teardown,target:l}),e.sample({clock:l.done,target:o.reinit}),c}function B(t){return t.map(r=>r)}const C=t=>{const r=e.createStore(w(()=>screen.orientation.type,null),{serialize:"ignore"}),n=e.createStore(w(()=>screen.orientation.angle,null),{serialize:"ignore"}),a=r.map(i=>i==="landscape-primary"||i==="landscape-secondary"),c=r.map(i=>i==="portrait-primary"||i==="portrait-secondary"),o=b({add:i=>screen.orientation.addEventListener("change",i),remove:i=>screen.orientation.removeEventListener("change",i),readPayload:()=>screen.orientation},t);return e.sample({clock:o,fn:()=>screen.orientation.type,target:r}),e.sample({clock:o,fn:()=>screen.orientation.angle,target:n}),{$type:r,$angle:n,$portrait:c,$landscape:a}};C["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{$type:n}=C({setup:t,teardown:r}),a=e.sample({clock:n.updates,fn:()=>{}});return{setup:t,teardown:r,fired:a}};const F=t=>{const r=b({add:l=>document.addEventListener("visibilitychange",l),remove:l=>document.removeEventListener("visibilitychange",l),readPayload:()=>document.visibilityState},t),n=e.createStore(w(()=>document.visibilityState,"visible"),{serialize:"ignore"}).on(r,(l,g)=>g),a=n.map(l=>l==="visible"),c=n.map(l=>l==="hidden"),o=e.sample({clock:a.updates,filter:Boolean,fn:()=>{}}),i=e.sample({clock:c.updates,filter:Boolean,fn:()=>{}});return{visible:o,hidden:i,$visible:a,$hidden:c}};F["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{visible:n}=F({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};const A=t=>{const r=b({add:o=>window.addEventListener("online",o),remove:o=>window.removeEventListener("online",o)},t),n=b({add:o=>window.addEventListener("offline",o),remove:o=>window.removeEventListener("offline",o)},t),a=e.createStore(w(()=>navigator.onLine,!0),{serialize:"ignore"}).on(r,()=>!0).on(n,()=>!1),c=a.map(o=>!o);return{online:r,offline:n,$offline:c,$online:a}};A["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{online:n}=A({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};function N(t,r){if(typeof t=="string"){if(r)return z(t,r);{const n=a=>z(t,a);return n["@@trigger"]=()=>{const a=e.createEvent(),c=e.createEvent(),{matched:o}=z(t,{setup:a,teardown:c});return{setup:a,teardown:c,fired:o}},n}}else if(r){const n={};for(const[a,c]of Object.entries(t))n[a]=N(c,r);return n}else{const n={};for(const[a,c]of Object.entries(t))n[a]=o=>N(c,o);return n}}function z(t,r){const n=w(()=>window.matchMedia(t),null),a=b({add:i=>n==null?void 0:n.addEventListener("change",i),remove:i=>n==null?void 0:n.removeEventListener("change",i)},r),c=e.createStore((n==null?void 0:n.matches)??!1,{serialize:"ignore"}).on(a,(i,l)=>l.matches),o=e.createEvent();return e.sample({clock:[c.updates,r.setup],filter:c,fn:()=>{},target:o}),{$matches:c,matched:o}}const T=e.createStore(null,{serialize:"ignore"}),I=T.map(t=>t?t.split(",").map(r=>{var n;return(n=r.split(";")[0])==null?void 0:n.trim()}).filter(r=>r&&r!=="*"):[]),y=t=>{const r=e.createStore(w(()=>navigator.languages,[]),{serialize:"ignore"}),n=b({add:i=>window.addEventListener("languagechange",i),remove:i=>window.removeEventListener("languagechange",i),readPayload:()=>navigator.languages},t);e.sample({clock:n,target:r});const a=e.combine({fromHeader:I,fromNavigator:r},({fromHeader:i,fromNavigator:l})=>i.length>0?i:l),c=a.map(i=>i[0]??null),o=e.sample({clock:n,fn(){}});return{$languages:a,$language:c,languageChanged:o}};y["@@trigger"]=()=>{const t=e.createEvent(),r=e.createEvent(),{languageChanged:n}=y({setup:t,teardown:r});return{setup:t,teardown:r,fired:n}};y.$acceptLanguageHeader=T;const x=Symbol("BrowserProvider");function V(t){let r;const n=t==null?void 0:t.providers;e.is.store(n)?r=n:r=e.createStore(n??[x]);const a=e.attach({source:r,effect(s){return s.map(d=>_(d,t)).filter(Boolean)}}),c=e.createStore(null,{serialize:"ignore"}).on(a.doneData,(s,d)=>d),o=e.createStore(null),i=e.combine(o,s=>(s==null?void 0:s.longitude)??null),l=e.combine(o,s=>(s==null?void 0:s.latitude)??null),g=e.createEvent(),f=e.createEvent(),$=e.createEvent(),D=e.createStore(!1),E=e.createEvent(),P=e.createEvent();e.sample({clock:P,fn:s=>({latitude:s.coords.latitude,longitude:s.coords.longitude}),target:o});const S=e.attach({source:c,async effect(s){let d=null;const k=e.scopeBind(E,{safe:!0});let v;s?v=s:v=await a();for(const p of v)try{O(p)?d=await new Promise((m,u)=>p.getCurrentPosition(m,u,t)):d=await p.getCurrentPosition()}catch(m){k(m)}if(!d)throw{code:"POSITION_UNAVAILABLE",message:"No available geolocation provider"};return d}});e.sample({clock:g,target:S}),e.sample({clock:S.doneData,target:P}),e.sample({clock:S.failData,target:E});const L=e.createStore(null),M=e.attach({source:c,async effect(s){const d=e.scopeBind(P,{safe:!0}),k=e.scopeBind(E,{safe:!0});let v;s?v=s:v=await a();const p=new Map,m=new Set;for(const u of v)try{if(O(u)){const h=u.watchPosition(d,k,t);p.set(G=>u.clearWatch(G),h)}else{const h=u.watchPosition(d,k);m.add(h)}}catch(h){k(h)}return()=>{for(const[u,h]of p)u(h),p.delete(u);for(const u of m)u(),m.delete(u)}}}),W=e.attach({source:L,effect(s){s==null||s()}});return e.sample({clock:f,target:M}),e.sample({clock:M.doneData,target:L}),e.sample({clock:$,target:W}),e.sample({clock:W.finally,target:L.reinit}),D.on(f,()=>!0).on($,()=>!1),{$location:B(o),$longitude:i,$latitude:l,request:g,watching:{start:f,stop:$,$active:B(D)},reporting:{failed:B(E)}}}V.browserProvider=x;function _(t,r){return t===x?globalThis.navigator&&"geolocation"in globalThis.navigator?globalThis.navigator.geolocation:null:O(t)?t:t(r??{})}function O(t){return"getCurrentPosition"in t&&"watchPosition"in t&&"clearWatch"in t}exports.trackGeolocation=V;exports.trackMediaQuery=N;exports.trackNetworkStatus=A;exports.trackPageVisibility=F;exports.trackPreferredLanguages=y;exports.trackScreenOrientation=C; |
+76
-0
@@ -5,2 +5,62 @@ import { Event as Event_2 } from 'effector'; | ||
| declare const BrowserProvider: unique symbol; | ||
| /** | ||
| * This type mimics GeolocationPositionError | ||
| * | ||
| * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPositionError} | ||
| */ | ||
| declare type CustomGeolocationError = { | ||
| code?: 'PERMISSION_DENIED' | 'POSITION_UNAVAILABLE' | 'TIMEOUT'; | ||
| message?: string; | ||
| raw?: unknown; | ||
| }; | ||
| /** | ||
| * This type mimics GeolocationPostion | ||
| * | ||
| * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPosition} | ||
| */ | ||
| declare type CustomGeolocationPosition = { | ||
| timestamp: number; | ||
| coords: { | ||
| latitude: number; | ||
| longitude: number; | ||
| accuracy?: number; | ||
| altitude?: number; | ||
| altitudeAccuracy?: number; | ||
| heading?: number; | ||
| speed?: number; | ||
| }; | ||
| }; | ||
| declare type CustomProvider = (params: GeolocationParams) => { | ||
| getCurrentPosition: () => Promise<CustomGeolocationPosition>; | ||
| watchPosition: (successCallback: (position: CustomGeolocationPosition) => void, errorCallback: (error: CustomGeolocationError) => void) => Unsubscribe; | ||
| }; | ||
| declare type Geolocation_2 = { | ||
| $location: Store<{ | ||
| latitude: number; | ||
| longitude: number; | ||
| } | null>; | ||
| $latitude: Store<number | null>; | ||
| $longitude: Store<number | null>; | ||
| request: EventCallable<void>; | ||
| watching: { | ||
| start: EventCallable<void>; | ||
| stop: EventCallable<void>; | ||
| $active: Store<boolean>; | ||
| }; | ||
| reporting: { | ||
| failed: Event_2<CustomGeolocationError | globalThis.GeolocationPositionError>; | ||
| }; | ||
| }; | ||
| declare type GeolocationParams = { | ||
| maximumAge?: number; | ||
| timeout?: number; | ||
| enableHighAccuracy?: boolean; | ||
| }; | ||
| declare type NetworkStatus = ({ setup, teardown }: Setupable) => { | ||
@@ -49,2 +109,10 @@ online: Event_2<void>; | ||
| export declare function trackGeolocation(params?: GeolocationParams & { | ||
| providers?: Array<typeof BrowserProvider | CustomProvider | globalThis.Geolocation> | Store<Array<typeof BrowserProvider | CustomProvider | globalThis.Geolocation>>; | ||
| }): Geolocation_2; | ||
| export declare namespace trackGeolocation { | ||
| var browserProvider: typeof BrowserProvider; | ||
| } | ||
| export declare function trackMediaQuery(mq: Query, c: Setupable): Result; | ||
@@ -78,2 +146,10 @@ | ||
| declare type Unsubscribe = () => void; | ||
| export { } | ||
| export declare namespace trackGeolocation { | ||
| var browserProvider: typeof BrowserProvider; | ||
| } | ||
+76
-0
@@ -5,2 +5,62 @@ import { Event as Event_2 } from 'effector'; | ||
| declare const BrowserProvider: unique symbol; | ||
| /** | ||
| * This type mimics GeolocationPositionError | ||
| * | ||
| * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPositionError} | ||
| */ | ||
| declare type CustomGeolocationError = { | ||
| code?: 'PERMISSION_DENIED' | 'POSITION_UNAVAILABLE' | 'TIMEOUT'; | ||
| message?: string; | ||
| raw?: unknown; | ||
| }; | ||
| /** | ||
| * This type mimics GeolocationPostion | ||
| * | ||
| * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPosition} | ||
| */ | ||
| declare type CustomGeolocationPosition = { | ||
| timestamp: number; | ||
| coords: { | ||
| latitude: number; | ||
| longitude: number; | ||
| accuracy?: number; | ||
| altitude?: number; | ||
| altitudeAccuracy?: number; | ||
| heading?: number; | ||
| speed?: number; | ||
| }; | ||
| }; | ||
| declare type CustomProvider = (params: GeolocationParams) => { | ||
| getCurrentPosition: () => Promise<CustomGeolocationPosition>; | ||
| watchPosition: (successCallback: (position: CustomGeolocationPosition) => void, errorCallback: (error: CustomGeolocationError) => void) => Unsubscribe; | ||
| }; | ||
| declare type Geolocation_2 = { | ||
| $location: Store<{ | ||
| latitude: number; | ||
| longitude: number; | ||
| } | null>; | ||
| $latitude: Store<number | null>; | ||
| $longitude: Store<number | null>; | ||
| request: EventCallable<void>; | ||
| watching: { | ||
| start: EventCallable<void>; | ||
| stop: EventCallable<void>; | ||
| $active: Store<boolean>; | ||
| }; | ||
| reporting: { | ||
| failed: Event_2<CustomGeolocationError | globalThis.GeolocationPositionError>; | ||
| }; | ||
| }; | ||
| declare type GeolocationParams = { | ||
| maximumAge?: number; | ||
| timeout?: number; | ||
| enableHighAccuracy?: boolean; | ||
| }; | ||
| declare type NetworkStatus = ({ setup, teardown }: Setupable) => { | ||
@@ -49,2 +109,10 @@ online: Event_2<void>; | ||
| export declare function trackGeolocation(params?: GeolocationParams & { | ||
| providers?: Array<typeof BrowserProvider | CustomProvider | globalThis.Geolocation> | Store<Array<typeof BrowserProvider | CustomProvider | globalThis.Geolocation>>; | ||
| }): Geolocation_2; | ||
| export declare namespace trackGeolocation { | ||
| var browserProvider: typeof BrowserProvider; | ||
| } | ||
| export declare function trackMediaQuery(mq: Query, c: Setupable): Result; | ||
@@ -78,2 +146,10 @@ | ||
| declare type Unsubscribe = () => void; | ||
| export { } | ||
| export declare namespace trackGeolocation { | ||
| var browserProvider: typeof BrowserProvider; | ||
| } | ||
+240
-120
@@ -1,49 +0,52 @@ | ||
| import { createEvent as l, createStore as d, createEffect as $, scopeBind as b, attach as E, sample as c, combine as z } from "effector"; | ||
| function g(n, t) { | ||
| import { createEvent as u, createStore as d, createEffect as H, scopeBind as E, attach as P, sample as c, combine as A, is as K } from "effector"; | ||
| function k(e, n) { | ||
| try { | ||
| const e = n(); | ||
| return e === void 0 ? t : e; | ||
| const t = e(); | ||
| return t === void 0 ? n : t; | ||
| } catch { | ||
| return t; | ||
| return n; | ||
| } | ||
| } | ||
| function v({ | ||
| add: n, | ||
| remove: t, | ||
| readPayload: e | ||
| }, a) { | ||
| const i = l(), o = d(null, { | ||
| function y({ | ||
| add: e, | ||
| remove: n, | ||
| readPayload: t | ||
| }, r) { | ||
| const a = u(), o = d(null, { | ||
| serialize: "ignore" | ||
| }), r = $(() => { | ||
| const u = b(i, { safe: !0 }); | ||
| let f = u; | ||
| return e && (f = () => u(e())), n(f), f; | ||
| }), s = E({ | ||
| }), i = H(() => { | ||
| const v = E(a, { safe: !0 }); | ||
| let h = v; | ||
| return t && (h = () => v(t())), e(h), h; | ||
| }), l = P({ | ||
| source: o, | ||
| effect(u) { | ||
| u && t(u); | ||
| effect(v) { | ||
| v && n(v); | ||
| } | ||
| }); | ||
| return c({ clock: a.setup, target: r }), c({ | ||
| clock: r.doneData, | ||
| return c({ clock: r.setup, target: i }), c({ | ||
| clock: i.doneData, | ||
| filter: Boolean, | ||
| target: o | ||
| }), a.teardown && c({ clock: a.teardown, target: s }), c({ clock: s.done, target: o.reinit }), i; | ||
| }), r.teardown && c({ clock: r.teardown, target: l }), c({ clock: l.done, target: o.reinit }), a; | ||
| } | ||
| const h = (n) => { | ||
| const t = d( | ||
| g(() => screen.orientation.type, null), | ||
| function B(e) { | ||
| return e.map((n) => n); | ||
| } | ||
| const T = (e) => { | ||
| const n = d( | ||
| k(() => screen.orientation.type, null), | ||
| { | ||
| serialize: "ignore" | ||
| } | ||
| ), e = d( | ||
| g(() => screen.orientation.angle, null), | ||
| ), t = d( | ||
| k(() => screen.orientation.angle, null), | ||
| { serialize: "ignore" } | ||
| ), a = t.map((r) => r === "landscape-primary" || r === "landscape-secondary"), i = t.map((r) => r === "portrait-primary" || r === "portrait-secondary"), o = v( | ||
| ), r = n.map((i) => i === "landscape-primary" || i === "landscape-secondary"), a = n.map((i) => i === "portrait-primary" || i === "portrait-secondary"), o = y( | ||
| { | ||
| add: (r) => screen.orientation.addEventListener("change", r), | ||
| remove: (r) => screen.orientation.removeEventListener("change", r), | ||
| add: (i) => screen.orientation.addEventListener("change", i), | ||
| remove: (i) => screen.orientation.removeEventListener("change", i), | ||
| readPayload: () => screen.orientation | ||
| }, | ||
| n | ||
| e | ||
| ); | ||
@@ -53,35 +56,35 @@ return c({ | ||
| fn: () => screen.orientation.type, | ||
| target: t | ||
| target: n | ||
| }), c({ | ||
| clock: o, | ||
| fn: () => screen.orientation.angle, | ||
| target: e | ||
| }), { $type: t, $angle: e, $portrait: i, $landscape: a }; | ||
| target: t | ||
| }), { $type: n, $angle: t, $portrait: a, $landscape: r }; | ||
| }; | ||
| h["@@trigger"] = () => { | ||
| const n = l(), t = l(), { $type: e } = h({ setup: n, teardown: t }), a = c({ | ||
| clock: e.updates, | ||
| T["@@trigger"] = () => { | ||
| const e = u(), n = u(), { $type: t } = T({ setup: e, teardown: n }), r = c({ | ||
| clock: t.updates, | ||
| fn: () => { | ||
| } | ||
| }); | ||
| return { setup: n, teardown: t, fired: a }; | ||
| return { setup: e, teardown: n, fired: r }; | ||
| }; | ||
| const w = (n) => { | ||
| const t = v( | ||
| const V = (e) => { | ||
| const n = y( | ||
| { | ||
| add: (s) => document.addEventListener("visibilitychange", s), | ||
| remove: (s) => document.removeEventListener("visibilitychange", s), | ||
| add: (l) => document.addEventListener("visibilitychange", l), | ||
| remove: (l) => document.removeEventListener("visibilitychange", l), | ||
| readPayload: () => document.visibilityState | ||
| }, | ||
| n | ||
| ), e = d( | ||
| g(() => document.visibilityState, "visible"), | ||
| e | ||
| ), t = d( | ||
| k(() => document.visibilityState, "visible"), | ||
| { serialize: "ignore" } | ||
| ).on(t, (s, u) => u), a = e.map((s) => s === "visible"), i = e.map((s) => s === "hidden"), o = c({ | ||
| clock: a.updates, | ||
| ).on(n, (l, v) => v), r = t.map((l) => l === "visible"), a = t.map((l) => l === "hidden"), o = c({ | ||
| clock: r.updates, | ||
| filter: Boolean, | ||
| fn: () => { | ||
| } | ||
| }), r = c({ | ||
| clock: i.updates, | ||
| }), i = c({ | ||
| clock: a.updates, | ||
| filter: Boolean, | ||
@@ -91,10 +94,10 @@ fn: () => { | ||
| }); | ||
| return { visible: o, hidden: r, $visible: a, $hidden: i }; | ||
| return { visible: o, hidden: i, $visible: r, $hidden: a }; | ||
| }; | ||
| w["@@trigger"] = () => { | ||
| const n = l(), t = l(), { visible: e } = w({ setup: n, teardown: t }); | ||
| return { setup: n, teardown: t, fired: e }; | ||
| V["@@trigger"] = () => { | ||
| const e = u(), n = u(), { visible: t } = V({ setup: e, teardown: n }); | ||
| return { setup: e, teardown: n, fired: t }; | ||
| }; | ||
| const k = (n) => { | ||
| const t = v( | ||
| const _ = (e) => { | ||
| const n = y( | ||
| { | ||
@@ -104,4 +107,4 @@ add: (o) => window.addEventListener("online", o), | ||
| }, | ||
| n | ||
| ), e = v( | ||
| e | ||
| ), t = y( | ||
| { | ||
@@ -111,95 +114,212 @@ add: (o) => window.addEventListener("offline", o), | ||
| }, | ||
| n | ||
| ), a = d( | ||
| g(() => navigator.onLine, !0), | ||
| e | ||
| ), r = d( | ||
| k(() => navigator.onLine, !0), | ||
| { serialize: "ignore" } | ||
| ).on(t, () => !0).on(e, () => !1), i = a.map((o) => !o); | ||
| return { online: t, offline: e, $offline: i, $online: a }; | ||
| ).on(n, () => !0).on(t, () => !1), a = r.map((o) => !o); | ||
| return { online: n, offline: t, $offline: a, $online: r }; | ||
| }; | ||
| k["@@trigger"] = () => { | ||
| const n = l(), t = l(), { online: e } = k({ setup: n, teardown: t }); | ||
| return { setup: n, teardown: t, fired: e }; | ||
| _["@@trigger"] = () => { | ||
| const e = u(), n = u(), { online: t } = _({ setup: e, teardown: n }); | ||
| return { setup: e, teardown: n, fired: t }; | ||
| }; | ||
| function y(n, t) { | ||
| if (typeof n == "string") { | ||
| if (t) | ||
| return p(n, t); | ||
| function G(e, n) { | ||
| if (typeof e == "string") { | ||
| if (n) | ||
| return x(e, n); | ||
| { | ||
| const e = (a) => p(n, a); | ||
| return e["@@trigger"] = () => { | ||
| const a = l(), i = l(), { matched: o } = p(n, { setup: a, teardown: i }); | ||
| return { setup: a, teardown: i, fired: o }; | ||
| }, e; | ||
| const t = (r) => x(e, r); | ||
| return t["@@trigger"] = () => { | ||
| const r = u(), a = u(), { matched: o } = x(e, { setup: r, teardown: a }); | ||
| return { setup: r, teardown: a, fired: o }; | ||
| }, t; | ||
| } | ||
| } else if (t) { | ||
| const e = {}; | ||
| for (const [a, i] of Object.entries(n)) | ||
| e[a] = y(i, t); | ||
| return e; | ||
| } else if (n) { | ||
| const t = {}; | ||
| for (const [r, a] of Object.entries(e)) | ||
| t[r] = G(a, n); | ||
| return t; | ||
| } else { | ||
| const e = {}; | ||
| for (const [a, i] of Object.entries(n)) | ||
| e[a] = (o) => y(i, o); | ||
| return e; | ||
| const t = {}; | ||
| for (const [r, a] of Object.entries(e)) | ||
| t[r] = (o) => G(a, o); | ||
| return t; | ||
| } | ||
| } | ||
| function p(n, t) { | ||
| const e = g(() => window.matchMedia(n), null), a = v( | ||
| function x(e, n) { | ||
| const t = k(() => window.matchMedia(e), null), r = y( | ||
| { | ||
| add: (r) => e == null ? void 0 : e.addEventListener("change", r), | ||
| remove: (r) => e == null ? void 0 : e.removeEventListener("change", r) | ||
| add: (i) => t == null ? void 0 : t.addEventListener("change", i), | ||
| remove: (i) => t == null ? void 0 : t.removeEventListener("change", i) | ||
| }, | ||
| t | ||
| ), i = d((e == null ? void 0 : e.matches) ?? !1, { | ||
| n | ||
| ), a = d((t == null ? void 0 : t.matches) ?? !1, { | ||
| serialize: "ignore" | ||
| }).on(a, (r, s) => s.matches), o = l(); | ||
| }).on(r, (i, l) => l.matches), o = u(); | ||
| return c({ | ||
| clock: [i.updates, t.setup], | ||
| filter: i, | ||
| clock: [a.updates, n.setup], | ||
| filter: a, | ||
| fn: () => { | ||
| }, | ||
| target: o | ||
| }), { $matches: i, matched: o }; | ||
| }), { $matches: a, matched: o }; | ||
| } | ||
| const L = d(null, { | ||
| const U = d(null, { | ||
| serialize: "ignore" | ||
| }), S = L.map((n) => n ? n.split(",").map((t) => { | ||
| var e; | ||
| return (e = t.split(";")[0]) == null ? void 0 : e.trim(); | ||
| }).filter((t) => t && t !== "*") : []), m = (n) => { | ||
| const t = d( | ||
| g(() => navigator.languages, []), | ||
| }), Q = U.map((e) => e ? e.split(",").map((n) => { | ||
| var t; | ||
| return (t = n.split(";")[0]) == null ? void 0 : t.trim(); | ||
| }).filter((n) => n && n !== "*") : []), D = (e) => { | ||
| const n = d( | ||
| k(() => navigator.languages, []), | ||
| { serialize: "ignore" } | ||
| ), e = v( | ||
| ), t = y( | ||
| { | ||
| add: (r) => window.addEventListener("languagechange", r), | ||
| remove: (r) => window.removeEventListener("languagechange", r), | ||
| add: (i) => window.addEventListener("languagechange", i), | ||
| remove: (i) => window.removeEventListener("languagechange", i), | ||
| readPayload: () => navigator.languages | ||
| }, | ||
| n | ||
| e | ||
| ); | ||
| c({ clock: e, target: t }); | ||
| const a = z( | ||
| { fromHeader: S, fromNavigator: t }, | ||
| ({ fromHeader: r, fromNavigator: s }) => r.length > 0 ? r : s | ||
| ), i = a.map( | ||
| (r) => r[0] ?? null | ||
| c({ clock: t, target: n }); | ||
| const r = A( | ||
| { fromHeader: Q, fromNavigator: n }, | ||
| ({ fromHeader: i, fromNavigator: l }) => i.length > 0 ? i : l | ||
| ), a = r.map( | ||
| (i) => i[0] ?? null | ||
| ), o = c({ | ||
| clock: e, | ||
| clock: t, | ||
| fn() { | ||
| } | ||
| }); | ||
| return { $languages: a, $language: i, languageChanged: o }; | ||
| return { $languages: r, $language: a, languageChanged: o }; | ||
| }; | ||
| m["@@trigger"] = () => { | ||
| const n = l(), t = l(), { languageChanged: e } = m({ setup: n, teardown: t }); | ||
| return { setup: n, teardown: t, fired: e }; | ||
| D["@@trigger"] = () => { | ||
| const e = u(), n = u(), { languageChanged: t } = D({ setup: e, teardown: n }); | ||
| return { setup: e, teardown: n, fired: t }; | ||
| }; | ||
| m.$acceptLanguageHeader = L; | ||
| D.$acceptLanguageHeader = U; | ||
| const W = Symbol("BrowserProvider"); | ||
| function J(e) { | ||
| let n; | ||
| const t = e == null ? void 0 : e.providers; | ||
| K.store(t) ? n = t : n = d(t ?? [W]); | ||
| const r = P({ | ||
| source: n, | ||
| effect(s) { | ||
| return s.map((f) => R(f, e)).filter(Boolean); | ||
| } | ||
| }), a = d( | ||
| null, | ||
| { serialize: "ignore" } | ||
| ).on(r.doneData, (s, f) => f), o = d(null), i = A( | ||
| o, | ||
| (s) => (s == null ? void 0 : s.longitude) ?? null | ||
| ), l = A( | ||
| o, | ||
| (s) => (s == null ? void 0 : s.latitude) ?? null | ||
| ), v = u(), h = u(), z = u(), O = d(!1), L = u(), S = u(); | ||
| c({ | ||
| clock: S, | ||
| fn: (s) => ({ latitude: s.coords.latitude, longitude: s.coords.longitude }), | ||
| target: o | ||
| }); | ||
| const C = P({ | ||
| source: a, | ||
| async effect(s) { | ||
| let f = null; | ||
| const $ = E(L, { safe: !0 }); | ||
| let w; | ||
| s ? w = s : w = await r(); | ||
| for (const p of w) | ||
| try { | ||
| N(p) ? f = await new Promise( | ||
| (m, g) => p.getCurrentPosition(m, g, e) | ||
| ) : f = await p.getCurrentPosition(); | ||
| } catch (m) { | ||
| $(m); | ||
| } | ||
| if (!f) | ||
| throw { | ||
| code: "POSITION_UNAVAILABLE", | ||
| message: "No available geolocation provider" | ||
| }; | ||
| return f; | ||
| } | ||
| }); | ||
| c({ clock: v, target: C }), c({ | ||
| clock: C.doneData, | ||
| target: S | ||
| }), c({ clock: C.failData, target: L }); | ||
| const F = d(null), I = P({ | ||
| source: a, | ||
| async effect(s) { | ||
| const f = E(S, { safe: !0 }), $ = E(L, { safe: !0 }); | ||
| let w; | ||
| s ? w = s : w = await r(); | ||
| const p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Set(); | ||
| for (const g of w) | ||
| try { | ||
| if (N(g)) { | ||
| const b = g.watchPosition( | ||
| f, | ||
| $, | ||
| e | ||
| ); | ||
| p.set( | ||
| (j) => g.clearWatch(j), | ||
| b | ||
| ); | ||
| } else { | ||
| const b = g.watchPosition( | ||
| f, | ||
| $ | ||
| ); | ||
| m.add(b); | ||
| } | ||
| } catch (b) { | ||
| $(b); | ||
| } | ||
| return () => { | ||
| for (const [g, b] of p) | ||
| g(b), p.delete(g); | ||
| for (const g of m) | ||
| g(), m.delete(g); | ||
| }; | ||
| } | ||
| }), M = P({ | ||
| source: F, | ||
| effect(s) { | ||
| s == null || s(); | ||
| } | ||
| }); | ||
| return c({ clock: h, target: I }), c({ clock: I.doneData, target: F }), c({ clock: z, target: M }), c({ clock: M.finally, target: F.reinit }), O.on(h, () => !0).on(z, () => !1), { | ||
| $location: B(o), | ||
| $longitude: i, | ||
| $latitude: l, | ||
| request: v, | ||
| watching: { | ||
| start: h, | ||
| stop: z, | ||
| $active: B(O) | ||
| }, | ||
| reporting: { | ||
| failed: B(L) | ||
| } | ||
| }; | ||
| } | ||
| J.browserProvider = W; | ||
| function R(e, n) { | ||
| return e === W ? globalThis.navigator && "geolocation" in globalThis.navigator ? globalThis.navigator.geolocation : null : N(e) ? e : e(n ?? {}); | ||
| } | ||
| function N(e) { | ||
| return "getCurrentPosition" in e && "watchPosition" in e && "clearWatch" in e; | ||
| } | ||
| export { | ||
| y as trackMediaQuery, | ||
| k as trackNetworkStatus, | ||
| w as trackPageVisibility, | ||
| m as trackPreferredLanguages, | ||
| h as trackScreenOrientation | ||
| J as trackGeolocation, | ||
| G as trackMediaQuery, | ||
| _ as trackNetworkStatus, | ||
| V as trackPageVisibility, | ||
| D as trackPreferredLanguages, | ||
| T as trackScreenOrientation | ||
| }; |
+3
-2
| { | ||
| "name": "@withease/web-api", | ||
| "version": "1.2.3", | ||
| "version": "1.3.0", | ||
| "license": "MIT", | ||
@@ -30,3 +30,3 @@ "peerDependencies": { | ||
| "path": "./dist/web-api.js", | ||
| "limit": "1.58 kB" | ||
| "limit": "2.49 kB" | ||
| } | ||
@@ -36,2 +36,3 @@ ], | ||
| "test:run": "vitest run --typecheck", | ||
| "test:watch": "vitest --typecheck", | ||
| "build": "vite build", | ||
@@ -38,0 +39,0 @@ "size": "size-limit", |
+1
-1
| # @withease/web-api | ||
| Read documentation [here](https://withease.pages.dev/web-api/). | ||
| Read documentation [here](https://withease.effector.dev/web-api/). |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
32149
56.96%493
68.26%