@defjs/core 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -380,9 +380,10 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
380
380
  case typeof value === "boolean":
381
381
  case typeof value === "number":
382
382
  case typeof value === "string":
383
+ case typeof value === "undefined":
383
384
  return String(value);
384
385
  default:
385
- throw new Error("Unsupported value type");
386
+ throw new Error(`Unsupported value type: ${typeof value}`);
386
387
  }
387
388
  }
388
389
  function appendValue(sp, key, value) {
@@ -390,7 +391,9 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
390
391
  for (const v of value) {
391
392
  sp.append(key, serializeToString(v));
392
393
  }
393
- } else {
394
+ return sp;
395
+ }
396
+ if (typeof value !== "undefined") {
394
397
  sp.set(key, serializeToString(value));
395
398
  }
396
399
  return sp;
@@ -400,8 +403,11 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
400
403
  for (const v of value) {
401
404
  setValue(sp, key, serializeToString(v));
402
405
  }
406
+ return sp;
407
+ }
408
+ if (typeof value !== "undefined") {
409
+ sp.set(key, serializeToString(value));
403
410
  }
404
- sp.set(key, serializeToString(value));
405
411
  return sp;
406
412
  }
407
413
  function getValidValue(value, defaultValue) {
package/index.min.js CHANGED
@@ -1 +1 @@
1
- var K=new Error("ERR_ABORTED"),X=new Error("ERR_TIMEOUT"),Ht=new Error("ERR_NETWORK"),y=new Error("ERR_NOT_FOUND_HANDLER"),Et=new Error("ERR_OBSERVE"),A=new Error("ERR_NOT_SET_ALIAS"),W=new Error("ERR_UNSUPPORTED_FIELD_TYPE"),J=new Error("ERR_INVALID_CLIENT"),j=new Error("ERR_NOT_FOUND_GLOBAL_CLIENT"),L=new Error("ERR_INVALID_HTTP_CONTEXT_TOKEN"),pt=new Error("ERR_UNKNOWN");function N(t){let n=t?.status??0,r=n>=200&&n<300,o=t?.statusText??"",T=t?.url??"",H=t?.headers??new Headers,f=t?.body??null,i=t?.error;if(!i&&!r){let e=`Http failure response for ${T||"(unknown url)"}: ${n}`;if(o)e+=` - ${o}`;i=new Error(e)}return{status:n,statusText:o,url:T,headers:H,body:f,error:i}}var d=Symbol("HttpContextToken");function wt(t){return Object.defineProperty(t,d,{value:t}),t}function P(t){return typeof t==="function"&&d in t}var Q=Symbol("HttpContext");function it(t){return typeof t==="object"&&t!==null&&Q in t}function Y(t){let n=new Map;switch(!0){case Array.isArray(t):{for(let[r,o]of t)if(P(r))n.set(r,o);break}case it(t):{for(let[r,o]of t[Q])n.set(r,o);break}}return{set(r,o){if(!P(r))throw L;return n.set(r,o),this},get(r){if(!P(r))throw L;if(!n.has(r))n.set(r,r());return n.get(r)},del(r){return n.delete(r),this},has(r){return n.has(r)},keys(){return n.keys()},get length(){return Array.from(n.keys()).length},[Q]:n}}var Z=Symbol("field");function Rt(t){let n={required:typeof t!=="undefined",alias:new Map,validators:[],asyncValidator:[]},r=()=>t;return Object.defineProperty(r,Z,{value:n}),r.withJson=(o)=>{return n.alias.set(0,o),r},r.withForm=(o)=>{return n.alias.set(4,o),r},r.withQuery=(o)=>{return n.alias.set(1,o),r},r.withParam=(o)=>{return n.alias.set(2,o),r},r.withHeader=(o)=>{return n.alias.set(3,o),r},r.withUrlForm=(o)=>{return n.alias.set(6,o),r},r.withBody=()=>{return n.alias.set(5,void 0),r},r.withValidators=(...o)=>{return n.validators=o,r},r.withAsyncValidators=(...o)=>{return n.asyncValidator=o,r},r}function G(t){return t[Z]}async function V(t,n){await Promise.all(t.map((r)=>r(n)))}function M(t){return!!t&&typeof t==="function"&&Z in t}function g(t){return!!t&&typeof t==="object"&&Object.entries(t).every(([,n])=>M(n))}var ft=void 0;var a=()=>ft;function q(t){return t.reduceRight((n,r)=>{return(o,T)=>r(o,(H)=>n(H,T))},(n,r)=>r(n))}function v(t){switch(!0){case t instanceof FormData:case t instanceof Blob:case t instanceof ArrayBuffer:case t instanceof URLSearchParams:case typeof t==="string":return t;case typeof t==="object":case typeof t==="boolean":case typeof t==="number":case Array.isArray(t):return JSON.stringify(t);default:return null}}function tt(t){switch(!0){case t instanceof FormData:case t instanceof URLSearchParams:return null;case t instanceof ArrayBuffer:return"application/octet-stream";case t instanceof Blob:return t.type||"application/octet-stream";case typeof t==="string":return"text/plain";case(typeof t==="object"&&t!==null):case typeof t==="number":case typeof t==="boolean":return"application/json";default:return null}}function kt(t){if(g(t)){let n={};for(let[r,o]of Object.entries(t))n[r]=o();return n}return}function st(...t){let n,r,o=!1,T,H=[],f="json",i,e=!1,p=[],w;switch(t.length){case 1:{n="GET",r=t[0];break}case 2:{n=t[0],r=t[1];break}default:throw new Error("Invalid arguments")}let c=(x)=>{let R=x?.timeout||0,k=x?.client||S(),E=z(k),s=x?.handler||E?.handler||a();if(!s)throw y;let m,I,h,_=[];if(x?.abort)_.push(x.abort);else h=new AbortController,_.push(h.signal);if(R>0)_.push(AbortSignal.timeout(R));return{doRequest:async(...F)=>{try{let U;if(o&&F.length===1)U=F[0];if(o&&!U)throw new Error("Because the request has input, the argument must be the input value");if(p.length>0)for(let ct of p)ct(U);let b={host:E?.host,method:n,endpoint:r,queryParams:new URLSearchParams,headers:new Headers,body:void 0,withCredentials:e,responseType:f,context:i||Y(),uploadProgress:m,downloadProgress:I,timeout:R,abort:AbortSignal.any(_)};if(o&&T)await Ct(b,T,U);let D=await q([...E.interceptors,...H])(b,s);if(typeof w==="function")D=N({...D,body:w(D)});return D}catch(U){return N({error:U})}},cancel:()=>{h?.abort()},getInitValue:()=>kt(T),setUploadProgress:(F)=>{m=F},setDownloadProgress:(F)=>{I=F}}};return c.withField=(x)=>{return T=x,o=!0,c},c.withInterceptors=(x)=>{return H=x,c},c.withContext=(x)=>{return i=x,c},c.withCredentials=(x)=>{return e=x,c},c.withValidators=(...x)=>{return p=x,c},c.withTransformResponse=(x)=>{return w=x,c},c.withResponseType=(x)=>{return f=x,c},c}function l(t,n){return t.replace(/:([^\/]+)/g,(r,o)=>{return n.get(o)??"undefined"})}async function Ct(t,n,r){function o(e){return typeof e==="object"&&e!==null}function T(e){switch(!0){case Array.isArray(e):case(typeof e==="object"&&e!==null):return JSON.stringify(e);case(typeof e==="object"&&e===null):case typeof e==="boolean":case typeof e==="number":case typeof e==="string":return String(e);default:throw new Error("Unsupported value type")}}function H(e,p,w){if(Array.isArray(w))for(let c of w)e.append(p,T(c));else e.set(p,T(w));return e}function f(e,p,w){if(Array.isArray(w))for(let c of w)f(e,p,T(c));return e.set(p,T(w)),e}function i(e,p){switch(!0){case typeof e==="undefined":return p;case(typeof e==="object"&&e===null):return e;default:return e}}if(M(n)){let e,p,w,c=void 0,x=i(r,n()),R=G(n);await V([...R.validators,...R.asyncValidator],x);for(let[k,E]of R.alias)switch(k){case 1:{if(!E)throw A;p=H(new URLSearchParams,E,x);break}case 2:{if(!E)throw A;e=f(new Map,E,x);break}case 3:{if(!E)throw A;w=H(new Headers,E,x);break}case 4:{if(!E)throw A;c=H(new FormData,E,x);break}case 6:{if(!E)throw A;c=H(new URLSearchParams,E,x);break}case 0:case 5:c=x;break}if(e)t.endpoint=l(t.endpoint,e);t.queryParams=p,t.headers=w,t.body=c;return}if(g(n)&&o(r)){let e=new Map,p=new URLSearchParams,w=new Headers,c=new URLSearchParams,x=new FormData,R={},k=void 0,E;for(let[s,m]of Object.entries(n)){let I=G(m);for(let[h,_]of I.alias){let O=_||s,C=i(r[s],m());switch(await V([...I.validators,...I.asyncValidator],C),h){case 0:{Object.defineProperty(R,O,{value:C,writable:!0,enumerable:!0}),E=0;break}case 1:p=H(p,O,C);break;case 2:e=f(e,O,C);break;case 3:w=H(w,O,C);break;case 4:{x=H(x,O,C),E=4;break}case 6:{c=H(c,O,C),E=6;break}case 5:{k=C,E=5;break}}}}switch(t.endpoint=l(t.endpoint,e),t.queryParams=p,t.headers=w,E){case 5:t.body=k;break;case 4:t.body=x;break;case 6:t.body=c;break;case 0:t.body=R;break}return}throw W}function nt(t){let n=t.get("Content-Length");if(!n)return 0;let r=Number(n);if(isNaN(r))return 0;return r}function rt(t){return t.get("Content-Type")||""}function ot(t){let{request:n,content:r,contentType:o}=t;switch(n.responseType){case"json":{let H=new TextDecoder().decode(r);if(H==="")return null;return JSON.parse(H)}case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer;default:return null}}function et(t,n){let r=new Uint8Array(n),o=0;for(let T of t)r.set(T,o),o+=T.length;return r}function Nt(t){let n=new URL(t.endpoint,t.host);if(t.queryParams)n.search=t.queryParams.toString();let r=t.headers??new Headers;if(!r.has("Content-Type")){let T=tt(t.body);if(T)r.set("Content-Type",T)}if(!r.has("Accept"))r.set("Accept","application/json, text/plain, */*");let o=t.withCredentials?"include":void 0;return new Request(n,{headers:r,method:t.method,body:v(t.body),signal:t.abort,credentials:o})}async function u(t){let n=t.downloadProgress,r=Nt(t),o=t.abort,T;try{T=await globalThis.fetch(r)}catch(x){if(o?.aborted&&o.reason instanceof Error)switch(!0){case o.reason.name==="AbortError":return N({error:K});case o.reason.name==="TimeoutError":return N({error:X})}return N({error:x})}let{headers:H,status:f,statusText:i,url:e}=T,p=nt(H),w=rt(H),c=null;if(T.body){let x=[],R=T.body.getReader(),k=0;while(!0){let{done:s,value:m}=await R.read();if(s)break;x.push(m),k+=m.length,n?.({lengthComputable:p>0,loaded:k,total:p})}let E=et(x,k);try{c=ot({request:t,content:E,contentType:w})}catch(s){return N({error:s,status:f,statusText:i,headers:H,url:e})}}return N({status:f,statusText:i,headers:H,url:e,body:c})}var $=Symbol("Client"),B;function xt(t){return typeof t==="object"&&t!==null&&$ in t}function z(t){if(!xt(t))throw J;return t[$]}function Tt(t){let n={host:t.host,interceptors:t.interceptors??[],handler:t.handler||u};return{[$]:n}}function mt(t,n){let o={...z(t),...n};return{[$]:o}}function S(){if(!B)throw j;return B}function Ot(t){B=t}function At(){B=void 0}function It(t){B=Tt(t)}function _t(t,n){let r=n?.encode;if(!r){let o=globalThis.btoa;if(typeof o!=="function")throw new Error("BasicAuthInterceptor is not supported in this environment");r=(T)=>o(`${T.username}:${T.password}`)}return(o,T)=>{let H=o.headers||new Headers;return H.set("Authorization",`Basic ${r(t())}`),o.headers=H,T(o)}}var Ft=(t)=>{if(!t)return new Error("required");return null},Ut=(t)=>{if(typeof t!=="boolean"||!t)return new Error("requiredTrue");return null},ht=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length<t)return new Error(`minLength ${t}`);return null}},Bt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length>t)return new Error(`maxLength ${t}`);return null}},Dt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n<t)return new Error(`minLength ${t}`);return null}},Lt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n>t)return new Error(`maxLength ${t}`);return null}},Pt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(!t.test(n))return new Error("pattern");return null}};export{Ot as setGlobalClient,At as restGlobalClient,Ut as requiredTrue,Ft as required,Pt as pattern,ht as minLength,Dt as min,Bt as maxLength,Lt as max,wt as makeHttpContextToken,Y as makeHttpContext,P as isHttpContextToken,g as isFieldGroup,M as isField,xt as isClient,S as getGlobalClient,Rt as field,u as fetchHandler,V as doValid,st as defineRequest,It as createGlobalClient,Tt as createClient,mt as cloneClient,_t as basicAuthInterceptor,W as ERR_UNSUPPORTED_FIELD_TYPE,pt as ERR_UNKNOWN,X as ERR_TIMEOUT,Et as ERR_OBSERVE,A as ERR_NOT_SET_ALIAS,y as ERR_NOT_FOUND_HANDLER,j as ERR_NOT_FOUND_GLOBAL_CLIENT,Ht as ERR_NETWORK,L as ERR_INVALID_HTTP_CONTEXT_TOKEN,J as ERR_INVALID_CLIENT,K as ERR_ABORTED};
1
+ var K=new Error("ERR_ABORTED"),X=new Error("ERR_TIMEOUT"),Ht=new Error("ERR_NETWORK"),y=new Error("ERR_NOT_FOUND_HANDLER"),Et=new Error("ERR_OBSERVE"),A=new Error("ERR_NOT_SET_ALIAS"),W=new Error("ERR_UNSUPPORTED_FIELD_TYPE"),J=new Error("ERR_INVALID_CLIENT"),j=new Error("ERR_NOT_FOUND_GLOBAL_CLIENT"),L=new Error("ERR_INVALID_HTTP_CONTEXT_TOKEN"),pt=new Error("ERR_UNKNOWN");function N(t){let n=t?.status??0,r=n>=200&&n<300,o=t?.statusText??"",T=t?.url??"",H=t?.headers??new Headers,f=t?.body??null,i=t?.error;if(!i&&!r){let e=`Http failure response for ${T||"(unknown url)"}: ${n}`;if(o)e+=` - ${o}`;i=new Error(e)}return{status:n,statusText:o,url:T,headers:H,body:f,error:i}}var d=Symbol("HttpContextToken");function wt(t){return Object.defineProperty(t,d,{value:t}),t}function P(t){return typeof t==="function"&&d in t}var Q=Symbol("HttpContext");function it(t){return typeof t==="object"&&t!==null&&Q in t}function Y(t){let n=new Map;switch(!0){case Array.isArray(t):{for(let[r,o]of t)if(P(r))n.set(r,o);break}case it(t):{for(let[r,o]of t[Q])n.set(r,o);break}}return{set(r,o){if(!P(r))throw L;return n.set(r,o),this},get(r){if(!P(r))throw L;if(!n.has(r))n.set(r,r());return n.get(r)},del(r){return n.delete(r),this},has(r){return n.has(r)},keys(){return n.keys()},get length(){return Array.from(n.keys()).length},[Q]:n}}var Z=Symbol("field");function Rt(t){let n={required:typeof t!=="undefined",alias:new Map,validators:[],asyncValidator:[]},r=()=>t;return Object.defineProperty(r,Z,{value:n}),r.withJson=(o)=>{return n.alias.set(0,o),r},r.withForm=(o)=>{return n.alias.set(4,o),r},r.withQuery=(o)=>{return n.alias.set(1,o),r},r.withParam=(o)=>{return n.alias.set(2,o),r},r.withHeader=(o)=>{return n.alias.set(3,o),r},r.withUrlForm=(o)=>{return n.alias.set(6,o),r},r.withBody=()=>{return n.alias.set(5,void 0),r},r.withValidators=(...o)=>{return n.validators=o,r},r.withAsyncValidators=(...o)=>{return n.asyncValidator=o,r},r}function G(t){return t[Z]}async function V(t,n){await Promise.all(t.map((r)=>r(n)))}function M(t){return!!t&&typeof t==="function"&&Z in t}function g(t){return!!t&&typeof t==="object"&&Object.entries(t).every(([,n])=>M(n))}var ft=void 0;var a=()=>ft;function q(t){return t.reduceRight((n,r)=>{return(o,T)=>r(o,(H)=>n(H,T))},(n,r)=>r(n))}function v(t){switch(!0){case t instanceof FormData:case t instanceof Blob:case t instanceof ArrayBuffer:case t instanceof URLSearchParams:case typeof t==="string":return t;case typeof t==="object":case typeof t==="boolean":case typeof t==="number":case Array.isArray(t):return JSON.stringify(t);default:return null}}function tt(t){switch(!0){case t instanceof FormData:case t instanceof URLSearchParams:return null;case t instanceof ArrayBuffer:return"application/octet-stream";case t instanceof Blob:return t.type||"application/octet-stream";case typeof t==="string":return"text/plain";case(typeof t==="object"&&t!==null):case typeof t==="number":case typeof t==="boolean":return"application/json";default:return null}}function kt(t){if(g(t)){let n={};for(let[r,o]of Object.entries(t))n[r]=o();return n}return}function Ct(...t){let n,r,o=!1,T,H=[],f="json",i,e=!1,w=[],E;switch(t.length){case 1:{n="GET",r=t[0];break}case 2:{n=t[0],r=t[1];break}default:throw new Error("Invalid arguments")}let c=(x)=>{let R=x?.timeout||0,k=x?.client||S(),p=z(k),C=x?.handler||p?.handler||a();if(!C)throw y;let m,I,h,_=[];if(x?.abort)_.push(x.abort);else h=new AbortController,_.push(h.signal);if(R>0)_.push(AbortSignal.timeout(R));return{doRequest:async(...F)=>{try{let U;if(o&&F.length===1)U=F[0];if(o&&!U)throw new Error("Because the request has input, the argument must be the input value");if(w.length>0)for(let ct of w)ct(U);let b={host:p?.host,method:n,endpoint:r,queryParams:new URLSearchParams,headers:new Headers,body:void 0,withCredentials:e,responseType:f,context:i||Y(),uploadProgress:m,downloadProgress:I,timeout:R,abort:AbortSignal.any(_)};if(o&&T)await st(b,T,U);let D=await q([...p.interceptors,...H])(b,C);if(typeof E==="function")D=N({...D,body:E(D)});return D}catch(U){return N({error:U})}},cancel:()=>{h?.abort()},getInitValue:()=>kt(T),setUploadProgress:(F)=>{m=F},setDownloadProgress:(F)=>{I=F}}};return c.withField=(x)=>{return T=x,o=!0,c},c.withInterceptors=(x)=>{return H=x,c},c.withContext=(x)=>{return i=x,c},c.withCredentials=(x)=>{return e=x,c},c.withValidators=(...x)=>{return w=x,c},c.withTransformResponse=(x)=>{return E=x,c},c.withResponseType=(x)=>{return f=x,c},c}function l(t,n){return t.replace(/:([^\/]+)/g,(r,o)=>{return n.get(o)??"undefined"})}async function st(t,n,r){function o(e){return typeof e==="object"&&e!==null}function T(e){switch(!0){case Array.isArray(e):case(typeof e==="object"&&e!==null):return JSON.stringify(e);case(typeof e==="object"&&e===null):case typeof e==="boolean":case typeof e==="number":case typeof e==="string":case typeof e==="undefined":return String(e);default:throw new Error(`Unsupported value type: ${typeof e}`)}}function H(e,w,E){if(Array.isArray(E)){for(let c of E)e.append(w,T(c));return e}if(typeof E!=="undefined")e.set(w,T(E));return e}function f(e,w,E){if(Array.isArray(E)){for(let c of E)f(e,w,T(c));return e}if(typeof E!=="undefined")e.set(w,T(E));return e}function i(e,w){switch(!0){case typeof e==="undefined":return w;case(typeof e==="object"&&e===null):return e;default:return e}}if(M(n)){let e,w,E,c=void 0,x=i(r,n()),R=G(n);await V([...R.validators,...R.asyncValidator],x);for(let[k,p]of R.alias)switch(k){case 1:{if(!p)throw A;w=H(new URLSearchParams,p,x);break}case 2:{if(!p)throw A;e=f(new Map,p,x);break}case 3:{if(!p)throw A;E=H(new Headers,p,x);break}case 4:{if(!p)throw A;c=H(new FormData,p,x);break}case 6:{if(!p)throw A;c=H(new URLSearchParams,p,x);break}case 0:case 5:c=x;break}if(e)t.endpoint=l(t.endpoint,e);t.queryParams=w,t.headers=E,t.body=c;return}if(g(n)&&o(r)){let e=new Map,w=new URLSearchParams,E=new Headers,c=new URLSearchParams,x=new FormData,R={},k=void 0,p;for(let[C,m]of Object.entries(n)){let I=G(m);for(let[h,_]of I.alias){let O=_||C,s=i(r[C],m());switch(await V([...I.validators,...I.asyncValidator],s),h){case 0:{Object.defineProperty(R,O,{value:s,writable:!0,enumerable:!0}),p=0;break}case 1:w=H(w,O,s);break;case 2:e=f(e,O,s);break;case 3:E=H(E,O,s);break;case 4:{x=H(x,O,s),p=4;break}case 6:{c=H(c,O,s),p=6;break}case 5:{k=s,p=5;break}}}}switch(t.endpoint=l(t.endpoint,e),t.queryParams=w,t.headers=E,p){case 5:t.body=k;break;case 4:t.body=x;break;case 6:t.body=c;break;case 0:t.body=R;break}return}throw W}function nt(t){let n=t.get("Content-Length");if(!n)return 0;let r=Number(n);if(isNaN(r))return 0;return r}function rt(t){return t.get("Content-Type")||""}function ot(t){let{request:n,content:r,contentType:o}=t;switch(n.responseType){case"json":{let H=new TextDecoder().decode(r);if(H==="")return null;return JSON.parse(H)}case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer;default:return null}}function et(t,n){let r=new Uint8Array(n),o=0;for(let T of t)r.set(T,o),o+=T.length;return r}function Nt(t){let n=new URL(t.endpoint,t.host);if(t.queryParams)n.search=t.queryParams.toString();let r=t.headers??new Headers;if(!r.has("Content-Type")){let T=tt(t.body);if(T)r.set("Content-Type",T)}if(!r.has("Accept"))r.set("Accept","application/json, text/plain, */*");let o=t.withCredentials?"include":void 0;return new Request(n,{headers:r,method:t.method,body:v(t.body),signal:t.abort,credentials:o})}async function u(t){let n=t.downloadProgress,r=Nt(t),o=t.abort,T;try{T=await globalThis.fetch(r)}catch(x){if(o?.aborted&&o.reason instanceof Error)switch(!0){case o.reason.name==="AbortError":return N({error:K});case o.reason.name==="TimeoutError":return N({error:X})}return N({error:x})}let{headers:H,status:f,statusText:i,url:e}=T,w=nt(H),E=rt(H),c=null;if(T.body){let x=[],R=T.body.getReader(),k=0;while(!0){let{done:C,value:m}=await R.read();if(C)break;x.push(m),k+=m.length,n?.({lengthComputable:w>0,loaded:k,total:w})}let p=et(x,k);try{c=ot({request:t,content:p,contentType:E})}catch(C){return N({error:C,status:f,statusText:i,headers:H,url:e})}}return N({status:f,statusText:i,headers:H,url:e,body:c})}var $=Symbol("Client"),B;function xt(t){return typeof t==="object"&&t!==null&&$ in t}function z(t){if(!xt(t))throw J;return t[$]}function Tt(t){let n={host:t.host,interceptors:t.interceptors??[],handler:t.handler||u};return{[$]:n}}function mt(t,n){let o={...z(t),...n};return{[$]:o}}function S(){if(!B)throw j;return B}function Ot(t){B=t}function At(){B=void 0}function It(t){B=Tt(t)}function _t(t,n){let r=n?.encode;if(!r){let o=globalThis.btoa;if(typeof o!=="function")throw new Error("BasicAuthInterceptor is not supported in this environment");r=(T)=>o(`${T.username}:${T.password}`)}return(o,T)=>{let H=o.headers||new Headers;return H.set("Authorization",`Basic ${r(t())}`),o.headers=H,T(o)}}var Ft=(t)=>{if(!t)return new Error("required");return null},Ut=(t)=>{if(typeof t!=="boolean"||!t)return new Error("requiredTrue");return null},ht=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length<t)return new Error(`minLength ${t}`);return null}},Bt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length>t)return new Error(`maxLength ${t}`);return null}},Dt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n<t)return new Error(`minLength ${t}`);return null}},Lt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n>t)return new Error(`maxLength ${t}`);return null}},Pt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(!t.test(n))return new Error("pattern");return null}};export{Ot as setGlobalClient,At as restGlobalClient,Ut as requiredTrue,Ft as required,Pt as pattern,ht as minLength,Dt as min,Bt as maxLength,Lt as max,wt as makeHttpContextToken,Y as makeHttpContext,P as isHttpContextToken,g as isFieldGroup,M as isField,xt as isClient,S as getGlobalClient,Rt as field,u as fetchHandler,V as doValid,Ct as defineRequest,It as createGlobalClient,Tt as createClient,mt as cloneClient,_t as basicAuthInterceptor,W as ERR_UNSUPPORTED_FIELD_TYPE,pt as ERR_UNKNOWN,X as ERR_TIMEOUT,Et as ERR_OBSERVE,A as ERR_NOT_SET_ALIAS,y as ERR_NOT_FOUND_HANDLER,j as ERR_NOT_FOUND_GLOBAL_CLIENT,Ht as ERR_NETWORK,L as ERR_INVALID_HTTP_CONTEXT_TOKEN,J as ERR_INVALID_CLIENT,K as ERR_ABORTED};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defjs/core",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "type": "module",
5
5
  "module": "index.js",
6
6
  "typings": "index.d.ts",