From 612da04cbb1b6b4fc2f3c924acaf9da35650d8dd Mon Sep 17 00:00:00 2001 From: Polianin Nikita Date: Sat, 1 Feb 2025 16:25:05 +0300 Subject: [PATCH] refactor: use object RequestData --- src/api/RequestBuilder.ts | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/api/RequestBuilder.ts b/src/api/RequestBuilder.ts index 4f8e924..cb7ceee 100644 --- a/src/api/RequestBuilder.ts +++ b/src/api/RequestBuilder.ts @@ -11,57 +11,44 @@ export interface RequestData { } export class RequestBuilder { - private endpoint: string = ''; - private queryParams: Record | null> | null = null; - private httpHeaders: HttpHeaders = new HttpHeaders(); - private data: any = null; - private silenceMode: boolean = false; - private withCredentials: boolean = false; + private result: RequestData = Object.create({}); constructor() { } public setEndpoint(endpoint: string): this { - this.endpoint = endpoint; + this.result.endpoint = endpoint; return this; } public setQueryParams(queryParams: Record | null>): RequestBuilder { - this.queryParams = queryParams; + this.result.queryParams = queryParams; return this; } public addHeaders(headers: Record): RequestBuilder { Object.keys(headers).forEach(key => { - this.httpHeaders = this.httpHeaders.set(key, headers[key]); + this.result.httpHeaders = this.result.httpHeaders.set(key, headers[key]); }); return this; } public setData(data: any): RequestBuilder { - this.data = data; + this.result.data = data; return this; } public setSilenceMode(silence: boolean = true): RequestBuilder { - this.silenceMode = silence; + this.result.silenceMode = silence; return this; } public setWithCredentials(credentials: boolean = true): RequestBuilder { - this.withCredentials = credentials; + this.result.withCredentials = credentials; return this; } public get build(): RequestData { - return { - endpoint: this.endpoint, - queryParams: this.queryParams, - httpHeaders: this.httpHeaders, - data: this.data, - silenceMode: this.silenceMode, - withCredentials: this.withCredentials, - needAuth: false - }; + return this.result; } }