@vef-framework/core 2.0.11 → 2.1.0
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/cjs/_internal/_rolldown/runtime.cjs +1 -0
- package/dist/cjs/ai/index.cjs +1 -0
- package/dist/cjs/api/client.cjs +1 -1
- package/dist/cjs/api/constants.cjs +1 -1
- package/dist/cjs/api/helpers.cjs +1 -1
- package/dist/cjs/api/index.cjs +1 -1
- package/dist/cjs/auth/helpers.cjs +1 -1
- package/dist/cjs/auth/index.cjs +1 -1
- package/dist/cjs/context/api-client.cjs +1 -1
- package/dist/cjs/context/app.cjs +1 -1
- package/dist/cjs/context/context-selector.cjs +1 -1
- package/dist/cjs/context/disabled.cjs +1 -1
- package/dist/cjs/context/index.cjs +1 -1
- package/dist/cjs/dnd/index.cjs +1 -1
- package/dist/cjs/http/client.cjs +1 -1
- package/dist/cjs/http/constants.cjs +1 -0
- package/dist/cjs/http/errors.cjs +1 -1
- package/dist/cjs/http/helpers.cjs +1 -1
- package/dist/cjs/http/index.cjs +1 -1
- package/dist/cjs/immer/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/motion/features.cjs +1 -1
- package/dist/cjs/motion/index.cjs +1 -1
- package/dist/cjs/motion/motion-provider.cjs +1 -1
- package/dist/cjs/query/constants.cjs +1 -1
- package/dist/cjs/query/helpers.cjs +1 -1
- package/dist/cjs/query/hooks.cjs +1 -1
- package/dist/cjs/query/index.cjs +1 -1
- package/dist/cjs/sse/client.cjs +1 -0
- package/dist/cjs/sse/helpers.cjs +1 -0
- package/dist/cjs/sse/index.cjs +1 -0
- package/dist/cjs/state/index.cjs +1 -1
- package/dist/cjs/state-machine/index.cjs +1 -1
- package/dist/cjs/store/bound.cjs +1 -1
- package/dist/cjs/store/index.cjs +1 -1
- package/dist/cjs/store/unbound.cjs +1 -3
- package/dist/cjs/store/use-deep.cjs +1 -1
- package/dist/es/ai/index.js +3 -0
- package/dist/es/api/client.js +72 -147
- package/dist/es/api/constants.js +14 -7
- package/dist/es/api/helpers.js +7 -6
- package/dist/es/api/index.js +4 -8
- package/dist/es/auth/helpers.js +9 -9
- package/dist/es/auth/index.js +2 -4
- package/dist/es/context/api-client.js +21 -17
- package/dist/es/context/app.js +8 -8
- package/dist/es/context/context-selector.js +38 -50
- package/dist/es/context/disabled.js +9 -9
- package/dist/es/context/index.js +5 -13
- package/dist/es/dnd/index.js +8 -30
- package/dist/es/http/client.js +186 -359
- package/dist/es/http/constants.js +5 -0
- package/dist/es/http/errors.js +10 -15
- package/dist/es/http/helpers.js +8 -11
- package/dist/es/http/index.js +5 -11
- package/dist/es/immer/index.js +6 -15
- package/dist/es/index.js +27 -122
- package/dist/es/motion/features.js +3 -4
- package/dist/es/motion/index.js +5 -11
- package/dist/es/motion/motion-provider.js +22 -21
- package/dist/es/query/constants.js +5 -4
- package/dist/es/query/helpers.js +40 -54
- package/dist/es/query/hooks.js +18 -28
- package/dist/es/query/index.js +4 -14
- package/dist/es/sse/client.js +121 -0
- package/dist/es/sse/helpers.js +8 -0
- package/dist/es/sse/index.js +3 -0
- package/dist/es/state/index.js +3 -11
- package/dist/es/state-machine/index.js +13 -14
- package/dist/es/store/bound.js +18 -33
- package/dist/es/store/index.js +6 -11
- package/dist/es/store/unbound.js +43 -50
- package/dist/es/store/use-deep.js +12 -11
- package/dist/types/ai/index.d.ts +6 -0
- package/dist/types/api/client.d.ts +15 -35
- package/dist/types/api/constants.d.ts +7 -3
- package/dist/types/api/index.d.ts +1 -1
- package/dist/types/auth/helpers.d.ts +5 -5
- package/dist/types/auth/index.d.ts +2 -2
- package/dist/types/common/index.d.ts +1 -1
- package/dist/types/common/types.d.ts +3 -0
- package/dist/types/context/api-client.d.ts +9 -10
- package/dist/types/context/app.d.ts +9 -1
- package/dist/types/context/context-selector.d.ts +7 -19
- package/dist/types/context/disabled.d.ts +2 -2
- package/dist/types/context/index.d.ts +3 -2
- package/dist/types/context/types.d.ts +0 -1
- package/dist/types/dnd/index.d.ts +4 -2
- package/dist/types/http/client.d.ts +39 -71
- package/dist/types/http/constants.d.ts +24 -0
- package/dist/types/http/index.d.ts +2 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/motion/index.d.ts +2 -2
- package/dist/types/motion/motion-provider.d.ts +8 -3
- package/dist/types/query/helpers.d.ts +1 -4
- package/dist/types/query/hooks.d.ts +6 -45
- package/dist/types/query/types.d.ts +12 -12
- package/dist/types/src/ai/index.d.ts +6 -0
- package/dist/types/src/api/client.d.ts +55 -0
- package/dist/types/src/api/constants.d.ts +12 -0
- package/dist/types/src/api/helpers.d.ts +9 -0
- package/dist/types/src/api/index.d.ts +4 -0
- package/dist/types/src/api/types.d.ts +48 -0
- package/dist/types/src/auth/helpers.d.ts +11 -0
- package/dist/types/src/auth/index.d.ts +2 -0
- package/dist/types/src/auth/types.d.ts +1 -0
- package/dist/types/src/common/index.d.ts +1 -0
- package/dist/types/src/common/types.d.ts +98 -0
- package/dist/types/src/context/api-client.d.ts +17 -0
- package/dist/types/src/context/app.d.ts +12 -0
- package/dist/types/src/context/context-selector.d.ts +32 -0
- package/dist/types/src/context/disabled.d.ts +9 -0
- package/dist/types/src/context/index.d.ts +6 -0
- package/dist/types/src/context/types.d.ts +26 -0
- package/dist/types/src/dnd/index.d.ts +8 -0
- package/dist/types/src/http/client.d.ts +112 -0
- package/dist/types/src/http/constants.d.ts +24 -0
- package/dist/types/src/http/errors.d.ts +14 -0
- package/dist/types/src/http/helpers.d.ts +17 -0
- package/dist/types/src/http/index.d.ts +5 -0
- package/dist/types/src/http/types.d.ts +101 -0
- package/dist/types/src/immer/index.d.ts +2 -0
- package/dist/types/src/index.d.ts +16 -0
- package/dist/types/src/motion/features.d.ts +1 -0
- package/dist/types/src/motion/index.d.ts +4 -0
- package/dist/types/src/motion/motion-provider.d.ts +10 -0
- package/dist/types/src/query/constants.d.ts +1 -0
- package/dist/types/src/query/helpers.d.ts +7 -0
- package/dist/types/src/query/hooks.d.ts +27 -0
- package/dist/types/src/query/index.d.ts +4 -0
- package/dist/types/src/query/types.d.ts +51 -0
- package/dist/types/src/sse/client.d.ts +16 -0
- package/dist/types/src/sse/helpers.d.ts +9 -0
- package/dist/types/src/sse/index.d.ts +3 -0
- package/dist/types/src/sse/types.d.ts +98 -0
- package/dist/types/src/state/index.d.ts +1 -0
- package/dist/types/src/state-machine/index.d.ts +15 -0
- package/dist/types/src/store/bound.d.ts +28 -0
- package/dist/types/src/store/index.d.ts +5 -0
- package/dist/types/src/store/types.d.ts +50 -0
- package/dist/types/src/store/unbound.d.ts +26 -0
- package/dist/types/src/store/use-deep.d.ts +8 -0
- package/dist/types/sse/client.d.ts +16 -0
- package/dist/types/sse/helpers.d.ts +9 -0
- package/dist/types/sse/index.d.ts +3 -0
- package/dist/types/sse/types.d.ts +98 -0
- package/dist/types/state-machine/index.d.ts +2 -1
- package/dist/types/store/unbound.d.ts +6 -6
- package/dist/types/store/use-deep.d.ts +4 -3
- package/package.json +18 -16
- package/dist/cjs/common/index.cjs +0 -1
- package/dist/es/common/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`),require(`ai`);
|
package/dist/cjs/api/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);const e=require(`../http/helpers.cjs`),t=require(`../query/helpers.cjs`),n=require(`./constants.cjs`);let r=require(`@vef-framework/shared`);function i(e,t){return Object.defineProperty(e,`key`,{value:t,configurable:!1,writable:!1,enumerable:!1}),e}var a=class{#e;#t;#n;get[n.QUERY_CLIENT](){return this.#t}get[n.HTTP_CLIENT](){return this.#e}constructor(n){let{http:r,query:i}=n;this.#t=t.createQueryClient(i),this.#e=this.createProxiedHttpClient(e.createHttpClient(r))}createProxiedHttpClient(e){let t=new Map;return new Proxy(e,{get:(e,i,a)=>{let o=Reflect.get(e,i,a);if(!(0,r.isFunction)(o))return o;if(!t.has(i)){let r=n.PROXIED_METHODS.has(i)?(t,n)=>o.apply(e,[t,{...n,signal:this.#n}]):(...t)=>o.apply(e,t);t.set(i,r)}return t.get(i)}})}createQueryFn(e,t){let n=t(this.#e);return i(e=>{let{queryKey:t,signal:r,pageParam:i,meta:a}=e,[,o]=t;try{return this.#n=r,n(o,i,a)}finally{this.#n=void 0}},e)}createMutationFn(e,t){let n=t(this.#e);return i(e=>n(e),e)}fetchQuery(e){return this.#t.fetchQuery(e)}prefetchQuery(e){return this.#t.prefetchQuery(e)}executeMutation({mutationFn:e,params:t,...n}){return this.#t.getMutationCache().build(this.#t,{mutationKey:[e.key],mutationFn:e,...n}).execute(t)}};exports.ApiClient=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../http/constants.cjs`),t=require(`../query/constants.cjs`);var n=new Set([`get`,`post`,`put`,`delete`,`upload`,`download`]),r=Symbol.for(t.QUERY_CLIENT_KEY),i=Symbol.for(e.HTTP_CLIENT_KEY);exports.HTTP_CLIENT=i,exports.PROXIED_METHODS=n,exports.QUERY_CLIENT=r;
|
package/dist/cjs/api/helpers.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`./client.cjs`);function t(t){return new e.ApiClient(t)}exports.createApiClient=t;
|
package/dist/cjs/api/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`./constants.cjs`),require(`./client.cjs`),require(`./helpers.cjs`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`);function t(t,n,r=`any`){if((0,e.isNullish)(n))return!0;let i=(0,e.isString)(n)?[n]:n;return r===`any`?i.some(e=>t(e)):i.every(e=>t(e))}exports.checkPermission=t;
|
package/dist/cjs/auth/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`./helpers.cjs`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);const e=require(`../api/constants.cjs`);let t=require(`@tanstack/react-query`),n=require(`react`),r=require(`@emotion/react/jsx-runtime`);var i=(0,n.createContext)(null);function a({value:n,children:a}){return(0,r.jsx)(i,{value:n,children:(0,r.jsx)(t.QueryClientProvider,{client:n[e.QUERY_CLIENT],children:a})})}function o(){let e=(0,n.use)(i);if(!e)throw Error(`useApiClient must be used within an ApiClientProvider.`);return e}exports.ApiClientProvider=a,exports.useApiClient=o;
|
package/dist/cjs/context/app.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`react`);var t=(0,e.createContext)({}),n=t.Provider;function r(){return(0,e.use)(t)}exports.AppContextProvider=n,exports.useAppContext=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`react`),n=require(`@emotion/react/jsx-runtime`);function r(r){let a=(0,t.createContext)(i(r));function o({value:e,children:r}){let[o]=(0,t.useState)(()=>i(e));return(0,t.useEffect)(()=>{Object.is(o.value,e)||(o.value=e,o.notify())}),(0,n.jsx)(a,{value:o,children:r})}o.displayName=`SelectorContextProvider`;function s(n){let r=(0,t.use)(a),i=()=>(0,e.isFunction)(n)?n(r.value):r.value;return(0,t.useSyncExternalStore)(r.subscribe,i,i)}return{Provider:o,useContext:s}}function i(e){let t=new Set;return{value:e,subscribe(e){return t.add(e),()=>t.delete(e)},notify(){for(let e of t)e()}}}exports.createContextWithSelector=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`react`);var t=(0,e.createContext)(!1);function n(){return(0,e.use)(t)}var r=t.Provider;exports.DisabledProvider=r,exports.useDisabled=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`./api-client.cjs`),require(`./app.cjs`),require(`./context-selector.cjs`),require(`./disabled.cjs`);
|
package/dist/cjs/dnd/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`),require(`@dnd-kit/abstract/modifiers`),require(`@dnd-kit/dom/modifiers`),require(`@dnd-kit/helpers`),require(`@dnd-kit/react`),require(`@dnd-kit/react/sortable`),require(`@hello-pangea/dnd`);
|
package/dist/cjs/http/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../_internal/_rolldown/runtime.cjs`),t=require(`./constants.cjs`),n=require(`./errors.cjs`);let r=require(`@vef-framework/shared`),i=require(`axios`);i=e.__toESM(i);var a=class{#e;#t;#n=!1;#r=[];constructor(e){this.#t=e;let{baseUrl:n,timeout:a=t.DEFAULT_TIMEOUT}=e;this.#e=i.default.create({baseURL:n,allowAbsoluteUrls:!0,timeout:a,headers:{"Content-Type":`application/json`},paramsSerializer:e=>(0,r.encodeQueryString)(e,{arrayFormat:`repeat`,skipNulls:!0,charset:`utf-8`}),responseType:`json`,responseEncoding:`utf-8`,validateStatus:e=>e>=200&&e<300,withCredentials:!1,timeoutErrorMessage:`请求超时`}),this.initInterceptors()}initInterceptors(){this.#e.interceptors.request.use(this.handleRequest.bind(this),this.handleRequestError.bind(this)),this.#e.interceptors.response.use(this.handleResponse.bind(this),this.handleResponseError.bind(this))}matchesCode(e,t){return(0,r.isArray)(t)?t.includes(e):e===t}async handleRequest(e){let n=e.headers[t.SKIP_AUTH_HEADER]===`1`;if(this.#n&&!n&&!await new Promise(e=>{this.#r.push(e)}))throw Error(`登录已过期, 请重新登录`);return n?delete e.headers[t.SKIP_AUTH_HEADER]:await this.injectAccessToken(e),this.replacePathParams(e),e}handleRequestError(e){let{showErrorMessage:t}=this.#t,n=`发起请求失败: ${(e instanceof Error?e.message:String(e))||`未知错误`}`;return t?t(n):console.error(`[HttpClient] ${n}`),Promise.reject(e)}handleResponse(e){let{showWarningMessage:t,okCode:r=0}=this.#t,{code:i,message:a,data:o}=e.data;if(this.matchesCode(i,r))return e;throw t?t(a):console.warn(`[HttpClient] [${e.config.method}: ${e.config.url}] 返回错误: ${a}`),new n.BusinessError(i,a,o)}async handleResponseError(e){if(e instanceof i.CanceledError){if(e.response){let{method:t,url:n}=e.response.config;console.warn(`[HttpClient] [${t}: ${n}] 被取消`)}return}let{response:t}=e;if(!t)throw this.logError(`请求失败: ${e.message||`未知错误`}`),e;let{status:n,config:r,data:a}=t,{code:o,message:s}=a,c=`[${r.method}: ${r.url}]`;switch(n){case 400:this.logWarning(s,`${c} 参数错误: ${s}`);break;case 401:await this.handleUnauthorized(e,o,c);break;case 403:this.#t.showWarningMessage?.(`${s}, 请联系管理员为您开通`),console.warn(`[HttpClient] ${c} 访问被拒绝: ${s}`),await this.#t.onAccessDenied?.();break;default:this.logError(s,`${c} 返回错误: ${s}`)}throw e}async handleUnauthorized(e,t,n){let{tokenExpiredCode:r=[]}=this.#t;if(!this.matchesCode(t,r)){await this.#t.onUnauthenticated?.();return}if(this.#n)throw e;if(await this.tryRefreshToken())return this.retryRequest(e.response.config);this.logInfo(`登录已过期, 请重新登录`),await this.#t.onUnauthenticated?.()}logInfo(e){this.#t.showInfoMessage?this.#t.showInfoMessage(e):console.info(`[HttpClient] ${e}`)}logWarning(e,t){this.#t.showWarningMessage?this.#t.showWarningMessage(e):console.warn(`[HttpClient] ${t??e}`)}logError(e,t){this.#t.showErrorMessage?this.#t.showErrorMessage(e):console.error(`[HttpClient] ${t??e}`)}async injectAccessToken(e){let{getAuthTokens:t}=this.#t;if(!t)return;let n=await t();n?.accessToken&&(e.headers.Authorization=`Bearer ${n.accessToken}`)}replacePathParams(e){let{url:n,params:i={}}=e;!n||!t.PATH_PARAM_REGEX.test(n)||(t.PATH_PARAM_REGEX.lastIndex=0,e.url=n.replaceAll(t.PATH_PARAM_REGEX,(e,t)=>{if(!Object.hasOwn(i,t))return console.warn(`[HttpClient] 接口: ${n} 路径参数 ${t} 未在查询参数中定义, 请检查`),`unknown`;let a=i[t];return(0,r.isNullish)(a)?(console.warn(`[HttpClient] 接口: ${n} 路径参数 ${t} 在查询参数中为空, 请检查`),`unknown`):String(a)}))}async ensureTokenRefreshed(e=!0){if(this.#n)return new Promise(e=>{this.#r.push(e)});let t=await this.tryRefreshToken();return!t&&e&&await this.#t.onUnauthenticated?.(),t}async tryRefreshToken(){let{getAuthTokens:e,refreshToken:t,setAuthTokens:n}=this.#t;if(!e||!t||!n)return!1;this.#n=!0;let r=!1;try{let i=await e();if(!i)return!1;let a=await t(i);return await n(Object.freeze(a)),r=!0,!0}catch(e){return console.error(`[HttpClient] 刷新令牌失败: ${e}`),!1}finally{this.#n=!1;for(let e of this.#r)e(r);this.#r=[]}}async retryRequest(e){let t={...e};return await this.injectAccessToken(t),this.#e(t)}async get(e,t){return(await this.#e.get(e,t)).data}async post(e,t){let{data:n,...r}=t??{};return(await this.#e.post(e,n,r)).data}async put(e,t){let{data:n,...r}=t??{};return(await this.#e.put(e,n,r)).data}async delete(e,t){return(await this.#e.delete(e,t)).data}async upload(e,t){let{data:n,onProgress:i,...a}=t??{};return(await this.#e.postForm(e,n,{...a,onUploadProgress:(0,r.isFunction)(i)?i:void 0})).data}async download(e,n){let{onProgress:i,filename:a,...o}=n??{},{data:s,headers:c}=await this.#e.get(e,{...o,responseType:`blob`,responseEncoding:`binary`,onDownloadProgress:(0,r.isFunction)(i)?i:void 0});try{let e=JSON.parse(await s.text());throw Error(e.message)}catch{}let l=c[`content-disposition`];if(!(0,r.isString)(l))return;let u=t.CONTENT_DISPOSITION_FILENAME_REGEX.exec(l);if(!u?.groups?.name)return;let d=decodeURIComponent(u.groups.name),f=URL.createObjectURL(s);try{let e=document.createElement(`a`);e.href=f,e.download=(0,r.isFunction)(a)?a(d):a??d,e.click()}finally{URL.revokeObjectURL(f)}}};exports.HttpClient=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`__vef_http_client_key`,t=/:(?<key>\w+)/g,n=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/,r=`X-Skip-Authentication`,i=`1`,a=3e4;exports.CONTENT_DISPOSITION_FILENAME_REGEX=n,exports.DEFAULT_TIMEOUT=a,exports.HTTP_CLIENT_KEY=e,exports.PATH_PARAM_REGEX=t,exports.SKIP_AUTH_HEADER=r,exports.SKIP_AUTH_VALUE=i;
|
package/dist/cjs/http/errors.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var e=class extends Error{code;data;constructor(e,t,n){super(t),this.name=`BusinessError`,this.code=e,this.data=n}};exports.BusinessError=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`./errors.cjs`);const e=require(`./client.cjs`);function t(t){return Object.freeze(new e.HttpClient(t))}exports.createHttpClient=t;
|
package/dist/cjs/http/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`./constants.cjs`),require(`./errors.cjs`),require(`./client.cjs`),require(`./helpers.cjs`);
|
package/dist/cjs/immer/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`immer`);require(`use-immer`),(0,e.enableMapSet)(),(0,e.enablePatches)(),(0,e.setAutoFreeze)(!1);
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./_internal/_rolldown/runtime.cjs`);const e=require(`./http/constants.cjs`),t=require(`./query/hooks.cjs`),n=require(`./api/constants.cjs`),r=require(`./api/client.cjs`),i=require(`./api/helpers.cjs`),a=require(`./auth/helpers.cjs`),o=require(`./context/api-client.cjs`),s=require(`./context/app.cjs`),c=require(`./context/context-selector.cjs`),l=require(`./context/disabled.cjs`),u=require(`./motion/motion-provider.cjs`),d=require(`./sse/client.cjs`),f=require(`./sse/helpers.cjs`),p=require(`./state-machine/index.cjs`),m=require(`./store/bound.cjs`),h=require(`./store/unbound.cjs`),g=require(`./store/use-deep.cjs`);let _=require(`clsx`),v=require(`motion/react`),y=require(`ai`),b=require(`@dnd-kit/dom/modifiers`),x=require(`@hello-pangea/dnd`),S=require(`use-immer`),C=require(`@tanstack/react-query`),w=require(`@dnd-kit/react`),T=require(`jotai`),E=require(`xstate`),D=require(`@dnd-kit/helpers`),O=require(`immer`),k=require(`zustand/shallow`),A=require(`@xstate/react`),j=require(`@dnd-kit/react/sortable`),M=require(`@dnd-kit/abstract/modifiers`),N=require(`motion/react-m`);Object.defineProperty(exports,`Actor`,{enumerable:!0,get:function(){return E.Actor}}),Object.defineProperty(exports,`AnimatePresence`,{enumerable:!0,get:function(){return v.AnimatePresence}}),exports.ApiClient=r.ApiClient,exports.ApiClientProvider=o.ApiClientProvider,exports.AppContextProvider=s.AppContextProvider,Object.defineProperty(exports,`AtomStoreProvider`,{enumerable:!0,get:function(){return T.Provider}}),Object.defineProperty(exports,`AxisModifier`,{enumerable:!0,get:function(){return M.AxisModifier}}),Object.defineProperty(exports,`DefaultChatTransport`,{enumerable:!0,get:function(){return y.DefaultChatTransport}}),exports.DisabledProvider=l.DisabledProvider,Object.defineProperty(exports,`DragDropContext`,{enumerable:!0,get:function(){return x.DragDropContext}}),Object.defineProperty(exports,`DragDropProvider`,{enumerable:!0,get:function(){return w.DragDropProvider}}),Object.defineProperty(exports,`DragOverlay`,{enumerable:!0,get:function(){return w.DragOverlay}}),Object.defineProperty(exports,`Draggable`,{enumerable:!0,get:function(){return x.Draggable}}),Object.defineProperty(exports,`Droppable`,{enumerable:!0,get:function(){return x.Droppable}}),exports.HTTP_CLIENT=n.HTTP_CLIENT,Object.defineProperty(exports,`KeyboardSensor`,{enumerable:!0,get:function(){return w.KeyboardSensor}}),Object.defineProperty(exports,`LayoutGroup`,{enumerable:!0,get:function(){return v.LayoutGroup}}),exports.MotionProvider=u.default,Object.defineProperty(exports,`PointerSensor`,{enumerable:!0,get:function(){return w.PointerSensor}}),exports.QUERY_CLIENT=n.QUERY_CLIENT,Object.defineProperty(exports,`Reorder`,{enumerable:!0,get:function(){return v.Reorder}}),Object.defineProperty(exports,`RestrictToElement`,{enumerable:!0,get:function(){return b.RestrictToElement}}),Object.defineProperty(exports,`RestrictToHorizontalAxis`,{enumerable:!0,get:function(){return M.RestrictToHorizontalAxis}}),Object.defineProperty(exports,`RestrictToVerticalAxis`,{enumerable:!0,get:function(){return M.RestrictToVerticalAxis}}),Object.defineProperty(exports,`RestrictToWindow`,{enumerable:!0,get:function(){return b.RestrictToWindow}}),Object.defineProperty(exports,`SnapModifier`,{enumerable:!0,get:function(){return M.SnapModifier}}),exports.SseClient=d.SseClient,Object.defineProperty(exports,`TextStreamChatTransport`,{enumerable:!0,get:function(){return y.TextStreamChatTransport}}),Object.defineProperty(exports,`applyPatches`,{enumerable:!0,get:function(){return O.applyPatches}}),Object.defineProperty(exports,`atom`,{enumerable:!0,get:function(){return T.atom}}),exports.checkPermission=a.checkPermission,Object.defineProperty(exports,`clsx`,{enumerable:!0,get:function(){return _.clsx}}),Object.defineProperty(exports,`createActor`,{enumerable:!0,get:function(){return E.createActor}}),exports.createApiClient=i.createApiClient,Object.defineProperty(exports,`createAtomStore`,{enumerable:!0,get:function(){return T.createStore}}),exports.createComponentStore=h.createComponentStore,exports.createContextWithSelector=c.createContextWithSelector,Object.defineProperty(exports,`createMachine`,{enumerable:!0,get:function(){return E.createMachine}}),exports.createPersistedStore=m.createPersistedStore,exports.createSseClient=f.createSseClient,exports.createStore=m.createStore,Object.defineProperty(exports,`currentState`,{enumerable:!0,get:function(){return O.current}}),Object.defineProperty(exports,`getDefaultAtomStore`,{enumerable:!0,get:function(){return T.getDefaultStore}}),Object.defineProperty(exports,`getToolName`,{enumerable:!0,get:function(){return y.getToolName}}),Object.defineProperty(exports,`getToolOrDynamicToolName`,{enumerable:!0,get:function(){return y.getToolOrDynamicToolName}}),Object.defineProperty(exports,`isDataUIPart`,{enumerable:!0,get:function(){return y.isDataUIPart}}),Object.defineProperty(exports,`isDeepEqualData`,{enumerable:!0,get:function(){return y.isDeepEqualData}}),Object.defineProperty(exports,`isFileUIPart`,{enumerable:!0,get:function(){return y.isFileUIPart}}),Object.defineProperty(exports,`isReasoningUIPart`,{enumerable:!0,get:function(){return y.isReasoningUIPart}}),Object.defineProperty(exports,`isTextUIPart`,{enumerable:!0,get:function(){return y.isTextUIPart}}),Object.defineProperty(exports,`isToolOrDynamicToolUIPart`,{enumerable:!0,get:function(){return y.isToolOrDynamicToolUIPart}}),Object.defineProperty(exports,`isToolUIPart`,{enumerable:!0,get:function(){return y.isToolUIPart}}),Object.defineProperty(exports,`keepPreviousData`,{enumerable:!0,get:function(){return C.keepPreviousData}}),Object.defineProperty(exports,`matchMutation`,{enumerable:!0,get:function(){return C.matchMutation}}),Object.defineProperty(exports,`matchQuery`,{enumerable:!0,get:function(){return C.matchQuery}}),Object.defineProperty(exports,`motion`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`moveArrayItem`,{enumerable:!0,get:function(){return D.arrayMove}}),Object.defineProperty(exports,`moveDragItem`,{enumerable:!0,get:function(){return D.move}}),Object.defineProperty(exports,`originalState`,{enumerable:!0,get:function(){return O.original}}),Object.defineProperty(exports,`parsePartialJson`,{enumerable:!0,get:function(){return y.parsePartialJson}}),Object.defineProperty(exports,`produce`,{enumerable:!0,get:function(){return O.produce}}),Object.defineProperty(exports,`produceWithPatches`,{enumerable:!0,get:function(){return O.produceWithPatches}}),Object.defineProperty(exports,`restrictShapeToBoundingRectangle`,{enumerable:!0,get:function(){return M.restrictShapeToBoundingRectangle}}),exports.skipAuthenticationHeader=e.SKIP_AUTH_HEADER,exports.skipAuthenticationValue=e.SKIP_AUTH_VALUE,Object.defineProperty(exports,`skipQueryToken`,{enumerable:!0,get:function(){return C.skipToken}}),Object.defineProperty(exports,`swapArrayItem`,{enumerable:!0,get:function(){return D.arraySwap}}),Object.defineProperty(exports,`swapDragItem`,{enumerable:!0,get:function(){return D.swap}}),Object.defineProperty(exports,`updateContext`,{enumerable:!0,get:function(){return E.assign}}),exports.useActor=p.useActor,Object.defineProperty(exports,`useActorRef`,{enumerable:!0,get:function(){return A.useActorRef}}),exports.useApiClient=o.useApiClient,exports.useAppContext=s.useAppContext,Object.defineProperty(exports,`useAtom`,{enumerable:!0,get:function(){return T.useAtom}}),Object.defineProperty(exports,`useAtomStore`,{enumerable:!0,get:function(){return T.useStore}}),Object.defineProperty(exports,`useAtomValue`,{enumerable:!0,get:function(){return T.useAtomValue}}),exports.useDeep=g.useDeep,exports.useDisabled=l.useDisabled,Object.defineProperty(exports,`useDragControls`,{enumerable:!0,get:function(){return v.useDragControls}}),Object.defineProperty(exports,`useDragDropMonitor`,{enumerable:!0,get:function(){return w.useDragDropMonitor}}),Object.defineProperty(exports,`useDraggable`,{enumerable:!0,get:function(){return w.useDraggable}}),Object.defineProperty(exports,`useDroppable`,{enumerable:!0,get:function(){return w.useDroppable}}),Object.defineProperty(exports,`useImmer`,{enumerable:!0,get:function(){return S.useImmer}}),Object.defineProperty(exports,`useImmerReducer`,{enumerable:!0,get:function(){return S.useImmerReducer}}),Object.defineProperty(exports,`useInView`,{enumerable:!0,get:function(){return v.useInView}}),exports.useInfiniteQuery=t.useInfiniteQuery,exports.useIsFetching=t.useIsFetching,exports.useIsMutating=t.useIsMutating,exports.useMutation=t.useMutation,exports.useMutationState=t.useMutationState,exports.useQueries=t.useQueries,exports.useQuery=t.useQuery,Object.defineProperty(exports,`useQueryErrorResetBoundary`,{enumerable:!0,get:function(){return C.useQueryErrorResetBoundary}}),Object.defineProperty(exports,`useSetAtom`,{enumerable:!0,get:function(){return T.useSetAtom}}),Object.defineProperty(exports,`useShallow`,{enumerable:!0,get:function(){return k.useShallow}}),Object.defineProperty(exports,`useSortable`,{enumerable:!0,get:function(){return j.useSortable}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`motion/react`);Object.defineProperty(exports,`default`,{enumerable:!0,get:function(){return e.domMax}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../_internal/_rolldown/runtime.cjs`);require(`./motion-provider.cjs`),require(`motion/react`);let t=require(`motion/react-m`);t=e.__toESM(t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`react`),n=require(`@emotion/react/jsx-runtime`),r=require(`motion/react`);var i=()=>Promise.resolve().then(()=>require(`./features.cjs`)).then(e=>e.default),a={duration:.2,ease:`easeInOut`};function o({children:o}){let[s]=(0,t.useState)(e.generateId);return(0,n.jsx)(r.LazyMotion,{features:i,children:(0,n.jsx)(r.MotionConfig,{nonce:s,reducedMotion:`user`,transition:a,children:o})})}exports.default=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var e=`__vef_query_client_key`;exports.QUERY_CLIENT_KEY=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`@tanstack/react-query`);function n(n){let{staleTime:r=5e3,gcTime:i=3e5,showSuccessMessage:a}=n??{},o=new t.QueryClient({mutationCache:new t.MutationCache({onSuccess:async(n,r,i,s)=>{let{invalidates:c,shouldShowSuccessFeedback:l=!0}=s.meta??{};c&&await o.invalidateQueries({stale:!1,type:`all`,predicate:e=>c.some(n=>(0,t.matchQuery)({queryKey:n},e))}),l&&(0,e.isPlainObject)(n)&&Object.hasOwn(n,`message`)&&a?.(n.message)}}),defaultOptions:{queries:{staleTime:r,gcTime:i,networkMode:`online`,retry:!1,structuralSharing:!0,throwOnError:!1,refetchOnMount:!0,refetchOnReconnect:!0,refetchOnWindowFocus:!0,retryOnMount:!0,queryKeyHashFn:e.hashKey,experimental_prefetchInRender:!0},mutations:{gcTime:i,networkMode:`online`,retry:!1,throwOnError:!1}}});return o}exports.createQueryClient=n;
|
package/dist/cjs/query/hooks.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@tanstack/react-query`);function t(t){return(0,e.useQuery)(t)}function n(t){return(0,e.useInfiniteQuery)(t)}function r(t){return(0,e.useQueries)(t)}function i(t){return(0,e.useMutation)(t)}function a(t){return(0,e.useMutationState)(t)}function o(t){return(0,e.useIsFetching)(t)}function s(t){return(0,e.useIsMutating)(t)}exports.useInfiniteQuery=n,exports.useIsFetching=o,exports.useIsMutating=s,exports.useMutation=i,exports.useMutationState=a,exports.useQueries=r,exports.useQuery=t;
|
package/dist/cjs/query/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`),require(`./constants.cjs`),require(`./helpers.cjs`),require(`./hooks.cjs`),require(`@tanstack/react-query`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`@microsoft/fetch-event-source`);var n=class extends Error{constructor(){super(`Token expired`),this.name=`TokenExpiredError`}};function r(e,t){let n=t.toLowerCase();return Object.keys(e).some(e=>e.toLowerCase()===n)}function i(t,n){if(t!==void 0)return(0,e.isString)(t)?t:(r(n,`content-type`)||(n[`Content-Type`]=`application/json`),JSON.stringify(t))}var a=class{#e;#t=new Set;constructor(e={}){this.#e={enableRetry:!0,maxRetries:3,...e}}stream(e,t){return this.#n(e,t,!1)}abort(){for(let e of this.#t)e.abort();this.#t.clear()}async#n(e,r,a){let o=new AbortController;this.#t.add(o);let s=this.#r(e.signal,o),c=await this.#i(e.headers),l=i(e.body,c),u=0,d=!1,f=()=>{d||(d=!0,s?.(),this.#t.delete(o))};try{await(0,t.fetchEventSource)(e.url,{method:e.method??`POST`,headers:c,body:l,signal:o.signal,onopen:async e=>{if(e.status===401)throw new n;if(!e.ok)throw Error(`HTTP ${e.status}: ${e.statusText}`);let t=e.headers.get(`content-type`);if(t&&!t.includes(`text/event-stream`))throw Error(`Expected content-type to be text/event-stream, got ${t}`);u=0,await r.onOpen?.(e)},onmessage:e=>{r.onMessage({id:e.id,event:e.event,data:e.data})},onerror:e=>{if(o.signal.aborted)return;if(e instanceof n)throw e;if(this.#e.enableRetry&&u<this.#e.maxRetries){u++,console.warn(`SSE connection error, retrying (${u}/${this.#e.maxRetries})...`);return}let t=e;throw r.onError?.(t),this.#e.showErrorMessage?.(t.message),e},onclose:()=>{r.onClose?.()}})}catch(t){if(!await this.#a(t,e,r,a,f))throw t}finally{f()}}#r(e,t){if(!e)return;let n=()=>{t.abort(e.reason)};if(e.aborted){n();return}return e.addEventListener(`abort`,n,{once:!0}),()=>e.removeEventListener(`abort`,n)}async#i(e){let t={...e};try{let e=await this.#e.getAuthTokens?.();e?.accessToken&&!r(t,`authorization`)&&(t.Authorization=`Bearer ${e.accessToken}`)}catch(e){console.error(`Failed to get auth tokens:`,e)}return t}async#a(e,t,r,i,a){if(e instanceof Error&&e.name===`AbortError`)return!0;if(e instanceof n&&!i){if(await this.#o())return a(),await this.#n(t,r,!0),!0;let e=Error(`Authentication failed: token expired`);return r.onError?.(e),this.#e.showErrorMessage?.(e.message),!0}return!1}async#o(){let{onTokenExpired:e}=this.#e;if(!e)return!1;try{return await e()}catch(e){return console.error(`Failed to refresh token:`,e),!1}}};exports.SseClient=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./client.cjs`);function t(t){return new e.SseClient(t)}exports.createSseClient=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./client.cjs`),require(`./helpers.cjs`);
|
package/dist/cjs/state/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`),require(`jotai`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@xstate/react`);require(`xstate`);function t(t,n,...[r]){let i=(0,e.useActorRef)(t,r);return[(0,e.useSelector)(i,n,Object.is),i.send,i]}exports.useActor=t;
|
package/dist/cjs/store/bound.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`zustand`),n=require(`zustand/middleware`),r=require(`zustand/middleware/immer`);function i(e){return(0,t.create)()((0,n.subscribeWithSelector)((0,r.immer)(e)))}function a(i,a){let{name:o,storage:s,selector:c}=a,l=`__VEF_STORE__${(0,e.constantCase)(o)}__`,u=s===`local`?localStorage:sessionStorage;return(0,t.create)()((0,n.subscribeWithSelector)((0,n.persist)((0,r.immer)(i),{name:l,version:1,storage:(0,n.createJSONStorage)(()=>u),partialize:c??e.identity})))}exports.createPersistedStore=a,exports.createStore=i;
|
package/dist/cjs/store/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`),require(`./bound.cjs`),require(`./unbound.cjs`),require(`./use-deep.cjs`),require(`zustand/shallow`);
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Dev hint: If you're seeing this error after hot reload, it might be a React Fast Refresh issue. Try refreshing the page.`:"";throw new Error(t+s)}return e}function m(e){const n=a();return l.useStore(n,e)}return{StoreProvider:S,useStoreApi:a,useStore:m}}exports.createComponentStore=q;
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`react`),n=require(`@emotion/react/jsx-runtime`),r=require(`motion/react`),i=require(`zustand`),a=require(`zustand/middleware`),o=require(`zustand/middleware/immer`);var s=new Map;function c(c,l){let u=`${c}StoreContext`,d=s.get(u);d||(d=(0,t.createContext)(null),d.displayName=u,s.set(u,d));let f=d;function p({children:s,initialState:c}){let u=(0,t.useRef)(null),d=(0,t.useRef)(!1),p=(0,t.useRef)(c);return p.current=c,(!u.current||!d.current)&&(u.current=(0,i.createStore)()((0,a.subscribeWithSelector)((0,o.immer)(l))),d.current=!0),(0,r.useIsomorphicLayoutEffect)(()=>{!(0,e.isPlainObject)(p.current)||!u.current||u.current.setState(t=>{(0,e.mergeWith)(t,p.current,!0)})},[]),(0,n.jsx)(f,{value:u.current,children:s})}function m(){let e=(0,t.use)(f);if(!e){let e=`${c}Store is not found in the React context. Ensure the component is wrapped in ${c}StoreProvider.`;throw Error(e+``)}return e}function h(e){let t=m();return(0,i.useStore)(t,e)}return{StoreProvider:p,useStoreApi:m,useStore:h}}exports.createComponentStore=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../_internal/_rolldown/runtime.cjs`);let e=require(`@vef-framework/shared`),t=require(`react`);function n(n){let r=(0,t.useRef)(null);return t=>{let i=n(t);return(0,e.isDeepEqual)(r.current,i)?r.current:(r.current=i,i)}}exports.useDeep=n;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @vef-framework/core v2.1.0 made by Venus | 2026-03-27T07:13:02.254Z */
|
|
2
|
+
import { DefaultChatTransport as e, TextStreamChatTransport as t, getToolName as n, getToolOrDynamicToolName as r, isDataUIPart as i, isDeepEqualData as a, isFileUIPart as o, isReasoningUIPart as s, isTextUIPart as c, isToolOrDynamicToolUIPart as l, isToolUIPart as u, parsePartialJson as d } from "ai";
|
|
3
|
+
export { e as DefaultChatTransport, t as TextStreamChatTransport, n as getToolName, r as getToolOrDynamicToolName, i as isDataUIPart, a as isDeepEqualData, o as isFileUIPart, s as isReasoningUIPart, c as isTextUIPart, l as isToolOrDynamicToolUIPart, u as isToolUIPart, d as parsePartialJson };
|
package/dist/es/api/client.js
CHANGED
|
@@ -1,149 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
import "../http/
|
|
3
|
-
import "../query/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
#e;
|
|
16
|
-
/**
|
|
17
|
-
* The current signal.
|
|
18
|
-
*/
|
|
19
|
-
#r;
|
|
20
|
-
/**
|
|
21
|
-
* The query client.
|
|
22
|
-
*/
|
|
23
|
-
get [y]() {
|
|
24
|
-
return this.#e;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Creates a new API client.
|
|
28
|
-
*
|
|
29
|
-
* @param options - The options for the API client.
|
|
30
|
-
*/
|
|
31
|
-
constructor(e) {
|
|
32
|
-
const {
|
|
33
|
-
http: n,
|
|
34
|
-
query: i
|
|
35
|
-
} = e;
|
|
36
|
-
this.#t = h(n), this.#e = p(i);
|
|
37
|
-
const t = /* @__PURE__ */ new Map();
|
|
38
|
-
this.#t = new Proxy(this.#t, {
|
|
39
|
-
get: (a, r, c) => {
|
|
40
|
-
const s = Reflect.get(a, r, c);
|
|
41
|
-
return o(s) ? (t.has(r) || (f.includes(r) ? t.set(r, (u, l) => s.apply(
|
|
42
|
-
a,
|
|
43
|
-
[
|
|
44
|
-
u,
|
|
45
|
-
{
|
|
46
|
-
...l,
|
|
47
|
-
signal: this.#r
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
)) : t.set(r, (...u) => s.apply(a, u))), t.get(r)) : s;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Creates a new query function.
|
|
56
|
-
*
|
|
57
|
-
* @param key - The key of the query function.
|
|
58
|
-
* @param factory - The factory function.
|
|
59
|
-
* @returns The query function.
|
|
60
|
-
*/
|
|
61
|
-
createQueryFn(e, n) {
|
|
62
|
-
const i = n(this.#t), t = (a) => {
|
|
63
|
-
const {
|
|
64
|
-
queryKey: r,
|
|
65
|
-
signal: c,
|
|
66
|
-
pageParam: s,
|
|
67
|
-
meta: u
|
|
68
|
-
} = a, [, l] = r;
|
|
69
|
-
try {
|
|
70
|
-
return this.#r = c, i(
|
|
71
|
-
l,
|
|
72
|
-
s,
|
|
73
|
-
u
|
|
74
|
-
);
|
|
75
|
-
} finally {
|
|
76
|
-
this.#r = void 0;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
return Object.defineProperty(t, "key", {
|
|
80
|
-
value: e,
|
|
81
|
-
configurable: !1,
|
|
82
|
-
writable: !1,
|
|
83
|
-
enumerable: !1
|
|
84
|
-
}), t;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Creates a new mutation function.
|
|
88
|
-
*
|
|
89
|
-
* @param key - The key of the mutation function.
|
|
90
|
-
* @param factory - The factory function.
|
|
91
|
-
* @returns The mutation function.
|
|
92
|
-
*/
|
|
93
|
-
createMutationFn(e, n) {
|
|
94
|
-
const i = n(this.#t), t = (a) => i(a);
|
|
95
|
-
return Object.defineProperty(t, "key", {
|
|
96
|
-
value: e,
|
|
97
|
-
configurable: !1,
|
|
98
|
-
writable: !1,
|
|
99
|
-
enumerable: !1
|
|
100
|
-
}), t;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Fetches a query.
|
|
104
|
-
*
|
|
105
|
-
* @param options - The options for the query.
|
|
106
|
-
* @returns The result of the query.
|
|
107
|
-
*/
|
|
108
|
-
async fetchQuery(e) {
|
|
109
|
-
return await this.#e.fetchQuery(e);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Prefetches a query and stores the result in cache.
|
|
113
|
-
*
|
|
114
|
-
* @param options - The options for the query.
|
|
115
|
-
* @returns A promise that resolves when the prefetch is complete.
|
|
116
|
-
*/
|
|
117
|
-
async prefetchQuery(e) {
|
|
118
|
-
return await this.#e.prefetchQuery(e);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Executes a mutation outside of React components.
|
|
122
|
-
*
|
|
123
|
-
* This method allows you to execute mutations imperatively without using the `useMutation` hook.
|
|
124
|
-
* Useful for scenarios like login flows, event handlers, or any code outside React components.
|
|
125
|
-
*
|
|
126
|
-
* @template TData - The type of data returned by the mutation
|
|
127
|
-
* @template TParams - The type of parameters passed to the mutation function
|
|
128
|
-
* @template TOnMutateResult - The type of result returned by onMutate callback
|
|
129
|
-
*
|
|
130
|
-
* @param options - The mutation options including mutationFn, onSuccess, onError, etc.
|
|
131
|
-
* @param variables - The variables to pass to the mutation function. Omit this argument when the mutation does not require parameters.
|
|
132
|
-
* @remarks This reuses TanStack Query's imperative mutation execution so lifecycle callbacks (onMutate, onSuccess, etc.) still fire.
|
|
133
|
-
* @returns A promise that resolves with the mutation result
|
|
134
|
-
*/
|
|
135
|
-
async executeMutation({
|
|
136
|
-
mutationFn: e,
|
|
137
|
-
params: n,
|
|
138
|
-
...i
|
|
139
|
-
}) {
|
|
140
|
-
return await this.#e.getMutationCache().build(this.#e, {
|
|
141
|
-
mutationKey: [e.key],
|
|
142
|
-
mutationFn: e,
|
|
143
|
-
...i
|
|
144
|
-
}).execute(n);
|
|
145
|
-
}
|
|
1
|
+
/*! @vef-framework/core v2.1.0 made by Venus | 2026-03-27T07:13:02.254Z */
|
|
2
|
+
import { createHttpClient as e } from "../http/helpers.js";
|
|
3
|
+
import { createQueryClient as t } from "../query/helpers.js";
|
|
4
|
+
import { HTTP_CLIENT as n, PROXIED_METHODS as r, QUERY_CLIENT as i } from "./constants.js";
|
|
5
|
+
import { isFunction as a } from "@vef-framework/shared";
|
|
6
|
+
//#region src/api/client.ts
|
|
7
|
+
function o(e, t) {
|
|
8
|
+
return Object.defineProperty(e, "key", {
|
|
9
|
+
value: t,
|
|
10
|
+
configurable: !1,
|
|
11
|
+
writable: !1,
|
|
12
|
+
enumerable: !1
|
|
13
|
+
}), e;
|
|
146
14
|
}
|
|
147
|
-
|
|
148
|
-
|
|
15
|
+
var s = class {
|
|
16
|
+
#e;
|
|
17
|
+
#t;
|
|
18
|
+
#n;
|
|
19
|
+
get [i]() {
|
|
20
|
+
return this.#t;
|
|
21
|
+
}
|
|
22
|
+
get [n]() {
|
|
23
|
+
return this.#e;
|
|
24
|
+
}
|
|
25
|
+
constructor(n) {
|
|
26
|
+
let { http: r, query: i } = n;
|
|
27
|
+
this.#t = t(i), this.#e = this.createProxiedHttpClient(e(r));
|
|
28
|
+
}
|
|
29
|
+
createProxiedHttpClient(e) {
|
|
30
|
+
let t = /* @__PURE__ */ new Map();
|
|
31
|
+
return new Proxy(e, { get: (e, n, i) => {
|
|
32
|
+
let o = Reflect.get(e, n, i);
|
|
33
|
+
if (!a(o)) return o;
|
|
34
|
+
if (!t.has(n)) {
|
|
35
|
+
let i = r.has(n) ? (t, n) => o.apply(e, [t, {
|
|
36
|
+
...n,
|
|
37
|
+
signal: this.#n
|
|
38
|
+
}]) : (...t) => o.apply(e, t);
|
|
39
|
+
t.set(n, i);
|
|
40
|
+
}
|
|
41
|
+
return t.get(n);
|
|
42
|
+
} });
|
|
43
|
+
}
|
|
44
|
+
createQueryFn(e, t) {
|
|
45
|
+
let n = t(this.#e);
|
|
46
|
+
return o((e) => {
|
|
47
|
+
let { queryKey: t, signal: r, pageParam: i, meta: a } = e, [, o] = t;
|
|
48
|
+
try {
|
|
49
|
+
return this.#n = r, n(o, i, a);
|
|
50
|
+
} finally {
|
|
51
|
+
this.#n = void 0;
|
|
52
|
+
}
|
|
53
|
+
}, e);
|
|
54
|
+
}
|
|
55
|
+
createMutationFn(e, t) {
|
|
56
|
+
let n = t(this.#e);
|
|
57
|
+
return o((e) => n(e), e);
|
|
58
|
+
}
|
|
59
|
+
fetchQuery(e) {
|
|
60
|
+
return this.#t.fetchQuery(e);
|
|
61
|
+
}
|
|
62
|
+
prefetchQuery(e) {
|
|
63
|
+
return this.#t.prefetchQuery(e);
|
|
64
|
+
}
|
|
65
|
+
executeMutation({ mutationFn: e, params: t, ...n }) {
|
|
66
|
+
return this.#t.getMutationCache().build(this.#t, {
|
|
67
|
+
mutationKey: [e.key],
|
|
68
|
+
mutationFn: e,
|
|
69
|
+
...n
|
|
70
|
+
}).execute(t);
|
|
71
|
+
}
|
|
149
72
|
};
|
|
73
|
+
//#endregion
|
|
74
|
+
export { s as ApiClient };
|
package/dist/es/api/constants.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/*! @vef-framework/core v2.1.0 made by Venus | 2026-03-27T07:13:02.254Z */
|
|
2
|
+
import { HTTP_CLIENT_KEY as e } from "../http/constants.js";
|
|
3
|
+
import { QUERY_CLIENT_KEY as t } from "../query/constants.js";
|
|
4
|
+
//#region src/api/constants.ts
|
|
5
|
+
var n = new Set([
|
|
6
|
+
"get",
|
|
7
|
+
"post",
|
|
8
|
+
"put",
|
|
9
|
+
"delete",
|
|
10
|
+
"upload",
|
|
11
|
+
"download"
|
|
12
|
+
]), r = Symbol.for(t), i = Symbol.for(e);
|
|
13
|
+
//#endregion
|
|
14
|
+
export { i as HTTP_CLIENT, n as PROXIED_METHODS, r as QUERY_CLIENT };
|