@basmilius/http-client 2.27.0 → 2.28.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.
@@ -1,8 +1,8 @@
1
1
  import { Paginated, RequestError, ValidationError } from "../dto";
2
- import type { HttpStatusCode } from "../type";
2
+ import type { ForeignData, HttpStatusCode } from "../type";
3
3
  export declare class HttpAdapter {
4
- static parsePaginatedAdapter<T>(response: object, adapterMethod: (item: object) => T): Paginated<T>;
4
+ static parsePaginatedAdapter<T>(response: ForeignData, adapterMethod: (item: object) => T): Paginated<T>;
5
5
  static parseFileNameFromContentDispositionHeader(header: string): string;
6
- static parseRequestError(response: object, statusCode: HttpStatusCode): RequestError;
7
- static parseValidationError(response: object): ValidationError;
6
+ static parseRequestError(response: ForeignData, statusCode: HttpStatusCode): RequestError;
7
+ static parseValidationError(response: ForeignData): ValidationError;
8
8
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var Q=function(r,i,n,m){var u=arguments.length,f=u<3?i:m===null?m=Object.getOwnPropertyDescriptor(i,n):m,p;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")f=Reflect.decorate(r,i,n,m);else for(var x=r.length-1;x>=0;x--)if(p=r[x])f=(u<3?p(f):u>3?p(i,n,f):p(i,n))||f;return u>3&&f&&Object.defineProperty(i,n,f),f};import{DateTime as jr}from"luxon";function P(r){return class extends r{constructor(...i){throw Error("@adapter: cannot create instance of class.")}}}function Br(){return(r,i)=>{r[i]=r[i].bind(r)}}import{debounce as zr}from"@basmilius/utils";function Cr(r){return(i,n,m)=>{m.value=zr(m.value,r,i)}}import{getPrototypeChain as Nr,setObjectMethod as Ur,setObjectValue as ur}from"@basmilius/utils";var Jr=!1,g=!1,e=!1,Or=!1,Xr=!1,fr=!1,Ir=!1;var _=Symbol(),U=Symbol(),h=Symbol(),S=Symbol(),o=Symbol(),c=Symbol(),s=Symbol(),M=Symbol(),Z=Symbol(),j=Symbol(),y=Symbol();function t(r){return r&&typeof r==="object"&&!!r[o]}function k(r,i){if(!t(r)||!t(i))return r===i;return JSON.stringify(r)===JSON.stringify(i)}function l(r){if(!t(r))throw Error("@dto assert given object is not a class decorated with @Dto.")}var or=Symbol();function W(r,i=0,n){return function(...m){let u=or in r,f=r[or]??=new WeakMap,p=m[i],x=n!==void 0?m[n]:"self";if(typeof p!=="object")return r.call(this,...m);if(!f.has(p))f.set(p,[]);if(f.get(p).includes(x)){Jr&&console.log("%c@dto %ccircular protect %cdetected a circular reference","color: #0891b2","color: #059669","color: #1d4ed8",{fn:r,primary:p,secondary:x});return}f.get(p).push(x);let R=r.call(this,...m);return!u&&delete r[or],R}}function pr(r){return l(r),r.clone()}function $(r){return l(r),r[S]}var _r=W(function(r,i,n,m){let u=r[y];u(r,i,n,m),e&&console.log(`%c@dto %c${r[o]} %ctrigger`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r,value:n,oldValue:m}),r[c]&&_r(r[c],r[s],r[c][r[s]])},0,1),F=_r;var Mr=W(function(r){if(l(r),r[S])r[S]=!1,g&&console.log(`%c@dto %c${r[o]} %cdirty`,"color: #0891b2","color: #059669","color: #1d4ed8","marked clean",{obj:r}),F(r,S,!1,!0);if(!r[U]||r[U].length===0)return;r[U].filter($).forEach(Mr)}),v=Mr;async function sr(r,i){if(!t(r)||!$(r))return;await i(r),v(r)}function a(r){return r?.value??r}function cr(r){return l(r),!r[S]}var Dr=W(function(r,i){if(l(r),!r[S])r[S]=!0,g&&console.log(`%c@dto %c${r[o]} %cdirty`,"color: #0891b2","color: #059669","color: #1d4ed8","marked dirty",{obj:r,key:i}),F(r,S,!0,!1);if(!r[c])return;Dr(r[c],r[s])}),B=Dr;function rr(r,i,n){i[U]??=[],!i[U].includes(r)&&i[U].push(r),r[c]!==i&&(r[c]=i),r[s]!==n&&(r[s]=n)}function T(r,i,n){if(t(n))rr(n,r,i);else if(Array.isArray(n)){if(n.some(t))n.filter(t).forEach((m)=>rr(m,r,i));n[c]=r,n[s]=i}}function D(r,i){let n=r[j];n(r,i),e&&console.log(`%c@dto %c${r[o]} %ctrack`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r})}function ir(r,i){if(U in i){let n=i[U].indexOf(r);i[U].splice(n,1)}r[c]=void 0,r[s]=void 0}function nr(r,i){if(t(i))ir(i,r);else if(Array.isArray(i)){if(i.some(t))i.filter(t).forEach((n)=>ir(n,r));i[c]=void 0,i[s]=void 0}}var C={};import{customRef as Yr,markRaw as dr}from"vue";var mr={deleteProperty(r,i){if(Reflect.deleteProperty(r,i),lr(r,i))return!0;let n=r[c];return n&&F(n,r[s],n[r[s]]),n&&B(n,r[s]),!0},get(r,i,n){if(i===Z)return!0;if(lr(r,i))return Reflect.get(r,i,n);let m=r[c];return m&&D(m,r[s]),Reflect.get(r,i)},set(r,i,n,m){if(lr(r,i))return Reflect.set(r,i,n,m);let u=r[c];return u&&F(u,r[s],u[r[s]]),u&&B(u,r[s]),Reflect.set(r,i,n)}};function lr(r,i){return typeof i==="symbol"||typeof r[i]==="function"||i==="length"}var Kr={get(r,i,n){if(i===Z)return!0;if(typeof i==="symbol")return Reflect.get(r,i,n);let m=r[h][i];if(!m||!m.get)return Reflect.get(r,i,n);let u=m.get.call(r);return Or&&console.log(`%c@dto %c${r[o]} %cget`,"color: #0891b2","color: #059669","color: #1d4ed8",i),D(r,i),T(r,i,u),u},getOwnPropertyDescriptor(r,i){return r[h][i]},ownKeys(r){return r[M]},set(r,i,n,m){if(typeof i==="symbol")return Reflect.set(r,i,n,m);let u=r[h][i];if(!u||!u.set)return Reflect.set(r,i,n,m);let f=u.get?.call(r)??void 0;if(k(n,f))return!0;if(nr(r,f),Array.isArray(n)&&!n[Z])n=new Proxy(n,mr);return Xr&&console.log(`%c@dto %c${r[o]} %cset`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{value:n}),u.set.call(r,n),T(r,i,n),B(r,i),F(r,i,n,f),!0}};var Tr={get(r,i,n){if(i==="__v_isRef")return!1;if(i===Z)return!0;if(i in r)return Reflect.get(r,i,n);return Reflect.get(r.value,i)},getOwnPropertyDescriptor(r,i){return Reflect.getOwnPropertyDescriptor(r.value,i)},ownKeys(r){return Reflect.ownKeys(r.value)},set(r,i,n,m){if(i in r)return Reflect.set(r,i,n,m);return Reflect.set(r.value,i,n)}};var Ar={construct(r,i,n){i=i.map((u)=>{if(!Array.isArray(u))return u;return new Proxy(u,mr)});let m=Yr((u,f)=>{let p=dr(Reflect.construct(r,i,n));p[_]=i,p[S]=!1,p[j]=u,p[y]=f;let x=new Proxy(p,Kr);return{get:()=>{return u(),x},set:()=>{return}}});return new Proxy(m,Tr)}};function xr(){let r=this;l(r);let n=new C[r[o]](...r[_]);return Object.entries(this[h]).filter(([,m])=>!!m.set).map(([m])=>m).forEach((m)=>n[m]=t(this[m])?this[m].clone():this[m]),n}function Sr(r){for(let i in r){let n=this[h][i];if(t(this[i])&&typeof r[i]==="object")this[i].fill(r[i]);else if(n&&n.set)this[i]=r[i]}}function wr(){return Object.fromEntries(this[M].map((r)=>{let i=Reflect.get.call(this,this,r,this);if(t(i))i=i.toJSON();return[r,i]}))}function G(r){Er(r);let i=Object.freeze(Nr(r)),n=Object.keys(i);return ur(r.prototype,h,i),ur(r.prototype,o,r.name),ur(r.prototype,M,n),ur(r,Symbol.hasInstance,(m)=>typeof m==="object"&&m?.[o]===r.name),Ur(r,"clone",xr),Ur(r,"fill",Sr),Ur(r,"toJSON",wr),br(r)}function br(r){let i=new Proxy(r,Ar);return C[r.name]=i,i}function Er(r){let i=Object.getPrototypeOf(r.prototype);if(o in i)throw Error(`⛔️ @dto ${r.name} cannot extend parent class which is also decorated with @dto ${i[o]}.`)}if(Ir){let r=console.error.bind(console),i=console.info.bind(console),n=console.log.bind(console),m=console.warn.bind(console),u=(f)=>(...p)=>{for(let x=p.length-1;x>=0;--x){let R=p[x];if(!t(R))continue;let $r=a(R);p.splice(x,1,`\uD83D\uDCE6 ${$r[o]}`,$r.toJSON())}return f(...p)};console.error=u(r),console.info=u(i),console.log=u(n),console.warn=u(m)}function A(r){return r.map(J)}import{DateTime as Rr}from"luxon";function qr([,r]){return Rr.fromISO(r)}function z(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,J(n)]).filter(([,i])=>i!==void 0))}var Qr={};function hr([,r,i,n,m]){if(!(i in C))throw Error(`Cannot restore @dto. Dto ${i} was not found.`);if(r in Qr)return Qr[r];fr&&console.group("⭐️",i,r);let f=new C[i](...A(m));return f.fill(z(n)),fr&&console.groupEnd(),Qr[r]=f,f}function Fr(r){return Array.isArray(r)&&r[0]===3058}function Gr(r){return Array.isArray(r)&&r[0]===3057}function J(r){switch(!0){case r===null:return null;case Array.isArray(r):switch(!0){case Fr(r):return qr(r);case Gr(r):return hr(r);default:return A(r)}case typeof r==="object":return z(r);default:return r}}function Hr(r){return J(JSON.parse(r))}import{DateTime as er}from"luxon";import{DateTime as gr}from"luxon";function Y(r){return[3058,r.toISO({extendedZone:!0,includeOffset:!0})]}import{toRaw as Pr}from"vue";function d(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,O(n)]).filter(([,i])=>i!==void 0))}function Lr(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(r)=>(+r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+r/4).toString(16))}function N(r){r=Pr(r);let i=r.toJSON();return[3057,Lr(),r[o],d(i),b(r[_])]}function b(r){switch(!0){case r.every(t):return r.map(N);case r.every(gr.isDateTime):return r.map(Y);default:return r.map(O)}}function O(r){switch(!0){case r===null:return null;case Array.isArray(r):return b(r);case t(r):return N(r);case er.isDateTime(r):return Y(r);case typeof r==="object":return d(r);case typeof r==="boolean":case typeof r==="number":case typeof r==="string":return r;default:return}}function Vr(r){return JSON.stringify(O(r))}class X{get blob(){return this.#r}get name(){return this.#i}#r;#i;constructor(r,i){this.#r=r,this.#i=i}}X=Q([G],X);class I{get items(){return this.#r}get page(){return this.#i}get pageSize(){return this.#m}get pages(){return this.#n}get total(){return this.#u}#r;#i;#m;#n;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#m=n,this.#n=m,this.#u=u}}I=Q([G],I);class w{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#m}get statusCode(){return this.#n}#r;#i;#m;#n;constructor(r,i,n,m){this.#r=r,this.#i=i,this.#m=n,this.#n=m}}w=Q([G],w);class L{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#m}get errors(){return this.#n}get params(){return this.#u}#r;#i;#m;#n;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#m=n,this.#n=m,this.#u=u}}L=Q([G],L);class H{static parsePaginatedAdapter(r,i){return new I(r.items.map(i),r.page,r.page_size,r.pages,r.total)}static parseFileNameFromContentDispositionHeader(r){let i=`download-${jr.now().toFormat("yyyy-MM-dd HH-mm-ss")}`;if(!r.startsWith("attachment"))return i;let m=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(r);if((m?.length||0)<2)return i;return m[1].replaceAll("'","").replaceAll('"',"").replaceAll("/","-").replaceAll(":","-")}static parseRequestError(r,i){return new w(r.code,r.error,r.error_description,i)}static parseValidationError(r){let i;if(r.errors)i={},Object.entries(r.errors).forEach(([n,m])=>{i[n]=H.parseValidationError(m)});return new L(r.code,r.error,r.error_description,i,r.params)}}H=Q([P],H);class q{get data(){return this.#r}get headers(){return this.#i.headers}get ok(){return this.statusCode>=200&&this.statusCode<300}get response(){return this.#i}get statusCode(){return this.#i.status}#r;#i;constructor(r,i){this.#r=r,this.#i=i}}import{DateTime as yr}from"luxon";class V{get authToken(){return this.#r}set authToken(r){this.#r=r}get baseUrl(){return this.#i}get dataField(){return this.#m}#r;#i;#m;constructor(r,i,n=!1){this.#r=r,this.#i=i,this.#m=n}static get instance(){if(V.#n===null)throw Error("There is currently no HttpClient instance registered. Register one using the HttpClient.register() function.");return V.#n}static#n=null;static register(r){V.#n=r}}class E extends Error{}var Zr={};class K{get client(){return this.#r}get options(){return this.#n}get path(){return this.#m}set path(r){this.#m=r}get query(){return this.#u}set query(r){this.#u=r}#r;#i=null;#m;#n={};#u=null;constructor(r,i){this.#r=i??V.instance,this.#n.cache="no-cache",this.#n.method="GET",this.#m=r}autoCancel(r){return this.#i=r,this}bearerToken(r){if(r=r??this.#r.authToken,r)return this.header("Authorization",`Bearer ${r}`);if(this.#n.headers&&"Authorization"in this.#n.headers)delete this.#n.headers.Authorization;return this}body(r,i="application/octet-stream"){if(r instanceof FormData)i=null;else if(Array.isArray(r)||typeof r==="object")r=JSON.stringify(r),i="application/json";if(this.#n.body=r,i!==null)return this.header("Content-Type",i);return this}header(r,i){return this.#n.headers=this.#n.headers||{},this.#n.headers[r]=i,this}method(r){return this.#n.method=r.toUpperCase(),this}queryString(r){return this.#u=r,this}signal(r=null){return this.#n.signal=r,this}async fetch(){return this.#f().then((r)=>r.json())}async fetchBlob(){let r=await this.#f();if(r.status!==200){let n=await r.json();if("code"in n&&"error"in n&&"error_description"in n)throw new w(n.code,n.error,n.error_description,r.status);throw new w(-1,"failed_without_info","Request failed without any information from the backend.",r.status)}let i=r.headers.has("content-disposition")?H.parseFileNameFromContentDispositionHeader(r.headers.get("content-disposition")):`download-${yr.now().toFormat("yyyy-MM-dd HH-mm-ss")}`;return new X(await r.blob(),i)}async run(){let{data:r,response:i}=await this.#t();return new q(r,i)}async runAdapter(r){let{data:i,response:n}=await this.#t();return new q(r(i),n)}async runArrayAdapter(r){return this.runAdapter((i)=>i.map(r))}async runEmpty(){return await this.#t()}async runPaginatedAdapter(r){return this.runAdapter((i)=>H.parsePaginatedAdapter(i,r))}async runData(){return await this.#t()}async runDataKey(r){let{data:i,response:n}=await this.#t();return new q(i[r],n)}async runStatusCode(){return(await this.#t()).statusCode}async#f(){if(this.#i!==null){if(this.#i in Zr)Zr[this.#i].abort(new E);let i=new AbortController;Zr[this.#i]=i,this.signal(i.signal)}let r=this.path;if(this.query!==null)r+=`?${this.query.build()}`;return await fetch(this.client.baseUrl+r,this.options)}async#t(){return await this.#f().then((r)=>K.#o(r,this.client.dataField))}static async#o(r,i){if(r.status===204)return new q(null,r);if(r.headers.has("content-type")&&r.headers.get("content-type").startsWith("application/json")){let m=await r.json();if("code"in m&&"error"in m&&"error_description"in m){if("errors"in m)throw H.parseValidationError(m);throw H.parseRequestError(m,r.status)}if(i&&"data"in m)return new q(m.data,r);return new q(m,r)}if(r.status===401||r.status===403)return new q(null,r);if((await r.text()).length===0&&r.status>=200&&r.status<300)return new q(null,r);throw new w(-1,"not_a_json_response","The response was not a JSON response.",r.status)}}class Wr{request(r,i){return new K(r,i)}}class tr{#r;constructor(){this.#r=new URLSearchParams}build(){return this.#r.toString()}append(r,i){return this.#i(this.#r.append.bind(this.#r),r,i)}appendArray(r,i){if(i===void 0||i===null)return this;return i.forEach((n)=>this.append(r,n)),this}delete(r){return this.#r.delete(r),this}get(r){return this.#r.get(r)}getAll(r){return this.#r.getAll(r)}has(r){return this.#r.has(r)}set(r,i){return this.#i(this.#r.set.bind(this.#r),r,i)}#i(r,i,n){if(!n&&n!==!1)return this;switch(typeof n){case"boolean":r(i,n?"true":"false");break;case"number":r(i,n.toString(10));break;case"string":r(i,n);break}return this}static builder(){return new tr}}function kr(r){return r instanceof E}function vr(r){return r instanceof w}function ar(r){if(r instanceof w)r=r.statusCode;return r===403||r===401}function ri(r){return r instanceof L}export{Vr as serialize,B as markDtoDirty,v as markDtoClean,ri as isValidationError,ar as isUnsanctionedRequest,vr as isRequestError,kr as isRequestAborted,$ as isDtoDirty,cr as isDtoClean,t as isDto,sr as executeIfDtoDirtyAndMarkClean,G as dto,Hr as deserialize,Cr as debounce,pr as cloneDto,Br as bound,l as assertDto,P as adapter,L as ValidationError,w as RequestError,K as RequestBuilder,E as RequestAbortedError,tr as QueryString,I as Paginated,V as HttpClient,H as HttpAdapter,X as BlobResponse,Wr as BaseService,q as BaseResponse};
1
+ var Q=function(r,i,n,m){var u=arguments.length,f=u<3?i:m===null?m=Object.getOwnPropertyDescriptor(i,n):m,p;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")f=Reflect.decorate(r,i,n,m);else for(var x=r.length-1;x>=0;x--)if(p=r[x])f=(u<3?p(f):u>3?p(i,n,f):p(i,n))||f;return u>3&&f&&Object.defineProperty(i,n,f),f};import{DateTime as yr}from"luxon";function P(r){return class extends r{constructor(...i){throw Error("@adapter: cannot create instance of class.")}}}function Br(){return(r,i)=>{r[i]=r[i].bind(r)}}import{debounce as zr}from"@basmilius/utils";function Cr(r){return(i,n,m)=>{m.value=zr(m.value,r,i)}}import{getPrototypeChain as Nr,setObjectMethod as Ur,setObjectValue as ur}from"@basmilius/utils";var Jr=!1,g=!1,e=!1,Or=!1,Xr=!1,fr=!1,Ir=!1;var D=Symbol(),U=Symbol(),h=Symbol(),S=Symbol(),o=Symbol(),c=Symbol(),s=Symbol(),_=Symbol(),Z=Symbol(),y=Symbol(),j=Symbol();function t(r){return r&&typeof r==="object"&&!!r[o]}function k(r,i){if(!t(r)||!t(i))return r===i;return JSON.stringify(r)===JSON.stringify(i)}function l(r){if(!t(r))throw Error("@dto assert given object is not a class decorated with @Dto.")}var or=Symbol();function W(r,i=0,n){return function(...m){let u=or in r,f=r[or]??=new WeakMap,p=m[i],x=n!==void 0?m[n]:"self";if(typeof p!=="object")return r.call(this,...m);if(!f.has(p))f.set(p,[]);if(f.get(p).includes(x)){Jr&&console.log("%c@dto %ccircular protect %cdetected a circular reference","color: #0891b2","color: #059669","color: #1d4ed8",{fn:r,primary:p,secondary:x});return}f.get(p).push(x);let R=r.call(this,...m);return!u&&delete r[or],R}}function pr(r){return l(r),r.clone()}function $(r){return l(r),r[S]}var Dr=W(function(r,i,n,m){let u=r[j];u(r,i,n,m),e&&console.log(`%c@dto %c${r[o]} %ctrigger`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r,value:n,oldValue:m}),r[c]&&Dr(r[c],r[s],r[c][r[s]])},0,1),F=Dr;var _r=W(function(r){if(l(r),r[S])r[S]=!1,g&&console.log(`%c@dto %c${r[o]} %cdirty`,"color: #0891b2","color: #059669","color: #1d4ed8","marked clean",{obj:r}),F(r,S,!1,!0);if(!r[U]||r[U].length===0)return;r[U].filter($).forEach(_r)}),v=_r;async function sr(r,i){if(!t(r)||!$(r))return;await i(r),v(r)}function a(r){return r?.value??r}function cr(r){return l(r),!r[S]}var Mr=W(function(r,i){if(l(r),!r[S])r[S]=!0,g&&console.log(`%c@dto %c${r[o]} %cdirty`,"color: #0891b2","color: #059669","color: #1d4ed8","marked dirty",{obj:r,key:i}),F(r,S,!0,!1);if(!r[c])return;Mr(r[c],r[s])}),B=Mr;function rr(r,i,n){i[U]??=[],!i[U].includes(r)&&i[U].push(r),r[c]!==i&&(r[c]=i),r[s]!==n&&(r[s]=n)}function T(r,i,n){if(t(n))rr(n,r,i);else if(Array.isArray(n)){if(n.some(t))n.filter(t).forEach((m)=>rr(m,r,i));n[c]=r,n[s]=i}}function M(r,i){let n=r[y];n(r,i),e&&console.log(`%c@dto %c${r[o]} %ctrack`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r})}function ir(r,i){if(U in i){let n=i[U].indexOf(r);i[U].splice(n,1)}r[c]=void 0,r[s]=void 0}function nr(r,i){if(t(i))ir(i,r);else if(Array.isArray(i)){if(i.some(t))i.filter(t).forEach((n)=>ir(n,r));i[c]=void 0,i[s]=void 0}}var C={};import{customRef as Yr,markRaw as dr}from"vue";var mr={deleteProperty(r,i){if(Reflect.deleteProperty(r,i),lr(r,i))return!0;let n=r[c];return n&&F(n,r[s],n[r[s]]),n&&B(n,r[s]),!0},get(r,i,n){if(i===Z)return!0;if(lr(r,i))return Reflect.get(r,i,n);let m=r[c];return m&&M(m,r[s]),Reflect.get(r,i)},set(r,i,n,m){if(lr(r,i))return Reflect.set(r,i,n,m);let u=r[c];return u&&F(u,r[s],u[r[s]]),u&&B(u,r[s]),Reflect.set(r,i,n)}};function lr(r,i){return typeof i==="symbol"||typeof r[i]==="function"||i==="length"}var Kr={get(r,i,n){if(i===Z)return!0;if(typeof i==="symbol")return Reflect.get(r,i,n);let m=r[h][i];if(!m||!m.get)return Reflect.get(r,i,n);let u=m.get.call(r);return Or&&console.log(`%c@dto %c${r[o]} %cget`,"color: #0891b2","color: #059669","color: #1d4ed8",i),M(r,i),T(r,i,u),u},getOwnPropertyDescriptor(r,i){return r[h][i]},ownKeys(r){return r[_]},set(r,i,n,m){if(typeof i==="symbol")return Reflect.set(r,i,n,m);let u=r[h][i];if(!u||!u.set)return Reflect.set(r,i,n,m);let f=u.get?.call(r)??void 0;if(k(n,f))return!0;if(nr(r,f),Array.isArray(n)&&!n[Z])n=new Proxy(n,mr);return Xr&&console.log(`%c@dto %c${r[o]} %cset`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{value:n}),u.set.call(r,n),T(r,i,n),B(r,i),F(r,i,n,f),!0}};var Tr={get(r,i,n){if(i==="__v_isRef")return!1;if(i===Z)return!0;if(i in r)return Reflect.get(r,i,n);return Reflect.get(r.value,i)},getOwnPropertyDescriptor(r,i){return Reflect.getOwnPropertyDescriptor(r.value,i)},ownKeys(r){return Reflect.ownKeys(r.value)},set(r,i,n,m){if(i in r)return Reflect.set(r,i,n,m);return Reflect.set(r.value,i,n)}};var Ar={construct(r,i,n){i=i.map((u)=>{if(!Array.isArray(u))return u;return new Proxy(u,mr)});let m=Yr((u,f)=>{let p=dr(Reflect.construct(r,i,n));p[D]=i,p[S]=!1,p[y]=u,p[j]=f;let x=new Proxy(p,Kr);return{get:()=>{return u(),x},set:()=>{return}}});return new Proxy(m,Tr)}};function xr(){let r=this;l(r);let n=new C[r[o]](...r[D]);return Object.entries(this[h]).filter(([,m])=>!!m.set).map(([m])=>m).forEach((m)=>n[m]=t(this[m])?this[m].clone():this[m]),n}function Sr(r){for(let i in r){let n=this[h][i];if(t(this[i])&&typeof r[i]==="object")this[i].fill(r[i]);else if(n&&n.set)this[i]=r[i]}}function wr(){return Object.fromEntries(this[_].map((r)=>{let i=Reflect.get.call(this,this,r,this);if(t(i))i=i.toJSON();return[r,i]}))}function G(r){br(r);let i=Object.freeze(Nr(r)),n=Object.keys(i);return ur(r.prototype,h,i),ur(r.prototype,o,r.name),ur(r.prototype,_,n),ur(r,Symbol.hasInstance,(m)=>typeof m==="object"&&m?.[o]===r.name),Ur(r,"clone",xr),Ur(r,"fill",Sr),Ur(r,"toJSON",wr),Er(r)}function Er(r){let i=new Proxy(r,Ar);return C[r.name]=i,i}function br(r){let i=Object.getPrototypeOf(r.prototype);if(o in i)throw Error(`⛔️ @dto ${r.name} cannot extend parent class which is also decorated with @dto ${i[o]}.`)}if(Ir){let r=console.error.bind(console),i=console.info.bind(console),n=console.log.bind(console),m=console.warn.bind(console),u=(f)=>(...p)=>{for(let x=p.length-1;x>=0;--x){let R=p[x];if(!t(R))continue;let $r=a(R);p.splice(x,1,`\uD83D\uDCE6 ${$r[o]}`,$r.toJSON())}return f(...p)};console.error=u(r),console.info=u(i),console.log=u(n),console.warn=u(m)}function A(r){return r.map(J)}import{DateTime as Rr}from"luxon";function qr([,r]){return Rr.fromISO(r)}function z(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,J(n)]).filter(([,i])=>i!==void 0))}var Qr={};function hr([,r,i,n,m]){if(!(i in C))throw Error(`Cannot restore @dto. Dto ${i} was not found.`);if(r in Qr)return Qr[r];fr&&console.group("⭐️",i,r);let f=new C[i](...A(m));return f.fill(z(n)),fr&&console.groupEnd(),Qr[r]=f,f}function Fr(r){return Array.isArray(r)&&r[0]===3058}function Gr(r){return Array.isArray(r)&&r[0]===3057}function J(r){switch(!0){case r===null:return null;case Array.isArray(r):switch(!0){case Fr(r):return qr(r);case Gr(r):return hr(r);default:return A(r)}case typeof r==="object":return z(r);default:return r}}function Hr(r){return J(JSON.parse(r))}import{DateTime as er}from"luxon";import{DateTime as gr}from"luxon";function Y(r){return[3058,r.toISO({extendedZone:!0,includeOffset:!0})]}import{toRaw as Pr}from"vue";function d(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,O(n)]).filter(([,i])=>i!==void 0))}function Lr(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(r)=>(+r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+r/4).toString(16))}function N(r){r=Pr(r);let i=r.toJSON();return[3057,Lr(),r[o],d(i),E(r[D])]}function E(r){switch(!0){case r.every(t):return r.map(N);case r.every(gr.isDateTime):return r.map(Y);default:return r.map(O)}}function O(r){switch(!0){case r===null:return null;case Array.isArray(r):return E(r);case t(r):return N(r);case er.isDateTime(r):return Y(r);case typeof r==="object":return d(r);case typeof r==="boolean":case typeof r==="number":case typeof r==="string":return r;default:return}}function Vr(r){return JSON.stringify(O(r))}class X{get blob(){return this.#r}get name(){return this.#i}#r;#i;constructor(r,i){this.#r=r,this.#i=i}}X=Q([G],X);class I{get items(){return this.#r}get page(){return this.#i}get pageSize(){return this.#m}get pages(){return this.#n}get total(){return this.#u}#r;#i;#m;#n;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#m=n,this.#n=m,this.#u=u}}I=Q([G],I);class w{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#m}get statusCode(){return this.#n}#r;#i;#m;#n;constructor(r,i,n,m){this.#r=r,this.#i=i,this.#m=n,this.#n=m}}w=Q([G],w);class L{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#m}get errors(){return this.#n}get params(){return this.#u}#r;#i;#m;#n;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#m=n,this.#n=m,this.#u=u}}L=Q([G],L);class H{static parsePaginatedAdapter(r,i){return new I(r.items.map(i),r.page,r.page_size,r.pages,r.total)}static parseFileNameFromContentDispositionHeader(r){let i=`download-${yr.now().toFormat("yyyy-MM-dd HH-mm-ss")}`;if(!r.startsWith("attachment"))return i;let m=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(r);if((m?.length||0)<2)return i;return m[1].replaceAll("'","").replaceAll('"',"").replaceAll("/","-").replaceAll(":","-")}static parseRequestError(r,i){return new w(r.code,r.error,r.error_description,i)}static parseValidationError(r){let i;if(r.errors)i={},Object.entries(r.errors).forEach(([n,m])=>{i[n]=H.parseValidationError(m)});return new L(r.code,r.error,r.error_description,i,r.params)}}H=Q([P],H);class q{get data(){return this.#r}get headers(){return this.#i.headers}get ok(){return this.statusCode>=200&&this.statusCode<300}get response(){return this.#i}get statusCode(){return this.#i.status}#r;#i;constructor(r,i){this.#r=r,this.#i=i}}import{DateTime as jr}from"luxon";class V{get authToken(){return this.#r}set authToken(r){this.#r=r}get baseUrl(){return this.#i}get dataField(){return this.#m}#r;#i;#m;constructor(r,i,n=!1){this.#r=r,this.#i=i,this.#m=n}static get instance(){if(V.#n===null)throw Error("There is currently no HttpClient instance registered. Register one using the HttpClient.register() function.");return V.#n}static#n=null;static register(r){V.#n=r}}class b extends Error{}var Zr={};class K{get client(){return this.#r}get options(){return this.#n}get path(){return this.#m}set path(r){this.#m=r}get query(){return this.#u}set query(r){this.#u=r}#r;#i=null;#m;#n={};#u=null;constructor(r,i){this.#r=i??V.instance,this.#n.cache="no-cache",this.#n.method="GET",this.#m=r}autoCancel(r){return this.#i=r,this}bearerToken(r){if(r=r??this.#r.authToken,r)return this.header("Authorization",`Bearer ${r}`);if(this.#n.headers&&"Authorization"in this.#n.headers)delete this.#n.headers.Authorization;return this}body(r,i="application/octet-stream"){if(r instanceof FormData)i=null;else if(Array.isArray(r)||typeof r==="object")r=JSON.stringify(r),i="application/json";if(this.#n.body=r,i!==null)return this.header("Content-Type",i);return this}header(r,i){return this.#n.headers=this.#n.headers||{},this.#n.headers[r]=i,this}method(r){return this.#n.method=r.toUpperCase(),this}queryString(r){return this.#u=r,this}signal(r=null){return this.#n.signal=r,this}async fetch(){return this.#f().then((r)=>r.json())}async fetchBlob(){let r=await this.#f();if(r.status!==200){let n=await r.json();if("code"in n&&"error"in n&&"error_description"in n)throw new w(n.code,n.error,n.error_description,r.status);throw new w(-1,"failed_without_info","Request failed without any information from the backend.",r.status)}let i=r.headers.has("content-disposition")?H.parseFileNameFromContentDispositionHeader(r.headers.get("content-disposition")):`download-${jr.now().toFormat("yyyy-MM-dd HH-mm-ss")}`;return new X(await r.blob(),i)}async run(){let{data:r,response:i}=await this.#t();return new q(r,i)}async runAdapter(r){let{data:i,response:n}=await this.#t();return new q(r(i),n)}async runArrayAdapter(r){return this.runAdapter((i)=>i.map(r))}async runEmpty(){return await this.#t()}async runPaginatedAdapter(r){return this.runAdapter((i)=>H.parsePaginatedAdapter(i,r))}async runData(){return await this.#t()}async runDataKey(r){let{data:i,response:n}=await this.#t();return new q(i[r],n)}async runStatusCode(){return(await this.#t()).statusCode}async#f(){if(this.#i!==null){if(this.#i in Zr)Zr[this.#i].abort(new b);let i=new AbortController;Zr[this.#i]=i,this.signal(i.signal)}let r=this.path;if(this.query!==null)r+=`?${this.query.build()}`;return await fetch(this.client.baseUrl+r,this.options)}async#t(){return await this.#f().then((r)=>K.#o(r,this.client.dataField))}static async#o(r,i){if(r.status===204)return new q(null,r);if(r.headers.has("content-type")&&r.headers.get("content-type").startsWith("application/json")){let m=await r.json();if("code"in m&&"error"in m&&"error_description"in m){if("errors"in m)throw H.parseValidationError(m);throw H.parseRequestError(m,r.status)}if(i&&"data"in m)return new q(m.data,r);return new q(m,r)}if(r.status===401||r.status===403)return new q(null,r);if((await r.text()).length===0&&r.status>=200&&r.status<300)return new q(null,r);throw new w(-1,"not_a_json_response","The response was not a JSON response.",r.status)}}class Wr{request(r,i){return new K(r,i)}}class tr{#r;constructor(){this.#r=new URLSearchParams}build(){return this.#r.toString()}append(r,i){return this.#i(this.#r.append.bind(this.#r),r,i)}appendArray(r,i){if(i===void 0||i===null)return this;return i.forEach((n)=>this.append(r,n)),this}delete(r){return this.#r.delete(r),this}get(r){return this.#r.get(r)}getAll(r){return this.#r.getAll(r)}has(r){return this.#r.has(r)}set(r,i){return this.#i(this.#r.set.bind(this.#r),r,i)}#i(r,i,n){if(!n&&n!==!1)return this;switch(typeof n){case"boolean":r(i,n?"true":"false");break;case"number":r(i,n.toString(10));break;case"string":r(i,n);break}return this}static builder(){return new tr}}function kr(r){return r instanceof b}function vr(r){return r instanceof w}function ar(r){if(r instanceof w)r=r.statusCode;return r===403||r===401}function ri(r){return r instanceof L}export{Vr as serialize,B as markDtoDirty,v as markDtoClean,ri as isValidationError,ar as isUnsanctionedRequest,vr as isRequestError,kr as isRequestAborted,$ as isDtoDirty,cr as isDtoClean,t as isDto,sr as executeIfDtoDirtyAndMarkClean,G as dto,Hr as deserialize,Cr as debounce,pr as cloneDto,Br as bound,l as assertDto,P as adapter,L as ValidationError,w as RequestError,K as RequestBuilder,b as RequestAbortedError,tr as QueryString,I as Paginated,V as HttpClient,H as HttpAdapter,X as BlobResponse,Wr as BaseService,q as BaseResponse};
2
2
 
3
- //# debugId=D0C411A526101C6D64756E2164756E21
3
+ //# debugId=FD3E2F4E0F60807764756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/adapter/HttpAdapter.ts", "../src/decorator/adapter.ts", "../src/decorator/bound.ts", "../src/decorator/debounce.ts", "../src/decorator/dto/index.ts", "../src/decorator/dto/constant.ts", "../src/decorator/dto/symbols.ts", "../src/decorator/dto/helper/isDto.ts", "../src/decorator/dto/helper/areEqual.ts", "../src/decorator/dto/helper/assertDto.ts", "../src/decorator/dto/helper/circularProtect.ts", "../src/decorator/dto/helper/cloneDto.ts", "../src/decorator/dto/helper/isDtoDirty.ts", "../src/decorator/dto/helper/triggerDto.ts", "../src/decorator/dto/helper/markDtoClean.ts", "../src/decorator/dto/helper/executeIfDtoDirtyAndMarkClean.ts", "../src/decorator/dto/helper/instance.ts", "../src/decorator/dto/helper/isDtoClean.ts", "../src/decorator/dto/helper/markDtoDirty.ts", "../src/decorator/dto/helper/relateDtoTo.ts", "../src/decorator/dto/helper/relateValueTo.ts", "../src/decorator/dto/helper/trackDto.ts", "../src/decorator/dto/helper/unrelateDtoFrom.ts", "../src/decorator/dto/helper/unrelateValueFrom.ts", "../src/decorator/dto/map.ts", "../src/decorator/dto/classProxy.ts", "../src/decorator/dto/arrayProxy.ts", "../src/decorator/dto/instanceProxy.ts", "../src/decorator/dto/refProxy.ts", "../src/decorator/dto/clone.ts", "../src/decorator/dto/fill.ts", "../src/decorator/dto/toJSON.ts", "../src/decorator/dto/serialize/deserializeArray.ts", "../src/decorator/dto/serialize/deserializeDateTime.ts", "../src/decorator/dto/serialize/deserializeObject.ts", "../src/decorator/dto/serialize/deserializeDto.ts", "../src/decorator/dto/serialize/isSerializedDateTime.ts", "../src/decorator/dto/serialize/isSerializedDto.ts", "../src/decorator/dto/serialize/deserializeUnknown.ts", "../src/decorator/dto/serialize/deserialize.ts", "../src/decorator/dto/serialize/serializeUnknown.ts", "../src/decorator/dto/serialize/serializeArray.ts", "../src/decorator/dto/serialize/serializeDateTime.ts", "../src/decorator/dto/serialize/serializeDto.ts", "../src/decorator/dto/serialize/serializeObject.ts", "../src/decorator/dto/serialize/uuid.ts", "../src/decorator/dto/serialize/serialize.ts", "../src/dto/BlobResponse.ts", "../src/dto/Paginated.ts", "../src/dto/RequestError.ts", "../src/dto/ValidationError.ts", "../src/http/BaseResponse.ts", "../src/http/RequestBuilder.ts", "../src/http/HttpClient.ts", "../src/http/RequestAbortedError.ts", "../src/http/BaseService.ts", "../src/http/QueryString.ts", "../src/http/helpers.ts"],
4
4
  "sourcesContent": [
5
- "import { DateTime } from 'luxon';\nimport { adapter } from '../decorator';\nimport { Paginated, RequestError, ValidationError } from '../dto';\nimport type { HttpStatusCode } from '../type';\n\n@adapter\nexport class HttpAdapter {\n public static parsePaginatedAdapter<T>(response: object, adapterMethod: (item: object) => T): Paginated<T> {\n return new Paginated<T>(\n response['items'].map(adapterMethod),\n response['page'],\n response['page_size'],\n response['pages'],\n response['total']\n );\n }\n\n public static parseFileNameFromContentDispositionHeader(header: string): string {\n const defaultFilename = `download-${DateTime.now().toFormat('yyyy-MM-dd HH-mm-ss')}`;\n\n if (!header.startsWith('attachment')) {\n return defaultFilename;\n }\n\n const filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\n const matches = filenameRegex.exec(header);\n\n if ((matches?.length || 0) < 2) {\n return defaultFilename;\n }\n\n return matches[1]\n .replaceAll('\\'', '')\n .replaceAll('\\\"', '')\n .replaceAll('\\/', '-')\n .replaceAll('\\:', '-');\n }\n\n public static parseRequestError(response: object, statusCode: HttpStatusCode): RequestError {\n return new RequestError(\n response['code'],\n response['error'],\n response['error_description'],\n statusCode\n );\n }\n\n public static parseValidationError(response: object): ValidationError {\n let errors: Record<string, ValidationError>;\n\n if (response['errors']) {\n errors = {};\n\n Object.entries(response['errors']).forEach(([key, value]) => {\n errors[key] = HttpAdapter.parseValidationError(value as object);\n });\n }\n\n return new ValidationError(\n response['code'],\n response['error'],\n response['error_description'],\n errors,\n response['params']\n );\n }\n}\n",
5
+ "import { DateTime } from 'luxon';\nimport { adapter } from '../decorator';\nimport { Paginated, RequestError, ValidationError } from '../dto';\nimport type { ForeignData, HttpStatusCode } from '../type';\n\n@adapter\nexport class HttpAdapter {\n public static parsePaginatedAdapter<T>(response: ForeignData, adapterMethod: (item: object) => T): Paginated<T> {\n return new Paginated<T>(\n response.items.map(adapterMethod),\n response.page,\n response.page_size,\n response.pages,\n response.total\n );\n }\n\n public static parseFileNameFromContentDispositionHeader(header: string): string {\n const defaultFilename = `download-${DateTime.now().toFormat('yyyy-MM-dd HH-mm-ss')}`;\n\n if (!header.startsWith('attachment')) {\n return defaultFilename;\n }\n\n const filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\n const matches = filenameRegex.exec(header);\n\n if ((matches?.length || 0) < 2) {\n return defaultFilename;\n }\n\n return matches[1]\n .replaceAll('\\'', '')\n .replaceAll('\\\"', '')\n .replaceAll('\\/', '-')\n .replaceAll('\\:', '-');\n }\n\n public static parseRequestError(response: ForeignData, statusCode: HttpStatusCode): RequestError {\n return new RequestError(\n response.code,\n response.error,\n response.error_description,\n statusCode\n );\n }\n\n public static parseValidationError(response: ForeignData): ValidationError {\n let errors: Record<string, ValidationError>;\n\n if (response.errors) {\n errors = {};\n\n Object.entries(response.errors).forEach(([key, value]) => {\n errors[key] = HttpAdapter.parseValidationError(value as object);\n });\n }\n\n return new ValidationError(\n response.code,\n response.error,\n response.error_description,\n errors,\n response.params\n );\n }\n}\n",
6
6
  "import type { Constructor } from '@basmilius/utils';\n\nexport default function <T extends Constructor>(Parent: T): T {\n return class extends Parent {\n // @ts-ignore\n constructor(...args: any[]) {\n throw new Error('@adapter: cannot create instance of class.');\n }\n } as T;\n}\n",
7
7
  "export default function () {\n return (target: object, method: string): void => {\n target[method] = target[method].bind(target);\n };\n}\n",
8
8
  "import { debounce } from '@basmilius/utils';\n\nexport default function (interval: number) {\n return (target: object, _: string, descriptor: PropertyDescriptor) => {\n descriptor.value = debounce(descriptor.value, interval, target);\n };\n}\n",
@@ -61,7 +61,7 @@
61
61
  "export default class QueryString {\n readonly #builder: URLSearchParams;\n\n constructor() {\n this.#builder = new URLSearchParams();\n }\n\n public build(): string {\n return this.#builder.toString();\n }\n\n public append(name: string, value: QueryStringValue): QueryString {\n return this.#add(this.#builder.append.bind(this.#builder), name, value);\n }\n\n public appendArray(name: string, values: QueryStringValue[] | null): QueryString {\n if (values === undefined || values === null) {\n return this;\n }\n\n values.forEach(value => this.append(name, value));\n\n return this;\n }\n\n public delete(name: string): QueryString {\n this.#builder.delete(name);\n\n return this;\n }\n\n public get(name: string): string | null {\n return this.#builder.get(name);\n }\n\n public getAll(name: string): string[] {\n return this.#builder.getAll(name);\n }\n\n public has(name: string): boolean {\n return this.#builder.has(name);\n }\n\n public set(name: string, value: QueryStringValue): QueryString {\n return this.#add(this.#builder.set.bind(this.#builder), name, value);\n }\n\n #add(fn: ((name: string, value: string) => void), name: string, value: QueryStringValue): QueryString {\n if (!value && value !== false) {\n return this;\n }\n\n switch (typeof value) {\n case 'boolean':\n fn(name, value ? 'true' : 'false');\n break;\n\n case 'number':\n fn(name, value.toString(10));\n break;\n\n case 'string':\n fn(name, value);\n break;\n }\n\n return this;\n }\n\n public static builder(): QueryString {\n return new QueryString();\n }\n}\n\ntype QueryStringValue = boolean | number | string | null;\n",
62
62
  "import { RequestError, ValidationError } from '../dto';\nimport RequestAbortedError from './RequestAbortedError';\n\nexport function isRequestAborted(obj: unknown): obj is RequestAbortedError {\n return obj instanceof RequestAbortedError;\n}\n\nexport function isRequestError(obj: unknown): obj is RequestError {\n return obj instanceof RequestError;\n}\n\nexport function isUnsanctionedRequest(statusCode: unknown): boolean {\n if (statusCode instanceof RequestError) {\n statusCode = statusCode.statusCode;\n }\n\n return statusCode === 403 || statusCode === 401;\n}\n\nexport function isValidationError(obj: unknown): obj is ValidationError {\n return obj instanceof ValidationError;\n}\n"
63
63
  ],
64
- "mappings": "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",
65
- "debugId": "D0C411A526101C6D64756E2164756E21",
64
+ "mappings": "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",
65
+ "debugId": "FD3E2F4E0F60807764756E2164756E21",
66
66
  "names": []
67
67
  }
package/dist/type.d.ts ADDED
@@ -0,0 +1,76 @@
1
+ export type HttpMethod =
2
+ | 'connect'
3
+ | 'delete'
4
+ | 'get'
5
+ | 'head'
6
+ | 'options'
7
+ | 'patch'
8
+ | 'post'
9
+ | 'put'
10
+ | 'trace';
11
+
12
+ export type HttpStatusCode =
13
+ | 100 // continue
14
+ | 101 // switching protocols
15
+ | 102 // processing
16
+ | 200 // ok
17
+ | 201 // created
18
+ | 202 // accepted
19
+ | 203 // non authoritative information
20
+ | 204 // no content
21
+ | 205 // reset content
22
+ | 206 // partial content
23
+ | 207 // multi status
24
+ | 208 // already reported
25
+ | 226 // im used
26
+ | 300 // multiple choices
27
+ | 301 // moved permanently
28
+ | 302 // found
29
+ | 303 // see other
30
+ | 304 // not modified
31
+ | 305 // use proxy
32
+ | 306 // switch proxy
33
+ | 307 // temporary redirect
34
+ | 308 // permanent redirect
35
+ | 400 // bad request
36
+ | 401 // unauthorized
37
+ | 402 // payment required
38
+ | 403 // forbidden
39
+ | 404 // not found
40
+ | 405 // method not allowed
41
+ | 406 // not acceptable
42
+ | 407 // proxy authentication required
43
+ | 408 // request timeout
44
+ | 409 // conflict
45
+ | 410 // gone
46
+ | 411 // length required
47
+ | 412 // precondition failed
48
+ | 413 // payload too large
49
+ | 414 // uri too long
50
+ | 415 // unsupported media type
51
+ | 416 // range not satisfiable
52
+ | 417 // expectation failed
53
+ | 418 // i am a teapot
54
+ | 421 // misdirected request
55
+ | 422 // unprocessable entity
56
+ | 423 // locked
57
+ | 424 // failed dependency
58
+ | 426 // upgrade required
59
+ | 428 // precondition required
60
+ | 429 // too many requests
61
+ | 431 // request header fields too large
62
+ | 451 // unavailable for legal reasons
63
+ | 500 // internal server error
64
+ | 501 // not implemented
65
+ | 502 // bad gateway
66
+ | 503 // service unavailable
67
+ | 504 // gateway timeout
68
+ | 505 // http version not supported
69
+ | 506 // variant also negotiates
70
+ | 507 // insufficient storage
71
+ | 508 // loop detected
72
+ | 510 // not extended
73
+ | 511 // network authentication required
74
+ ;
75
+
76
+ export type ForeignData = Record<string, any>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@basmilius/http-client",
3
3
  "description": "Http client for Vue projects.",
4
- "version": "2.27.0",
4
+ "version": "2.28.3",
5
5
  "license": "MIT",
6
6
  "funding": "https://github.com/sponsors/basmilius",
7
7
  "homepage": "https://github.com/basmilius/packages",
@@ -19,7 +19,7 @@
19
19
  "vue 3"
20
20
  ],
21
21
  "scripts": {
22
- "build": "bun -b build.ts"
22
+ "build": "tsgo --noEmit && bun -b build.ts"
23
23
  },
24
24
  "engines": {
25
25
  "node": ">=23"
@@ -46,12 +46,12 @@
46
46
  },
47
47
  "sideEffects": false,
48
48
  "dependencies": {
49
- "@basmilius/utils": "2.27.0",
49
+ "@basmilius/utils": "2.28.3",
50
50
  "luxon": "^3.7.2",
51
51
  "vue": "^3.6.0-beta.6"
52
52
  },
53
53
  "devDependencies": {
54
- "@basmilius/tools": "2.27.0",
54
+ "@basmilius/tools": "2.28.3",
55
55
  "@types/luxon": "^3.7.1"
56
56
  }
57
57
  }
@@ -1,17 +1,17 @@
1
1
  import { DateTime } from 'luxon';
2
2
  import { adapter } from '../decorator';
3
3
  import { Paginated, RequestError, ValidationError } from '../dto';
4
- import type { HttpStatusCode } from '../type';
4
+ import type { ForeignData, HttpStatusCode } from '../type';
5
5
 
6
6
  @adapter
7
7
  export class HttpAdapter {
8
- public static parsePaginatedAdapter<T>(response: object, adapterMethod: (item: object) => T): Paginated<T> {
8
+ public static parsePaginatedAdapter<T>(response: ForeignData, adapterMethod: (item: object) => T): Paginated<T> {
9
9
  return new Paginated<T>(
10
- response['items'].map(adapterMethod),
11
- response['page'],
12
- response['page_size'],
13
- response['pages'],
14
- response['total']
10
+ response.items.map(adapterMethod),
11
+ response.page,
12
+ response.page_size,
13
+ response.pages,
14
+ response.total
15
15
  );
16
16
  }
17
17
 
@@ -36,32 +36,32 @@ export class HttpAdapter {
36
36
  .replaceAll('\:', '-');
37
37
  }
38
38
 
39
- public static parseRequestError(response: object, statusCode: HttpStatusCode): RequestError {
39
+ public static parseRequestError(response: ForeignData, statusCode: HttpStatusCode): RequestError {
40
40
  return new RequestError(
41
- response['code'],
42
- response['error'],
43
- response['error_description'],
41
+ response.code,
42
+ response.error,
43
+ response.error_description,
44
44
  statusCode
45
45
  );
46
46
  }
47
47
 
48
- public static parseValidationError(response: object): ValidationError {
48
+ public static parseValidationError(response: ForeignData): ValidationError {
49
49
  let errors: Record<string, ValidationError>;
50
50
 
51
- if (response['errors']) {
51
+ if (response.errors) {
52
52
  errors = {};
53
53
 
54
- Object.entries(response['errors']).forEach(([key, value]) => {
54
+ Object.entries(response.errors).forEach(([key, value]) => {
55
55
  errors[key] = HttpAdapter.parseValidationError(value as object);
56
56
  });
57
57
  }
58
58
 
59
59
  return new ValidationError(
60
- response['code'],
61
- response['error'],
62
- response['error_description'],
60
+ response.code,
61
+ response.error,
62
+ response.error_description,
63
63
  errors,
64
- response['params']
64
+ response.params
65
65
  );
66
66
  }
67
67
  }
package/src/type/index.ts CHANGED
@@ -72,3 +72,5 @@ export type HttpStatusCode =
72
72
  | 510 // not extended
73
73
  | 511 // network authentication required
74
74
  ;
75
+
76
+ export type ForeignData = Record<string, any>;