@vef-framework/core 1.0.37 → 1.0.38

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.
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  import{useQuery as e,keepPreviousData as t,useMutation as i,useIsFetching as r,useIsMutating as s,QueryClientProvider as a}from"@tanstack/react-query";import{createElement as n}from"react";import{createQueryClient as u}from"./query-client.js";import{createRequestClient as c}from"./request-client.js";var h,o,l,d,y,g,p,f,Q=Object.defineProperty,v=e=>{throw TypeError(e)},m=(e,t,i)=>((e,t,i)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i),A=(e,t,i)=>t.has(e)||v("Cannot "+i),b=(e,t,i)=>(A(e,t,"read from private field"),i?i.call(e):t.get(e)),D=(e,t,i)=>t.has(e)?v("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),w=(e,t,i,r)=>(A(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),q=(e,t,i)=>(A(e,t,"access private method"),i);class M{constructor(f){this.options=f,D(this,y),m(this,"useApiQuery"),m(this,"useApiMutation"),m(this,"useIsFetching"),m(this,"useIsMutating"),m(this,"QueryClientProvider"),D(this,h),D(this,o),D(this,l),D(this,d),w(this,h,u(f)),w(this,o,c(f)),w(this,l,{get:async(e,t)=>{const i=b(this,d);return w(this,d,void 0),await b(this,o).get(e,{...t,signal:i})},post:async(e,t,i)=>{const r=b(this,d);return w(this,d,void 0),await b(this,o).post(e,t,{...i,signal:r})},put:async(e,t,i)=>{const r=b(this,d);return w(this,d,void 0),await b(this,o).put(e,t,{...i,signal:r})},delete:async(e,t)=>{const i=b(this,d);return w(this,d,void 0),await b(this,o).delete(e,{...t,signal:i})}});const Q=this;this.useApiQuery=function(i,r,s){var a;const{keepPreviousData:n,placeholderData:u,initialData:c,...h}=s??{},o=e({queryKey:[i.key,r],queryFn:({signal:e})=>i(r,{signal:e}),select:q(Q,y,g),placeholderData:u??!0===n?t:void 0,initialData:c?{code:0,message:"ok",data:c}:void 0,...h});return q(a=Q,y,p).call(a,o)},this.useApiMutation=function(e){const{isPending:t,isIdle:r,isError:s,isSuccess:a,error:n,data:u,mutateAsync:c}=i({mutationKey:[e.key],mutationFn:t=>e(t)});return{mutate:async e=>await c(e),isPending:t,isIdle:r,isError:s,isSuccess:a,message:u?.message,error:n??void 0,data:u?.data}},this.useIsFetching=function(e,t){return r({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1})>0},this.useIsMutating=function(e){return s({mutationKey:[e],exact:!1})>0},this.QueryClientProvider=function({children:e}){return n(a,{client:b(Q,h)},e)}}async fetchApiQuery(e,t,i){const{initialData:r,...s}=i??{};return(await b(this,h).fetchQuery({queryKey:[e.key,t],queryFn:({signal:i})=>e(t,{signal:i}),initialData:r?{code:0,message:"ok",data:r}:void 0,...s})).data}createQueryApi(e,t){const i=q(this,y,f).call(this,e,t);return i.getQueryData=this.getApiQueryData.bind(this,e),i.getQueriesData=this.getApiQueriesData.bind(this,e),i.setQueryData=(t,i)=>this.setApiQueryData(t,e,i),i.removeQueries=this.removeApiQueries.bind(this,e),i.invalidateQueries=this.invalidateApiQueries.bind(this,e),i.resetQueries=this.resetApiQueries.bind(this,e),i.refetchQueries=this.refetchApiQueries.bind(this,e),i.cancelQueries=this.cancelApiQueries.bind(this,e),i.isFetching=this.isFetching.bind(this,e),i.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(i)}createMutationApi(e,t,i=[]){const r=q(this,y,f).call(this,e,t);return r.relatedQueries=Object.freeze(i),r.refetchRelatedQueries=function(){return Promise.all(i.map((e=>e.refetchQueries())))},r.invalidateRelatedQueries=function(){return Promise.all(i.map((e=>e.invalidateQueries())))},r.isMutating=this.isMutating.bind(this,e),r.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(r)}getApiQueryData(e,t){return b(this,h).getQueryData(arguments.length>1?[e,t]:[e])}getApiQueriesData(e,t){return b(this,h).getQueriesData({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1})}setApiQueryData(e,t,i){b(this,h).setQueryData(arguments.length>2?[t,i]:[t],e)}removeApiQueries(e,t){b(this,h).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,t]:[e]})}invalidateApiQueries(e,t){return b(this,h).invalidateQueries({queryKey:arguments.length>1?[e,t]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,t){return b(this,h).resetQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,t){return b(this,h).refetchQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,t){return b(this,h).cancelQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,t){return b(this,h).isFetching({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1})>0}isMutating(e){return b(this,h).isMutating({mutationKey:[e],exact:!1})>0}}function k(e){return Object.freeze(new M(e))}h=new WeakMap,o=new WeakMap,l=new WeakMap,d=new WeakMap,y=new WeakSet,g=function(e){return e.data},p=function({isPending:e,isFetching:t,isLoading:i,isRefetching:r,isSuccess:s,isPlaceholderData:a,isError:n,isLoadingError:u,isRefetchError:c,isStale:h,error:o,data:l,refetch:d}){return{isPending:e,isSuccess:s,isError:n,isLoadingError:u,isRefetchError:c,isLoading:i,isFetching:t,isRefetching:r,isPlaceholderData:a,isStale:h,error:o??void 0,data:l,refetch:async()=>{const e=await d();return{isSuccess:e.isSuccess,isError:e.isError,error:e.error,data:e.data}}}},f=function(e,t){const i=t(b(this,l)),r=async(e,t)=>(w(this,d,t?.signal),await i(e));return r.key=e,r};export{M as ApiClient,k as createApiClient};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import{ReactQueryDevtoolsPanel as e}from"@tanstack/react-query-devtools";import{VefError as i}from"@vef-framework/shared";import{createContext as t,useMemo as r,createElement as a,useContext as n}from"react";const u=t(null),s=({client:e,dataDictionaryQueryApi:i,children:t})=>{const n=r((()=>{const t=e.createQueryApi("_vefStubQueryApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),r=e.createQueryApi("_vefAsyncFnQueryApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)}))),a=e.createMutationApi("_vefStubMutationApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),n=e.createMutationApi("_vefAsyncFnMutationApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)})));return Object.freeze({useApiQuery:e.useApiQuery,useApiMutation:e.useApiMutation,useIsFetching:e.useIsFetching,useIsMutating:e.useIsMutating,fetchApiQuery:e.fetchApiQuery.bind(e),createQueryApi:e.createQueryApi.bind(e),createMutationApi:e.createMutationApi.bind(e),getApiQueryData:e.getApiQueryData.bind(e),getApiQueriesData:e.getApiQueriesData.bind(e),setApiQueryData:e.setApiQueryData.bind(e),removeApiQueries:e.removeApiQueries.bind(e),invalidateApiQueries:e.invalidateApiQueries.bind(e),resetApiQueries:e.resetApiQueries.bind(e),refetchApiQueries:e.refetchApiQueries.bind(e),cancelApiQueries:e.cancelApiQueries.bind(e),isFetching:e.isFetching.bind(e),isMutating:e.isMutating.bind(e),stubQueryApi:t,asyncFnQueryApi:r,stubMutationApi:a,asyncFnMutationApi:n,dataDictionaryQueryApi:i})}),[e,i]);return a(u.Provider,{value:n},a(e.QueryClientProvider,{},t))};function o(){const e=n(u);if(null===e)throw new i(-1,"Api context not found: Please ensure useApiContext is called within an ApiContextProvider");return e}const p=e;export{s as ApiContextProvider,p as ApiQueryDevtools,o as useApiContext};
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ import{VefError as e}from"@vef-framework/shared";import{createContext as i,useMemo as t,createElement as r,useContext as a}from"react";const n=i(null),u=({client:e,dataDictionaryQueryApi:i,children:a})=>{const u=t((()=>{const t=e.createQueryApi("_vefStubQueryApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),r=e.createQueryApi("_vefAsyncFnQueryApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)}))),a=e.createMutationApi("_vefStubMutationApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),n=e.createMutationApi("_vefAsyncFnMutationApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)})));return Object.freeze({useApiQuery:e.useApiQuery,useApiMutation:e.useApiMutation,useIsFetching:e.useIsFetching,useIsMutating:e.useIsMutating,fetchApiQuery:e.fetchApiQuery.bind(e),createQueryApi:e.createQueryApi.bind(e),createMutationApi:e.createMutationApi.bind(e),getApiQueryData:e.getApiQueryData.bind(e),getApiQueriesData:e.getApiQueriesData.bind(e),setApiQueryData:e.setApiQueryData.bind(e),removeApiQueries:e.removeApiQueries.bind(e),invalidateApiQueries:e.invalidateApiQueries.bind(e),resetApiQueries:e.resetApiQueries.bind(e),refetchApiQueries:e.refetchApiQueries.bind(e),cancelApiQueries:e.cancelApiQueries.bind(e),isFetching:e.isFetching.bind(e),isMutating:e.isMutating.bind(e),stubQueryApi:t,asyncFnQueryApi:r,stubMutationApi:a,asyncFnMutationApi:n,dataDictionaryQueryApi:i})}),[e,i]);return r(n.Provider,{value:u},r(e.QueryClientProvider,{},a))};function s(){const i=a(n);if(null===i)throw new e(-1,"Api context not found: Please ensure useApiContext is called within an ApiContextProvider");return i}export{u as ApiContextProvider,s as useApiContext};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/es/api/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- export{ApiClient,createApiClient}from"./api-client.js";export{ApiContextProvider,ApiQueryDevtools,useApiContext}from"./api-context.js";export{useMutation}from"@tanstack/react-query";
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ export{ApiClient,createApiClient}from"./api-client.js";export{ApiContextProvider,useApiContext}from"./api-context.js";export{useMutation}from"@tanstack/react-query";
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  import{QueryClient as e}from"@tanstack/react-query";function r(r){const t=r?.staleTime??1/0;return new e({defaultOptions:{queries:{networkMode:"always",staleTime:t,gcTime:r?.gcTime??6e5,retry:3,structuralSharing:!0,throwOnError:!1,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!0},mutations:{networkMode:"always",gcTime:t,retry:!1,throwOnError:!1}}})}export{r as createQueryClient};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import{isNullish as e,showWarningMessage as t,VefError as a,isString as s,showErrorMessage as r,isFunction as o}from"@vef-framework/shared";import n,{CanceledError as i}from"axios";import l from"qs";var c,p=e=>{throw TypeError(e)},m=(e,t,a)=>t.has(e)||p("Cannot "+a),d=(e,t,a)=>(m(e,t,"read from private field"),a?a.call(e):t.get(e));const u=/\{\w+\}/;class h{constructor(o){var h,g,f;this.options=o,h=this,(g=c).has(h)?p("Cannot add the same private member more than once"):g instanceof WeakSet?g.add(h):g.set(h,f),((e,t,a,s)=>{m(e,t,"write to private field"),s?s.call(e,a):t.set(e,a)})(this,c,n.create({baseURL:o.baseUrl,timeout:o.timeout??3e4,headers:{"Content-Type":"application/json"},paramsSerializer:e=>l.stringify(e,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),d(this,c).interceptors.request.use((t=>{const a=this.options.getAccessToken();a&&(t.headers.Authorization=`Bearer ${a}`);const{url:s}=t;return s&&u.test(s)&&(t.url=s.replace(u,((a,s)=>{const r=t.params?.[s];if(e(r))throw new Error(`Path parameter ${s} is nil`);return r}))),t})),d(this,c).interceptors.response.use((e=>{const{code:s,message:r}=e.data;return 0===s?e:(t(r),Promise.reject(new a(s,r)))}),(e=>{if(e instanceof i)return Promise.reject(e);const{response:t,message:o}=e;if(t?.data){const e=`处理请求响应信息异常:${o??"无"}`;return Promise.reject(new a(t.status,e))}{let t=o??(s(e)?e:"");if("Network Error"===t)t="接口连接异常可能原因:网络不通或存在跨域问题。";else if(t.includes("timeout"))t="接口请求超时";else if(t.includes("Request failed with status code")){t=`接口状态码异常:${o.substring(o.length-3)}`}else t="接口未知异常";return r(t),Promise.reject(new a(-1,t))}}))}async get(e,t){return(await d(this,c).get(e,{params:t?.params,signal:t?.signal})).data}async post(e,t,a){return(await d(this,c).post(e,t,{params:a?.params,signal:a?.signal})).data}async put(e,t,a){return(await d(this,c).put(e,t,{params:a?.params,signal:a?.signal})).data}async delete(e,t){return(await d(this,c).delete(e,{params:t?.params,signal:t?.signal})).data}async upload(e,t,a){return(await d(this,c).postForm(e,t,{params:a?.params,signal:a?.signal,onUploadProgress:o(a?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:s}=e,r=Math.round(s/t*100);a.onProgress?.(r)}:void 0})).data}async download(e,t){const{data:r,headers:n}=await d(this,c).get(e,{params:t?.params,responseType:"blob",onDownloadProgress:o(t?.onProgress)?e=>{const a=e.lengthComputable?e.total??0:0,{loaded:s}=e,r=Math.round(s/a*100);t.onProgress?.(r)}:void 0});let i=null;try{i=JSON.parse(await r.text())}catch{}if(i&&0!==i.code)throw new a(i.code,i.message);const l=n.get("content-disposition");if(s(l)){const e=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(l);if(e&&e.groups){const{name:a}=e.groups,s=decodeURIComponent(a),n=document.createElement("a");n.href=URL.createObjectURL(r),n.download=o(t?.fileName)?t.fileName(s):t?.fileName??s,n.click(),URL.revokeObjectURL(n.href)}}}}function g(e){return Object.freeze(new h(e))}c=new WeakMap;export{h as RequestClient,g as createRequestClient};
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ import{isNullish as e,showWarningMessage as t,VefError as a,isString as s,showErrorMessage as r,isFunction as o}from"@vef-framework/shared";import n,{CanceledError as i}from"axios";import l from"qs";var c,p=e=>{throw TypeError(e)},m=(e,t,a)=>t.has(e)||p("Cannot "+a),d=(e,t,a)=>(m(e,t,"read from private field"),a?a.call(e):t.get(e));const u=/\{\w+\}/;class h{constructor(o){var h,g,f;this.options=o,h=this,(g=c).has(h)?p("Cannot add the same private member more than once"):g instanceof WeakSet?g.add(h):g.set(h,f),((e,t,a,s)=>{m(e,t,"write to private field"),s?s.call(e,a):t.set(e,a)})(this,c,n.create({baseURL:o.baseUrl,timeout:o.timeout??3e4,headers:{"Content-Type":"application/json"},paramsSerializer:e=>l.stringify(e,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),d(this,c).interceptors.request.use((t=>{const a=this.options.getAccessToken?.();a&&(t.headers.Authorization=`Bearer ${a}`);const{url:s}=t;return s&&u.test(s)&&(t.url=s.replace(u,((a,s)=>{const r=t.params?.[s];if(e(r))throw new Error(`Path parameter ${s} is nil`);return r}))),t})),d(this,c).interceptors.response.use((e=>{const{code:s,message:r}=e.data;return 0===s?e:(t(r),Promise.reject(new a(s,r)))}),(e=>{if(e instanceof i)return Promise.reject(e);const{response:t,message:o}=e;if(t?.data){const e=`处理请求响应信息异常:${o??"无"}`;return Promise.reject(new a(t.status,e))}{let t=o??(s(e)?e:"");if("Network Error"===t)t="接口连接异常可能原因:网络不通或存在跨域问题。";else if(t.includes("timeout"))t="接口请求超时";else if(t.includes("Request failed with status code")){t=`接口状态码异常:${o.substring(o.length-3)}`}else t="接口未知异常";return r(t),Promise.reject(new a(-1,t))}}))}async get(e,t){return(await d(this,c).get(e,{params:t?.params,signal:t?.signal})).data}async post(e,t,a){return(await d(this,c).post(e,t,{params:a?.params,signal:a?.signal})).data}async put(e,t,a){return(await d(this,c).put(e,t,{params:a?.params,signal:a?.signal})).data}async delete(e,t){return(await d(this,c).delete(e,{params:t?.params,signal:t?.signal})).data}async upload(e,t,a){return(await d(this,c).postForm(e,t,{params:a?.params,signal:a?.signal,onUploadProgress:o(a?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:s}=e,r=Math.round(s/t*100);a.onProgress?.(r)}:void 0})).data}async download(e,t){const{data:r,headers:n}=await d(this,c).get(e,{params:t?.params,responseType:"blob",onDownloadProgress:o(t?.onProgress)?e=>{const a=e.lengthComputable?e.total??0:0,{loaded:s}=e,r=Math.round(s/a*100);t.onProgress?.(r)}:void 0});let i=null;try{i=JSON.parse(await r.text())}catch{}if(i&&0!==i.code)throw new a(i.code,i.message);const l=n.get("content-disposition");if(s(l)){const e=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(l);if(e&&e.groups){const{name:a}=e.groups,s=decodeURIComponent(a),n=document.createElement("a");n.href=URL.createObjectURL(r),n.download=o(t?.fileName)?t.fileName(s):t?.fileName??s,n.click(),URL.revokeObjectURL(n.href)}}}}function g(e){return Object.freeze(new h(e))}c=new WeakMap;export{h as RequestClient,g as createRequestClient};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  import{isString as e,VefError as r}from"@vef-framework/shared";import{createContext as t,useMemo as o,createElement as n,useContext as i}from"react";const s=t(null),u=({permissionChecker:r,children:t})=>{const i=o((()=>({checkPermission:t=>!r||(e(t)?r(t):r(t.key))})),[r]);return n(s.Provider,{value:i},t)};function c(){const e=i(s);if(null===e)throw new r(-1,"useAuthContext must be used within a AuthContextProvider");return e}export{u as AuthContextProvider,c as useAuthContext};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/es/auth/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  export{AuthContextProvider,useAuthContext}from"./auth-context.js";
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  import{parseArgs as n,getAt as t,isQuotedString as e,rmEscapes as r}from"./helpers.js";function i(s){let l;const o=new Set,u=function(n,t){return"function"==typeof n?n(t):n},f=[{"&&":(n,t,e)=>u(n,e)&&u(t,e),"||":(n,t,e)=>u(n,e)||u(t,e)},{"===":(n,t,e)=>!(u(n,e)!==u(t,e)),"!==":(n,t,e)=>!(u(n,e)===u(t,e)),"==":(n,t,e)=>!(u(n,e)!=u(t,e)),"!=":(n,t,e)=>!(u(n,e)==u(t,e)),">=":(n,t,e)=>!!(u(n,e)>=u(t,e)),"<=":(n,t,e)=>!!(u(n,e)<=u(t,e)),">":(n,t,e)=>!!(u(n,e)>u(t,e)),"<":(n,t,e)=>!!(u(n,e)<u(t,e))},{"+":(n,t,e)=>u(n,e)+u(t,e),"-":(n,t,e)=>u(n,e)-u(t,e)},{"*":(n,t,e)=>u(n,e)*u(t,e),"/":(n,t,e)=>u(n,e)/u(t,e),"%":(n,t,e)=>u(n,e)%u(t,e)}],c=f.reduce(((n,t)=>n.concat(Object.keys(t))),[]),d=new Set(c.map((n=>n.charAt(0))));function g(n,t,e,r){const i=n.filter((n=>n.startsWith(t)));return!!i.length&&i.find((n=>{if(r.length>=e+n.length){if(r.substring(e,e+n.length)===n)return n}return!1}))}function h(n,t,e=1){let r=e?t.substring(n+1).trim():t.substring(0,n).trim();if(!r.length)return-1;if(!e){const n=r.split("").reverse(),t=n.findIndex((n=>d.has(n)));r=n.slice(t).join("")}const[i]=r;return f.findIndex((n=>!!g(Object.keys(n),i,0,r)))}function a(n,t){let e="";const{length:r}=t;let i=0;for(let s=n;s<r;s++){const n=t.charAt(s);if("("===n)i++;else if(")"===n)i--;else if(0===i&&" "===n)continue;if(0===i&&g(c,n,s,t))return[e,s-1];e+=n}return[e,t.length-1]}function b(n,t=0){const e=f[t],{length:r}=n,i=Object.keys(e);let s,l,o=0,u=!1,c=null,d="",b=null,y="",m="",$="",j=0;const v=(n,t)=>{n?m+=t:d+=t};for(let f=0;f<r;f++)if(l=y,y=n.charAt(f),"'"!==y&&'"'!==y||"\\"===l||!(0===o&&!u||o&&!$))if(u&&(y!==u||"\\"===l)||$&&(y!==$||"\\"===l))v(o,y);else if(u!==y)if($!==y){if(" "!==y)if("("===y)0===o?j=f:m+=y,o++;else if(")"===y)if(o--,0===o){const e="string"==typeof d&&d.startsWith("$")?d:void 0,r=e&&"."===n.charAt(f+1);let i="";r&&([i,f]=a(f+2,n));const s=c?t:h(j,n,0),l=h(f,n);-1===s&&-1===l?(d=p(m,-1,e,i),"string"==typeof d&&(d=m)):c&&(s>=l||-1===l)&&t===s?(b=c.bind(null,p(m,-1,e,i)),c=null,d=""):l>s&&t===l?d=p(m,-1,e,i):d+=`(${m})${r?`.${i}`:""}`,m=""}else m+=y;else{if(0===o&&(s=g(i,y,f,n))){0===f&&console.error(103,[s,n]),f+=s.length-1,f===n.length-1&&console.error(104,[s,n]),c?d&&(b=c.bind(null,p(d,t)),c=e[s].bind(null,b),d=""):b?(c=e[s].bind(null,p(b,t)),b=null):(c=e[s].bind(null,p(d,t)),d="");continue}v(o,y)}}else $=!1,v(o,y);else u=!1,v(o,y);else o?$=y:u=y,v(o,y);return d&&c&&(c=c.bind(null,p(d,t))),c=!c&&b?b:c,!c&&d&&(c=(n,t)=>"function"==typeof n?n(t):n,c=c.bind(null,p(d,t))),c||d||console.error(105,n),c}function p(s,u,c,d){if(c){const e=p(c,f.length);let r,o=!!d&&i(`$${d}`);if("function"==typeof e){const i=n(String(s)).map((n=>p(n,-1)));return n=>{const s=e(n);return"function"!=typeof s?(console.warn(150,c),s):(r=s(...i.map((t=>"function"==typeof t?t(n):t))),o&&(o=o.provide((n=>{const e=l(n);return n.reduce(((n,i)=>{if(i===d||d?.startsWith(`${i}(`)){const e=t(r,i);n[i]=()=>e}else n[i]=e[i];return n}),{})}))),o?o():r)}}}else if("string"==typeof s){if("true"===s)return!0;if("false"===s)return!1;if("undefined"===s)return;if(e(s))return r(s.substring(1,s.length-1));if(!Number.isNaN(+s))return Number(s);if(u<f.length-1)return b(s,u+1);if(s.startsWith("$")){const n=s.substring(1);return o.add(n),function(t){return n in t?t[n]():void 0}}return s}return s}const y=b(s),m=Array.from(o);return Object.assign(y,{provide:function n(t){return l=t,Object.assign(y.bind(null,t(m)),{provide:n})}})}export{i as compile};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  function t(t,n){return Object.hasOwn(t,n)}function n(n,e){if(!n||"object"!=typeof n)return null;const r=e.split(".");let u=n;for(const n in r){const e=r[n];if(t(u,e)&&(u=u[e]),+n==r.length-1)return u;if(!u||"object"!=typeof u)return null}return null}function e(t){if('"'!==t[0]&&"'"!==t[0])return!1;if(t[0]!==t[t.length-1])return!1;const[n]=t;for(let e=1;e<t.length;e++)if(t[e]===n&&(1===e||"\\"!==t[e-1])&&e!==t.length-1)return!1;return!0}function r(t){const n=[];let e="",r=0,u="",o="";for(let l=0;l<t.length;l++){const f=t.charAt(l);f===u&&"\\"!==o?u="":"'"!==f&&'"'!==f||u||"\\"===o?"("!==f||u?")"!==f||u||r--:r++:u=f,","!==f||u||0!==r?(" "!==f||u)&&(e+=f):(n.push(e),e=""),o=f}return e&&n.push(e),n}function u(t){if(!t.length)return"";let n="",e="";for(let r=0;r<t.length;r++){const u=t.charAt(r);"\\"===u&&"\\"!==e||(n+=u),e=u}return n}export{n as getAt,t as has,e as isQuotedString,r as parseArgs,u as rmEscapes};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/es/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import"./api/index.js";import"./auth/index.js";export{compile}from"./expr/compiler.js";import"./router/index.js";export{ApiClient,createApiClient}from"./api/api-client.js";export{useMutation}from"@tanstack/react-query";export{ApiContextProvider,ApiQueryDevtools,useApiContext}from"./api/api-context.js";export{AuthContextProvider,useAuthContext}from"./auth/auth-context.js";export{Link,Outlet,createFileRoute,createLazyFileRoute,createRootRoute,createRootRouteWithContext,createRouter,redirect,useLocation,useNavigate,useRouter,useSearch}from"@tanstack/react-router";export{VefRouterProvider}from"./router/router-provider.js";
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ import"./api/index.js";import"./auth/index.js";export{compile}from"./expr/compiler.js";export{ApiClient,createApiClient}from"./api/api-client.js";export{useMutation}from"@tanstack/react-query";export{ApiContextProvider,useApiContext}from"./api/api-context.js";export{AuthContextProvider,useAuthContext}from"./auth/auth-context.js";
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  function t(){const t=[];let n=0;const e=n=>t.push(n),s=e=>{const o=t[n];return"function"==typeof o?o(e,(t=>(n++,s(t)))):(n=0,e)};return e.dispatch=s,e.unshift=n=>t.unshift(n),e.remove=n=>{const e=t.indexOf(n);e>-1&&t.splice(e,1)},e}export{t as default};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query"),t=require("react"),i=require("./query-client.cjs"),r=require("./request-client.cjs");var s,a,n,u,c,h,o,l,d=Object.defineProperty,y=e=>{throw TypeError(e)},g=(e,t,i)=>((e,t,i)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i),p=(e,t,i)=>t.has(e)||y("Cannot "+i),Q=(e,t,i)=>(p(e,t,"read from private field"),i?i.call(e):t.get(e)),v=(e,t,i)=>t.has(e)?y("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),f=(e,t,i,r)=>(p(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),m=(e,t,i)=>(p(e,t,"access private method"),i);class A{constructor(l){this.options=l,v(this,c),g(this,"useApiQuery"),g(this,"useApiMutation"),g(this,"useIsFetching"),g(this,"useIsMutating"),g(this,"QueryClientProvider"),v(this,s),v(this,a),v(this,n),v(this,u),f(this,s,i.createQueryClient(l)),f(this,a,r.createRequestClient(l)),f(this,n,{get:async(e,t)=>{const i=Q(this,u);return f(this,u,void 0),await Q(this,a).get(e,{...t,signal:i})},post:async(e,t,i)=>{const r=Q(this,u);return f(this,u,void 0),await Q(this,a).post(e,t,{...i,signal:r})},put:async(e,t,i)=>{const r=Q(this,u);return f(this,u,void 0),await Q(this,a).put(e,t,{...i,signal:r})},delete:async(e,t)=>{const i=Q(this,u);return f(this,u,void 0),await Q(this,a).delete(e,{...t,signal:i})}});const d=this;this.useApiQuery=function(t,i,r){var s;const{keepPreviousData:a,placeholderData:n,initialData:u,...l}=r??{},y=e.useQuery({queryKey:[t.key,i],queryFn:({signal:e})=>t(i,{signal:e}),select:m(d,c,h),placeholderData:n??!0===a?e.keepPreviousData:void 0,initialData:u?{code:0,message:"ok",data:u}:void 0,...l});return m(s=d,c,o).call(s,y)},this.useApiMutation=function(t){const{isPending:i,isIdle:r,isError:s,isSuccess:a,error:n,data:u,mutateAsync:c}=e.useMutation({mutationKey:[t.key],mutationFn:e=>t(e)});return{mutate:async e=>await c(e),isPending:i,isIdle:r,isError:s,isSuccess:a,message:u?.message,error:n??void 0,data:u?.data}},this.useIsFetching=function(t,i){return e.useIsFetching({queryKey:arguments.length>1?[t,i]:[t],type:"active",exact:!1})>0},this.useIsMutating=function(t){return e.useIsMutating({mutationKey:[t],exact:!1})>0},this.QueryClientProvider=function({children:i}){return t.createElement(e.QueryClientProvider,{client:Q(d,s)},i)}}async fetchApiQuery(e,t,i){const{initialData:r,...a}=i??{};return(await Q(this,s).fetchQuery({queryKey:[e.key,t],queryFn:({signal:i})=>e(t,{signal:i}),initialData:r?{code:0,message:"ok",data:r}:void 0,...a})).data}createQueryApi(e,t){const i=m(this,c,l).call(this,e,t);return i.getQueryData=this.getApiQueryData.bind(this,e),i.getQueriesData=this.getApiQueriesData.bind(this,e),i.setQueryData=(t,i)=>this.setApiQueryData(t,e,i),i.removeQueries=this.removeApiQueries.bind(this,e),i.invalidateQueries=this.invalidateApiQueries.bind(this,e),i.resetQueries=this.resetApiQueries.bind(this,e),i.refetchQueries=this.refetchApiQueries.bind(this,e),i.cancelQueries=this.cancelApiQueries.bind(this,e),i.isFetching=this.isFetching.bind(this,e),i.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(i)}createMutationApi(e,t,i=[]){const r=m(this,c,l).call(this,e,t);return r.relatedQueries=Object.freeze(i),r.refetchRelatedQueries=function(){return Promise.all(i.map((e=>e.refetchQueries())))},r.invalidateRelatedQueries=function(){return Promise.all(i.map((e=>e.invalidateQueries())))},r.isMutating=this.isMutating.bind(this,e),r.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(r)}getApiQueryData(e,t){return Q(this,s).getQueryData(arguments.length>1?[e,t]:[e])}getApiQueriesData(e,t){return Q(this,s).getQueriesData({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1})}setApiQueryData(e,t,i){Q(this,s).setQueryData(arguments.length>2?[t,i]:[t],e)}removeApiQueries(e,t){Q(this,s).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,t]:[e]})}invalidateApiQueries(e,t){return Q(this,s).invalidateQueries({queryKey:arguments.length>1?[e,t]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,t){return Q(this,s).resetQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,t){return Q(this,s).refetchQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,t){return Q(this,s).cancelQueries({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,t){return Q(this,s).isFetching({queryKey:arguments.length>1?[e,t]:[e],type:"active",exact:!1})>0}isMutating(e){return Q(this,s).isMutating({mutationKey:[e],exact:!1})>0}}s=new WeakMap,a=new WeakMap,n=new WeakMap,u=new WeakMap,c=new WeakSet,h=function(e){return e.data},o=function({isPending:e,isFetching:t,isLoading:i,isRefetching:r,isSuccess:s,isPlaceholderData:a,isError:n,isLoadingError:u,isRefetchError:c,isStale:h,error:o,data:l,refetch:d}){return{isPending:e,isSuccess:s,isError:n,isLoadingError:u,isRefetchError:c,isLoading:i,isFetching:t,isRefetching:r,isPlaceholderData:a,isStale:h,error:o??void 0,data:l,refetch:async()=>{const e=await d();return{isSuccess:e.isSuccess,isError:e.isError,error:e.error,data:e.data}}}},l=function(e,t){const i=t(Q(this,n)),r=async(e,t)=>(f(this,u,t?.signal),await i(e));return r.key=e,r},exports.ApiClient=A,exports.createApiClient=function(e){return Object.freeze(new A(e))};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query-devtools"),t=require("@vef-framework/shared"),i=require("react"),r=i.createContext(null);const a=e.ReactQueryDevtoolsPanel;exports.ApiContextProvider=({client:e,dataDictionaryQueryApi:t,children:a})=>{const n=i.useMemo((()=>{const i=e.createQueryApi("_vefStubQueryApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),r=e.createQueryApi("_vefAsyncFnQueryApi",(()=>async({args:e,fn:t})=>({code:0,message:"ok",data:await t(...e)}))),a=e.createMutationApi("_vefStubMutationApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),n=e.createMutationApi("_vefAsyncFnMutationApi",(()=>async({args:e,fn:t})=>({code:0,message:"ok",data:await t(...e)})));return Object.freeze({useApiQuery:e.useApiQuery,useApiMutation:e.useApiMutation,useIsFetching:e.useIsFetching,useIsMutating:e.useIsMutating,fetchApiQuery:e.fetchApiQuery.bind(e),createQueryApi:e.createQueryApi.bind(e),createMutationApi:e.createMutationApi.bind(e),getApiQueryData:e.getApiQueryData.bind(e),getApiQueriesData:e.getApiQueriesData.bind(e),setApiQueryData:e.setApiQueryData.bind(e),removeApiQueries:e.removeApiQueries.bind(e),invalidateApiQueries:e.invalidateApiQueries.bind(e),resetApiQueries:e.resetApiQueries.bind(e),refetchApiQueries:e.refetchApiQueries.bind(e),cancelApiQueries:e.cancelApiQueries.bind(e),isFetching:e.isFetching.bind(e),isMutating:e.isMutating.bind(e),stubQueryApi:i,asyncFnQueryApi:r,stubMutationApi:a,asyncFnMutationApi:n,dataDictionaryQueryApi:t})}),[e,t]);return i.createElement(r.Provider,{value:n},i.createElement(e.QueryClientProvider,{},a))},exports.ApiQueryDevtools=a,exports.useApiContext=function(){const e=i.useContext(r);if(null===e)throw new t.VefError(-1,"Api context not found: Please ensure useApiContext is called within an ApiContextProvider");return e};
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@vef-framework/shared"),i=require("react"),t=i.createContext(null);exports.ApiContextProvider=({client:e,dataDictionaryQueryApi:r,children:a})=>{const n=i.useMemo((()=>{const i=e.createQueryApi("_vefStubQueryApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),t=e.createQueryApi("_vefAsyncFnQueryApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)}))),a=e.createMutationApi("_vefStubMutationApi",(()=>e=>Promise.resolve({code:0,message:"ok",data:e}))),n=e.createMutationApi("_vefAsyncFnMutationApi",(()=>async({args:e,fn:i})=>({code:0,message:"ok",data:await i(...e)})));return Object.freeze({useApiQuery:e.useApiQuery,useApiMutation:e.useApiMutation,useIsFetching:e.useIsFetching,useIsMutating:e.useIsMutating,fetchApiQuery:e.fetchApiQuery.bind(e),createQueryApi:e.createQueryApi.bind(e),createMutationApi:e.createMutationApi.bind(e),getApiQueryData:e.getApiQueryData.bind(e),getApiQueriesData:e.getApiQueriesData.bind(e),setApiQueryData:e.setApiQueryData.bind(e),removeApiQueries:e.removeApiQueries.bind(e),invalidateApiQueries:e.invalidateApiQueries.bind(e),resetApiQueries:e.resetApiQueries.bind(e),refetchApiQueries:e.refetchApiQueries.bind(e),cancelApiQueries:e.cancelApiQueries.bind(e),isFetching:e.isFetching.bind(e),isMutating:e.isMutating.bind(e),stubQueryApi:i,asyncFnQueryApi:t,stubMutationApi:a,asyncFnMutationApi:n,dataDictionaryQueryApi:r})}),[e,r]);return i.createElement(t.Provider,{value:n},i.createElement(e.QueryClientProvider,{},a))},exports.useApiContext=function(){const r=i.useContext(t);if(null===r)throw new e.VefError(-1,"Api context not found: Please ensure useApiContext is called within an ApiContextProvider");return r};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/lib/api/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./api-client.cjs"),t=require("./api-context.cjs"),r=require("@tanstack/react-query");exports.ApiClient=e.ApiClient,exports.createApiClient=e.createApiClient,exports.ApiContextProvider=t.ApiContextProvider,exports.ApiQueryDevtools=t.ApiQueryDevtools,exports.useApiContext=t.useApiContext,Object.defineProperty(exports,"useMutation",{enumerable:!0,get:()=>r.useMutation});
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./api-client.cjs"),t=require("./api-context.cjs"),r=require("@tanstack/react-query");exports.ApiClient=e.ApiClient,exports.createApiClient=e.createApiClient,exports.ApiContextProvider=t.ApiContextProvider,exports.useApiContext=t.useApiContext,Object.defineProperty(exports,"useMutation",{enumerable:!0,get:()=>r.useMutation});
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query");exports.createQueryClient=function(t){const r=t?.staleTime??1/0,n=t?.gcTime??6e5;return new e.QueryClient({defaultOptions:{queries:{networkMode:"always",staleTime:r,gcTime:n,retry:3,structuralSharing:!0,throwOnError:!1,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!0},mutations:{networkMode:"always",gcTime:r,retry:!1,throwOnError:!1}}})};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@vef-framework/shared"),t=require("axios"),r=require("qs");var s,a=e=>{throw TypeError(e)},o=(e,t,r)=>t.has(e)||a("Cannot "+r),n=(e,t,r)=>(o(e,t,"read from private field"),r?r.call(e):t.get(e));const i=/\{\w+\}/;class l{constructor(l){var c,u,p;this.options=l,c=this,(u=s).has(c)?a("Cannot add the same private member more than once"):u instanceof WeakSet?u.add(c):u.set(c,p),((e,t,r,s)=>{o(e,t,"write to private field"),s?s.call(e,r):t.set(e,r)})(this,s,t.create({baseURL:l.baseUrl,timeout:l.timeout??3e4,headers:{"Content-Type":"application/json"},paramsSerializer:e=>r.stringify(e,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),n(this,s).interceptors.request.use((t=>{const r=this.options.getAccessToken();r&&(t.headers.Authorization=`Bearer ${r}`);const{url:s}=t;return s&&i.test(s)&&(t.url=s.replace(i,((r,s)=>{const a=t.params?.[s];if(e.isNullish(a))throw new Error(`Path parameter ${s} is nil`);return a}))),t})),n(this,s).interceptors.response.use((t=>{const{code:r,message:s}=t.data;return 0===r?t:(e.showWarningMessage(s),Promise.reject(new e.VefError(r,s)))}),(r=>{if(r instanceof t.CanceledError)return Promise.reject(r);const{response:s,message:a}=r;if(s?.data){const t=`处理请求响应信息异常:${a??"无"}`;return Promise.reject(new e.VefError(s.status,t))}{let t=a??(e.isString(r)?r:"");if("Network Error"===t)t="接口连接异常可能原因:网络不通或存在跨域问题。";else if(t.includes("timeout"))t="接口请求超时";else if(t.includes("Request failed with status code")){t=`接口状态码异常:${a.substring(a.length-3)}`}else t="接口未知异常";return e.showErrorMessage(t),Promise.reject(new e.VefError(-1,t))}}))}async get(e,t){return(await n(this,s).get(e,{params:t?.params,signal:t?.signal})).data}async post(e,t,r){return(await n(this,s).post(e,t,{params:r?.params,signal:r?.signal})).data}async put(e,t,r){return(await n(this,s).put(e,t,{params:r?.params,signal:r?.signal})).data}async delete(e,t){return(await n(this,s).delete(e,{params:t?.params,signal:t?.signal})).data}async upload(t,r,a){return(await n(this,s).postForm(t,r,{params:a?.params,signal:a?.signal,onUploadProgress:e.isFunction(a?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:r}=e,s=Math.round(r/t*100);a.onProgress?.(s)}:void 0})).data}async download(t,r){const{data:a,headers:o}=await n(this,s).get(t,{params:r?.params,responseType:"blob",onDownloadProgress:e.isFunction(r?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:s}=e,a=Math.round(s/t*100);r.onProgress?.(a)}:void 0});let i=null;try{i=JSON.parse(await a.text())}catch{}if(i&&0!==i.code)throw new e.VefError(i.code,i.message);const l=o.get("content-disposition");if(e.isString(l)){const t=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(l);if(t&&t.groups){const{name:s}=t.groups,o=decodeURIComponent(s),n=document.createElement("a");n.href=URL.createObjectURL(a),n.download=e.isFunction(r?.fileName)?r.fileName(o):r?.fileName??o,n.click(),URL.revokeObjectURL(n.href)}}}}s=new WeakMap,exports.RequestClient=l,exports.createRequestClient=function(e){return Object.freeze(new l(e))};
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@vef-framework/shared"),t=require("axios"),r=require("qs");var s,a=e=>{throw TypeError(e)},o=(e,t,r)=>t.has(e)||a("Cannot "+r),n=(e,t,r)=>(o(e,t,"read from private field"),r?r.call(e):t.get(e));const i=/\{\w+\}/;class l{constructor(l){var c,u,p;this.options=l,c=this,(u=s).has(c)?a("Cannot add the same private member more than once"):u instanceof WeakSet?u.add(c):u.set(c,p),((e,t,r,s)=>{o(e,t,"write to private field"),s?s.call(e,r):t.set(e,r)})(this,s,t.create({baseURL:l.baseUrl,timeout:l.timeout??3e4,headers:{"Content-Type":"application/json"},paramsSerializer:e=>r.stringify(e,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),n(this,s).interceptors.request.use((t=>{const r=this.options.getAccessToken?.();r&&(t.headers.Authorization=`Bearer ${r}`);const{url:s}=t;return s&&i.test(s)&&(t.url=s.replace(i,((r,s)=>{const a=t.params?.[s];if(e.isNullish(a))throw new Error(`Path parameter ${s} is nil`);return a}))),t})),n(this,s).interceptors.response.use((t=>{const{code:r,message:s}=t.data;return 0===r?t:(e.showWarningMessage(s),Promise.reject(new e.VefError(r,s)))}),(r=>{if(r instanceof t.CanceledError)return Promise.reject(r);const{response:s,message:a}=r;if(s?.data){const t=`处理请求响应信息异常:${a??"无"}`;return Promise.reject(new e.VefError(s.status,t))}{let t=a??(e.isString(r)?r:"");if("Network Error"===t)t="接口连接异常可能原因:网络不通或存在跨域问题。";else if(t.includes("timeout"))t="接口请求超时";else if(t.includes("Request failed with status code")){t=`接口状态码异常:${a.substring(a.length-3)}`}else t="接口未知异常";return e.showErrorMessage(t),Promise.reject(new e.VefError(-1,t))}}))}async get(e,t){return(await n(this,s).get(e,{params:t?.params,signal:t?.signal})).data}async post(e,t,r){return(await n(this,s).post(e,t,{params:r?.params,signal:r?.signal})).data}async put(e,t,r){return(await n(this,s).put(e,t,{params:r?.params,signal:r?.signal})).data}async delete(e,t){return(await n(this,s).delete(e,{params:t?.params,signal:t?.signal})).data}async upload(t,r,a){return(await n(this,s).postForm(t,r,{params:a?.params,signal:a?.signal,onUploadProgress:e.isFunction(a?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:r}=e,s=Math.round(r/t*100);a.onProgress?.(s)}:void 0})).data}async download(t,r){const{data:a,headers:o}=await n(this,s).get(t,{params:r?.params,responseType:"blob",onDownloadProgress:e.isFunction(r?.onProgress)?e=>{const t=e.lengthComputable?e.total??0:0,{loaded:s}=e,a=Math.round(s/t*100);r.onProgress?.(a)}:void 0});let i=null;try{i=JSON.parse(await a.text())}catch{}if(i&&0!==i.code)throw new e.VefError(i.code,i.message);const l=o.get("content-disposition");if(e.isString(l)){const t=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(l);if(t&&t.groups){const{name:s}=t.groups,o=decodeURIComponent(s),n=document.createElement("a");n.href=URL.createObjectURL(a),n.download=e.isFunction(r?.fileName)?r.fileName(o):r?.fileName??o,n.click(),URL.revokeObjectURL(n.href)}}}}s=new WeakMap,exports.RequestClient=l,exports.createRequestClient=function(e){return Object.freeze(new l(e))};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@vef-framework/shared"),t=require("react"),r=t.createContext(null);exports.AuthContextProvider=({permissionChecker:o,children:n})=>{const u=t.useMemo((()=>({checkPermission:t=>!o||(e.isString(t)?o(t):o(t.key))})),[o]);return t.createElement(r.Provider,{value:u},n)},exports.useAuthContext=function(){const o=t.useContext(r);if(null===o)throw new e.VefError(-1,"useAuthContext must be used within a AuthContextProvider");return o};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./auth-context.cjs");exports.AuthContextProvider=t.AuthContextProvider,exports.useAuthContext=t.useAuthContext;
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./helpers.cjs");exports.compile=function t(e){let r;const i=new Set,s=function(n,t){return"function"==typeof n?n(t):n},o=[{"&&":(n,t,e)=>s(n,e)&&s(t,e),"||":(n,t,e)=>s(n,e)||s(t,e)},{"===":(n,t,e)=>!(s(n,e)!==s(t,e)),"!==":(n,t,e)=>!(s(n,e)===s(t,e)),"==":(n,t,e)=>!(s(n,e)!=s(t,e)),"!=":(n,t,e)=>!(s(n,e)==s(t,e)),">=":(n,t,e)=>!!(s(n,e)>=s(t,e)),"<=":(n,t,e)=>!!(s(n,e)<=s(t,e)),">":(n,t,e)=>!!(s(n,e)>s(t,e)),"<":(n,t,e)=>!!(s(n,e)<s(t,e))},{"+":(n,t,e)=>s(n,e)+s(t,e),"-":(n,t,e)=>s(n,e)-s(t,e)},{"*":(n,t,e)=>s(n,e)*s(t,e),"/":(n,t,e)=>s(n,e)/s(t,e),"%":(n,t,e)=>s(n,e)%s(t,e)}],l=o.reduce(((n,t)=>n.concat(Object.keys(t))),[]),u=new Set(l.map((n=>n.charAt(0))));function f(n,t,e,r){const i=n.filter((n=>n.startsWith(t)));return!!i.length&&i.find((n=>{if(r.length>=e+n.length){if(r.substring(e,e+n.length)===n)return n}return!1}))}function c(n,t,e=1){let r=e?t.substring(n+1).trim():t.substring(0,n).trim();if(!r.length)return-1;if(!e){const n=r.split("").reverse(),t=n.findIndex((n=>u.has(n)));r=n.slice(t).join("")}const[i]=r;return o.findIndex((n=>!!f(Object.keys(n),i,0,r)))}function g(n,t){let e="";const{length:r}=t;let i=0;for(let s=n;s<r;s++){const n=t.charAt(s);if("("===n)i++;else if(")"===n)i--;else if(0===i&&" "===n)continue;if(0===i&&f(l,n,s,t))return[e,s-1];e+=n}return[e,t.length-1]}function d(n,t=0){const e=o[t],{length:r}=n,i=Object.keys(e);let s,l,u=0,d=!1,h=null,b="",p=null,y="",m="",j="",$=0;const v=(n,t)=>{n?m+=t:b+=t};for(let o=0;o<r;o++)if(l=y,y=n.charAt(o),"'"!==y&&'"'!==y||"\\"===l||!(0===u&&!d||u&&!j))if(d&&(y!==d||"\\"===l)||j&&(y!==j||"\\"===l))v(u,y);else if(d!==y)if(j!==y){if(" "!==y)if("("===y)0===u?$=o:m+=y,u++;else if(")"===y)if(u--,0===u){const e="string"==typeof b&&b.startsWith("$")?b:void 0,r=e&&"."===n.charAt(o+1);let i="";r&&([i,o]=g(o+2,n));const s=h?t:c($,n,0),l=c(o,n);-1===s&&-1===l?(b=a(m,-1,e,i),"string"==typeof b&&(b=m)):h&&(s>=l||-1===l)&&t===s?(p=h.bind(null,a(m,-1,e,i)),h=null,b=""):l>s&&t===l?b=a(m,-1,e,i):b+=`(${m})${r?`.${i}`:""}`,m=""}else m+=y;else{if(0===u&&(s=f(i,y,o,n))){0===o&&console.error(103,[s,n]),o+=s.length-1,o===n.length-1&&console.error(104,[s,n]),h?b&&(p=h.bind(null,a(b,t)),h=e[s].bind(null,p),b=""):p?(h=e[s].bind(null,a(p,t)),p=null):(h=e[s].bind(null,a(b,t)),b="");continue}v(u,y)}}else j=!1,v(u,y);else d=!1,v(u,y);else u?j=y:d=y,v(u,y);return b&&h&&(h=h.bind(null,a(b,t))),h=!h&&p?p:h,!h&&b&&(h=(n,t)=>"function"==typeof n?n(t):n,h=h.bind(null,a(b,t))),h||b||console.error(105,n),h}function a(e,s,l,u){if(l){const i=a(l,o.length);let s,f=!!u&&t(`$${u}`);if("function"==typeof i){const t=n.parseArgs(String(e)).map((n=>a(n,-1)));return e=>{const o=i(e);return"function"!=typeof o?(console.warn(150,l),o):(s=o(...t.map((n=>"function"==typeof n?n(e):n))),f&&(f=f.provide((t=>{const e=r(t);return t.reduce(((t,r)=>{if(r===u||u?.startsWith(`${r}(`)){const e=n.getAt(s,r);t[r]=()=>e}else t[r]=e[r];return t}),{})}))),f?f():s)}}}else if("string"==typeof e){if("true"===e)return!0;if("false"===e)return!1;if("undefined"===e)return;if(n.isQuotedString(e))return n.rmEscapes(e.substring(1,e.length-1));if(!Number.isNaN(+e))return Number(e);if(s<o.length-1)return d(e,s+1);if(e.startsWith("$")){const n=e.substring(1);return i.add(n),function(t){return n in t?t[n]():void 0}}return e}return e}const h=d(e),b=Array.from(i);return Object.assign(h,{provide:function n(t){return r=t,Object.assign(h.bind(null,t(b)),{provide:n})}})};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";function t(t,e){return Object.hasOwn(t,e)}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),exports.getAt=function(e,n){if(!e||"object"!=typeof e)return null;const r=n.split(".");let o=e;for(const e in r){const n=r[e];if(t(o,n)&&(o=o[n]),+e==r.length-1)return o;if(!o||"object"!=typeof o)return null}return null},exports.has=t,exports.isQuotedString=function(t){if('"'!==t[0]&&"'"!==t[0])return!1;if(t[0]!==t[t.length-1])return!1;const[e]=t;for(let n=1;n<t.length;n++)if(t[n]===e&&(1===n||"\\"!==t[n-1])&&n!==t.length-1)return!1;return!0},exports.parseArgs=function(t){const e=[];let n="",r=0,o="",u="";for(let s=0;s<t.length;s++){const l=t.charAt(s);l===o&&"\\"!==u?o="":"'"!==l&&'"'!==l||o||"\\"===u?"("!==l||o?")"!==l||o||r--:r++:o=l,","!==l||o||0!==r?(" "!==l||o)&&(n+=l):(e.push(n),n=""),u=l}return n&&e.push(n),e},exports.rmEscapes=function(t){if(!t.length)return"";let e="",n="";for(let r=0;r<t.length;r++){const o=t.charAt(r);"\\"===o&&"\\"!==n||(e+=o),n=o}return e};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/lib/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./api/index.cjs"),require("./auth/index.cjs");const e=require("./expr/compiler.cjs");require("./router/index.cjs");const t=require("./api/api-client.cjs"),r=require("@tanstack/react-query"),o=require("./api/api-context.cjs"),i=require("./auth/auth-context.cjs"),u=require("@tanstack/react-router"),n=require("./router/router-provider.cjs");exports.compile=e.compile,exports.ApiClient=t.ApiClient,exports.createApiClient=t.createApiClient,Object.defineProperty(exports,"useMutation",{enumerable:!0,get:()=>r.useMutation}),exports.ApiContextProvider=o.ApiContextProvider,exports.ApiQueryDevtools=o.ApiQueryDevtools,exports.useApiContext=o.useApiContext,exports.AuthContextProvider=i.AuthContextProvider,exports.useAuthContext=i.useAuthContext,Object.defineProperty(exports,"Link",{enumerable:!0,get:()=>u.Link}),Object.defineProperty(exports,"Outlet",{enumerable:!0,get:()=>u.Outlet}),Object.defineProperty(exports,"createFileRoute",{enumerable:!0,get:()=>u.createFileRoute}),Object.defineProperty(exports,"createLazyFileRoute",{enumerable:!0,get:()=>u.createLazyFileRoute}),Object.defineProperty(exports,"createRootRoute",{enumerable:!0,get:()=>u.createRootRoute}),Object.defineProperty(exports,"createRootRouteWithContext",{enumerable:!0,get:()=>u.createRootRouteWithContext}),Object.defineProperty(exports,"createRouter",{enumerable:!0,get:()=>u.createRouter}),Object.defineProperty(exports,"redirect",{enumerable:!0,get:()=>u.redirect}),Object.defineProperty(exports,"useLocation",{enumerable:!0,get:()=>u.useLocation}),Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:()=>u.useNavigate}),Object.defineProperty(exports,"useRouter",{enumerable:!0,get:()=>u.useRouter}),Object.defineProperty(exports,"useSearch",{enumerable:!0,get:()=>u.useSearch}),exports.VefRouterProvider=n.VefRouterProvider;
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./api/index.cjs"),require("./auth/index.cjs");const e=require("./expr/compiler.cjs"),t=require("./api/api-client.cjs"),r=require("@tanstack/react-query"),i=require("./api/api-context.cjs"),o=require("./auth/auth-context.cjs");exports.compile=e.compile,exports.ApiClient=t.ApiClient,exports.createApiClient=t.createApiClient,Object.defineProperty(exports,"useMutation",{enumerable:!0,get:()=>r.useMutation}),exports.ApiContextProvider=i.ApiContextProvider,exports.useApiContext=i.useApiContext,exports.AuthContextProvider=o.AuthContextProvider,exports.useAuthContext=o.useAuthContext;
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +1,3 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
1
+ /*! VefFramework version: 1.0.38, build time: 2024-12-22T14:17:01.865Z, made by Venus. */
2
2
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),exports.default=function(){const e=[];let t=0;const n=t=>e.push(t),o=n=>{const s=e[t];return"function"==typeof s?s(n,(e=>(t++,o(e)))):(t=0,n)};return n.dispatch=o,n.unshift=t=>e.unshift(t),n.remove=t=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},n};
3
3
  /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vef-framework/core",
3
3
  "type": "module",
4
- "version": "1.0.37",
4
+ "version": "1.0.38",
5
5
  "private": false,
6
6
  "packageManager": "pnpm@9.15.0",
7
7
  "description": "The core of the VEF framework",
@@ -35,9 +35,8 @@
35
35
  "tslib": "2.8.1",
36
36
  "use-sync-external-store": "^1.4.0",
37
37
  "@tanstack/react-query": "5.62.8",
38
- "@tanstack/react-query-devtools": "5.62.8",
39
38
  "@tanstack/react-router": "1.91.3",
40
- "@vef-framework/shared": "1.0.37",
39
+ "@vef-framework/shared": "1.0.38",
41
40
  "axios": "1.7.9",
42
41
  "qs": "6.13.1"
43
42
  },
@@ -15,11 +15,12 @@ export interface RequestMethods<R = unknown> {
15
15
  /**
16
16
  * The API client options.
17
17
  */
18
- export type ApiClientOptions = {} & RequestClientOptions & QueryClientOptions;
18
+ export interface ApiClientOptions extends RequestClientOptions, QueryClientOptions {
19
+ }
19
20
  /**
20
21
  * The query options.
21
22
  */
22
- export type QueryOptions<R = unknown> = {
23
+ export interface QueryOptions<R = unknown> extends Pick<UseQueryOptions<ApiResponse<R>, VefError, R>, "staleTime" | "enabled" | "placeholderData" | "refetchInterval" | "refetchIntervalInBackground" | "refetchOnMount" | "refetchOnWindowFocus"> {
23
24
  /**
24
25
  * Whether to keep the previous data.
25
26
  */
@@ -28,7 +29,7 @@ export type QueryOptions<R = unknown> = {
28
29
  * The initial data.
29
30
  */
30
31
  initialData?: R;
31
- } & Pick<UseQueryOptions<ApiResponse<R>, VefError, R>, "staleTime" | "enabled" | "placeholderData" | "refetchInterval" | "refetchIntervalInBackground" | "refetchOnMount" | "refetchOnWindowFocus">;
32
+ }
32
33
  /**
33
34
  * The API client.
34
35
  */
@@ -1,4 +1,3 @@
1
- import { ReactQueryDevtoolsPanel } from "@tanstack/react-query-devtools";
2
1
  import { type ChildrenProps, type DataDictionaryQueryApi, type MutationApi, type QueryApi } from "@vef-framework/shared";
3
2
  import { type FC } from "react";
4
3
  import type { ApiClient } from "./api-client";
@@ -133,5 +132,4 @@ declare const ApiContextProvider: FC<ApiContextProviderProps>;
133
132
  * The use API context hook.
134
133
  */
135
134
  declare function useApiContext(): Readonly<ApiContext>;
136
- declare const ApiQueryDevtools: typeof ReactQueryDevtoolsPanel;
137
- export { ApiContextProvider, ApiQueryDevtools, useApiContext, };
135
+ export { ApiContextProvider, useApiContext, };
@@ -6,7 +6,7 @@ import { type GenericAbortSignal } from "axios";
6
6
  export interface RequestClientOptions {
7
7
  baseUrl: string;
8
8
  timeout?: number;
9
- getAccessToken: () => MaybeNullish<string>;
9
+ getAccessToken?: () => MaybeNullish<string>;
10
10
  }
11
11
  /**
12
12
  * The request options.
package/types/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./api";
2
2
  export * from "./auth";
3
3
  export { compile } from "./expr/compiler";
4
- export * from "./router";
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import"./router.js";export{VefRouterProvider}from"./router-provider.js";export{Link,Outlet,createFileRoute,createLazyFileRoute,createRootRoute,createRootRouteWithContext,createRouter,redirect,useLocation,useNavigate,useRouter,useSearch}from"@tanstack/react-router";
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import{RouterProvider as t}from"@tanstack/react-router";import{useMemo as r,createElement as o}from"react";import"../api/index.js";import{useApiContext as e}from"../api/api-context.js";function i({router:i}){const{fetchApiQuery:p}=e(),c=r((()=>({fetchApiQuery:p})),[p]);return o(t,{router:i,context:c})}export{i as VefRouterProvider};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- import{createRouter as e,createBrowserHistory as t}from"@tanstack/react-router";import{showErrorNotification as o}from"@vef-framework/shared";import{createElement as r}from"react";const n=6e5;function a({routeTree:a,notFoundComponent:l,errorComponent:d,pendingComponent:i}){return e({routeTree:a,trailingSlash:"never",caseSensitive:!0,history:t(),search:{strict:!0},defaultErrorComponent:d,defaultNotFoundComponent:l,defaultPendingComponent:i,notFoundMode:"root",defaultPendingMs:500,defaultPendingMinMs:300,defaultSsr:!1,defaultStructuralSharing:!0,defaultHashScrollIntoView:{behavior:"smooth",block:"start",inline:"center"},defaultPreload:"intent",defaultPreloadDelay:50,defaultPreloadGcTime:n,defaultGcTime:n,defaultOnCatch(e,t){o(e.message||e.name,r("pre",{children:e.stack||t.componentStack||"No stack trace available"}))}})}export{a as createRouter};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./router.cjs");const e=require("./router-provider.cjs"),t=require("@tanstack/react-router");exports.VefRouterProvider=e.VefRouterProvider,Object.defineProperty(exports,"Link",{enumerable:!0,get:()=>t.Link}),Object.defineProperty(exports,"Outlet",{enumerable:!0,get:()=>t.Outlet}),Object.defineProperty(exports,"createFileRoute",{enumerable:!0,get:()=>t.createFileRoute}),Object.defineProperty(exports,"createLazyFileRoute",{enumerable:!0,get:()=>t.createLazyFileRoute}),Object.defineProperty(exports,"createRootRoute",{enumerable:!0,get:()=>t.createRootRoute}),Object.defineProperty(exports,"createRootRouteWithContext",{enumerable:!0,get:()=>t.createRootRouteWithContext}),Object.defineProperty(exports,"createRouter",{enumerable:!0,get:()=>t.createRouter}),Object.defineProperty(exports,"redirect",{enumerable:!0,get:()=>t.redirect}),Object.defineProperty(exports,"useLocation",{enumerable:!0,get:()=>t.useLocation}),Object.defineProperty(exports,"useNavigate",{enumerable:!0,get:()=>t.useNavigate}),Object.defineProperty(exports,"useRouter",{enumerable:!0,get:()=>t.useRouter}),Object.defineProperty(exports,"useSearch",{enumerable:!0,get:()=>t.useSearch});
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-router"),r=require("react");require("../api/index.cjs");const t=require("../api/api-context.cjs");exports.VefRouterProvider=function({router:o}){const{fetchApiQuery:u}=t.useApiContext(),i=r.useMemo((()=>({fetchApiQuery:u})),[u]);return r.createElement(e.RouterProvider,{router:o,context:i})};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.37, build time: 2024-12-21T13:19:31.948Z, made by Venus. */
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-router"),t=require("@vef-framework/shared"),r=require("react"),o=6e5;exports.createRouter=function({routeTree:n,notFoundComponent:a,errorComponent:i,pendingComponent:l}){return e.createRouter({routeTree:n,trailingSlash:"never",caseSensitive:!0,history:e.createBrowserHistory(),search:{strict:!0},defaultErrorComponent:i,defaultNotFoundComponent:a,defaultPendingComponent:l,notFoundMode:"root",defaultPendingMs:500,defaultPendingMinMs:300,defaultSsr:!1,defaultStructuralSharing:!0,defaultHashScrollIntoView:{behavior:"smooth",block:"start",inline:"center"},defaultPreload:"intent",defaultPreloadDelay:50,defaultPreloadGcTime:o,defaultGcTime:o,defaultOnCatch(e,o){t.showErrorNotification(e.message||e.name,r.createElement("pre",{children:e.stack||o.componentStack||"No stack trace available"}))}})};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- export * from "./router";
2
- export * from "./router-provider";
3
- export { createFileRoute, createLazyFileRoute, createRootRoute, createRootRouteWithContext, createRouter, Link, Outlet, redirect, useLocation, useNavigate, useRouter, useSearch, type ErrorComponentProps, type NotFoundRouteProps as NotFoundComponentProps, } from "@tanstack/react-router";
@@ -1,18 +0,0 @@
1
- import { type RouterProps } from "@tanstack/react-router";
2
- import { type ApiClient } from "../api";
3
- /**
4
- * The props of the VefRouterProvider component.
5
- */
6
- export interface VefRouterProviderProps extends Pick<RouterProps, "router"> {
7
- }
8
- /**
9
- * The context of the router.
10
- */
11
- export interface RouterContext {
12
- /**
13
- * The fetchApiQuery function.
14
- */
15
- fetchApiQuery: ApiClient["fetchApiQuery"];
16
- }
17
- declare function VefRouterProvider({ router, }: VefRouterProviderProps): import("react").FunctionComponentElement<RouterProps<import("@tanstack/react-router").AnyRouter, Record<string, any>>>;
18
- export { VefRouterProvider };
@@ -1,33 +0,0 @@
1
- import { type AnyRoute, type ErrorRouteComponent, type NotFoundRouteComponent, type RouteComponent } from "@tanstack/react-router";
2
- /**
3
- * The options for creating a router.
4
- */
5
- export interface RouterOptions {
6
- /**
7
- * The route tree to create the router from.
8
- */
9
- routeTree: AnyRoute;
10
- /**
11
- * The component to use for not found routes.
12
- */
13
- notFoundComponent: NotFoundRouteComponent;
14
- /**
15
- * The component to use for error routes.
16
- */
17
- errorComponent: ErrorRouteComponent;
18
- /**
19
- * The component to use for pending routes.
20
- */
21
- pendingComponent: RouteComponent;
22
- }
23
- /**
24
- * Creates a router.
25
- *
26
- * @param options The options for creating the router.
27
- * @param options.routeTree The route tree to create the router from.
28
- * @param options.notFoundComponent The component to use for not found routes.
29
- * @param options.errorComponent The component to use for error routes.
30
- * @param options.pendingComponent The component to use for pending routes.
31
- * @returns The created router.
32
- */
33
- export declare function createRouter({ routeTree, notFoundComponent, errorComponent, pendingComponent, }: RouterOptions): import("@tanstack/react-router").Router<AnyRoute, "never", true, import("@tanstack/history").RouterHistory, Record<string, any>, Record<string, any>>;