@ahoo-wang/fetcher-react 3.16.1 → 3.16.3
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/api/apiHooks.d.ts.map +1 -1
- package/dist/api/createExecuteApiHooks.d.ts +0 -6
- package/dist/api/createExecuteApiHooks.d.ts.map +1 -1
- package/dist/api/createQueryApiHooks.d.ts +7 -2
- package/dist/api/createQueryApiHooks.d.ts.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react/compiler-runtime`),require(`react`),require(`react/jsx-runtime`),require(`@ahoo-wang/fetcher-eventbus`),require(`immer`),require(`@ahoo-wang/fetcher`),require(`@ahoo-wang/fetcher-eventstream`),require(`@ahoo-wang/fetcher-storage`)):typeof define==`function`&&define.amd?define([`exports`,`react/compiler-runtime`,`react`,`react/jsx-runtime`,`@ahoo-wang/fetcher-eventbus`,`immer`,`@ahoo-wang/fetcher`,`@ahoo-wang/fetcher-eventstream`,`@ahoo-wang/fetcher-storage`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FetcherReact={},e.ReactCompilerRuntime,e.React,e.ReactJSXRuntime,e.FetcherEventBus,e.Immer,e.Fetcher,e.FetcherEventStream,e.FetcherStorage))})(this,function(e,t,n,r,i,a,o,s,c){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var l=Object.defineProperty,__name=(e,t)=>l(e,`name`,{value:t,configurable:!0});function methodNameToHookName(e){if(!e||e.length===0)throw Error(`Method name cannot be empty`);return`use${e.charAt(0).toUpperCase()+e.slice(1)}`}function collectMethods(e){let t=new Map,n=new Set,processObject=r=>{Object.getOwnPropertyNames(r).forEach(i=>{if(!n.has(i)&&i!==`constructor`){n.add(i);let a=r[i];typeof a==`function`&&t.set(i,a.bind(e))}})};processObject(e);let r=Object.getPrototypeOf(e);for(;r&&r!==Object.prototype;)processObject(r),r=Object.getPrototypeOf(r);return t}function useLatest(e){let t=(0,n.useRef)(e);return t.current=e,t}function useDebouncedCallback(e,r){let i=(0,t.c)(19);if(r.leading===!1&&r.trailing===!1)throw Error(`useDebouncedCallback: at least one of leading or trailing must be true`);let a=(0,n.useRef)(void 0),o=(0,n.useRef)(null),s=(0,n.useRef)(null),c=useLatest(e),l=useLatest(r),t0;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>{a.current!==void 0&&(clearTimeout(a.current),a.current=void 0)},i[0]=t0):t0=i[0];let u=t0,t1;i[1]===l?t1=i[2]:(t1=e=>s.current?e-s.current>=l.current.delay:!0,i[1]=l,i[2]=t1);let d=t1,t2;i[3]===c?t2=i[4]:(t2=(e,t)=>{s.current=e,c.current(...t)},i[3]=c,i[4]=t2);let f=t2,t3;i[5]!==f||i[6]!==l?(t3=()=>{a.current=setTimeout(()=>{o.current&&f(Date.now(),o.current),a.current=void 0},l.current.delay)},i[5]=f,i[6]=l,i[7]=t3):t3=i[7];let p=t3,t4;i[8]!==f||i[9]!==l||i[10]!==p||i[11]!==d?(t4=(...e)=>{let t=e;u();let{leading:n,trailing:r}=l.current,i=n===void 0?!1:n,a=r===void 0?!0:r;if(o.current=t,a&&!i){p();return}let s=Date.now();if(i&&d(s)){f(s,t);return}a&&p()},i[8]=f,i[9]=l,i[10]=p,i[11]=d,i[12]=t4):t4=i[12];let m=t4,t5;i[13]===Symbol.for(`react.memo_cache_sentinel`)?(t5=()=>{u(),o.current=null},i[13]=t5):t5=i[13];let h=t5,t6;i[14]===Symbol.for(`react.memo_cache_sentinel`)?(t6=()=>a.current!==void 0,i[14]=t6):t6=i[14];let g=t6,t7,_;i[15]===Symbol.for(`react.memo_cache_sentinel`)?(t7=()=>()=>{h()},_=[h],i[15]=t7,i[16]=_):(t7=i[15],_=i[16]),(0,n.useEffect)(t7,_);let v;return i[17]===m?v=i[18]:(v={run:m,cancel:h,isPending:g},i[17]=m,i[18]=v),v}function useMounted(){let e=(0,t.c)(3),r=(0,n.useRef)(!1),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>r.current,e[0]=t0):t0=e[0];let i=t0,t1,a;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>(r.current=!0,()=>{r.current=!1}),a=[],e[1]=t1,e[2]=a):(t1=e[1],a=e[2]),(0,n.useEffect)(t1,a),i}var u=function(e){return e.IDLE=`idle`,e.LOADING=`loading`,e.SUCCESS=`success`,e.ERROR=`error`,e}({});function usePromiseState(e){let[t,r]=(0,n.useState)(e?.initialStatus??u.IDLE),[i,a]=(0,n.useState)(void 0),[o,s]=(0,n.useState)(void 0),c=useMounted(),l=useLatest(e),d=(0,n.useCallback)(()=>{c()&&(r(u.LOADING),s(void 0))},[c]),f=(0,n.useCallback)(async e=>{if(c()){a(e),r(u.SUCCESS),s(void 0);try{await l.current?.onSuccess?.(e)}catch(e){console.warn(`PromiseState onSuccess callback error:`,e)}}},[c,l]),p=(0,n.useCallback)(async e=>{if(c()){s(e),r(u.ERROR),a(void 0);try{await l.current?.onError?.(e)}catch(e){console.warn(`PromiseState onError callback error:`,e)}}},[c,l]),m=(0,n.useCallback)(()=>{c()&&(r(u.IDLE),s(void 0),a(void 0))},[c]);return(0,n.useMemo)(()=>({status:t,loading:t===u.LOADING,result:i,error:o,setLoading:d,setSuccess:f,setError:p,setIdle:m}),[t,i,o,d,f,p,m])}function useRequestId(){let e=(0,t.c)(6),r=(0,n.useRef)(0),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>r.current+=1,e[0]=t0):t0=e[0];let i=t0,t1;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>r.current,e[1]=t1):t1=e[1];let a=t1,t2;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t2=e=>e===r.current,e[2]=t2):t2=e[2];let o=t2,t3;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t3=()=>{r.current+=1},e[3]=t3):t3=e[3];let s=t3,t4;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t4=()=>{r.current=0},e[4]=t4):t4=e[4];let c=t4,l;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l={generate:i,current:a,isLatest:o,invalidate:s,reset:c},e[5]=l):l=e[5],l}function useExecutePromise(e){let{loading:t,result:r,error:i,status:a,setLoading:o,setSuccess:s,setError:c,setIdle:l}=usePromiseState(e),u=useMounted(),d=useRequestId(),f=(0,n.useRef)(void 0),p=e?.propagateError,m=useLatest(e?.onAbort),h=(0,n.useCallback)(async()=>{try{await m.current?.()}catch(e){console.warn(`useExecutePromise onAbort callback error:`,e)}},[m]),g=(0,n.useCallback)(async e=>{f.current&&(f.current.abort(),await h());let t=new AbortController;f.current=t;let n=d.generate();o();try{let r=await e(t);u()&&d.isLatest(n)&&await s(r)}catch(e){if(e instanceof Error&&e.name===`AbortError`){u()&&l();return}if(u()&&d.isLatest(n)&&await c(e),p)throw e}finally{f.current===t&&(f.current=void 0)}},[o,s,c,l,u,d,p,h]),_=(0,n.useCallback)(()=>{u()&&l()},[l,u]),v=(0,n.useCallback)(async()=>{_(),f.current&&(f.current.abort(),f.current=void 0,await h())},[_,h]);return(0,n.useEffect)(()=>()=>{v()},[v]),(0,n.useMemo)(()=>({loading:t,result:r,error:i,status:a,execute:g,reset:_,abort:v}),[t,r,i,a,g,_,v])}function useDebouncedExecutePromise(e){let n=(0,t.c)(10),{loading:r,result:i,error:a,execute:o,reset:s,abort:c,status:l}=useExecutePromise(e),{run:u,cancel:d,isPending:f}=useDebouncedCallback(o,e.debounce),p;return n[0]!==c||n[1]!==d||n[2]!==a||n[3]!==f||n[4]!==r||n[5]!==s||n[6]!==i||n[7]!==u||n[8]!==l?(p={loading:r,result:i,error:a,status:l,reset:s,abort:c,run:u,cancel:d,isPending:f},n[0]=c,n[1]=d,n[2]=a,n[3]=f,n[4]=r,n[5]=s,n[6]=i,n[7]=u,n[8]=l,n[9]=p):p=n[9],p}function useDebouncedQuery(e){let r=(0,t.c)(22),i=e.autoExecute,a;r[0]===e?a=r[1]:(a={...e,autoExecute:!1},r[0]=e,r[1]=a);let{loading:o,result:s,error:c,status:l,execute:u,reset:d,abort:f,getQuery:p,setQuery:m}=useQuery(a),{run:h,cancel:g,isPending:_}=useDebouncedCallback(u,e.debounce),t1;r[2]!==i||r[3]!==h||r[4]!==m?(t1=e=>{m(e),i&&h()},r[2]=i,r[3]=h,r[4]=m,r[5]=t1):t1=r[5];let v=t1,t2,y;r[6]!==i||r[7]!==h?(t2=()=>{i&&h()},y=[h,i],r[6]=i,r[7]=h,r[8]=t2,r[9]=y):(t2=r[8],y=r[9]),(0,n.useEffect)(t2,y);let b;return r[10]!==f||r[11]!==g||r[12]!==c||r[13]!==p||r[14]!==_||r[15]!==o||r[16]!==d||r[17]!==s||r[18]!==h||r[19]!==v||r[20]!==l?(b={loading:o,result:s,error:c,status:l,reset:d,abort:f,getQuery:p,setQuery:v,run:h,cancel:g,isPending:_},r[10]=f,r[11]=g,r[12]=c,r[13]=p,r[14]=_,r[15]=o,r[16]=d,r[17]=s,r[18]=h,r[19]=v,r[20]=l,r[21]=b):b=r[21],b}function getFullscreenElement(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement}function isFullscreen(){return!!getFullscreenElement()}async function enterFullscreen(e){try{if(e.requestFullscreen)await e.requestFullscreen();else if(e.webkitRequestFullscreen)await e.webkitRequestFullscreen();else if(e.mozRequestFullScreen)await e.mozRequestFullScreen();else if(e.msRequestFullscreen)await e.msRequestFullscreen();else throw Error(`Fullscreen API not supported`)}catch(e){throw console.error(`Failed to enter fullscreen:`,e),e}}async function exitFullscreen(){try{if(document.exitFullscreen)await document.exitFullscreen();else if(document.webkitExitFullscreen)await document.webkitExitFullscreen();else if(document.mozCancelFullScreen)await document.mozCancelFullScreen();else if(document.msExitFullscreen)await document.msExitFullscreen();else throw Error(`Fullscreen API not supported`)}catch(e){throw console.error(`Failed to exit fullscreen:`,e),e}}function addFullscreenChangeListener(e){document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),document.addEventListener(`mozfullscreenchange`,e),document.addEventListener(`MSFullscreenChange`,e)}function removeFullscreenChangeListener(e){document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e),document.removeEventListener(`mozfullscreenchange`,e),document.removeEventListener(`MSFullscreenChange`,e)}function useFullscreen(e){let r=(0,t.c)(19),i;r[0]===e?i=r[1]:(i=e===void 0?{}:e,r[0]=e,r[1]=i);let{target:a}=i,o=(0,n.useRef)(null),t2;r[2]===a?t2=r[3]:(t2=()=>o.current??a?.current??document.documentElement,r[2]=a,r[3]=t2);let s=t2,[c,l]=(0,n.useState)(!1),t3;r[4]===s?t3=r[5]:(t3=()=>{l(getFullscreenElement()===s())},r[4]=s,r[5]=t3);let u=t3,t4,d;r[6]===u?(t4=r[7],d=r[8]):(t4=()=>(addFullscreenChangeListener(u),()=>{removeFullscreenChangeListener(u)}),d=[u],r[6]=u,r[7]=t4,r[8]=d),(0,n.useEffect)(t4,d);let t6;r[9]===s?t6=r[10]:(t6=async e=>{e!==void 0&&(o.current=e),await enterFullscreen(s())},r[9]=s,r[10]=t6);let f=t6,p=_temp$1,t7;r[11]!==f||r[12]!==c?(t7=async e=>{c?await p():await f(e)},r[11]=f,r[12]=c,r[13]=t7):t7=r[13];let m=t7,h;return r[14]!==f||r[15]!==c||r[16]!==s||r[17]!==m?(h={fullscreen:c,getTarget:s,toggle:m,enter:f,exit:p},r[14]=f,r[15]=c,r[16]=s,r[17]=m,r[18]=h):h=r[18],h}async function _temp$1(){await exitFullscreen()}__name(_temp$1,`_temp`);var d=(0,n.createContext)(void 0);function FullscreenProvider(e){let i=(0,t.c)(13),a,o,s;i[0]===e?(a=i[1],o=i[2],s=i[3]):({children:a,target:s,...o}=e,i[0]=e,i[1]=a,i[2]=o,i[3]=s);let c=(0,n.useRef)(null),l=s??c,u;i[4]!==o||i[5]!==l?(u={target:l,...o},i[4]=o,i[5]=l,i[6]=u):u=i[6];let f=useFullscreen(u),p=s?void 0:c,m;i[7]!==a||i[8]!==p?(m=(0,r.jsx)(`div`,{ref:p,children:a}),i[7]=a,i[8]=p,i[9]=m):m=i[9];let h;return i[10]!==f||i[11]!==m?(h=(0,r.jsx)(d.Provider,{value:f,children:m}),i[10]=f,i[11]=m,i[12]=h):h=i[12],h}function useFullscreenContext(){return(0,n.useContext)(d)}function useRefs(){let e=(0,n.useRef)(new Map),t=(0,n.useCallback)(t=>e.current.get(t),[]),r=(0,n.useCallback)((t,n)=>e.current.set(t,n),[]),i=(0,n.useCallback)(t=>e.current.has(t),[]),a=(0,n.useCallback)(t=>e.current.delete(t),[]),o=(0,n.useCallback)(()=>e.current.clear(),[]),s=(0,n.useCallback)(()=>e.current.keys(),[]),c=(0,n.useCallback)(()=>e.current.values(),[]),l=(0,n.useCallback)(()=>e.current.entries(),[]),u=(0,n.useCallback)(()=>e.current[Symbol.iterator](),[]),d=(0,n.useCallback)(t=>n=>{n?e.current.set(t,n):e.current.delete(t)},[]);return(0,n.useEffect)(()=>()=>{e.current.clear()},[]),(0,n.useMemo)(()=>({register:d,get:t,set:r,has:i,delete:a,clear:o,keys:s,values:c,entries:l,get size(){return e.current.size},[Symbol.iterator]:u}),[d,t,r,i,a,o,s,c,l,u])}function useForceUpdate(){let[,e]=(0,n.useReducer)(_temp,0);return e}function _temp(e){return e+1}function useQueryState(e){let r=(0,t.c)(12),{initialQuery:i,query:a,autoExecute:o,execute:s}=e,c=o===void 0?!0:o,l=(0,n.useRef)(a??i),t1;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>l.current,r[0]=t1):t1=r[0];let u=t1,t2;r[1]!==c||r[2]!==s?(t2=()=>{let e=u();c&&isValidateQuery(e)&&s(e)},r[1]=c,r[2]=s,r[3]=t2):t2=r[3];let d=t2,t3;r[4]===d?t3=r[5]:(t3=e=>{l.current=e,d()},r[4]=d,r[5]=t3);let f=t3,t4,p;r[6]!==d||r[7]!==a?(t4=()=>{isValidateQuery(a)&&(l.current=a),d()},p=[d,a],r[6]=d,r[7]=a,r[8]=t4,r[9]=p):(t4=r[8],p=r[9]),(0,n.useEffect)(t4,p);let m;return r[10]===f?m=r[11]:(m={getQuery:u,setQuery:f},r[10]=f,r[11]=m),m}function isValidateQuery(e){return e!==void 0}function useQuery(e){let n=(0,t.c)(21),r=useLatest(e),{loading:i,result:a,error:o,status:s,execute:c,reset:l,abort:u}=useExecutePromise(e),t0;n[0]!==r||n[1]!==c?(t0=e=>{let queryExecutor=async t=>r.current.execute(e,r.current.attributes,t);return c(queryExecutor)},n[0]=r,n[1]=c,n[2]=t0):t0=n[2];let d=t0,f;n[3]!==d||n[4]!==e.autoExecute||n[5]!==e.initialQuery||n[6]!==e.query?(f={initialQuery:e.initialQuery,query:e.query,autoExecute:e.autoExecute,execute:d},n[3]=d,n[4]=e.autoExecute,n[5]=e.initialQuery,n[6]=e.query,n[7]=f):f=n[7];let{getQuery:p,setQuery:m}=useQueryState(f),t2;n[8]!==d||n[9]!==p?(t2=async()=>{let e=p();if(isValidateQuery(e))return await d(e)},n[8]=d,n[9]=p,n[10]=t2):t2=n[10];let h=t2,g;return n[11]!==u||n[12]!==o||n[13]!==h||n[14]!==p||n[15]!==i||n[16]!==l||n[17]!==a||n[18]!==m||n[19]!==s?(g={loading:i,result:a,error:o,status:s,execute:h,reset:l,abort:u,getQuery:p,setQuery:m},n[11]=u,n[12]=o,n[13]=h,n[14]=p,n[15]=i,n[16]=l,n[17]=a,n[18]=m,n[19]=s,n[20]=g):g=n[20],g}function useApiMethodExecute(e,n){let r=(0,t.c)(10),i=useExecutePromise(n),a,o;r[0]===i?(a=r[1],o=r[2]):({execute:a,...o}=i,r[0]=i,r[1]=a,r[2]=o);let s=useLatest(n?.onBeforeExecute),t1;r[3]!==e||r[4]!==s||r[5]!==a?(t1=(...t)=>{let n=t;return a(t=>(s.current&&s.current(t,n),e(...n)))},r[3]=e,r[4]=s,r[5]=a,r[6]=t1):t1=r[6];let c=t1,l;return r[7]!==c||r[8]!==o?(l={...o,execute:c},r[7]=c,r[8]=o,r[9]=l):l=r[9],l}function createHookForMethod(e){return function useApiMethod(t){return useApiMethodExecute(e,t)}}function createExecuteApiHooks(e){let{api:t}=e,n={};return collectMethods(t).forEach((e,t)=>{let r=methodNameToHookName(t);n[r]=createHookForMethod(e)}),n}function createQueryHookForMethod(e){return function useApiMethodQuery(t){let r=useLatest(t?.onBeforeExecute),i=(0,n.useCallback)(async(t,n,i)=>(r.current&&r.current(i,t),e(t,n,i)),[r]);return useQuery({...t,execute:i})}}function createQueryApiHooks(e){let{api:t}=e,n={};return collectMethods(t).forEach((e,t)=>{let r=methodNameToHookName(t);n[r]=createQueryHookForMethod(e)}),n}function useKeyStorage(e,r){let a=(0,t.c)(13),t0;a[0]===e?t0=a[1]:(t0=t=>e.addListener({name:i.nameGenerator.generate(`useKeyStorage`),handle:t}),a[0]=e,a[1]=t0);let o=t0,t1;a[2]!==r||a[3]!==e?(t1=()=>{let t=e.get();return t===null?r??null:t},a[2]=r,a[3]=e,a[4]=t1):t1=a[4];let s=t1,c=(0,n.useSyncExternalStore)(o,s,s),t2;a[5]===e?t2=a[6]:(t2=t=>e.set(t),a[5]=e,a[6]=t2);let l=t2,t3;a[7]===e?t3=a[8]:(t3=()=>e.remove(),a[7]=e,a[8]=t3);let u=t3,d;return a[9]!==u||a[10]!==l||a[11]!==c?(d=[c,l,u],a[9]=u,a[10]=l,a[11]=c,a[12]=d):d=a[12],d}function useImmerKeyStorage(e,n){let r=(0,t.c)(8),[i,o,s]=useKeyStorage(e,n),t0;r[0]!==s||r[1]!==o||r[2]!==i?(t0=e=>{let t=(0,a.produce)(i,e);if(t===null){s();return}return o(t)},r[0]=s,r[1]=o,r[2]=i,r[3]=t0):t0=r[3];let c=t0,l;return r[4]!==s||r[5]!==c||r[6]!==i?(l=[i,c,s],r[4]=s,r[5]=c,r[6]=i,r[7]=l):l=r[7],l}var f={jti:``,sub:`anonymous`,iat:0,exp:0};function useSecurity(e,n){let r=(0,t.c)(13),i;r[0]===n?i=r[1]:(i=n===void 0?{}:n,r[0]=n,r[1]=i);let a=i,[o,,s]=useKeyStorage(e),c=useLatest(a),t2;r[2]!==c||r[3]!==e?(t2=async t=>{let n=typeof t==`function`?await t():t;e.signIn(n),c.current.onSignIn?.()},r[2]=c,r[3]=e,r[4]=t2):t2=r[4];let l=t2,t3;r[5]!==c||r[6]!==s?(t3=()=>{s(),c.current.onSignOut?.()},r[5]=c,r[6]=s,r[7]=t3):t3=r[7];let u=t3,d=o?.access?.payload??f,p=o?.authenticated??!1,m;return r[8]!==l||r[9]!==u||r[10]!==d||r[11]!==p?(m={currentUser:d,authenticated:p,signIn:l,signOut:u},r[8]=l,r[9]=u,r[10]=d,r[11]=p,r[12]=m):m=r[12],m}var p=(0,n.createContext)(void 0);function SecurityProvider(e){let n=(0,t.c)(7),i,a,o;n[0]===e?(i=n[1],a=n[2],o=n[3]):({tokenStorage:a,children:i,...o}=e,n[0]=e,n[1]=i,n[2]=a,n[3]=o);let s=useSecurity(a,o),c;return n[4]!==i||n[5]!==s?(c=(0,r.jsx)(p.Provider,{value:s,children:i}),n[4]=i,n[5]=s,n[6]=c):c=n[6],c}function useSecurityContext(){let e=(0,n.useContext)(p);if(!e)throw Error(`useSecurityContext must be used within a SecurityProvider`);return e}function RouteGuard(e){let n=(0,t.c)(2),{children:i,fallback:a,onUnauthorized:o}=e,{authenticated:s}=useSecurityContext();if(s){let e;return n[0]===i?e=n[1]:(e=(0,r.jsx)(r.Fragment,{children:i}),n[0]=i,n[1]=e),e}return o&&o(),a}function RefreshableRouteGuard(e){let i=(0,t.c)(14),{children:a,fallback:o,refreshing:s,tokenManager:c}=e,{authenticated:l}=useSecurityContext(),u=c.isRefreshNeeded&&c.isRefreshable,t1;i[0]!==u||i[1]!==c?(t1=async()=>{if(u)try{await c.refresh()}catch(e){console.error(e)}},i[0]=u,i[1]=c,i[2]=t1):t1=i[2];let d=t1,t2,f;if(i[3]===d?(t2=i[4],f=i[5]):(t2=()=>{d()},f=[d],i[3]=d,i[4]=t2,i[5]=f),(0,n.useEffect)(t2,f),l){let e;return i[6]===a?e=i[7]:(e=(0,r.jsx)(r.Fragment,{children:a}),i[6]=a,i[7]=e),e}if(!u){let e;return i[8]===o?e=i[9]:(e=(0,r.jsx)(r.Fragment,{children:o}),i[8]=o,i[9]=e),e}let p;i[10]===s?p=i[11]:(p=s??(0,r.jsx)(`p`,{children:`Refreshing...`}),i[10]=s,i[11]=p);let m=p,h;return i[12]===m?h=i[13]:(h=(0,r.jsx)(r.Fragment,{children:m}),i[12]=m,i[13]=h),h}function useFetcher(e){let r=(0,t.c)(21),i;r[0]===e?i=r[1]:(i=e||{},r[0]=e,r[1]=i);let{fetcher:a}=i,s=a===void 0?o.fetcherRegistrar.default:a,{loading:c,result:l,error:u,status:d,execute:f,reset:p,abort:m}=useExecutePromise(e),[h,g]=(0,n.useState)(void 0),_=useLatest(e),v;r[2]===s?v=r[3]:(v=(0,o.getFetcher)(s),r[2]=s,r[3]=v);let y=v,t3;r[4]!==y||r[5]!==_||r[6]!==f?(t3=async e=>{try{await f(async t=>{e.abortController=t;let n=await y.exchange(e,_.current);return g(n),await n.extractResult()})}catch(e){let t=e;throw g(void 0),t}},r[4]=y,r[5]=_,r[6]=f,r[7]=t3):t3=r[7];let b=t3,t4;r[8]===p?t4=r[9]:(t4=()=>{p(),g(void 0)},r[8]=p,r[9]=t4);let x=t4,t5;r[10]===m?t5=r[11]:(t5=()=>{m(),g(void 0)},r[10]=m,r[11]=t5);let S=t5,C;return r[12]!==S||r[13]!==u||r[14]!==h||r[15]!==b||r[16]!==c||r[17]!==x||r[18]!==l||r[19]!==d?(C={loading:c,result:l,error:u,status:d,exchange:h,execute:b,reset:x,abort:S},r[12]=S,r[13]=u,r[14]=h,r[15]=b,r[16]=c,r[17]=x,r[18]=l,r[19]=d,r[20]=C):C=r[20],C}function useDebouncedFetcher(e){let n=(0,t.c)(11),{loading:r,result:i,error:a,status:o,exchange:s,execute:c,reset:l,abort:u}=useFetcher(e),{run:d,cancel:f,isPending:p}=useDebouncedCallback(c,e.debounce),m;return n[0]!==u||n[1]!==f||n[2]!==a||n[3]!==s||n[4]!==p||n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==d||n[9]!==o?(m={loading:r,result:i,error:a,status:o,exchange:s,reset:l,abort:u,run:d,cancel:f,isPending:p},n[0]=u,n[1]=f,n[2]=a,n[3]=s,n[4]=p,n[5]=r,n[6]=l,n[7]=i,n[8]=d,n[9]=o,n[10]=m):m=n[10],m}function useDebouncedFetcherQuery(e){let r=(0,t.c)(22),i=e.autoExecute,a;r[0]===e?a=r[1]:(a={...e,autoExecute:!1},r[0]=e,r[1]=a);let{loading:o,result:s,error:c,status:l,execute:u,reset:d,abort:f,getQuery:p,setQuery:m}=useFetcherQuery(a),{run:h,cancel:g,isPending:_}=useDebouncedCallback(u,e.debounce),t1;r[2]!==i||r[3]!==h||r[4]!==m?(t1=e=>{m(e),i&&h()},r[2]=i,r[3]=h,r[4]=m,r[5]=t1):t1=r[5];let v=t1,t2,y;r[6]!==i||r[7]!==h?(t2=()=>{i&&h()},y=[h,i],r[6]=i,r[7]=h,r[8]=t2,r[9]=y):(t2=r[8],y=r[9]),(0,n.useEffect)(t2,y);let b;return r[10]!==f||r[11]!==g||r[12]!==c||r[13]!==p||r[14]!==_||r[15]!==o||r[16]!==d||r[17]!==s||r[18]!==h||r[19]!==v||r[20]!==l?(b={loading:o,result:s,error:c,status:l,reset:d,abort:f,getQuery:p,setQuery:v,run:h,cancel:g,isPending:_},r[10]=f,r[11]=g,r[12]=c,r[13]=p,r[14]=_,r[15]=o,r[16]=d,r[17]=s,r[18]=h,r[19]=v,r[20]=l,r[21]=b):b=r[21],b}function useFetcherQuery(e){let n=(0,t.c)(23),r;n[0]===e?r=n[1]:(r={resultExtractor:o.JsonResultExtractor,...e},n[0]=e,n[1]=r);let i=r,a=useLatest(i),{loading:s,result:c,error:l,status:u,execute:d,reset:f,abort:p}=useFetcher(i),t1;n[2]!==d||n[3]!==a?(t1=e=>d({url:a.current.url,method:`POST`,body:e}),n[2]=d,n[3]=a,n[4]=t1):t1=n[4];let m=t1,h;n[5]!==m||n[6]!==i.autoExecute||n[7]!==i.initialQuery||n[8]!==i.query?(h={initialQuery:i.initialQuery,query:i.query,autoExecute:i.autoExecute,execute:m},n[5]=m,n[6]=i.autoExecute,n[7]=i.initialQuery,n[8]=i.query,n[9]=h):h=n[9];let{getQuery:g,setQuery:_}=useQueryState(h),t3;n[10]!==m||n[11]!==g?(t3=async()=>{let e=g();if(isValidateQuery(e))return await m(e)},n[10]=m,n[11]=g,n[12]=t3):t3=n[12];let v=t3,y;return n[13]!==p||n[14]!==l||n[15]!==v||n[16]!==g||n[17]!==s||n[18]!==f||n[19]!==c||n[20]!==_||n[21]!==u?(y={loading:s,result:c,error:l,status:u,execute:v,reset:f,abort:p,getQuery:g,setQuery:_},n[13]=p,n[14]=l,n[15]=v,n[16]=g,n[17]=s,n[18]=f,n[19]=c,n[20]=_,n[21]=u,n[22]=y):y=n[22],y}function useFetcherCountQuery(e){return useFetcherQuery(e)}function useFetcherListQuery(e){return useFetcherQuery(e)}function useFetcherListStreamQuery(e){let n=(0,t.c)(2),r;return n[0]===e?r=n[1]:(r={...e,resultExtractor:s.JsonEventStreamResultExtractor},n[0]=e,n[1]=r),useFetcherQuery(r)}function useFetcherPagedQuery(e){return useFetcherQuery(e)}function useFetcherSingleQuery(e){return useFetcherQuery(e)}function useCountQuery(e){return useQuery(e)}function useListQuery(e){return useQuery(e)}function useListStreamQuery(e){return useQuery(e)}function usePagedQuery(e){return useQuery(e)}function useSingleQuery(e){return useQuery(e)}function useEventSubscription(e){let r=(0,t.c)(13),{bus:i,handler:a}=e,t0;r[0]!==i||r[1]!==a?(t0=()=>i.on(a),r[0]=i,r[1]=a,r[2]=t0):t0=r[2];let o=t0,t1;r[3]!==i||r[4]!==a.name?(t1=()=>i.off(a.name),r[3]=i,r[4]=a.name,r[5]=t1):t1=r[5];let s=t1,t2,c;r[6]!==i||r[7]!==a?(t2=()=>(i.on(a)||console.warn(`Failed to subscribe to event bus with handler: ${a.name}`),()=>{i.off(a.name)}),c=[i,a],r[6]=i,r[7]=a,r[8]=t2,r[9]=c):(t2=r[8],c=r[9]),(0,n.useEffect)(t2,c);let l;return r[10]!==o||r[11]!==s?(l={subscribe:o,unsubscribe:s},r[10]=o,r[11]=s,r[12]=l):l=r[12],l}var m=`browser`,BrowserNotificationChannel=class{async send(e){try{if(!this.isSupported())return;let t=window.Notification.permission;if(t===`default`&&(t=await this.requestPermission()),t!==`granted`){console.warn(`The user has not granted permission for notification`);return}let n=new Notification(e.title,e.payload);e.onClick&&n.addEventListener(`click`,e.onClick,{once:!0})}catch(e){console.error(`send notification failed.`,e);return}}requestPermission(){if(!this.isSupported())throw Error(`The browser is not supported notification service`);return Notification.requestPermission()}isSupported(){return`Notification`in window}},h=new BrowserNotificationChannel,g=class NotificationChannelRegistry{constructor(){this.registry=new Map}get types(){return Array.from(this.registry.keys())}get entries(){return Array.from(this.registry.entries())}get size(){return this.registry.size}has(e){return this.registry.has(e)}clear(){this.registry.clear()}register(e,t){if(this.registry.has(e))throw Error(`Channel for type ${e} already registered.`);this.registry.set(e,t)}unregister(e){this.registry.delete(e)}get(e){return this.registry.get(e)}static create(e=[]){let t=new NotificationChannelRegistry;return e.forEach(([e,n])=>t.register(e,n)),t}}.create([[m,h]]),_=`NOTIFICATION_CENTER_EVENT`,v=`NOTIFICATION_CENTER_EVENT_HANDLER`,beforeUnloadHandler=()=>{y.destroy()},NotificationCenter=class{constructor(){this.eventBus=new i.BroadcastTypedEventBus({delegate:new i.SerialTypedEventBus(_)}),this.eventBus.on({name:v,once:!1,handle:async e=>{await this.sendNotification(e.type,e.message)}})}async sendNotification(e,t){let n=g.get(e);if(!n)throw Error(`Channel ${e} is not registered`);await n.send(t)}publish(e,t){return this.eventBus.emit({type:e,message:t})}off(){this.eventBus.off(v)}destroy(){this.off(),this.eventBus.destroy()}},y=new NotificationCenter;window.addEventListener(`beforeunload`,beforeUnloadHandler);var b=new i.BroadcastTypedEventBus({delegate:new i.SerialTypedEventBus(`DATA_MONITOR_EVENT`)});function useDataMonitorEventBus(){let subscribe=e=>b.on(e),unsubscribe=e=>b.off(e);return{subscribe,unsubscribe}}var x={emit:e=>b.emit(e)},DataMonitorService=class{constructor(){this.monitoredViews=new Map,this.storage=new c.KeyStorage({key:`view:dataMonitor`,defaultValue:{}})}initialize(){let e=this.storage.get()||{};for(let[t,n]of Object.entries(e))n.enabled&&this.enable(t,n.countUrl,n.viewName,n.condition,n.notification||{title:``})}enable(e,t,n,r,i,a=3e4){this.monitoredViews.has(e)&&this.disable(e);let o={enabled:!0,countUrl:t,viewName:n,condition:r,notification:i,total:null,intervalId:null};this.monitoredViews.set(e,o),this.fetchAndCheck(e).then(),o.intervalId=window.setInterval(()=>{this.fetchAndCheck(e).then()},a),this.saveToStorage()}disable(e){let t=this.monitoredViews.get(e);t&&(t.intervalId!==null&&window.clearInterval(t.intervalId),this.monitoredViews.delete(e),this.saveToStorage())}updateCondition(e,t){let n=this.monitoredViews.get(e);n&&(n.condition=t,this.saveToStorage(),this.fetchAndCheck(e).then())}updateNotification(e,t){let n=this.monitoredViews.get(e);n&&(n.notification=t,this.saveToStorage())}isEnabled(e){return this.monitoredViews.has(e)}async fetchAndCheck(e){let t=this.monitoredViews.get(e);if(t)try{let n=await this.fetchCount(t.countUrl,t.condition),r=this.monitoredViews.get(e);if(!r)return;let i=r.total;i!==null&&i!==n?(r.total=n,this.notify(e,r.notification,n),await x.emit({type:`DATA_CHANGED`,viewId:e,viewName:r.viewName,previousTotal:i,currentTotal:n})):r.total=n}catch(t){console.error(`DataMonitor: failed to fetch count for ${e}`,t)}}async fetchCount(e,t){return await o.fetcher.post(e,{body:t},{resultExtractor:o.ResultExtractors.Json})}notify(e,t,n){let r={title:t.title,payload:{body:`当前共 ${n} 条数据`,icon:`/logo.png`},onClick:()=>{window.focus(),t.navigationUrl&&(window.location.href=t.navigationUrl)}};y.publish(`browser`,r)}saveToStorage(){let e={};this.monitoredViews.forEach((t,n)=>{e[n]={enabled:t.enabled,countUrl:t.countUrl,viewName:t.viewName,condition:t.condition,notification:t.notification}}),this.storage.set(e)}},S=new DataMonitorService;function useDataMonitor(e){let r=(0,t.c)(36),{viewId:i,countUrl:a,viewName:o,condition:s,notification:c,interval:l}=e,t0;r[0]===i?t0=r[1]:(t0=()=>S.isEnabled(i),r[0]=i,r[1]=t0);let[u,d]=(0,n.useState)(t0),f=(0,n.useRef)(i),t1,p;r[2]===i?(t1=r[3],p=r[4]):(t1=()=>{f.current=i},p=[i],r[2]=i,r[3]=t1,r[4]=p),(0,n.useEffect)(t1,p);let t3,m;r[5]===i?(t3=r[6],m=r[7]):(t3=()=>{d(S.isEnabled(i))},m=[i],r[5]=i,r[6]=t3,r[7]=m),(0,n.useEffect)(t3,m);let t5,h;r[8]!==s||r[9]!==i?(t5=()=>{S.isEnabled(i)&&S.updateCondition(i,s)},h=[i,s],r[8]=s,r[9]=i,r[10]=t5,r[11]=h):(t5=r[10],h=r[11]),(0,n.useEffect)(t5,h);let t7,g;r[12]!==c||r[13]!==i?(t7=()=>{S.isEnabled(i)&&S.updateNotification(i,c)},g=[i,c],r[12]=c,r[13]=i,r[14]=t7,r[15]=g):(t7=r[14],g=r[15]),(0,n.useEffect)(t7,g);let _,t9;r[16]===Symbol.for(`react.memo_cache_sentinel`)?(t9=()=>()=>{let e=f.current;S.isEnabled(e)&&S.disable(e)},_=[],r[16]=_,r[17]=t9):(_=r[16],t9=r[17]),(0,n.useEffect)(t9,_);let t11;r[18]!==s||r[19]!==a||r[20]!==l||r[21]!==c||r[22]!==i||r[23]!==o?(t11=()=>{S.enable(i,a,o,s,c,l),d(!0)},r[18]=s,r[19]=a,r[20]=l,r[21]=c,r[22]=i,r[23]=o,r[24]=t11):t11=r[24];let v=t11,t12;r[25]===i?t12=r[26]:(t12=()=>{S.disable(i),d(!1)},r[25]=i,r[26]=t12);let y=t12,t13;r[27]!==y||r[28]!==v||r[29]!==u?(t13=()=>{u?y():v()},r[27]=y,r[28]=v,r[29]=u,r[30]=t13):t13=r[30];let b=t13,x;return r[31]!==y||r[32]!==v||r[33]!==u||r[34]!==b?(x={isEnabled:u,enable:v,disable:y,toggle:b},r[31]=y,r[32]=v,r[33]=u,r[34]=b,r[35]=x):x=r[35],x}e.ANONYMOUS_USER=f,e.DataMonitorService=DataMonitorService,e.FullscreenContext=d,e.FullscreenProvider=FullscreenProvider,e.PromiseStatus=u,e.RefreshableRouteGuard=RefreshableRouteGuard,e.RouteGuard=RouteGuard,e.SecurityContext=p,e.SecurityProvider=SecurityProvider,e.addFullscreenChangeListener=addFullscreenChangeListener,e.collectMethods=collectMethods,e.createExecuteApiHooks=createExecuteApiHooks,e.createQueryApiHooks=createQueryApiHooks,e.dataMonitorEventBus=x,e.dataMonitorService=S,e.enterFullscreen=enterFullscreen,e.exitFullscreen=exitFullscreen,e.getFullscreenElement=getFullscreenElement,e.isFullscreen=isFullscreen,e.isValidateQuery=isValidateQuery,e.methodNameToHookName=methodNameToHookName,e.removeFullscreenChangeListener=removeFullscreenChangeListener,e.useCountQuery=useCountQuery,e.useDataMonitor=useDataMonitor,e.useDataMonitorEventBus=useDataMonitorEventBus,e.useDebouncedCallback=useDebouncedCallback,e.useDebouncedExecutePromise=useDebouncedExecutePromise,e.useDebouncedFetcher=useDebouncedFetcher,e.useDebouncedFetcherQuery=useDebouncedFetcherQuery,e.useDebouncedQuery=useDebouncedQuery,e.useEventSubscription=useEventSubscription,e.useExecutePromise=useExecutePromise,e.useFetcher=useFetcher,e.useFetcherCountQuery=useFetcherCountQuery,e.useFetcherListQuery=useFetcherListQuery,e.useFetcherListStreamQuery=useFetcherListStreamQuery,e.useFetcherPagedQuery=useFetcherPagedQuery,e.useFetcherQuery=useFetcherQuery,e.useFetcherSingleQuery=useFetcherSingleQuery,e.useForceUpdate=useForceUpdate,e.useFullscreen=useFullscreen,e.useFullscreenContext=useFullscreenContext,e.useImmerKeyStorage=useImmerKeyStorage,e.useKeyStorage=useKeyStorage,e.useLatest=useLatest,e.useListQuery=useListQuery,e.useListStreamQuery=useListStreamQuery,e.useMounted=useMounted,e.usePagedQuery=usePagedQuery,e.usePromiseState=usePromiseState,e.useQuery=useQuery,e.useQueryState=useQueryState,e.useRefs=useRefs,e.useRequestId=useRequestId,e.useSecurity=useSecurity,e.useSecurityContext=useSecurityContext,e.useSingleQuery=useSingleQuery});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react/compiler-runtime`),require(`react`),require(`react/jsx-runtime`),require(`@ahoo-wang/fetcher-eventbus`),require(`immer`),require(`@ahoo-wang/fetcher`),require(`@ahoo-wang/fetcher-eventstream`),require(`@ahoo-wang/fetcher-storage`)):typeof define==`function`&&define.amd?define([`exports`,`react/compiler-runtime`,`react`,`react/jsx-runtime`,`@ahoo-wang/fetcher-eventbus`,`immer`,`@ahoo-wang/fetcher`,`@ahoo-wang/fetcher-eventstream`,`@ahoo-wang/fetcher-storage`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FetcherReact={},e.ReactCompilerRuntime,e.React,e.ReactJSXRuntime,e.FetcherEventBus,e.Immer,e.Fetcher,e.FetcherEventStream,e.FetcherStorage))})(this,function(e,t,n,r,i,a,o,s,c){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var l=Object.defineProperty,__name=(e,t)=>l(e,`name`,{value:t,configurable:!0});function methodNameToHookName(e){if(!e||e.length===0)throw Error(`Method name cannot be empty`);return`use${e.charAt(0).toUpperCase()+e.slice(1)}`}function collectMethods(e){let t=new Map,n=new Set,processObject=r=>{Object.getOwnPropertyNames(r).forEach(i=>{if(!n.has(i)&&i!==`constructor`){n.add(i);let a=r[i];typeof a==`function`&&t.set(i,a.bind(e))}})};processObject(e);let r=Object.getPrototypeOf(e);for(;r&&r!==Object.prototype;)processObject(r),r=Object.getPrototypeOf(r);return t}function useLatest(e){let t=(0,n.useRef)(e);return t.current=e,t}function useDebouncedCallback(e,r){let i=(0,t.c)(19);if(r.leading===!1&&r.trailing===!1)throw Error(`useDebouncedCallback: at least one of leading or trailing must be true`);let a=(0,n.useRef)(void 0),o=(0,n.useRef)(null),s=(0,n.useRef)(null),c=useLatest(e),l=useLatest(r),t0;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>{a.current!==void 0&&(clearTimeout(a.current),a.current=void 0)},i[0]=t0):t0=i[0];let u=t0,t1;i[1]===l?t1=i[2]:(t1=e=>s.current?e-s.current>=l.current.delay:!0,i[1]=l,i[2]=t1);let d=t1,t2;i[3]===c?t2=i[4]:(t2=(e,t)=>{s.current=e,c.current(...t)},i[3]=c,i[4]=t2);let f=t2,t3;i[5]!==f||i[6]!==l?(t3=()=>{a.current=setTimeout(()=>{o.current&&f(Date.now(),o.current),a.current=void 0},l.current.delay)},i[5]=f,i[6]=l,i[7]=t3):t3=i[7];let p=t3,t4;i[8]!==f||i[9]!==l||i[10]!==p||i[11]!==d?(t4=(...e)=>{let t=e;u();let{leading:n,trailing:r}=l.current,i=n===void 0?!1:n,a=r===void 0?!0:r;if(o.current=t,a&&!i){p();return}let s=Date.now();if(i&&d(s)){f(s,t);return}a&&p()},i[8]=f,i[9]=l,i[10]=p,i[11]=d,i[12]=t4):t4=i[12];let m=t4,t5;i[13]===Symbol.for(`react.memo_cache_sentinel`)?(t5=()=>{u(),o.current=null},i[13]=t5):t5=i[13];let h=t5,t6;i[14]===Symbol.for(`react.memo_cache_sentinel`)?(t6=()=>a.current!==void 0,i[14]=t6):t6=i[14];let g=t6,t7,_;i[15]===Symbol.for(`react.memo_cache_sentinel`)?(t7=()=>()=>{h()},_=[h],i[15]=t7,i[16]=_):(t7=i[15],_=i[16]),(0,n.useEffect)(t7,_);let v;return i[17]===m?v=i[18]:(v={run:m,cancel:h,isPending:g},i[17]=m,i[18]=v),v}function useMounted(){let e=(0,t.c)(3),r=(0,n.useRef)(!1),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>r.current,e[0]=t0):t0=e[0];let i=t0,t1,a;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>(r.current=!0,()=>{r.current=!1}),a=[],e[1]=t1,e[2]=a):(t1=e[1],a=e[2]),(0,n.useEffect)(t1,a),i}var u=function(e){return e.IDLE=`idle`,e.LOADING=`loading`,e.SUCCESS=`success`,e.ERROR=`error`,e}({});function usePromiseState(e){let[t,r]=(0,n.useState)(e?.initialStatus??u.IDLE),[i,a]=(0,n.useState)(void 0),[o,s]=(0,n.useState)(void 0),c=useMounted(),l=useLatest(e),d=(0,n.useCallback)(()=>{c()&&(r(u.LOADING),s(void 0))},[c]),f=(0,n.useCallback)(async e=>{if(c()){a(e),r(u.SUCCESS),s(void 0);try{await l.current?.onSuccess?.(e)}catch(e){console.warn(`PromiseState onSuccess callback error:`,e)}}},[c,l]),p=(0,n.useCallback)(async e=>{if(c()){s(e),r(u.ERROR),a(void 0);try{await l.current?.onError?.(e)}catch(e){console.warn(`PromiseState onError callback error:`,e)}}},[c,l]),m=(0,n.useCallback)(()=>{c()&&(r(u.IDLE),s(void 0),a(void 0))},[c]);return(0,n.useMemo)(()=>({status:t,loading:t===u.LOADING,result:i,error:o,setLoading:d,setSuccess:f,setError:p,setIdle:m}),[t,i,o,d,f,p,m])}function useRequestId(){let e=(0,t.c)(6),r=(0,n.useRef)(0),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>r.current+=1,e[0]=t0):t0=e[0];let i=t0,t1;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>r.current,e[1]=t1):t1=e[1];let a=t1,t2;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t2=e=>e===r.current,e[2]=t2):t2=e[2];let o=t2,t3;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t3=()=>{r.current+=1},e[3]=t3):t3=e[3];let s=t3,t4;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t4=()=>{r.current=0},e[4]=t4):t4=e[4];let c=t4,l;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l={generate:i,current:a,isLatest:o,invalidate:s,reset:c},e[5]=l):l=e[5],l}function useExecutePromise(e){let{loading:t,result:r,error:i,status:a,setLoading:o,setSuccess:s,setError:c,setIdle:l}=usePromiseState(e),u=useMounted(),d=useRequestId(),f=(0,n.useRef)(void 0),p=e?.propagateError,m=useLatest(e?.onAbort),h=(0,n.useCallback)(async()=>{try{await m.current?.()}catch(e){console.warn(`useExecutePromise onAbort callback error:`,e)}},[m]),g=(0,n.useCallback)(async e=>{f.current&&(f.current.abort(),await h());let t=new AbortController;f.current=t;let n=d.generate();o();try{let r=await e(t);u()&&d.isLatest(n)&&await s(r)}catch(e){if(e instanceof Error&&e.name===`AbortError`){u()&&l();return}if(u()&&d.isLatest(n)&&await c(e),p)throw e}finally{f.current===t&&(f.current=void 0)}},[o,s,c,l,u,d,p,h]),_=(0,n.useCallback)(()=>{u()&&l()},[l,u]),v=(0,n.useCallback)(async()=>{_(),f.current&&(f.current.abort(),f.current=void 0,await h())},[_,h]);return(0,n.useEffect)(()=>()=>{v()},[v]),(0,n.useMemo)(()=>({loading:t,result:r,error:i,status:a,execute:g,reset:_,abort:v}),[t,r,i,a,g,_,v])}function useDebouncedExecutePromise(e){let n=(0,t.c)(10),{loading:r,result:i,error:a,execute:o,reset:s,abort:c,status:l}=useExecutePromise(e),{run:u,cancel:d,isPending:f}=useDebouncedCallback(o,e.debounce),p;return n[0]!==c||n[1]!==d||n[2]!==a||n[3]!==f||n[4]!==r||n[5]!==s||n[6]!==i||n[7]!==u||n[8]!==l?(p={loading:r,result:i,error:a,status:l,reset:s,abort:c,run:u,cancel:d,isPending:f},n[0]=c,n[1]=d,n[2]=a,n[3]=f,n[4]=r,n[5]=s,n[6]=i,n[7]=u,n[8]=l,n[9]=p):p=n[9],p}function useDebouncedQuery(e){let r=(0,t.c)(22),i=e.autoExecute,a;r[0]===e?a=r[1]:(a={...e,autoExecute:!1},r[0]=e,r[1]=a);let{loading:o,result:s,error:c,status:l,execute:u,reset:d,abort:f,getQuery:p,setQuery:m}=useQuery(a),{run:h,cancel:g,isPending:_}=useDebouncedCallback(u,e.debounce),t1;r[2]!==i||r[3]!==h||r[4]!==m?(t1=e=>{m(e),i&&h()},r[2]=i,r[3]=h,r[4]=m,r[5]=t1):t1=r[5];let v=t1,t2,y;r[6]!==i||r[7]!==h?(t2=()=>{i&&h()},y=[h,i],r[6]=i,r[7]=h,r[8]=t2,r[9]=y):(t2=r[8],y=r[9]),(0,n.useEffect)(t2,y);let b;return r[10]!==f||r[11]!==g||r[12]!==c||r[13]!==p||r[14]!==_||r[15]!==o||r[16]!==d||r[17]!==s||r[18]!==h||r[19]!==v||r[20]!==l?(b={loading:o,result:s,error:c,status:l,reset:d,abort:f,getQuery:p,setQuery:v,run:h,cancel:g,isPending:_},r[10]=f,r[11]=g,r[12]=c,r[13]=p,r[14]=_,r[15]=o,r[16]=d,r[17]=s,r[18]=h,r[19]=v,r[20]=l,r[21]=b):b=r[21],b}function getFullscreenElement(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement}function isFullscreen(){return!!getFullscreenElement()}async function enterFullscreen(e){try{if(e.requestFullscreen)await e.requestFullscreen();else if(e.webkitRequestFullscreen)await e.webkitRequestFullscreen();else if(e.mozRequestFullScreen)await e.mozRequestFullScreen();else if(e.msRequestFullscreen)await e.msRequestFullscreen();else throw Error(`Fullscreen API not supported`)}catch(e){throw console.error(`Failed to enter fullscreen:`,e),e}}async function exitFullscreen(){try{if(document.exitFullscreen)await document.exitFullscreen();else if(document.webkitExitFullscreen)await document.webkitExitFullscreen();else if(document.mozCancelFullScreen)await document.mozCancelFullScreen();else if(document.msExitFullscreen)await document.msExitFullscreen();else throw Error(`Fullscreen API not supported`)}catch(e){throw console.error(`Failed to exit fullscreen:`,e),e}}function addFullscreenChangeListener(e){document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),document.addEventListener(`mozfullscreenchange`,e),document.addEventListener(`MSFullscreenChange`,e)}function removeFullscreenChangeListener(e){document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e),document.removeEventListener(`mozfullscreenchange`,e),document.removeEventListener(`MSFullscreenChange`,e)}function useFullscreen(e){let r=(0,t.c)(19),i;r[0]===e?i=r[1]:(i=e===void 0?{}:e,r[0]=e,r[1]=i);let{target:a}=i,o=(0,n.useRef)(null),t2;r[2]===a?t2=r[3]:(t2=()=>o.current??a?.current??document.documentElement,r[2]=a,r[3]=t2);let s=t2,[c,l]=(0,n.useState)(!1),t3;r[4]===s?t3=r[5]:(t3=()=>{l(getFullscreenElement()===s())},r[4]=s,r[5]=t3);let u=t3,t4,d;r[6]===u?(t4=r[7],d=r[8]):(t4=()=>(addFullscreenChangeListener(u),()=>{removeFullscreenChangeListener(u)}),d=[u],r[6]=u,r[7]=t4,r[8]=d),(0,n.useEffect)(t4,d);let t6;r[9]===s?t6=r[10]:(t6=async e=>{e!==void 0&&(o.current=e),await enterFullscreen(s())},r[9]=s,r[10]=t6);let f=t6,p=_temp$1,t7;r[11]!==f||r[12]!==c?(t7=async e=>{c?await p():await f(e)},r[11]=f,r[12]=c,r[13]=t7):t7=r[13];let m=t7,h;return r[14]!==f||r[15]!==c||r[16]!==s||r[17]!==m?(h={fullscreen:c,getTarget:s,toggle:m,enter:f,exit:p},r[14]=f,r[15]=c,r[16]=s,r[17]=m,r[18]=h):h=r[18],h}async function _temp$1(){await exitFullscreen()}__name(_temp$1,`_temp`);var d=(0,n.createContext)(void 0);function FullscreenProvider(e){let i=(0,t.c)(13),a,o,s;i[0]===e?(a=i[1],o=i[2],s=i[3]):({children:a,target:s,...o}=e,i[0]=e,i[1]=a,i[2]=o,i[3]=s);let c=(0,n.useRef)(null),l=s??c,u;i[4]!==o||i[5]!==l?(u={target:l,...o},i[4]=o,i[5]=l,i[6]=u):u=i[6];let f=useFullscreen(u),p=s?void 0:c,m;i[7]!==a||i[8]!==p?(m=(0,r.jsx)(`div`,{ref:p,children:a}),i[7]=a,i[8]=p,i[9]=m):m=i[9];let h;return i[10]!==f||i[11]!==m?(h=(0,r.jsx)(d.Provider,{value:f,children:m}),i[10]=f,i[11]=m,i[12]=h):h=i[12],h}function useFullscreenContext(){return(0,n.useContext)(d)}function useRefs(){let e=(0,n.useRef)(new Map),t=(0,n.useCallback)(t=>e.current.get(t),[]),r=(0,n.useCallback)((t,n)=>e.current.set(t,n),[]),i=(0,n.useCallback)(t=>e.current.has(t),[]),a=(0,n.useCallback)(t=>e.current.delete(t),[]),o=(0,n.useCallback)(()=>e.current.clear(),[]),s=(0,n.useCallback)(()=>e.current.keys(),[]),c=(0,n.useCallback)(()=>e.current.values(),[]),l=(0,n.useCallback)(()=>e.current.entries(),[]),u=(0,n.useCallback)(()=>e.current[Symbol.iterator](),[]),d=(0,n.useCallback)(t=>n=>{n?e.current.set(t,n):e.current.delete(t)},[]);return(0,n.useEffect)(()=>()=>{e.current.clear()},[]),(0,n.useMemo)(()=>({register:d,get:t,set:r,has:i,delete:a,clear:o,keys:s,values:c,entries:l,get size(){return e.current.size},[Symbol.iterator]:u}),[d,t,r,i,a,o,s,c,l,u])}function useForceUpdate(){let[,e]=(0,n.useReducer)(_temp,0);return e}function _temp(e){return e+1}function useQueryState(e){let r=(0,t.c)(12),{initialQuery:i,query:a,autoExecute:o,execute:s}=e,c=o===void 0?!0:o,l=(0,n.useRef)(a??i),t1;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>l.current,r[0]=t1):t1=r[0];let u=t1,t2;r[1]!==c||r[2]!==s?(t2=()=>{let e=u();c&&isValidateQuery(e)&&s(e)},r[1]=c,r[2]=s,r[3]=t2):t2=r[3];let d=t2,t3;r[4]===d?t3=r[5]:(t3=e=>{l.current=e,d()},r[4]=d,r[5]=t3);let f=t3,t4,p;r[6]!==d||r[7]!==a?(t4=()=>{isValidateQuery(a)&&(l.current=a),d()},p=[d,a],r[6]=d,r[7]=a,r[8]=t4,r[9]=p):(t4=r[8],p=r[9]),(0,n.useEffect)(t4,p);let m;return r[10]===f?m=r[11]:(m={getQuery:u,setQuery:f},r[10]=f,r[11]=m),m}function isValidateQuery(e){return e!==void 0}function useQuery(e){let n=(0,t.c)(21),r=useLatest(e),{loading:i,result:a,error:o,status:s,execute:c,reset:l,abort:u}=useExecutePromise(e),t0;n[0]!==r||n[1]!==c?(t0=e=>{let queryExecutor=async t=>r.current.execute(e,r.current.attributes,t);return c(queryExecutor)},n[0]=r,n[1]=c,n[2]=t0):t0=n[2];let d=t0,f;n[3]!==d||n[4]!==e.autoExecute||n[5]!==e.initialQuery||n[6]!==e.query?(f={initialQuery:e.initialQuery,query:e.query,autoExecute:e.autoExecute,execute:d},n[3]=d,n[4]=e.autoExecute,n[5]=e.initialQuery,n[6]=e.query,n[7]=f):f=n[7];let{getQuery:p,setQuery:m}=useQueryState(f),t2;n[8]!==d||n[9]!==p?(t2=async()=>{let e=p();if(isValidateQuery(e))return await d(e)},n[8]=d,n[9]=p,n[10]=t2):t2=n[10];let h=t2,g;return n[11]!==u||n[12]!==o||n[13]!==h||n[14]!==p||n[15]!==i||n[16]!==l||n[17]!==a||n[18]!==m||n[19]!==s?(g={loading:i,result:a,error:o,status:s,execute:h,reset:l,abort:u,getQuery:p,setQuery:m},n[11]=u,n[12]=o,n[13]=h,n[14]=p,n[15]=i,n[16]=l,n[17]=a,n[18]=m,n[19]=s,n[20]=g):g=n[20],g}function useApiMethodExecute(e,n){let r=(0,t.c)(10),i=useExecutePromise(n),a,o;r[0]===i?(a=r[1],o=r[2]):({execute:a,...o}=i,r[0]=i,r[1]=a,r[2]=o);let s=useLatest(n?.onBeforeExecute),t1;r[3]!==e||r[4]!==s||r[5]!==a?(t1=(...t)=>{let n=t;return a(t=>(s.current&&s.current(t,n),e(...n)))},r[3]=e,r[4]=s,r[5]=a,r[6]=t1):t1=r[6];let c=t1,l;return r[7]!==c||r[8]!==o?(l={...o,execute:c},r[7]=c,r[8]=o,r[9]=l):l=r[9],l}function createHookForMethod(e){return function useApiMethod(t){return useApiMethodExecute(e,t)}}function createExecuteApiHooks(e){let{api:t}=e,n={};return collectMethods(t).forEach((e,t)=>{let r=methodNameToHookName(t);n[r]=createHookForMethod(e)}),n}function createQueryHookForMethod(e){return function useApiMethodQuery(t){let r=useLatest(t?.onBeforeExecute),i=(0,n.useCallback)(async(t,n,i)=>(r.current&&r.current(i,t),e(t,n,i)),[e,r]);return useQuery({...t,execute:i})}}function createQueryApiHooks(e){let{api:t}=e,n={};return collectMethods(t).forEach((e,t)=>{let r=methodNameToHookName(t);n[r]=createQueryHookForMethod(e)}),n}function useKeyStorage(e,r){let a=(0,t.c)(13),t0;a[0]===e?t0=a[1]:(t0=t=>e.addListener({name:i.nameGenerator.generate(`useKeyStorage`),handle:t}),a[0]=e,a[1]=t0);let o=t0,t1;a[2]!==r||a[3]!==e?(t1=()=>{let t=e.get();return t===null?r??null:t},a[2]=r,a[3]=e,a[4]=t1):t1=a[4];let s=t1,c=(0,n.useSyncExternalStore)(o,s,s),t2;a[5]===e?t2=a[6]:(t2=t=>e.set(t),a[5]=e,a[6]=t2);let l=t2,t3;a[7]===e?t3=a[8]:(t3=()=>e.remove(),a[7]=e,a[8]=t3);let u=t3,d;return a[9]!==u||a[10]!==l||a[11]!==c?(d=[c,l,u],a[9]=u,a[10]=l,a[11]=c,a[12]=d):d=a[12],d}function useImmerKeyStorage(e,n){let r=(0,t.c)(8),[i,o,s]=useKeyStorage(e,n),t0;r[0]!==s||r[1]!==o||r[2]!==i?(t0=e=>{let t=(0,a.produce)(i,e);if(t===null){s();return}return o(t)},r[0]=s,r[1]=o,r[2]=i,r[3]=t0):t0=r[3];let c=t0,l;return r[4]!==s||r[5]!==c||r[6]!==i?(l=[i,c,s],r[4]=s,r[5]=c,r[6]=i,r[7]=l):l=r[7],l}var f={jti:``,sub:`anonymous`,iat:0,exp:0};function useSecurity(e,n){let r=(0,t.c)(13),i;r[0]===n?i=r[1]:(i=n===void 0?{}:n,r[0]=n,r[1]=i);let a=i,[o,,s]=useKeyStorage(e),c=useLatest(a),t2;r[2]!==c||r[3]!==e?(t2=async t=>{let n=typeof t==`function`?await t():t;e.signIn(n),c.current.onSignIn?.()},r[2]=c,r[3]=e,r[4]=t2):t2=r[4];let l=t2,t3;r[5]!==c||r[6]!==s?(t3=()=>{s(),c.current.onSignOut?.()},r[5]=c,r[6]=s,r[7]=t3):t3=r[7];let u=t3,d=o?.access?.payload??f,p=o?.authenticated??!1,m;return r[8]!==l||r[9]!==u||r[10]!==d||r[11]!==p?(m={currentUser:d,authenticated:p,signIn:l,signOut:u},r[8]=l,r[9]=u,r[10]=d,r[11]=p,r[12]=m):m=r[12],m}var p=(0,n.createContext)(void 0);function SecurityProvider(e){let n=(0,t.c)(7),i,a,o;n[0]===e?(i=n[1],a=n[2],o=n[3]):({tokenStorage:a,children:i,...o}=e,n[0]=e,n[1]=i,n[2]=a,n[3]=o);let s=useSecurity(a,o),c;return n[4]!==i||n[5]!==s?(c=(0,r.jsx)(p.Provider,{value:s,children:i}),n[4]=i,n[5]=s,n[6]=c):c=n[6],c}function useSecurityContext(){let e=(0,n.useContext)(p);if(!e)throw Error(`useSecurityContext must be used within a SecurityProvider`);return e}function RouteGuard(e){let n=(0,t.c)(2),{children:i,fallback:a,onUnauthorized:o}=e,{authenticated:s}=useSecurityContext();if(s){let e;return n[0]===i?e=n[1]:(e=(0,r.jsx)(r.Fragment,{children:i}),n[0]=i,n[1]=e),e}return o&&o(),a}function RefreshableRouteGuard(e){let i=(0,t.c)(14),{children:a,fallback:o,refreshing:s,tokenManager:c}=e,{authenticated:l}=useSecurityContext(),u=c.isRefreshNeeded&&c.isRefreshable,t1;i[0]!==u||i[1]!==c?(t1=async()=>{if(u)try{await c.refresh()}catch(e){console.error(e)}},i[0]=u,i[1]=c,i[2]=t1):t1=i[2];let d=t1,t2,f;if(i[3]===d?(t2=i[4],f=i[5]):(t2=()=>{d()},f=[d],i[3]=d,i[4]=t2,i[5]=f),(0,n.useEffect)(t2,f),l){let e;return i[6]===a?e=i[7]:(e=(0,r.jsx)(r.Fragment,{children:a}),i[6]=a,i[7]=e),e}if(!u){let e;return i[8]===o?e=i[9]:(e=(0,r.jsx)(r.Fragment,{children:o}),i[8]=o,i[9]=e),e}let p;i[10]===s?p=i[11]:(p=s??(0,r.jsx)(`p`,{children:`Refreshing...`}),i[10]=s,i[11]=p);let m=p,h;return i[12]===m?h=i[13]:(h=(0,r.jsx)(r.Fragment,{children:m}),i[12]=m,i[13]=h),h}function useFetcher(e){let r=(0,t.c)(21),i;r[0]===e?i=r[1]:(i=e||{},r[0]=e,r[1]=i);let{fetcher:a}=i,s=a===void 0?o.fetcherRegistrar.default:a,{loading:c,result:l,error:u,status:d,execute:f,reset:p,abort:m}=useExecutePromise(e),[h,g]=(0,n.useState)(void 0),_=useLatest(e),v;r[2]===s?v=r[3]:(v=(0,o.getFetcher)(s),r[2]=s,r[3]=v);let y=v,t3;r[4]!==y||r[5]!==_||r[6]!==f?(t3=async e=>{try{await f(async t=>{e.abortController=t;let n=await y.exchange(e,_.current);return g(n),await n.extractResult()})}catch(e){let t=e;throw g(void 0),t}},r[4]=y,r[5]=_,r[6]=f,r[7]=t3):t3=r[7];let b=t3,t4;r[8]===p?t4=r[9]:(t4=()=>{p(),g(void 0)},r[8]=p,r[9]=t4);let x=t4,t5;r[10]===m?t5=r[11]:(t5=()=>{m(),g(void 0)},r[10]=m,r[11]=t5);let S=t5,C;return r[12]!==S||r[13]!==u||r[14]!==h||r[15]!==b||r[16]!==c||r[17]!==x||r[18]!==l||r[19]!==d?(C={loading:c,result:l,error:u,status:d,exchange:h,execute:b,reset:x,abort:S},r[12]=S,r[13]=u,r[14]=h,r[15]=b,r[16]=c,r[17]=x,r[18]=l,r[19]=d,r[20]=C):C=r[20],C}function useDebouncedFetcher(e){let n=(0,t.c)(11),{loading:r,result:i,error:a,status:o,exchange:s,execute:c,reset:l,abort:u}=useFetcher(e),{run:d,cancel:f,isPending:p}=useDebouncedCallback(c,e.debounce),m;return n[0]!==u||n[1]!==f||n[2]!==a||n[3]!==s||n[4]!==p||n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==d||n[9]!==o?(m={loading:r,result:i,error:a,status:o,exchange:s,reset:l,abort:u,run:d,cancel:f,isPending:p},n[0]=u,n[1]=f,n[2]=a,n[3]=s,n[4]=p,n[5]=r,n[6]=l,n[7]=i,n[8]=d,n[9]=o,n[10]=m):m=n[10],m}function useDebouncedFetcherQuery(e){let r=(0,t.c)(22),i=e.autoExecute,a;r[0]===e?a=r[1]:(a={...e,autoExecute:!1},r[0]=e,r[1]=a);let{loading:o,result:s,error:c,status:l,execute:u,reset:d,abort:f,getQuery:p,setQuery:m}=useFetcherQuery(a),{run:h,cancel:g,isPending:_}=useDebouncedCallback(u,e.debounce),t1;r[2]!==i||r[3]!==h||r[4]!==m?(t1=e=>{m(e),i&&h()},r[2]=i,r[3]=h,r[4]=m,r[5]=t1):t1=r[5];let v=t1,t2,y;r[6]!==i||r[7]!==h?(t2=()=>{i&&h()},y=[h,i],r[6]=i,r[7]=h,r[8]=t2,r[9]=y):(t2=r[8],y=r[9]),(0,n.useEffect)(t2,y);let b;return r[10]!==f||r[11]!==g||r[12]!==c||r[13]!==p||r[14]!==_||r[15]!==o||r[16]!==d||r[17]!==s||r[18]!==h||r[19]!==v||r[20]!==l?(b={loading:o,result:s,error:c,status:l,reset:d,abort:f,getQuery:p,setQuery:v,run:h,cancel:g,isPending:_},r[10]=f,r[11]=g,r[12]=c,r[13]=p,r[14]=_,r[15]=o,r[16]=d,r[17]=s,r[18]=h,r[19]=v,r[20]=l,r[21]=b):b=r[21],b}function useFetcherQuery(e){let n=(0,t.c)(23),r;n[0]===e?r=n[1]:(r={resultExtractor:o.JsonResultExtractor,...e},n[0]=e,n[1]=r);let i=r,a=useLatest(i),{loading:s,result:c,error:l,status:u,execute:d,reset:f,abort:p}=useFetcher(i),t1;n[2]!==d||n[3]!==a?(t1=e=>d({url:a.current.url,method:`POST`,body:e}),n[2]=d,n[3]=a,n[4]=t1):t1=n[4];let m=t1,h;n[5]!==m||n[6]!==i.autoExecute||n[7]!==i.initialQuery||n[8]!==i.query?(h={initialQuery:i.initialQuery,query:i.query,autoExecute:i.autoExecute,execute:m},n[5]=m,n[6]=i.autoExecute,n[7]=i.initialQuery,n[8]=i.query,n[9]=h):h=n[9];let{getQuery:g,setQuery:_}=useQueryState(h),t3;n[10]!==m||n[11]!==g?(t3=async()=>{let e=g();if(isValidateQuery(e))return await m(e)},n[10]=m,n[11]=g,n[12]=t3):t3=n[12];let v=t3,y;return n[13]!==p||n[14]!==l||n[15]!==v||n[16]!==g||n[17]!==s||n[18]!==f||n[19]!==c||n[20]!==_||n[21]!==u?(y={loading:s,result:c,error:l,status:u,execute:v,reset:f,abort:p,getQuery:g,setQuery:_},n[13]=p,n[14]=l,n[15]=v,n[16]=g,n[17]=s,n[18]=f,n[19]=c,n[20]=_,n[21]=u,n[22]=y):y=n[22],y}function useFetcherCountQuery(e){return useFetcherQuery(e)}function useFetcherListQuery(e){return useFetcherQuery(e)}function useFetcherListStreamQuery(e){let n=(0,t.c)(2),r;return n[0]===e?r=n[1]:(r={...e,resultExtractor:s.JsonEventStreamResultExtractor},n[0]=e,n[1]=r),useFetcherQuery(r)}function useFetcherPagedQuery(e){return useFetcherQuery(e)}function useFetcherSingleQuery(e){return useFetcherQuery(e)}function useCountQuery(e){return useQuery(e)}function useListQuery(e){return useQuery(e)}function useListStreamQuery(e){return useQuery(e)}function usePagedQuery(e){return useQuery(e)}function useSingleQuery(e){return useQuery(e)}function useEventSubscription(e){let r=(0,t.c)(13),{bus:i,handler:a}=e,t0;r[0]!==i||r[1]!==a?(t0=()=>i.on(a),r[0]=i,r[1]=a,r[2]=t0):t0=r[2];let o=t0,t1;r[3]!==i||r[4]!==a.name?(t1=()=>i.off(a.name),r[3]=i,r[4]=a.name,r[5]=t1):t1=r[5];let s=t1,t2,c;r[6]!==i||r[7]!==a?(t2=()=>(i.on(a)||console.warn(`Failed to subscribe to event bus with handler: ${a.name}`),()=>{i.off(a.name)}),c=[i,a],r[6]=i,r[7]=a,r[8]=t2,r[9]=c):(t2=r[8],c=r[9]),(0,n.useEffect)(t2,c);let l;return r[10]!==o||r[11]!==s?(l={subscribe:o,unsubscribe:s},r[10]=o,r[11]=s,r[12]=l):l=r[12],l}var m=`browser`,BrowserNotificationChannel=class{async send(e){try{if(!this.isSupported())return;let t=window.Notification.permission;if(t===`default`&&(t=await this.requestPermission()),t!==`granted`){console.warn(`The user has not granted permission for notification`);return}let n=new Notification(e.title,e.payload);e.onClick&&n.addEventListener(`click`,e.onClick,{once:!0})}catch(e){console.error(`send notification failed.`,e);return}}requestPermission(){if(!this.isSupported())throw Error(`The browser is not supported notification service`);return Notification.requestPermission()}isSupported(){return`Notification`in window}},h=new BrowserNotificationChannel,g=class NotificationChannelRegistry{constructor(){this.registry=new Map}get types(){return Array.from(this.registry.keys())}get entries(){return Array.from(this.registry.entries())}get size(){return this.registry.size}has(e){return this.registry.has(e)}clear(){this.registry.clear()}register(e,t){if(this.registry.has(e))throw Error(`Channel for type ${e} already registered.`);this.registry.set(e,t)}unregister(e){this.registry.delete(e)}get(e){return this.registry.get(e)}static create(e=[]){let t=new NotificationChannelRegistry;return e.forEach(([e,n])=>t.register(e,n)),t}}.create([[m,h]]),_=`NOTIFICATION_CENTER_EVENT`,v=`NOTIFICATION_CENTER_EVENT_HANDLER`,beforeUnloadHandler=()=>{y.destroy()},NotificationCenter=class{constructor(){this.eventBus=new i.BroadcastTypedEventBus({delegate:new i.SerialTypedEventBus(_)}),this.eventBus.on({name:v,once:!1,handle:async e=>{await this.sendNotification(e.type,e.message)}})}async sendNotification(e,t){let n=g.get(e);if(!n)throw Error(`Channel ${e} is not registered`);await n.send(t)}publish(e,t){return this.eventBus.emit({type:e,message:t})}off(){this.eventBus.off(v)}destroy(){this.off(),this.eventBus.destroy()}},y=new NotificationCenter;window.addEventListener(`beforeunload`,beforeUnloadHandler);var b=new i.BroadcastTypedEventBus({delegate:new i.SerialTypedEventBus(`DATA_MONITOR_EVENT`)});function useDataMonitorEventBus(){let subscribe=e=>b.on(e),unsubscribe=e=>b.off(e);return{subscribe,unsubscribe}}var x={emit:e=>b.emit(e)},DataMonitorService=class{constructor(){this.monitoredViews=new Map,this.storage=new c.KeyStorage({key:`view:dataMonitor`,defaultValue:{}})}initialize(){let e=this.storage.get()||{};for(let[t,n]of Object.entries(e))n.enabled&&this.enable(t,n.countUrl,n.viewName,n.condition,n.notification||{title:``})}enable(e,t,n,r,i,a=3e4){this.monitoredViews.has(e)&&this.disable(e);let o={enabled:!0,countUrl:t,viewName:n,condition:r,notification:i,total:null,intervalId:null};this.monitoredViews.set(e,o),this.fetchAndCheck(e).then(),o.intervalId=window.setInterval(()=>{this.fetchAndCheck(e).then()},a),this.saveToStorage()}disable(e){let t=this.monitoredViews.get(e);t&&(t.intervalId!==null&&window.clearInterval(t.intervalId),this.monitoredViews.delete(e),this.saveToStorage())}updateCondition(e,t){let n=this.monitoredViews.get(e);n&&(n.condition=t,this.saveToStorage(),this.fetchAndCheck(e).then())}updateNotification(e,t){let n=this.monitoredViews.get(e);n&&(n.notification=t,this.saveToStorage())}isEnabled(e){return this.monitoredViews.has(e)}async fetchAndCheck(e){let t=this.monitoredViews.get(e);if(t)try{let n=await this.fetchCount(t.countUrl,t.condition),r=this.monitoredViews.get(e);if(!r)return;let i=r.total;i!==null&&i!==n?(r.total=n,this.notify(e,r.notification,n),await x.emit({type:`DATA_CHANGED`,viewId:e,viewName:r.viewName,previousTotal:i,currentTotal:n})):r.total=n}catch(t){console.error(`DataMonitor: failed to fetch count for ${e}`,t)}}async fetchCount(e,t){return await o.fetcher.post(e,{body:t},{resultExtractor:o.ResultExtractors.Json})}notify(e,t,n){let r={title:t.title,payload:{body:`当前共 ${n} 条数据`,icon:`/logo.png`},onClick:()=>{window.focus(),t.navigationUrl&&(window.location.href=t.navigationUrl)}};y.publish(`browser`,r)}saveToStorage(){let e={};this.monitoredViews.forEach((t,n)=>{e[n]={enabled:t.enabled,countUrl:t.countUrl,viewName:t.viewName,condition:t.condition,notification:t.notification}}),this.storage.set(e)}},S=new DataMonitorService;function useDataMonitor(e){let r=(0,t.c)(36),{viewId:i,countUrl:a,viewName:o,condition:s,notification:c,interval:l}=e,t0;r[0]===i?t0=r[1]:(t0=()=>S.isEnabled(i),r[0]=i,r[1]=t0);let[u,d]=(0,n.useState)(t0),f=(0,n.useRef)(i),t1,p;r[2]===i?(t1=r[3],p=r[4]):(t1=()=>{f.current=i},p=[i],r[2]=i,r[3]=t1,r[4]=p),(0,n.useEffect)(t1,p);let t3,m;r[5]===i?(t3=r[6],m=r[7]):(t3=()=>{d(S.isEnabled(i))},m=[i],r[5]=i,r[6]=t3,r[7]=m),(0,n.useEffect)(t3,m);let t5,h;r[8]!==s||r[9]!==i?(t5=()=>{S.isEnabled(i)&&S.updateCondition(i,s)},h=[i,s],r[8]=s,r[9]=i,r[10]=t5,r[11]=h):(t5=r[10],h=r[11]),(0,n.useEffect)(t5,h);let t7,g;r[12]!==c||r[13]!==i?(t7=()=>{S.isEnabled(i)&&S.updateNotification(i,c)},g=[i,c],r[12]=c,r[13]=i,r[14]=t7,r[15]=g):(t7=r[14],g=r[15]),(0,n.useEffect)(t7,g);let _,t9;r[16]===Symbol.for(`react.memo_cache_sentinel`)?(t9=()=>()=>{let e=f.current;S.isEnabled(e)&&S.disable(e)},_=[],r[16]=_,r[17]=t9):(_=r[16],t9=r[17]),(0,n.useEffect)(t9,_);let t11;r[18]!==s||r[19]!==a||r[20]!==l||r[21]!==c||r[22]!==i||r[23]!==o?(t11=()=>{S.enable(i,a,o,s,c,l),d(!0)},r[18]=s,r[19]=a,r[20]=l,r[21]=c,r[22]=i,r[23]=o,r[24]=t11):t11=r[24];let v=t11,t12;r[25]===i?t12=r[26]:(t12=()=>{S.disable(i),d(!1)},r[25]=i,r[26]=t12);let y=t12,t13;r[27]!==y||r[28]!==v||r[29]!==u?(t13=()=>{u?y():v()},r[27]=y,r[28]=v,r[29]=u,r[30]=t13):t13=r[30];let b=t13,x;return r[31]!==y||r[32]!==v||r[33]!==u||r[34]!==b?(x={isEnabled:u,enable:v,disable:y,toggle:b},r[31]=y,r[32]=v,r[33]=u,r[34]=b,r[35]=x):x=r[35],x}e.ANONYMOUS_USER=f,e.DataMonitorService=DataMonitorService,e.FullscreenContext=d,e.FullscreenProvider=FullscreenProvider,e.PromiseStatus=u,e.RefreshableRouteGuard=RefreshableRouteGuard,e.RouteGuard=RouteGuard,e.SecurityContext=p,e.SecurityProvider=SecurityProvider,e.addFullscreenChangeListener=addFullscreenChangeListener,e.collectMethods=collectMethods,e.createExecuteApiHooks=createExecuteApiHooks,e.createQueryApiHooks=createQueryApiHooks,e.dataMonitorEventBus=x,e.dataMonitorService=S,e.enterFullscreen=enterFullscreen,e.exitFullscreen=exitFullscreen,e.getFullscreenElement=getFullscreenElement,e.isFullscreen=isFullscreen,e.isValidateQuery=isValidateQuery,e.methodNameToHookName=methodNameToHookName,e.removeFullscreenChangeListener=removeFullscreenChangeListener,e.useCountQuery=useCountQuery,e.useDataMonitor=useDataMonitor,e.useDataMonitorEventBus=useDataMonitorEventBus,e.useDebouncedCallback=useDebouncedCallback,e.useDebouncedExecutePromise=useDebouncedExecutePromise,e.useDebouncedFetcher=useDebouncedFetcher,e.useDebouncedFetcherQuery=useDebouncedFetcherQuery,e.useDebouncedQuery=useDebouncedQuery,e.useEventSubscription=useEventSubscription,e.useExecutePromise=useExecutePromise,e.useFetcher=useFetcher,e.useFetcherCountQuery=useFetcherCountQuery,e.useFetcherListQuery=useFetcherListQuery,e.useFetcherListStreamQuery=useFetcherListStreamQuery,e.useFetcherPagedQuery=useFetcherPagedQuery,e.useFetcherQuery=useFetcherQuery,e.useFetcherSingleQuery=useFetcherSingleQuery,e.useForceUpdate=useForceUpdate,e.useFullscreen=useFullscreen,e.useFullscreenContext=useFullscreenContext,e.useImmerKeyStorage=useImmerKeyStorage,e.useKeyStorage=useKeyStorage,e.useLatest=useLatest,e.useListQuery=useListQuery,e.useListStreamQuery=useListStreamQuery,e.useMounted=useMounted,e.usePagedQuery=usePagedQuery,e.usePromiseState=usePromiseState,e.useQuery=useQuery,e.useQueryState=useQueryState,e.useRefs=useRefs,e.useRequestId=useRequestId,e.useSecurity=useSecurity,e.useSecurityContext=useSecurityContext,e.useSingleQuery=useSingleQuery});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|