@basmilius/http-client 1.13.0 → 2.2.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.
Files changed (91) hide show
  1. package/README.md +12 -34
  2. package/dist/decorator/dto/clone.d.ts +0 -3
  3. package/dist/decorator/dto/fill.d.ts +0 -3
  4. package/dist/decorator/dto/helper/areEqual.d.ts +0 -4
  5. package/dist/decorator/dto/helper/assertDto.d.ts +0 -3
  6. package/dist/decorator/dto/helper/cloneDto.d.ts +0 -3
  7. package/dist/decorator/dto/helper/executeIfDtoDirtyAndMarkClean.d.ts +0 -3
  8. package/dist/decorator/dto/helper/isDto.d.ts +0 -3
  9. package/dist/decorator/dto/helper/isDtoClean.d.ts +0 -3
  10. package/dist/decorator/dto/helper/isDtoDirty.d.ts +0 -3
  11. package/dist/decorator/dto/helper/relateDtoTo.d.ts +0 -3
  12. package/dist/decorator/dto/helper/relateValueTo.d.ts +0 -3
  13. package/dist/decorator/dto/helper/trackDto.d.ts +0 -3
  14. package/dist/decorator/dto/helper/unrelateDtoFrom.d.ts +0 -3
  15. package/dist/decorator/dto/helper/unrelateValueFrom.d.ts +0 -3
  16. package/dist/decorator/dto/index.d.ts +1 -4
  17. package/dist/decorator/dto/toJSON.d.ts +0 -3
  18. package/dist/decorator/index.d.ts +1 -1
  19. package/dist/dto/Paginated.d.ts +2 -2
  20. package/dist/index.js +4 -0
  21. package/dist/{http-client.js.map → index.js.map} +4 -4
  22. package/package.json +14 -13
  23. package/src/adapter/HttpAdapter.ts +67 -0
  24. package/src/adapter/index.ts +1 -0
  25. package/src/decorator/adapter.ts +10 -0
  26. package/src/decorator/bound.ts +5 -0
  27. package/src/decorator/debounce.ts +30 -0
  28. package/src/decorator/dto/arrayProxy.ts +65 -0
  29. package/src/decorator/dto/classProxy.ts +49 -0
  30. package/src/decorator/dto/clone.ts +24 -0
  31. package/src/decorator/dto/constant.ts +7 -0
  32. package/src/decorator/dto/fill.ts +18 -0
  33. package/src/decorator/dto/helper/areEqual.ts +13 -0
  34. package/src/decorator/dto/helper/assertDto.ts +11 -0
  35. package/src/decorator/dto/helper/circularProtect.ts +35 -0
  36. package/src/decorator/dto/helper/cloneDto.ts +9 -0
  37. package/src/decorator/dto/helper/executeIfDtoDirtyAndMarkClean.ts +16 -0
  38. package/src/decorator/dto/helper/index.ts +37 -0
  39. package/src/decorator/dto/helper/instance.ts +5 -0
  40. package/src/decorator/dto/helper/isDto.ts +9 -0
  41. package/src/decorator/dto/helper/isDtoClean.ts +10 -0
  42. package/src/decorator/dto/helper/isDtoDirty.ts +10 -0
  43. package/src/decorator/dto/helper/markDtoClean.ts +29 -0
  44. package/src/decorator/dto/helper/markDtoDirty.ts +26 -0
  45. package/src/decorator/dto/helper/relateDtoTo.ts +13 -0
  46. package/src/decorator/dto/helper/relateValueTo.ts +22 -0
  47. package/src/decorator/dto/helper/trackDto.ts +13 -0
  48. package/src/decorator/dto/helper/triggerDto.ts +18 -0
  49. package/src/decorator/dto/helper/unrelateDtoFrom.ts +15 -0
  50. package/src/decorator/dto/helper/unrelateValueFrom.ts +22 -0
  51. package/src/decorator/dto/index.ts +78 -0
  52. package/src/decorator/dto/instance.ts +33 -0
  53. package/src/decorator/dto/instanceProxy.ts +89 -0
  54. package/src/decorator/dto/map.ts +4 -0
  55. package/src/decorator/dto/refProxy.ts +61 -0
  56. package/src/decorator/dto/serialize/deserialize.ts +5 -0
  57. package/src/decorator/dto/serialize/deserializeArray.ts +5 -0
  58. package/src/decorator/dto/serialize/deserializeDateTime.ts +6 -0
  59. package/src/decorator/dto/serialize/deserializeDto.ts +28 -0
  60. package/src/decorator/dto/serialize/deserializeObject.ts +9 -0
  61. package/src/decorator/dto/serialize/deserializeUnknown.ts +31 -0
  62. package/src/decorator/dto/serialize/index.ts +7 -0
  63. package/src/decorator/dto/serialize/isSerializedDateTime.ts +5 -0
  64. package/src/decorator/dto/serialize/isSerializedDto.ts +5 -0
  65. package/src/decorator/dto/serialize/serialize.ts +5 -0
  66. package/src/decorator/dto/serialize/serializeArray.ts +19 -0
  67. package/src/decorator/dto/serialize/serializeDateTime.ts +9 -0
  68. package/src/decorator/dto/serialize/serializeDto.ts +21 -0
  69. package/src/decorator/dto/serialize/serializeObject.ts +9 -0
  70. package/src/decorator/dto/serialize/serializeUnknown.ts +34 -0
  71. package/src/decorator/dto/serialize/types.ts +3 -0
  72. package/src/decorator/dto/serialize/uuid.ts +3 -0
  73. package/src/decorator/dto/symbols.ts +11 -0
  74. package/src/decorator/dto/toJSON.ts +20 -0
  75. package/src/decorator/index.ts +31 -0
  76. package/src/dto/BlobResponse.ts +20 -0
  77. package/src/dto/Paginated.ts +38 -0
  78. package/src/dto/RequestError.ts +33 -0
  79. package/src/dto/ValidationError.ts +38 -0
  80. package/src/dto/index.ts +4 -0
  81. package/src/http/BaseResponse.ts +31 -0
  82. package/src/http/BaseService.ts +8 -0
  83. package/src/http/HttpClient.ts +41 -0
  84. package/src/http/QueryString.ts +75 -0
  85. package/src/http/RequestBuilder.ts +222 -0
  86. package/src/http/helpers.ts +17 -0
  87. package/src/http/index.ts +19 -0
  88. package/src/index.ts +5 -0
  89. package/src/type/index.ts +74 -0
  90. package/LICENSE +0 -21
  91. package/dist/http-client.js +0 -1095
package/README.md CHANGED
@@ -1,41 +1,19 @@
1
- # Http Client
1
+ <a href="https://bas.dev" target="_blank" rel="noopener">
2
+ <img src="https://bmcdn.nl/assets/branding/logo.svg" alt="Bas-logo" height="48"/>
3
+ </a>
2
4
 
3
- This repository contains the source code for the Http client that I use in personal Vue
4
- projects. It requires you to create dto's for objects and services for api calls.
5
+ ---
5
6
 
6
- ## 📦 Registry
7
+ # `@basmilius/http-client`
7
8
 
8
- - The package is available under `@basmilius/http-client`.
9
+ This repository contains the source code for the Http client that I use in personal Vue projects. It requires you to create dto's for objects and services for api calls.
9
10
 
10
- ## ⚠️ Requirements
11
+ ## ⭐️ Prerequisites
11
12
 
12
- - Install Node.js ^22
13
- - Install pnpm using `npm i -g pnpm`.
14
- - Use `pnpm install` to install the required packages.
15
- - Use `pnpm dev` to start a build watcher for both targets.
16
- - Use `pnpm build` to build a production bundle.
13
+ - Bun >= 1.2.11
14
+ - Node >= 23
17
15
 
18
- ## 🪵 Git
16
+ ## 🚀 Getting started
19
17
 
20
- All commit messages and branches will be in English.
21
-
22
- ### Branches
23
-
24
- - **Main** — Contains the latest stable release and is the exact source that is running in production.
25
- - **Develop** — Contains the latest staging release that is marked for deployment and is the exact source that is running on staging.
26
- - **Feature branches** — Any feature should have its own feature branch. Once complete, the branch should be merged into the _develop_ branch and the feature branch should be deleted.
27
- - **Bugfix branches** — When a bug is found, it should be fixed within a bugfix branch. Once complete the branch should be merged into the _develop_ branch and the feature branch should be deleted.
28
-
29
- ### Commit messages
30
-
31
- Commit messages are bound to the following templates:
32
-
33
- - `<type>: <message> `
34
- - `<type>(<feature>): <message>`
35
- - `<type>(<feature>): <message> [<issue-number>]`
36
-
37
- #### Examples
38
-
39
- - `feat(dto): adds clone function to clone dtos.`
40
- - `feat(http): implement put requests. [HTTP-123]`
41
- - `chore: applied default coding style.`
18
+ 1. Run `bun install` in the root of the project.
19
+ 2. Run `bun --cwd packages/http-client build` to build the project.
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "./instance";
2
- /**
3
- * Returns a clone of the dto.
4
- */
5
2
  export default function<T>(this: DtoInstance<T>): DtoInstance<T>;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "./instance";
2
- /**
3
- * Fills the dto with the given data.
4
- */
5
2
  export default function(this: DtoInstance<unknown>, data: Record<string, unknown>): void;
@@ -1,5 +1 @@
1
- /**
2
- * Checks if the two given values are equal. When both values are a
3
- * dto, the check is done by firstly converthing them to JSON.
4
- */
5
1
  export default function(a: unknown, b: unknown): boolean;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Asserts that the given object is a dto.
4
- */
5
2
  export default function(obj: unknown): asserts obj is DtoInstance<never>;
@@ -1,4 +1 @@
1
- /**
2
- * Clones the given dto.
3
- */
4
1
  export default function<T>(obj: T): T;
@@ -1,7 +1,4 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Executes the given function if the given dto is marked dirty.
4
- */
5
2
  export default function<
6
3
  T,
7
4
  R = void
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Checks if the given object is a dto.
4
- */
5
2
  export default function(obj: unknown): obj is DtoInstance<unknown>;
@@ -1,4 +1 @@
1
- /**
2
- * Checks if the given dto is clean.
3
- */
4
1
  export default function(obj: unknown): boolean;
@@ -1,4 +1 @@
1
- /**
2
- * Checks if the given dto is dirty.
3
- */
4
1
  export default function(obj: unknown): boolean;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Creates a parent-child relationship between the given two dtos.
4
- */
5
2
  export default function(dto: DtoInstance<unknown>, parent: DtoInstance<unknown>, key: string): void;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Creates relationships between the given value and dto.
4
- */
5
2
  export default function(dto: DtoInstance<unknown>, key: string, value: unknown): void;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Tracking for when a dto property is being accessed.
4
- */
5
2
  export default function trackDto(dto: DtoInstance<unknown>, key: string): void;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Removes a parent-child relationship between the given two dtos.
4
- */
5
2
  export default function(dto: DtoInstance<unknown>, parent: DtoInstance<unknown>): void;
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "../instance";
2
- /**
3
- * Removes relationships between the given value and dto.
4
- */
5
2
  export default function(dto: DtoInstance<unknown>, value: unknown): void;
@@ -1,7 +1,4 @@
1
1
  import { type Constructor } from "@basmilius/utils";
2
2
  import type DtoInstance from "./instance";
3
- /**
4
- * Provides reactivity to the decorated class.
5
- */
6
3
  export default function<T extends Constructor>(clazz: T): T;
7
- export { DtoInstance };
4
+ export type { DtoInstance };
@@ -1,5 +1,2 @@
1
1
  import type DtoInstance from "./instance";
2
- /**
3
- * Returns the json object representation of the dto.
4
- */
5
2
  export default function(this: DtoInstance<unknown>): Record<string, unknown>;
@@ -5,4 +5,4 @@ import dto from "./dto";
5
5
  export { adapter, bound, debounce, dto };
6
6
  export { assertDto, cloneDto, executeIfDtoDirtyAndMarkClean, isDto, isDtoClean, isDtoDirty, markDtoClean, markDtoDirty } from "./dto/helper";
7
7
  export { deserialize, serialize } from "./dto/serialize";
8
- export { DtoInstance } from "./dto";
8
+ export type { DtoInstance } from "./dto";
@@ -4,6 +4,6 @@ export default class Paginated<T> {
4
4
  get page(): number;
5
5
  get pageSize(): number;
6
6
  get pages(): number;
7
- get totalItems(): number;
8
- constructor(items: T[], page: number, pageSize: number, pages: number, totalItems: number);
7
+ get total(): number;
8
+ constructor(items: T[], page: number, pageSize: number, pages: number, total: number);
9
9
  }
package/dist/index.js ADDED
@@ -0,0 +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,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")f=Reflect.decorate(r,i,n,m);else for(var s=r.length-1;s>=0;s--)if(o=r[s])f=(u<3?o(f):u>3?o(i,n,f):o(i,n))||f;return u>3&&f&&Object.defineProperty(i,n,f),f};import{DateTime as Pr}from"luxon";function E(r){return class extends r{constructor(...i){throw new Error("@adapter: cannot create instance of class.")}}}function Zr(){return(r,i)=>{r[i]=r[i].bind(r)}}function Wr(r){return(i,n,m)=>{m.value=Kr(m.value,r,i)}}function Kr(r,i,n){let m=[],u=[],f=null;return(...o)=>{return clearTimeout(f),f=setTimeout(async()=>{try{let s=await r.apply(n,o);m.forEach((Q)=>Q(s))}catch(s){u.forEach((Q)=>Q(s))}m=[],u=[]},i),new Promise((s,Q)=>{m.push(s),u.push(Q)})}}import{getPrototypeChain as er,setObjectMethod as wr,setObjectValue as mr}from"@basmilius/utils";var $r=!1,R=!1,P=!1,Br=!1,Jr=!1,tr=!1,Ir=!1;var M=Symbol(),U=Symbol(),C=Symbol(),S=Symbol(),c=Symbol(),l=Symbol(),p=Symbol(),D=Symbol(),Z=Symbol(),g=Symbol(),y=Symbol();function t(r){return r&&typeof r==="object"&&!!r[c]}function j(r,i){if(!t(r)||!t(i))return r===i;return JSON.stringify(r)===JSON.stringify(i)}function x(r){if(!t(r))throw new Error("@dto assert given object is not a class decorated with @Dto.")}var fr=Symbol();function W(r,i=0,n){return function(...m){let u=fr in r,f=r[fr]??=new WeakMap,o=m[i],s=n!==void 0?m[n]:"self";if(typeof o!=="object")return r.call(this,...m);if(!f.has(o))f.set(o,[]);if(f.get(o).includes(s)){$r&&console.log("%c@dto %ccircular protect %cdetected a circular reference","color: #0891b2","color: #059669","color: #1d4ed8",{fn:r,primary:o,secondary:s});return}f.get(o).push(s);let Q=r.call(this,...m);return!u&&delete r[fr],Q}}function or(r){return x(r),r.clone()}function $(r){return x(r),r[S]}var Or=W(function(r,i,n,m){let u=r[y];u(r,i,n,m),P&&console.log(`%c@dto %c${r[c]} %ctrigger`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r,value:n,oldValue:m}),r[l]&&Or(r[l],r[p],r[l][r[p]])},0,1),F=Or;var Xr=W(function(r){if(x(r),r[S])r[S]=!1,R&&console.log(`%c@dto %c${r[c]} %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(Xr)}),k=Xr;async function cr(r,i){if(!t(r)||!$(r))return;await i(r),k(r)}function v(r){return r?.value??r}function pr(r){return x(r),!r[S]}var _r=W(function(r,i){if(x(r),!r[S])r[S]=!0,R&&console.log(`%c@dto %c${r[c]} %cdirty`,"color: #0891b2","color: #059669","color: #1d4ed8","marked dirty",{obj:r,key:i}),F(r,S,!0,!1);if(!r[l])return;_r(r[l],r[p])}),B=_r;function a(r,i,n){i[U]??=[],!i[U].includes(r)&&i[U].push(r),r[l]!==i&&(r[l]=i),r[p]!==n&&(r[p]=n)}function z(r,i,n){if(t(n))a(n,r,i);else if(Array.isArray(n)){if(n.some(t))n.filter(t).forEach((m)=>a(m,r,i));n[l]=r,n[p]=i}}function T(r,i){let n=r[g];n(r,i),P&&console.log(`%c@dto %c${r[c]} %ctrack`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{dto:r})}function rr(r,i){if(U in i){let n=i[U].indexOf(r);i[U].splice(n,1)}r[l]=void 0,r[p]=void 0}function ir(r,i){if(t(i))rr(i,r);else if(Array.isArray(i)){if(i.some(t))i.filter(t).forEach((n)=>rr(n,r));i[l]=void 0,i[p]=void 0}}var J={};import{customRef as zr,markRaw as Ar}from"vue";var nr={deleteProperty(r,i){if(Reflect.deleteProperty(r,i),sr(r,i))return!0;let n=r[l];return n&&F(n,r[p],n[r[p]]),n&&B(n,r[p]),!0},get(r,i,n){if(i===Z)return!0;if(sr(r,i))return Reflect.get(r,i,n);let m=r[l];return m&&T(m,r[p]),Reflect.get(r,i)},set(r,i,n,m){if(sr(r,i))return Reflect.set(r,i,n,m);let u=r[l];return u&&F(u,r[p],u[r[p]]),u&&B(u,r[p]),Reflect.set(r,i,n)}};function sr(r,i){return typeof i==="symbol"||typeof r[i]==="function"||i==="length"}var Mr={get(r,i,n){if(i===Z)return!0;if(typeof i==="symbol")return Reflect.get(r,i,n);let m=r[C][i];if(!m||!m.get)return Reflect.get(r,i,n);let u=m.get.call(r);return Br&&console.log(`%c@dto %c${r[c]} %cget`,"color: #0891b2","color: #059669","color: #1d4ed8",i),T(r,i),z(r,i,u),u},getOwnPropertyDescriptor(r,i){return r[C][i]},ownKeys(r){return r[D]},set(r,i,n,m){if(typeof i==="symbol")return Reflect.set(r,i,n,m);let u=r[C][i];if(!u||!u.set)return Reflect.set(r,i,n,m);let f=u.get?.call(r)??void 0;if(j(n,f))return!0;if(ir(r,f),Array.isArray(n)&&!n[Z])n=new Proxy(n,nr);return Jr&&console.log(`%c@dto %c${r[c]} %cset`,"color: #0891b2","color: #059669","color: #1d4ed8",i,{value:n}),u.set.call(r,n),z(r,i,n),B(r,i),F(r,i,n,f),!0}};var Dr={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 Tr={construct(r,i,n){i=i.map((u)=>{if(!Array.isArray(u))return u;return new Proxy(u,nr)});let m=zr((u,f)=>{let o=Ar(Reflect.construct(r,i,n));o[M]=i,o[S]=!1,o[g]=u,o[y]=f;let s=new Proxy(o,Mr);return{get:()=>{return u(),s},set:()=>{return}}});return new Proxy(m,Dr)}};function lr(){let r=this;x(r);let n=new J[r[c]](...r[M]);return Object.entries(this[C]).filter(([,m])=>!!m.set).map(([m])=>m).forEach((m)=>n[m]=t(this[m])?this[m].clone():this[m]),n}function xr(r){for(let i in r){let n=this[C][i];if(t(this[i])&&typeof r[i]==="object")this[i].fill(r[i]);else if(n&&n.set)this[i]=r[i]}}function Sr(){return Object.fromEntries(this[D].map((r)=>{let i=Reflect.get.call(this,this,r,this);if(t(i))i=i.toJSON();return[r,i]}))}function G(r){dr(r);let i=Object.freeze(er(r)),n=Object.keys(i);return mr(r.prototype,C,i),mr(r.prototype,c,r.name),mr(r.prototype,D,n),mr(r,Symbol.hasInstance,(m)=>typeof m==="object"&&m?.[c]===r.name),wr(r,"clone",lr),wr(r,"fill",xr),wr(r,"toJSON",Sr),Yr(r)}function Yr(r){let i=new Proxy(r,Tr);return J[r.name]=i,i}function dr(r){let i=Object.getPrototypeOf(r.prototype);if(c in i)throw new Error(`⛔️ @dto ${r.name} cannot extend parent class which is also decorated with @dto ${i[c]}.`)}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)=>(...o)=>{for(let s=o.length-1;s>=0;--s){let Q=o[s];if(!t(Q))continue;let Vr=v(Q);o.splice(s,1,`\uD83D\uDCE6 ${Vr[c]}`,Vr.toJSON())}return f(...o)};console.error=u(r),console.info=u(i),console.log=u(n),console.warn=u(m)}function A(r){return r.map(I)}import{DateTime as Nr}from"luxon";function Ur([,r]){return Nr.fromISO(r)}function e(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,I(n)]).filter(([,i])=>i!==void 0))}var hr={};function Qr([,r,i,n,m]){if(!(i in J))throw new Error(`Cannot restore @dto. Dto ${i} was not found.`);if(r in hr)return hr[r];tr&&console.group("⭐️",i,r);let f=new J[i](...A(m));return f.fill(e(n)),tr&&console.groupEnd(),hr[r]=f,f}function qr(r){return Array.isArray(r)&&r[0]===3058}function Cr(r){return Array.isArray(r)&&r[0]===3057}function I(r){switch(!0){case r===null:return null;case Array.isArray(r):switch(!0){case qr(r):return Ur(r);case Cr(r):return Qr(r);default:return A(r)}case typeof r==="object":return e(r);default:return r}}function Fr(r){return I(JSON.parse(r))}import{DateTime as Rr}from"luxon";import{DateTime as Er}from"luxon";function Y(r){return[3058,r.toISO({extendedZone:!0,includeOffset:!0})]}import{toRaw as br}from"vue";function d(r){return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,O(n)]).filter(([,i])=>i!==void 0))}function Gr(){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=br(r);let i=r.toJSON();return[3057,Gr(),r[c],d(i),b(r[M])]}function b(r){switch(!0){case r.every(t):return r.map(N);case r.every(Er.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 Rr.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 Hr(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 _{get items(){return this.#r}get page(){return this.#i}get pageSize(){return this.#n}get pages(){return this.#m}get total(){return this.#u}#r;#i;#n;#m;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#n=n,this.#m=m,this.#u=u}}_=q([G],_);class w{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#n}get statusCode(){return this.#m}#r;#i;#n;#m;constructor(r,i,n,m){this.#r=r,this.#i=i,this.#n=n,this.#m=m}}w=q([G],w);class L{get code(){return this.#r}get error(){return this.#i}get errorDescription(){return this.#n}get errors(){return this.#m}get params(){return this.#u}#r;#i;#n;#m;#u;constructor(r,i,n,m,u){this.#r=r,this.#i=i,this.#n=n,this.#m=m,this.#u=u}}L=q([G],L);class H{static parsePaginatedAdapter(r,i){return new _(r.items.map(i),r.page,r.page_size,r.pages,r.total)}static parseFileNameFromContentDispositionHeader(r){let i=`download-${Pr.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([E],H);class h{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 gr}from"luxon";class V{get authToken(){return this.#r}set authToken(r){this.#r=r}get baseUrl(){return this.#i}get dataField(){return this.#n}#r;#i;#n;constructor(r,i,n=!1){this.#r=r,this.#i=i,this.#n=n}static get instance(){if(V.#m===null)throw new Error("There is currently no HttpClient instance registered. Register one using the HttpClient.register() function.");return V.#m}static#m=null;static register(r){V.#m=r}}class K{get client(){return this.#r}get options(){return this.#n}get path(){return this.#i}set path(r){this.#i=r}get query(){return this.#m}set query(r){this.#m=r}#r;#i;#n={};#m=null;constructor(r,i){this.#r=i??V.instance,this.#n.cache="no-cache",this.#n.method="GET",this.#i=r}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.#m=r,this}signal(r=null){return this.#n.signal=r,this}async fetch(){return this.#u().then((r)=>r.json())}async fetchBlob(){let r=await this.#u();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-${gr.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 h(r,i)}async runAdapter(r){let{data:i,response:n}=await this.#t();return new h(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 h(i[r],n)}async runStatusCode(){return(await this.#t()).statusCode}async#u(){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.#u().then((r)=>K.#f(r,this.client.dataField))}static async#f(r,i){if(r.status===204)return new h(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 h(m.data,r);return new h(m,r)}if(r.status===401||r.status===403)return new h(null,r);if((await r.text()).length===0&&r.status>=200&&r.status<300)return new h(null,r);throw new w(-1,"not_a_json_response","The response was not a JSON response.",r.status)}}class Lr{request(r,i){return new K(r,i)}}class ur{#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 ur}}function yr(r){return r instanceof w}function jr(r){if(r instanceof w)r=r.statusCode;return r===403||r===401}function kr(r){return r instanceof L}export{Hr as serialize,B as markDtoDirty,k as markDtoClean,kr as isValidationError,jr as isUnsanctionedRequest,yr as isRequestError,$ as isDtoDirty,pr as isDtoClean,t as isDto,cr as executeIfDtoDirtyAndMarkClean,G as dto,Fr as deserialize,Wr as debounce,or as cloneDto,Zr as bound,x as assertDto,E as adapter,L as ValidationError,w as RequestError,K as RequestBuilder,ur as QueryString,_ as Paginated,V as HttpClient,H as HttpAdapter,X as BlobResponse,Lr as BaseService,h as BaseResponse};
2
+
3
+ //# debugId=E94961C2DDFE011B64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -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/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_items']\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 { 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",
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
  "export default function (interval: number) {\n return (target: object, _: string, descriptor: PropertyDescriptor) => {\n descriptor.value = debounce(descriptor.value, interval, target);\n };\n}\n\nfunction debounce<F extends ((...args: any[]) => any)>(fn: F, interval: number, $this: object): Function {\n let resolvers = [], rejecters = [], timeout = null;\n\n return (...args: any[]) => {\n clearTimeout(timeout);\n\n timeout = setTimeout(async () => {\n try {\n let result = await fn.apply($this, args);\n resolvers.forEach(resolve => resolve(result));\n } catch (err) {\n rejecters.forEach(reject => reject(err));\n }\n\n resolvers = [];\n rejecters = [];\n }, interval);\n\n return new Promise((resolve, reject) => {\n resolvers.push(resolve);\n rejecters.push(reject);\n });\n };\n}\n",
@@ -50,7 +50,7 @@
50
50
  "export default function () {\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, c => (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16));\n}\n",
51
51
  "import serializeUnknown from './serializeUnknown';\n\nexport default function (obj: unknown): string {\n return JSON.stringify(serializeUnknown(obj));\n}\n",
52
52
  "import { dto } from '../decorator';\n\n@dto\nexport default class BlobResponse {\n get blob(): Blob {\n return this.#blob;\n }\n\n get name(): string {\n return this.#name;\n }\n\n readonly #blob: Blob;\n readonly #name: string;\n\n constructor(blob: Blob, name: string) {\n this.#blob = blob;\n this.#name = name;\n }\n}\n",
53
- "import { dto } from '../decorator';\n\n@dto\nexport default class Paginated<T> {\n get items(): T[] {\n return this.#items;\n }\n\n get page(): number {\n return this.#page;\n }\n\n get pageSize(): number {\n return this.#pageSize;\n }\n\n get pages(): number {\n return this.#pages;\n }\n\n get totalItems(): number {\n return this.#totalItems;\n }\n\n readonly #items: T[];\n readonly #page: number;\n readonly #pageSize: number;\n readonly #pages: number;\n readonly #totalItems: number;\n\n constructor(items: T[], page: number, pageSize: number, pages: number, totalItems: number) {\n this.#items = items;\n this.#page = page;\n this.#pageSize = pageSize;\n this.#pages = pages;\n this.#totalItems = totalItems;\n }\n}\n",
53
+ "import { dto } from '../decorator';\n\n@dto\nexport default class Paginated<T> {\n get items(): T[] {\n return this.#items;\n }\n\n get page(): number {\n return this.#page;\n }\n\n get pageSize(): number {\n return this.#pageSize;\n }\n\n get pages(): number {\n return this.#pages;\n }\n\n get total(): number {\n return this.#total;\n }\n\n readonly #items: T[];\n readonly #page: number;\n readonly #pageSize: number;\n readonly #pages: number;\n readonly #total: number;\n\n constructor(items: T[], page: number, pageSize: number, pages: number, total: number) {\n this.#items = items;\n this.#page = page;\n this.#pageSize = pageSize;\n this.#pages = pages;\n this.#total = total;\n }\n}\n",
54
54
  "import { dto } from '../decorator';\nimport type { HttpStatusCode } from '../type';\n\n@dto\nexport default class RequestError {\n get code(): number {\n return this.#code;\n }\n\n get error(): string {\n return this.#error;\n }\n\n get errorDescription(): string {\n return this.#errorDescription;\n }\n\n get statusCode(): HttpStatusCode {\n return this.#statusCode;\n }\n\n readonly #code: number;\n readonly #error: string;\n readonly #errorDescription: string;\n readonly #statusCode: HttpStatusCode;\n\n constructor(code: number, error: string, errorDescription: string, statusCode: HttpStatusCode) {\n this.#code = code;\n this.#error = error;\n this.#errorDescription = errorDescription;\n this.#statusCode = statusCode;\n }\n}\n",
55
55
  "import { dto } from '../decorator';\n\n@dto\nexport default class ValidationError {\n get code(): number {\n return this.#code;\n }\n\n get error(): string {\n return this.#error;\n }\n\n get errorDescription(): string {\n return this.#errorDescription;\n }\n\n get errors(): Record<string, ValidationError> {\n return this.#errors;\n }\n\n get params(): Record<string, string | number | boolean> {\n return this.#params;\n }\n\n readonly #code: number;\n readonly #error: string;\n readonly #errorDescription: string;\n readonly #errors: Record<string, ValidationError>;\n readonly #params: Record<string, string | number | boolean>;\n\n constructor(code: number, error: string, errorDescription: string, errors?: Record<string, ValidationError>, params?: Record<string, string | number | boolean>) {\n this.#code = code;\n this.#error = error;\n this.#errorDescription = errorDescription;\n this.#errors = errors;\n this.#params = params;\n }\n}\n",
56
56
  "import type { HttpStatusCode } from '../type';\n\nexport default class BaseResponse<T> {\n get data(): T {\n return this.#data;\n }\n\n get headers(): Headers {\n return this.#response.headers;\n }\n\n get ok(): boolean {\n return this.statusCode >= 200 && this.statusCode < 300;\n }\n\n get response(): Response {\n return this.#response;\n }\n\n get statusCode(): HttpStatusCode {\n return this.#response.status as HttpStatusCode;\n }\n\n readonly #data: T;\n readonly #response: Response;\n\n constructor(data: T, response: Response) {\n this.#data = data;\n this.#response = response;\n }\n}\n",
@@ -60,7 +60,7 @@
60
60
  "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",
61
61
  "import { RequestError, ValidationError } from '../dto';\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"
62
62
  ],
63
- "mappings": ";;;;;;;;;;;;AAAA,qBAAS;;;ACET,SAAO,eAAwC,CAAC,QAAc;AAAA,EAC1D,OAAO,cAAc,OAAO;AAAA,IAExB,WAAW,IAAI,MAAa;AAAA,MACxB,MAAM,IAAI,MAAM,4CAA4C;AAAA;AAAA,EAEpE;AAAA;;;ACRJ,SAAO,aAAiB,GAAG;AAAA,EACvB,OAAO,CAAC,QAAgB,WAAyB;AAAA,IAC7C,OAAO,UAAU,OAAO,QAAQ,KAAK,MAAM;AAAA;AAAA;;;ACFnD,SAAO,gBAAiB,CAAC,UAAkB;AAAA,EACvC,OAAO,CAAC,QAAgB,GAAW,eAAmC;AAAA,IAClE,WAAW,QAAQ,SAAS,WAAW,OAAO,UAAU,MAAM;AAAA;AAAA;AAItE,SAAS,QAA6C,CAAC,IAAO,UAAkB,OAAyB;AAAA,EACrG,IAAI,YAAY,CAAC,GAAG,YAAY,CAAC,GAAG,UAAU;AAAA,EAE9C,OAAO,IAAI,SAAgB;AAAA,IACvB,aAAa,OAAO;AAAA,IAEpB,UAAU,WAAW,YAAY;AAAA,MAC7B,IAAI;AAAA,QACA,IAAI,SAAS,MAAM,GAAG,MAAM,OAAO,IAAI;AAAA,QACvC,UAAU,QAAQ,aAAW,QAAQ,MAAM,CAAC;AAAA,QAC9C,OAAO,KAAK;AAAA,QACV,UAAU,QAAQ,YAAU,OAAO,GAAG,CAAC;AAAA;AAAA,MAG3C,YAAY,CAAC;AAAA,MACb,YAAY,CAAC;AAAA,OACd,QAAQ;AAAA,IAEX,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACpC,UAAU,KAAK,OAAO;AAAA,MACtB,UAAU,KAAK,MAAM;AAAA,KACxB;AAAA;AAAA;;;AC3BT;;;ACAO,IAAM,0BAA0B;AAChC,IAAM,uBAAuB;AAC7B,IAAM,0BAA0B;AAChC,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAC3B,IAAM,+BAA+B;AACrC,IAAM,uBAAuB;;;ACN7B,IAAM,OAAsB,OAAO;AACnC,IAAM,WAA0B,OAAO;AACvC,IAAM,cAA6B,OAAO;AAC1C,IAAM,QAAuB,OAAO;AACpC,IAAM,OAAsB,OAAO;AACnC,IAAM,SAAwB,OAAO;AACrC,IAAM,aAA4B,OAAO;AACzC,IAAM,aAA4B,OAAO;AACzC,IAAM,QAAuB,OAAO;AACpC,IAAM,QAAuB,OAAO;AACpC,IAAM,UAAyB,OAAO;;;ACJ7C,SAAO,aAAiB,CAAC,KAA2C;AAAA,EAChE,OAAO,OAAO,OAAO,QAAQ,cAAc,IAAI;AAAA;;;ACDnD,SAAO,gBAAiB,CAAC,GAAY,GAAsB;AAAA,EACvD,KAAK,cAAM,CAAC,MAAM,cAAM,CAAC,GAAG;AAAA,IACxB,OAAO,MAAM;AAAA,EACjB;AAAA,EAEA,OAAO,KAAK,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC;AAAA;;;ACLjD,SAAO,iBAAiB,CAAC,KAAiD;AAAA,EACtE,KAAK,cAAM,GAAG,GAAG;AAAA,IACb,MAAM,IAAI,MAAM,8DAA8D;AAAA,EAClF;AAAA;;;ACLJ,IAAM,eAAe,OAAO;AAE5B,SAAO,uBAAwD,CAAC,IAAO,OAAe,GAAG,MAAkB;AAAA,EACvG,OAAO,QAAS,IAAI,MAAsB;AAAA,IACtC,MAAM,SAAS,gBAAgB;AAAA,IAC/B,MAAM,MAAmB,GAAG,kBAAkB,IAAI;AAAA,IAClD,MAAM,UAAU,KAAK;AAAA,IACrB,MAAM,YAAY,SAAS,YAAY,KAAK,QAAQ;AAAA,IAEpD,IAAI,OAAO,YAAY,UAAU;AAAA,MAC7B,OAAO,GAAG,KAAK,MAAM,GAAG,IAAI;AAAA,IAChC;AAAA,IAEA,KAAK,IAAI,IAAI,OAAO,GAAG;AAAA,MACnB,IAAI,IAAI,SAAS,CAAC,CAAC;AAAA,IACvB;AAAA,IAEA,IAAI,IAAI,IAAI,OAAO,EAAE,SAAS,SAAS,GAAG;AAAA,MACtC,2BAA2B,QAAQ,IAAI,6DAA6D,kBAAkB,kBAAkB,kBAAkB,EAAC,IAAI,SAAS,UAAS,CAAC;AAAA,MAClL;AAAA,IACJ;AAAA,IAEA,IAAI,IAAI,OAAO,EAAE,KAAK,SAAS;AAAA,IAE/B,MAAM,SAAS,GAAG,KAAK,MAAM,GAAG,IAAI;AAAA,KAEnC,UAAW,OAAO,GAAG;AAAA,IAEtB,OAAO;AAAA;AAAA;;;AC3Bf,SAAO,gBAAoB,CAAC,KAAW;AAAA,EACnC,kBAAU,GAAG;AAAA,EACb,OAAO,IAAI,MAAM;AAAA;;;ACDrB,SAAO,kBAAiB,CAAC,KAAuB;AAAA,EAC5C,kBAAU,GAAG;AAAA,EACb,OAAO,IAAI;AAAA;;;ACAf,IAAM,aAA4G,wBAAgB,QAAS,CAAC,KAA2B,KAAsB,OAAgB,UAA0B;AAAA,EACnO,MAAM,UAAU,IAAI;AAAA,EACpB,QAAQ,KAAK,KAAK,OAAO,QAAQ;AAAA,EAEjC,2BAA2B,QAAQ,IAAI,YAAY,IAAI,mBAAmB,kBAAkB,kBAAkB,kBAAkB,KAAK,EAAC,KAAK,OAAO,SAAQ,CAAC;AAAA,EAE3J,IAAI,WAAW,WAAW,IAAI,SAAS,IAAI,aAAa,IAAI,QAAQ,IAAI,YAAY;AAAA,GACrF,GAAG,CAAC;AAEP,IAAe;;;ACPf,IAAM,eAAuC,wBAAgB,QAAS,CAAC,KAAoB;AAAA,EACvF,kBAAU,GAAG;AAAA,EAEb,IAAI,IAAI,QAAQ;AAAA,IACZ,IAAI,SAAS;AAAA,IACb,wBAAwB,QAAQ,IAAI,YAAY,IAAI,iBAAiB,kBAAkB,kBAAkB,kBAAkB,gBAAgB,EAAC,IAAG,CAAC;AAAA,IAChJ,mBAAW,KAAK,OAAO,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,KAAK,IAAI,aAAa,IAAI,UAAU,WAAW,GAAG;AAAA,IAC9C;AAAA,EACJ;AAAA,EAEA,IAAI,UACC,OAAO,kBAAU,EACjB,QAAQ,YAAY;AAAA,CAC5B;AAED,IAAe;;;ACpBf,eAAO,qCAAoC,CAAC,KAAQ,IAA4D;AAAA,EAC5G,KAAK,cAAM,GAAG,MAAM,mBAAW,GAAG,GAAG;AAAA,IACjC;AAAA,EACJ;AAAA,EAEA,MAAM,GAAG,GAAG;AAAA,EACZ,qBAAa,GAAG;AAAA;;;ACZpB,SAAO,gBAAoB,CAAC,KAAqC;AAAA,EAC7D,OAAQ,KAAa,SAAS;AAAA;;;ACGlC,SAAO,kBAAiB,CAAC,KAAuB;AAAA,EAC5C,kBAAU,GAAG;AAAA,EACb,QAAQ,IAAI;AAAA;;;ACChB,IAAM,eAA8D,wBAAgB,QAAS,CAAC,KAAc,KAA6B;AAAA,EACrI,kBAAU,GAAG;AAAA,EAEb,KAAK,IAAI,QAAQ;AAAA,IACb,IAAI,SAAS;AAAA,IACb,wBAAwB,QAAQ,IAAI,YAAY,IAAI,iBAAiB,kBAAkB,kBAAkB,kBAAkB,gBAAgB,EAAC,KAAK,IAAG,CAAC;AAAA,IACrJ,mBAAW,KAAK,OAAO,MAAM,KAAK;AAAA,EACtC;AAAA,EAEA,KAAK,IAAI,SAAS;AAAA,IACd;AAAA,EACJ;AAAA,EAEA,aAAa,IAAI,SAAS,IAAI,WAAW;AAAA,CAC5C;AAED,IAAe;;;ACnBf,SAAO,mBAAiB,CAAC,KAA2B,QAA8B,KAAmB;AAAA,EACjG,OAAO,cAAc,CAAC;AAAA,GACrB,OAAO,UAAU,SAAS,GAAG,KAAK,OAAO,UAAU,KAAK,GAAG;AAAA,EAE5D,IAAI,YAAY,WAAW,IAAI,UAAU;AAAA,EACzC,IAAI,gBAAgB,QAAQ,IAAI,cAAc;AAAA;;;ACHlD,SAAO,qBAAiB,CAAC,KAA2B,KAAa,OAAsB;AAAA,EACnF,IAAI,cAAM,KAAK,GAAG;AAAA,IACd,oBAAY,OAAO,KAAK,GAAG;AAAA,EAC/B,EAAO,SAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,IAC7B,IAAI,MAAM,KAAK,aAAK,GAAG;AAAA,MACnB,MACK,OAAO,aAAK,EACZ,QAAQ,SAAO,oBAAY,KAAK,KAAK,GAAG,CAAC;AAAA,IAClD;AAAA,IAEA,MAAM,UAAU;AAAA,IAChB,MAAM,cAAc;AAAA,EACxB;AAAA;;;ACbJ,SAAwB,QAAQ,CAAC,KAA2B,KAAmB;AAAA,EAC3E,MAAM,QAAQ,IAAI;AAAA,EAClB,MAAM,KAAK,GAAG;AAAA,EAEd,2BAA2B,QAAQ,IAAI,YAAY,IAAI,iBAAiB,kBAAkB,kBAAkB,kBAAkB,KAAK,EAAC,IAAG,CAAC;AAAA;;;ACL5I,SAAO,uBAAiB,CAAC,KAA2B,QAAoC;AAAA,EACpF,IAAI,YAAY,QAAQ;AAAA,IACpB,MAAM,QAAQ,OAAO,UAAU,QAAQ,GAAG;AAAA,IAC1C,OAAO,UAAU,OAAO,OAAO,CAAC;AAAA,EACpC;AAAA,EAEA,IAAI,UAAU;AAAA,EACd,IAAI,cAAc;AAAA;;;ACLtB,SAAO,yBAAiB,CAAC,KAA2B,OAAsB;AAAA,EACtE,IAAI,cAAM,KAAK,GAAG;AAAA,IACd,wBAAgB,OAAO,GAAG;AAAA,EAC9B,EAAO,SAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,IAC7B,IAAI,MAAM,KAAK,aAAK,GAAG;AAAA,MACnB,MACK,OAAO,aAAK,EACZ,QAAQ,SAAO,wBAAgB,KAAK,GAAG,CAAC;AAAA,IACjD;AAAA,IAEA,MAAM,UAAU;AAAA,IAChB,MAAM,cAAc;AAAA,EACxB;AAAA;;;ACjBG,IAAM,gBAAmE,CAAC;;;ACFjF;;;ACGA,IAAe;AAAA,EAKX,cAAc,CAAC,QAAmB,KAA+B;AAAA,IAC7D,QAAQ,eAAe,QAAQ,GAAG;AAAA,IAElC,IAAI,QAAQ,QAAQ,GAAG,GAAG;AAAA,MACtB,OAAO;AAAA,IACX;AAAA,IAEA,MAAM,MAAM,OAAO;AAAA,IACnB,OAAO,mBAAW,KAAK,OAAO,aAAa,IAAI,OAAO,YAAY;AAAA,IAClE,OAAO,qBAAa,KAAK,OAAO,WAAW;AAAA,IAE3C,OAAO;AAAA;AAAA,EAOX,GAAG,CAAC,QAAmB,KAAsB,UAAwB;AAAA,IACjE,IAAI,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,IACX;AAAA,IAEA,IAAI,QAAQ,QAAQ,GAAG,GAAG;AAAA,MACtB,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;AAAA,IAC5C;AAAA,IAEA,MAAM,MAAM,OAAO;AAAA,IACnB,OAAO,SAAS,KAAK,OAAO,WAAW;AAAA,IAEvC,OAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA;AAAA,EAOlC,GAAG,CAAC,QAAmB,KAAsB,OAAgB,UAAe;AAAA,IACxE,IAAI,QAAQ,QAAQ,GAAG,GAAG;AAAA,MACtB,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,IACnD;AAAA,IAEA,MAAM,MAAM,OAAO;AAAA,IACnB,OAAO,mBAAW,KAAK,OAAO,aAAa,IAAI,OAAO,YAAY;AAAA,IAClE,OAAO,qBAAa,KAAK,OAAO,WAAW;AAAA,IAE3C,OAAO,QAAQ,IAAI,QAAQ,KAAK,KAAK;AAAA;AAE7C;AAKA,SAAS,OAAO,CAAC,QAAmB,KAAqC;AAAA,EACrE,OAAO,OAAO,QAAQ,YAAY,OAAO,OAAO,SAAS,cAAc,QAAQ;AAAA;;;ACzDnF,IAAe;AAAA,EAMX,GAAG,CAAC,QAA8B,KAAsB,UAAwB;AAAA,IAC5E,IAAI,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,IACX;AAAA,IAEA,IAAI,OAAO,QAAQ,UAAU;AAAA,MACzB,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;AAAA,IAC5C;AAAA,IAEA,MAAM,aAAa,OAAO,aAAa;AAAA,IAEvC,KAAK,eAAe,WAAW,KAAK;AAAA,MAChC,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;AAAA,IAC5C;AAAA,IAEA,MAAM,QAAQ,WAAW,IAAI,KAAK,MAAM;AAAA,IAExC,sBAAsB,QAAQ,IAAI,YAAY,OAAO,eAAe,kBAAkB,kBAAkB,kBAAkB,GAAG;AAAA,IAC7H,SAAS,QAAQ,GAAG;AAAA,IAEpB,sBAAc,QAAQ,KAAK,KAAK;AAAA,IAEhC,OAAO;AAAA;AAAA,EAMX,wBAAwB,CAAC,QAA8B,KAAsD;AAAA,IACzG,OAAO,OAAO,aAAa;AAAA;AAAA,EAM/B,OAAO,CAAC,QAA8B;AAAA,IAClC,OAAO,OAAO;AAAA;AAAA,EAQlB,GAAG,CAAC,QAA8B,KAAsB,OAAgB,UAAwB;AAAA,IAC5F,IAAI,OAAO,QAAQ,UAAU;AAAA,MACzB,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,IACnD;AAAA,IAEA,MAAM,aAAa,OAAO,aAAa;AAAA,IAEvC,KAAK,eAAe,WAAW,KAAK;AAAA,MAChC,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,IACnD;AAAA,IAEA,MAAM,WAAW,WAAW,KAAK,KAAK,MAAM,KAAK;AAAA,IAEjD,IAAI,iBAAS,OAAO,QAAQ,GAAG;AAAA,MAC3B,OAAO;AAAA,IACX;AAAA,IAEA,0BAAkB,QAAQ,QAAQ;AAAA,IAElC,IAAI,MAAM,QAAQ,KAAK,MAAM,MAAM,QAAQ;AAAA,MACvC,QAAQ,IAAI,MAAM,OAAO,kBAAU;AAAA,IACvC;AAAA,IAEA,sBAAsB,QAAQ,IAAI,YAAY,OAAO,eAAe,kBAAkB,kBAAkB,kBAAkB,KAAK,EAAC,MAAK,CAAC;AAAA,IACtI,WAAW,IAAI,KAAK,QAAQ,KAAK;AAAA,IAEjC,sBAAc,QAAQ,KAAK,KAAK;AAAA,IAChC,qBAAa,QAAQ,GAAG;AAAA,IACxB,mBAAW,QAAQ,KAAK,OAAO,QAAQ;AAAA,IAEvC,OAAO;AAAA;AAEf;;;ACpFA,IAAe;AAAA,EAWX,GAAG,CAAC,QAAmC,KAAsB,UAAwB;AAAA,IACjF,IAAI,QAAQ,aAAa;AAAA,MACrB,OAAO;AAAA,IACX;AAAA,IAEA,IAAI,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,IACX;AAAA,IAEA,IAAI,OAAO,QAAQ;AAAA,MACf,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;AAAA,IAC5C;AAAA,IAEA,OAAO,QAAQ,IAAI,OAAO,OAAO,GAAG;AAAA;AAAA,EAOxC,wBAAwB,CAAC,QAAmC,KAAsD;AAAA,IAC9G,OAAO,QAAQ,yBAAyB,OAAO,OAAO,GAAG;AAAA;AAAA,EAO7D,OAAO,CAAC,QAAmC;AAAA,IACvC,OAAO,QAAQ,QAAQ,OAAO,KAAK;AAAA;AAAA,EASvC,GAAG,CAAC,QAAmC,KAAsB,OAAgB,UAAwB;AAAA,IACjG,IAAI,OAAO,QAAQ;AAAA,MACf,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,IACnD;AAAA,IAEA,OAAO,QAAQ,IAAI,OAAO,OAAO,KAAK,KAAK;AAAA;AAEnD;;;AHpDA,IAAe;AAAA,EAMX,SAAS,CAAC,QAAqB,WAAkB,WAA2C;AAAA,IAExF,YAAY,UAAU,IAAI,SAAO;AAAA,MAC7B,KAAK,MAAM,QAAQ,GAAG,GAAG;AAAA,QACrB,OAAO;AAAA,MACX;AAAA,MAEA,OAAO,IAAI,MAAM,KAAK,kBAAU;AAAA,KACnC;AAAA,IAED,MAAM,MAAM,UAAU,CAAC,OAAO,YAAY;AAAA,MACtC,MAAM,WAAW,QAAQ,QAAQ,UAAU,QAAQ,WAAW,SAAS,CAAC;AAAA,MACxE,SAAS,QAAQ;AAAA,MACjB,SAAS,SAAS;AAAA,MAClB,SAAS,SAAS;AAAA,MAClB,SAAS,WAAW;AAAA,MAEpB,MAAM,UAAU,IAAI,MAAM,UAAU,qBAAa;AAAA,MAEjD,OAAO;AAAA,QAEH,KAAK,MAAM;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA;AAAA,QAKX,KAAK,MAAG;AAAA,UAAG;AAAA;AAAA,MACf;AAAA,KACH;AAAA,IAED,OAAO,IAAI,MAAM,KAAK,gBAAQ;AAAA;AAEtC;;;AIxCA,SAAO,aAAoB,GAAuC;AAAA,EAC9D,MAAM,WAAW;AAAA,EACjB,kBAAU,QAAQ;AAAA,EAElB,MAAM,QAAQ,cAAc,SAAS;AAAA,EACrC,MAAM,QAAQ,IAAI,MAAM,GAAG,SAAS,KAAK;AAAA,EAEzC,OAAO,QAAQ,KAAK,YAAY,EAC3B,OAAO,IAAI,kBAAkB,WAAW,GAAG,EAC3C,IAAI,EAAE,UAAU,IAAI,EACpB,QAAQ,SAAO,MAAM,OAAO,cAAM,KAAK,IAAI,IACtC,KAAK,KAAK,MAAM,IAChB,KAAK,IAAI;AAAA,EAEnB,OAAO;AAAA;;;ACfX,SAAO,YAAiB,CAA6B,MAAqC;AAAA,EACtF,SAAS,OAAO,MAAM;AAAA,IAClB,MAAM,aAAa,KAAK,aAAa;AAAA,IAErC,IAAI,cAAM,KAAK,IAAI,KAAK,OAAO,KAAK,SAAS,UAAU;AAAA,MACnD,KAAK,KAAK,KAAK,KAAK,IAA+B;AAAA,IACvD,EAAO,SAAI,cAAc,WAAW,KAAK;AAAA,MACrC,KAAK,OAAO,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;;;ACTJ,SAAO,cAAiB,GAAsD;AAAA,EAC1E,OAAO,OAAO,YACV,KAAK,YAAY,IAAI,cAAY;AAAA,IAC7B,IAAI,QAAiB,QAAQ,IAAI,KAAK,MAAM,MAAM,UAAU,IAAI;AAAA,IAEhE,IAAI,cAAM,KAAK,GAAG;AAAA,MACd,QAAQ,MAAM,OAAO;AAAA,IACzB;AAAA,IAEA,OAAO,CAAC,UAAU,KAAK;AAAA,GAC1B,CACL;AAAA;;;A3BJJ,SAAO,WAAwC,CAAC,OAAa;AAAA,EACzD,SAAS,KAAK;AAAA,EAEd,MAAM,cAAc,OAAO,OAAO,kBAAkB,KAAK,CAAC;AAAA,EAC1D,MAAM,aAAa,OAAO,KAAK,WAAW;AAAA,EAE1C,eAAe,MAAM,WAAW,aAAa,WAAW;AAAA,EACxD,eAAe,MAAM,WAAW,MAAM,MAAM,IAAI;AAAA,EAChD,eAAe,MAAM,WAAW,YAAY,UAAU;AAAA,EACtD,eAAe,OAAO,OAAO,aAAa,CAAC,aAAsB,OAAO,aAAa,YAAY,WAAW,UAAU,MAAM,IAAI;AAAA,EAEhI,gBAAgB,OAAO,SAAS,aAAQ;AAAA,EACxC,gBAAgB,OAAO,QAAQ,YAAI;AAAA,EACnC,gBAAgB,OAAO,UAAU,cAAM;AAAA,EAEvC,OAAO,MAAM,KAAK;AAAA;AAOtB,SAAS,KAA4B,CAAC,OAAa;AAAA,EAC/C,MAAM,UAAU,IAAI,MAAM,OAAO,kBAAU;AAAA,EAE3C,cAAc,MAAM,QAAQ;AAAA,EAE5B,OAAO;AAAA;AAGX,SAAS,QAAQ,CAAC,OAAuB;AAAA,EACrC,MAAM,SAAS,OAAO,eAAe,MAAM,SAAS;AAAA,EAEpD,IAAI,QAAQ,QAAQ;AAAA,IAChB,MAAM,IAAI,MAAM,WAAU,MAAM,qEAAqE,OAAO,QAAQ;AAAA,EACxH;AAAA;AAGJ,IAAI,sBAAsB;AAAA,EACtB,MAAM,SAAS,QAAQ,MAAM,KAAK,OAAO;AAAA,EACzC,MAAM,QAAQ,QAAQ,KAAK,KAAK,OAAO;AAAA,EACvC,MAAM,OAAO,QAAQ,IAAI,KAAK,OAAO;AAAA,EACrC,MAAM,QAAQ,QAAQ,KAAK,KAAK,OAAO;AAAA,EAEvC,MAAM,WAAW,CAAC,OAAiB,IAAI,SAAoB;AAAA,IACvD,SAAS,IAAI,KAAK,SAAS,EAAG,KAAK,KAAK,GAAG;AAAA,MACvC,MAAM,MAAM,KAAK;AAAA,MAEjB,KAAK,cAAM,GAAG,GAAG;AAAA,QACb;AAAA,MACJ;AAAA,MAEA,MAAM,MAAM,iBAAS,GAAG;AAAA,MACxB,KAAK,OAAO,GAAG,GAAG,gBAAK,IAAI,SAAS,IAAI,OAAO,CAAC;AAAA,IACpD;AAAA,IAEA,OAAO,GAAG,GAAG,IAAI;AAAA;AAAA,EAGrB,QAAQ,QAAQ,SAAS,MAAM;AAAA,EAC/B,QAAQ,OAAO,SAAS,KAAK;AAAA,EAC7B,QAAQ,MAAM,SAAS,IAAI;AAAA,EAC3B,QAAQ,OAAO,SAAS,KAAK;AACjC;;A4B3EA,SAAO,wBAAiB,CAAC,KAA2B;AAAA,EAChD,OAAO,IAAI,IAAI,0BAAkB;AAAA;;;ACHrC;AAGA,SAAO,2BAAiB,IAAI,MAAoC;AAAA,EAC5D,OAAO,SAAS,QAAQ,GAAG;AAAA;;;ACF/B,SAAO,yBAAiB,CAAC,KAAsC;AAAA,EAC3D,OAAO,OAAO,YACV,OAAO,QAAQ,GAAG,EACb,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,2BAAmB,KAAK,CAAC,CAAC,EACtD,OAAO,IAAI,WAAW,UAAU,SAAS,CAClD;AAAA;;;ACAJ,IAAM,QAAiC,CAAC;AAExC,SAAO,sBAAiB,IAAI,IAAI,MAAM,OAAO,OAA4C;AAAA,EACrF,MAAM,QAAQ,gBAAgB;AAAA,IAC1B,MAAM,IAAI,MAAM,4BAA4B,qBAAqB;AAAA,EACrE;AAAA,EAEA,IAAI,MAAM,OAAO;AAAA,IACb,OAAO,MAAM;AAAA,EACjB;AAAA,EAEA,gCAAgC,QAAQ,MAAM,MAAK,MAAM,EAAE;AAAA,EAC3D,MAAM,MAAM,cAAc;AAAA,EAC1B,MAAM,WAAW,IAAI,IAAI,GAAG,yBAAiB,IAAI,CAAC;AAAA,EAClD,SAAS,KAAK,0BAAkB,KAAK,CAAC;AAAA,EACtC,gCAAgC,QAAQ,SAAS;AAAA,EAEjD,MAAM,MAAM;AAAA,EAEZ,OAAO;AAAA;;;ACxBX,SAAO,4BAAiB,CAAC,KAAyC;AAAA,EAC9D,OAAO,MAAM,QAAQ,GAAG,KAAK,IAAI,OAAO;AAAA;;;ACD5C,SAAO,uBAAiB,CAAC,KAAoC;AAAA,EACzD,OAAO,MAAM,QAAQ,GAAG,KAAK,IAAI,OAAO;AAAA;;;ACI5C,SAAO,0BAAiB,CAAC,KAAuB;AAAA,EAC5C,QAAQ;AAAA,SACC,QAAQ;AAAA,MACT,OAAO;AAAA,SAEN,MAAM,QAAQ,GAAG;AAAA,MAClB,QAAQ;AAAA,aACC,6BAAqB,GAAG;AAAA,UACzB,OAAO,4BAAoB,GAAG;AAAA,aAE7B,wBAAgB,GAAG;AAAA,UACpB,OAAO,uBAAe,GAAG;AAAA;AAAA,UAGzB,OAAO,yBAAiB,GAAG;AAAA;AAAA,SAGlC,OAAO,QAAQ;AAAA,MAChB,OAAO,0BAAkB,GAAG;AAAA;AAAA,MAG5B,OAAO;AAAA;AAAA;;;AC1BnB,SAAO,mBAAiB,CAAC,YAA6B;AAAA,EAClD,OAAO,2BAAmB,KAAK,MAAM,UAAU,CAAC;AAAA;;;ACHpD,qBAAS;;;ACAT,qBAAS;;;ACGT,SAAO,yBAAiB,CAAC,KAAmC;AAAA,EACxD,OAAO,CAAC,MAAO,IAAI,MAAM;AAAA,IACrB,cAAc;AAAA,IACd,eAAe;AAAA,EACnB,CAAC,CAAC;AAAA;;;ACPN;;;ACEA,SAAO,uBAAiB,CAAC,KAAsC;AAAA,EAC3D,OAAO,OAAO,YACV,OAAO,QAAQ,GAAG,EACb,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,yBAAiB,KAAK,CAAC,CAAC,EACpD,OAAO,IAAI,WAAW,UAAU,SAAS,CAClD;AAAA;;;ACPJ,SAAO,YAAiB,GAAG;AAAA,EACvB,OAAO,uCAAuC,QAAQ,UAAU,SAAO,IAAI,OAAO,gBAAgB,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,GAAG,SAAS,EAAE,CAAC;AAAA;;;AFOxJ,SAAO,oBAAiB,CAAC,KAA0C;AAAA,EAC/D,MAAM,MAAM,GAAG;AAAA,EAEf,MAAM,OAAO,IAAI,OAAO;AAAA,EAExB,OAAO;AAAA,IACH;AAAA,IACA,aAAK;AAAA,IACL,IAAI;AAAA,IACJ,wBAAgB,IAAI;AAAA,IACpB,uBAAe,IAAI,KAAK;AAAA,EAC5B;AAAA;;;AFZJ,SAAO,sBAAiB,CAAC,KAA8B;AAAA,EACnD,QAAQ;AAAA,SACC,IAAI,MAAM,aAAK;AAAA,MAChB,OAAO,IAAI,IAAI,oBAAY;AAAA,SAE1B,IAAI,MAAM,UAAS,UAAU;AAAA,MAC9B,OAAO,IAAI,IAAI,yBAAiB;AAAA;AAAA,MAGhC,OAAO,IAAI,IAAI,wBAAgB;AAAA;AAAA;;;ADR3C,SAAO,wBAAiB,CAAC,KAAsC;AAAA,EAC3D,QAAQ;AAAA,SACC,QAAQ;AAAA,MACT,OAAO;AAAA,SAEN,MAAM,QAAQ,GAAG;AAAA,MAClB,OAAO,uBAAe,GAAG;AAAA,SAExB,cAAM,GAAG;AAAA,MACV,OAAO,qBAAa,GAAG;AAAA,SAEtB,UAAS,WAAW,GAAG;AAAA,MACxB,OAAO,0BAAkB,GAAG;AAAA,SAE3B,OAAO,QAAQ;AAAA,MAChB,OAAO,wBAAgB,GAAG;AAAA,SAEzB,OAAO,QAAQ;AAAA,SACf,OAAO,QAAQ;AAAA,SACf,OAAO,QAAQ;AAAA,MAChB,OAAO;AAAA;AAAA,MAGP;AAAA;AAAA;;;AM7BZ,SAAO,iBAAiB,CAAC,KAAsB;AAAA,EAC3C,OAAO,KAAK,UAAU,yBAAiB,GAAG,CAAC;AAAA;;ACA/C,MAAqB,aAAa;AAAA,MAC1B,IAAI,GAAS;AAAA,IACb,OAAO,KAAK;AAAA;AAAA,MAGZ,IAAI,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,EAGP;AAAA,EACA;AAAA,EAET,WAAW,CAAC,MAAY,MAAc;AAAA,IAClC,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA;AAErB;AAhBqB,eAAN;AAAA,EADd;AAAA,GACoB;;ACArB,MAAqB,UAAa;AAAA,MAC1B,KAAK,GAAQ;AAAA,IACb,OAAO,KAAK;AAAA;AAAA,MAGZ,IAAI,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGZ,QAAQ,GAAW;AAAA,IACnB,OAAO,KAAK;AAAA;AAAA,MAGZ,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAGZ,UAAU,GAAW;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,EAGP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CAAC,OAAY,MAAc,UAAkB,OAAe,YAAoB;AAAA,IACvF,KAAK,SAAS;AAAA,IACd,KAAK,QAAQ;AAAA,IACb,KAAK,YAAY;AAAA,IACjB,KAAK,SAAS;AAAA,IACd,KAAK,cAAc;AAAA;AAE3B;AAlCqB,YAAN;AAAA,EADd;AAAA,GACoB;;ACCrB,MAAqB,aAAa;AAAA,MAC1B,IAAI,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGZ,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAGZ,gBAAgB,GAAW;AAAA,IAC3B,OAAO,KAAK;AAAA;AAAA,MAGZ,UAAU,GAAmB;AAAA,IAC7B,OAAO,KAAK;AAAA;AAAA,EAGP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CAAC,MAAc,OAAe,kBAA0B,YAA4B;AAAA,IAC3F,KAAK,QAAQ;AAAA,IACb,KAAK,SAAS;AAAA,IACd,KAAK,oBAAoB;AAAA,IACzB,KAAK,cAAc;AAAA;AAE3B;AA5BqB,eAAN;AAAA,EADd;AAAA,GACoB;;ACDrB,MAAqB,gBAAgB;AAAA,MAC7B,IAAI,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGZ,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAGZ,gBAAgB,GAAW;AAAA,IAC3B,OAAO,KAAK;AAAA;AAAA,MAGZ,MAAM,GAAoC;AAAA,IAC1C,OAAO,KAAK;AAAA;AAAA,MAGZ,MAAM,GAA8C;AAAA,IACpD,OAAO,KAAK;AAAA;AAAA,EAGP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CAAC,MAAc,OAAe,kBAA0B,QAA0C,QAAoD;AAAA,IAC7J,KAAK,QAAQ;AAAA,IACb,KAAK,SAAS;AAAA,IACd,KAAK,oBAAoB;AAAA,IACzB,KAAK,UAAU;AAAA,IACf,KAAK,UAAU;AAAA;AAEvB;AAlCqB,kBAAN;AAAA,EADd;AAAA,GACoB;;AlDGd,MAAM,YAAY;AAAA,SACP,qBAAwB,CAAC,UAAkB,eAAkD;AAAA,IACvG,OAAO,IAAI,UACP,SAAS,SAAS,IAAI,aAAa,GACnC,SAAS,SACT,SAAS,cACT,SAAS,UACT,SAAS,cACb;AAAA;AAAA,SAGU,yCAAyC,CAAC,QAAwB;AAAA,IAC5E,MAAM,kBAAkB,YAAY,UAAS,IAAI,EAAE,SAAS,qBAAqB;AAAA,IAEjF,KAAK,OAAO,WAAW,YAAY,GAAG;AAAA,MAClC,OAAO;AAAA,IACX;AAAA,IAEA,MAAM,gBAAgB;AAAA,IACtB,MAAM,UAAU,cAAc,KAAK,MAAM;AAAA,IAEzC,KAAK,SAAS,UAAU,KAAK,GAAG;AAAA,MAC5B,OAAO;AAAA,IACX;AAAA,IAEA,OAAO,QAAQ,GACV,WAAW,KAAM,EAAE,EACnB,WAAW,KAAM,EAAE,EACnB,WAAW,KAAM,GAAG,EACpB,WAAW,KAAM,GAAG;AAAA;AAAA,SAGf,iBAAiB,CAAC,UAAkB,YAA0C;AAAA,IACxF,OAAO,IAAI,aACP,SAAS,SACT,SAAS,UACT,SAAS,sBACT,UACJ;AAAA;AAAA,SAGU,oBAAoB,CAAC,UAAmC;AAAA,IAClE,IAAI;AAAA,IAEJ,IAAI,SAAS,WAAW;AAAA,MACpB,SAAS,CAAC;AAAA,MAEV,OAAO,QAAQ,SAAS,SAAS,EAAE,QAAQ,EAAE,KAAK,WAAW;AAAA,QACzD,OAAO,OAAO,YAAY,qBAAqB,KAAe;AAAA,OACjE;AAAA,IACL;AAAA,IAEA,OAAO,IAAI,gBACP,SAAS,SACT,SAAS,UACT,SAAS,sBACT,QACA,SAAS,SACb;AAAA;AAER;AA5Da,cAAN;AAAA,EADN;AAAA,GACY;;AmDJb,MAAqB,aAAgB;AAAA,MAC7B,IAAI,GAAM;AAAA,IACV,OAAO,KAAK;AAAA;AAAA,MAGZ,OAAO,GAAY;AAAA,IACnB,OAAO,KAAK,UAAU;AAAA;AAAA,MAGtB,EAAE,GAAY;AAAA,IACd,OAAO,KAAK,cAAc,OAAO,KAAK,aAAa;AAAA;AAAA,MAGnD,QAAQ,GAAa;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,MAGZ,UAAU,GAAmB;AAAA,IAC7B,OAAO,KAAK,UAAU;AAAA;AAAA,EAGjB;AAAA,EACA;AAAA,EAET,WAAW,CAAC,MAAS,UAAoB;AAAA,IACrC,KAAK,QAAQ;AAAA,IACb,KAAK,YAAY;AAAA;AAEzB;;;AC9BA,qBAAS;;;ACAT,MAAqB,WAAW;AAAA,MACxB,SAAS,GAAkB;AAAA,IAC3B,OAAO,KAAK;AAAA;AAAA,MAGZ,SAAS,CAAC,OAAsB;AAAA,IAChC,KAAK,aAAa;AAAA;AAAA,MAGlB,OAAO,GAAW;AAAA,IAClB,OAAO,KAAK;AAAA;AAAA,MAGZ,SAAS,GAAY;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,EAGhB;AAAA,EACS;AAAA,EACA;AAAA,EAET,WAAW,CAAC,WAA0B,SAAiB,YAAqB,OAAO;AAAA,IAC/E,KAAK,aAAa;AAAA,IAClB,KAAK,WAAW;AAAA,IAChB,KAAK,aAAa;AAAA;AAAA,aAGX,QAAQ,GAAe;AAAA,IAC9B,IAAI,WAAW,cAAc,MAAM;AAAA,MAC/B,MAAM,IAAI,MAAM,8GAA8G;AAAA,IAClI;AAAA,IAEA,OAAO,WAAW;AAAA;AAAA,SAGf,YAA+B;AAAA,SAE/B,QAAQ,CAAC,QAA0B;AAAA,IACtC,WAAW,YAAY;AAAA;AAE/B;;;ADhCA,MAAqB,eAAe;AAAA,MAC5B,MAAM,GAAe;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,MAGZ,OAAO,GAAgB;AAAA,IACvB,OAAO,KAAK;AAAA;AAAA,MAGZ,IAAI,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGZ,IAAI,CAAC,OAAe;AAAA,IACpB,KAAK,QAAQ;AAAA;AAAA,MAGb,KAAK,GAAuB;AAAA,IAC5B,OAAO,KAAK;AAAA;AAAA,MAGZ,KAAK,CAAC,OAA2B;AAAA,IACjC,KAAK,SAAS;AAAA;AAAA,EAGT;AAAA,EACT;AAAA,EACA,WAAwB,CAAC;AAAA,EACzB,SAA6B;AAAA,EAE7B,WAAW,CAAC,MAAc,QAAqB;AAAA,IAC3C,KAAK,UAAU,UAAU,WAAW;AAAA,IACpC,KAAK,SAAS,QAAQ;AAAA,IACtB,KAAK,SAAS,SAAS;AAAA,IACvB,KAAK,QAAQ;AAAA;AAAA,EAGV,WAAW,CAAC,OAAgC;AAAA,IAC/C,QAAQ,SAAS,KAAK,QAAQ;AAAA,IAE9B,IAAI,OAAO;AAAA,MACP,OAAO,KAAK,OAAO,iBAAiB,UAAU,OAAO;AAAA,IACzD;AAAA,IAEA,IAAI,KAAK,SAAS,WAAW,mBAAmB,KAAK,SAAS,SAAS;AAAA,MACnE,OAAO,KAAK,SAAS,QAAQ;AAAA,IACjC;AAAA,IAEA,OAAO;AAAA;AAAA,EAGJ,IAAI,CAAC,MAA2C,cAA6B,4BAA4C;AAAA,IAC5H,IAAI,gBAAgB,UAAU;AAAA,MAE1B,cAAc;AAAA,IAClB,EAAO,SAAI,MAAM,QAAQ,IAAI,KAAK,OAAO,SAAS,UAAU;AAAA,MACxD,OAAO,KAAK,UAAU,IAAI;AAAA,MAC1B,cAAc;AAAA,IAClB;AAAA,IAEA,KAAK,SAAS,OAAO;AAAA,IAErB,IAAI,gBAAgB,MAAM;AAAA,MACtB,OAAO,KAAK,OAAO,gBAAgB,WAAW;AAAA,IAClD;AAAA,IAEA,OAAO;AAAA;AAAA,EAGJ,MAAM,CAAC,MAAc,OAA+B;AAAA,IACvD,KAAK,SAAS,UAAU,KAAK,SAAS,WAAW,CAAC;AAAA,IAClD,KAAK,SAAS,QAAQ,QAAQ;AAAA,IAE9B,OAAO;AAAA;AAAA,EAGJ,MAAM,CAAC,QAAoC;AAAA,IAC9C,KAAK,SAAS,SAAS,OAAO,YAAY;AAAA,IAE1C,OAAO;AAAA;AAAA,EAGJ,WAAW,CAAC,aAA0C;AAAA,IACzD,KAAK,SAAS;AAAA,IAEd,OAAO;AAAA;AAAA,EAGJ,MAAM,CAAC,SAA6B,MAAsB;AAAA,IAC7D,KAAK,SAAS,SAAS;AAAA,IAEvB,OAAO;AAAA;AAAA,OAGE,MAAc,GAAqB;AAAA,IAC5C,OAAO,KAAK,SAAS,EAChB,KAAK,OAAK,EAAE,KAAK,CAAC;AAAA;AAAA,OAGd,UAAS,GAA0B;AAAA,IAC5C,IAAI,WAAW,MAAM,KAAK,SAAS;AAAA,IAEnC,IAAI,SAAS,WAAW,KAAK;AAAA,MACzB,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,MAEjC,IAAI,UAAU,QAAQ,WAAW,QAAQ,uBAAuB,MAAM;AAAA,QAClE,MAAM,IAAI,aAAa,KAAK,MAAM,KAAK,OAAO,KAAK,mBAAmB,SAAS,MAAwB;AAAA,MAC3G;AAAA,MAEA,MAAM,IAAI,aAAa,IAAI,uBAAuB,4DAA4D,SAAS,MAAwB;AAAA,IACnJ;AAAA,IAEA,IAAI,WAAW,SAAS,QAAQ,IAAI,qBAAqB,IACnD,YAAY,0CAA0C,SAAS,QAAQ,IAAI,qBAAqB,CAAC,IACjG,YAAY,UAAS,IAAI,EAAE,SAAS,qBAAqB;AAAA,IAE/D,OAAO,IAAI,aACP,MAAM,SAAS,KAAK,GACpB,QACJ;AAAA;AAAA,OAGS,IAAuB,GAAmC;AAAA,IACnE,QAAO,MAAM,aAAY,MAAM,KAAK,aAAsB;AAAA,IAE1D,OAAO,IAAI,aAAa,MAAM,QAAQ;AAAA;AAAA,OAG7B,WAA8B,CAAC,eAA0E;AAAA,IAClH,QAAO,MAAM,aAAY,MAAM,KAAK,aAAsB;AAAA,IAE1D,OAAO,IAAI,aAAa,cAAc,IAAI,GAAG,QAAQ;AAAA;AAAA,OAG5C,gBAAmC,CAAC,eAA4E;AAAA,IACzH,OAAO,KAAK,WAAsB,CAAC,SAAa,KAAK,IAAI,aAAa,CAAC;AAAA;AAAA,OAG9D,SAAQ,GAAiC;AAAA,IAClD,OAAO,MAAM,KAAK,aAAoB;AAAA;AAAA,OAG7B,oBAAuC,CAAC,eAAqF;AAAA,IACtI,OAAO,KAAK,WAA+B,cAAY,YAAY,sBAAsB,UAAU,aAAa,CAAC;AAAA;AAAA,OAGxG,QAAgB,GAAmC;AAAA,IAC5D,OAAO,MAAM,KAAK,aAAsB;AAAA;AAAA,OAG/B,WAA8E,CAAC,KAAiD;AAAA,IACzI,QAAO,MAAM,aAAY,MAAM,KAAK,aAAsB;AAAA,IAE1D,OAAO,IAAI,aAAa,KAAK,MAAuB,QAAQ;AAAA;AAAA,OAGnD,cAAa,GAA4B;AAAA,IAClD,MAAM,WAAW,MAAM,KAAK,aAAoB;AAAA,IAEhD,OAAO,SAAS;AAAA;AAAA,OAGd,QAAQ,GAAsB;AAAA,IAChC,IAAI,OAAO,KAAK;AAAA,IAEhB,IAAI,KAAK,UAAU,MAAM;AAAA,MACrB,QAAQ,IAAI,KAAK,MAAM,MAAM;AAAA,IACjC;AAAA,IAEA,OAAO,MAAM,MAAM,KAAK,OAAO,UAAU,MAAM,KAAK,OAAO;AAAA;AAAA,OAGzD,YAAqB,GAAmC;AAAA,IAC1D,OAAO,MAAM,KACR,SAAS,EACT,KAAK,cAAY,eAAe,gBAAyB,UAAU,KAAK,OAAO,SAAS,CAAC;AAAA;AAAA,cAGrF,eAAwB,CAAC,UAAoB,WAA2D;AAAA,IACjH,IAAI,SAAS,WAAW,KAAK;AAAA,MACzB,OAAO,IAAI,aAAa,MAAM,QAAQ;AAAA,IAC1C;AAAA,IAEA,IAAI,SAAS,QAAQ,IAAI,cAAc,KAAK,SAAS,QAAQ,IAAI,cAAc,EAAE,WAAW,kBAAkB,GAAG;AAAA,MAC7G,MAAM,QAAO,MAAM,SAAS,KAAK;AAAA,MAEjC,IAAI,UAAU,SAAQ,WAAW,SAAQ,uBAAuB,OAAM;AAAA,QAClE,IAAI,YAAY,OAAM;AAAA,UAClB,MAAM,YAAY,qBAAqB,KAAI;AAAA,QAC/C;AAAA,QAEA,MAAM,YAAY,kBAAkB,OAAM,SAAS,MAAwB;AAAA,MAC/E;AAAA,MAEA,IAAI,aAAa,UAAU,OAAM;AAAA,QAC7B,OAAO,IAAI,aAAa,MAAK,MAAiB,QAAQ;AAAA,MAC1D;AAAA,MAEA,OAAO,IAAI,aAAa,OAAM,QAAQ;AAAA,IAC1C;AAAA,IAEA,IAAI,SAAS,WAAW,OAAO,SAAS,WAAW,KAAK;AAAA,MACpD,OAAO,IAAI,aAAa,MAAM,QAAQ;AAAA,IAC1C;AAAA,IAEA,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IAEjC,IAAI,KAAK,WAAW,KAAK,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AAAA,MACtE,OAAO,IAAI,aAAa,MAAM,QAAQ;AAAA,IAC1C;AAAA,IAEA,MAAM,IAAI,aAAa,IAAI,uBAAuB,yCAAyC,SAAS,MAAwB;AAAA;AAEpI;;;AE1NA,MAAqB,YAAY;AAAA,EACnB,OAAO,CAAC,MAAc,QAAqC;AAAA,IACjE,OAAO,IAAI,eAAe,MAAM,MAAM;AAAA;AAE9C;;;ACPA,MAAqB,YAAY;AAAA,EACpB;AAAA,EAET,WAAW,GAAG;AAAA,IACV,KAAK,WAAW,IAAI;AAAA;AAAA,EAGjB,KAAK,GAAW;AAAA,IACnB,OAAO,KAAK,SAAS,SAAS;AAAA;AAAA,EAG3B,MAAM,CAAC,MAAc,OAAsC;AAAA,IAC9D,OAAO,KAAK,KAAK,KAAK,SAAS,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,KAAK;AAAA;AAAA,EAGnE,WAAW,CAAC,MAAc,QAAgD;AAAA,IAC7E,IAAI,WAAW,aAAa,WAAW,MAAM;AAAA,MACzC,OAAO;AAAA,IACX;AAAA,IAEA,OAAO,QAAQ,WAAS,KAAK,OAAO,MAAM,KAAK,CAAC;AAAA,IAEhD,OAAO;AAAA;AAAA,EAGJ,MAAM,CAAC,MAA2B;AAAA,IACrC,KAAK,SAAS,OAAO,IAAI;AAAA,IAEzB,OAAO;AAAA;AAAA,EAGJ,GAAG,CAAC,MAA6B;AAAA,IACpC,OAAO,KAAK,SAAS,IAAI,IAAI;AAAA;AAAA,EAG1B,MAAM,CAAC,MAAwB;AAAA,IAClC,OAAO,KAAK,SAAS,OAAO,IAAI;AAAA;AAAA,EAG7B,GAAG,CAAC,MAAuB;AAAA,IAC9B,OAAO,KAAK,SAAS,IAAI,IAAI;AAAA;AAAA,EAG1B,GAAG,CAAC,MAAc,OAAsC;AAAA,IAC3D,OAAO,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,GAAG,MAAM,KAAK;AAAA;AAAA,EAGvE,IAAI,CAAC,IAA6C,MAAc,OAAsC;AAAA,IAClG,KAAK,SAAS,UAAU,OAAO;AAAA,MAC3B,OAAO;AAAA,IACX;AAAA,IAEA,QAAQ,OAAO;AAAA,WACN;AAAA,QACD,GAAG,MAAM,QAAQ,SAAS,OAAO;AAAA,QACjC;AAAA,WAEC;AAAA,QACD,GAAG,MAAM,MAAM,SAAS,EAAE,CAAC;AAAA,QAC3B;AAAA,WAEC;AAAA,QACD,GAAG,MAAM,KAAK;AAAA,QACd;AAAA;AAAA,IAGR,OAAO;AAAA;AAAA,SAGG,OAAO,GAAgB;AAAA,IACjC,OAAO,IAAI;AAAA;AAEnB;;;ACtEO,SAAS,cAAc,CAAC,KAAmC;AAAA,EAC9D,OAAO,eAAe;AAAA;AAGnB,SAAS,qBAAqB,CAAC,YAA8B;AAAA,EAChE,IAAI,sBAAsB,cAAc;AAAA,IACpC,aAAa,WAAW;AAAA,EAC5B;AAAA,EAEA,OAAO,eAAe,OAAO,eAAe;AAAA;AAGzC,SAAS,iBAAiB,CAAC,KAAsC;AAAA,EACpE,OAAO,eAAe;AAAA;",
64
- "debugId": "AD0CA21D25D97D8A64756E2164756E21",
63
+ "mappings": "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",
64
+ "debugId": "E94961C2DDFE011B64756E2164756E21",
65
65
  "names": []
66
66
  }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@basmilius/http-client",
3
3
  "description": "Http client for Vue projects.",
4
- "version": "1.13.0",
4
+ "version": "2.2.0",
5
5
  "license": "MIT",
6
6
  "funding": "https://github.com/sponsors/basmilius",
7
- "homepage": "https://github.com/basmilius/http-client",
7
+ "homepage": "https://github.com/basmilius/packages",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/basmilius/http-client.git"
10
+ "url": "git+https://github.com/basmilius/packages.git",
11
+ "directory": "packages/http-client"
11
12
  },
12
13
  "keywords": [
13
14
  "http",
@@ -18,22 +19,25 @@
18
19
  "vue 3"
19
20
  ],
20
21
  "scripts": {
21
- "build": "bun --bun build.ts"
22
+ "build": "bun -b build.ts"
22
23
  },
23
24
  "engines": {
24
25
  "node": ">=23"
25
26
  },
26
27
  "files": [
27
- "dist/*"
28
+ "dist",
29
+ "src",
30
+ "CODEOWNERS",
31
+ "LICENSE"
28
32
  ],
29
33
  "type": "module",
30
- "main": "./dist/http-client.js",
31
- "module": "./dist/http-client.js",
34
+ "main": "./dist/index.js",
35
+ "module": "./dist/index.js",
32
36
  "types": "./dist/index.d.ts",
33
37
  "exports": {
34
38
  ".": {
35
39
  "types": "./dist/index.d.ts",
36
- "default": "./dist/http-client.js"
40
+ "default": "./dist/index.js"
37
41
  }
38
42
  },
39
43
  "publishConfig": {
@@ -42,16 +46,13 @@
42
46
  },
43
47
  "sideEffects": false,
44
48
  "devDependencies": {
45
- "@basmilius/utils": "^1.14.0",
46
- "@basmilius/vite-vue-preset": "^3.0.0",
47
- "@types/bun": "^1.2.10",
49
+ "@basmilius/utils": "2.2.0",
48
50
  "@types/luxon": "^3.6.2",
49
51
  "luxon": "^3.6.1",
50
- "tsc-alias": "^1.8.15",
51
52
  "vue": "^3.5.13"
52
53
  },
53
54
  "peerDependencies": {
54
- "@basmilius/utils": "^1.14.0",
55
+ "@basmilius/utils": "2.2.0",
55
56
  "luxon": "^3.6.1",
56
57
  "vue": "^3.5.13"
57
58
  }
@@ -0,0 +1,67 @@
1
+ import { DateTime } from 'luxon';
2
+ import { adapter } from '../decorator';
3
+ import { Paginated, RequestError, ValidationError } from '../dto';
4
+ import type { HttpStatusCode } from '../type';
5
+
6
+ @adapter
7
+ export class HttpAdapter {
8
+ public static parsePaginatedAdapter<T>(response: object, adapterMethod: (item: object) => T): Paginated<T> {
9
+ return new Paginated<T>(
10
+ response['items'].map(adapterMethod),
11
+ response['page'],
12
+ response['page_size'],
13
+ response['pages'],
14
+ response['total']
15
+ );
16
+ }
17
+
18
+ public static parseFileNameFromContentDispositionHeader(header: string): string {
19
+ const defaultFilename = `download-${DateTime.now().toFormat('yyyy-MM-dd HH-mm-ss')}`;
20
+
21
+ if (!header.startsWith('attachment')) {
22
+ return defaultFilename;
23
+ }
24
+
25
+ const filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
26
+ const matches = filenameRegex.exec(header);
27
+
28
+ if ((matches?.length || 0) < 2) {
29
+ return defaultFilename;
30
+ }
31
+
32
+ return matches[1]
33
+ .replaceAll('\'', '')
34
+ .replaceAll('\"', '')
35
+ .replaceAll('\/', '-')
36
+ .replaceAll('\:', '-');
37
+ }
38
+
39
+ public static parseRequestError(response: object, statusCode: HttpStatusCode): RequestError {
40
+ return new RequestError(
41
+ response['code'],
42
+ response['error'],
43
+ response['error_description'],
44
+ statusCode
45
+ );
46
+ }
47
+
48
+ public static parseValidationError(response: object): ValidationError {
49
+ let errors: Record<string, ValidationError>;
50
+
51
+ if (response['errors']) {
52
+ errors = {};
53
+
54
+ Object.entries(response['errors']).forEach(([key, value]) => {
55
+ errors[key] = HttpAdapter.parseValidationError(value as object);
56
+ });
57
+ }
58
+
59
+ return new ValidationError(
60
+ response['code'],
61
+ response['error'],
62
+ response['error_description'],
63
+ errors,
64
+ response['params']
65
+ );
66
+ }
67
+ }
@@ -0,0 +1 @@
1
+ export { HttpAdapter } from './HttpAdapter';
@@ -0,0 +1,10 @@
1
+ import type { Constructor } from '@basmilius/utils';
2
+
3
+ export default function <T extends Constructor>(Parent: T): T {
4
+ return class extends Parent {
5
+ // @ts-ignore
6
+ constructor(...args: any[]) {
7
+ throw new Error('@adapter: cannot create instance of class.');
8
+ }
9
+ } as T;
10
+ }
@@ -0,0 +1,5 @@
1
+ export default function () {
2
+ return (target: object, method: string): void => {
3
+ target[method] = target[method].bind(target);
4
+ };
5
+ }
@@ -0,0 +1,30 @@
1
+ export default function (interval: number) {
2
+ return (target: object, _: string, descriptor: PropertyDescriptor) => {
3
+ descriptor.value = debounce(descriptor.value, interval, target);
4
+ };
5
+ }
6
+
7
+ function debounce<F extends ((...args: any[]) => any)>(fn: F, interval: number, $this: object): Function {
8
+ let resolvers = [], rejecters = [], timeout = null;
9
+
10
+ return (...args: any[]) => {
11
+ clearTimeout(timeout);
12
+
13
+ timeout = setTimeout(async () => {
14
+ try {
15
+ let result = await fn.apply($this, args);
16
+ resolvers.forEach(resolve => resolve(result));
17
+ } catch (err) {
18
+ rejecters.forEach(reject => reject(err));
19
+ }
20
+
21
+ resolvers = [];
22
+ rejecters = [];
23
+ }, interval);
24
+
25
+ return new Promise((resolve, reject) => {
26
+ resolvers.push(resolve);
27
+ rejecters.push(reject);
28
+ });
29
+ };
30
+ }