import { IRequestConfig } from "../models/core.model"; class HttpClient { private static _instance: HttpClient; private HttpCommand: any; private constructor() { } public static getInstance(): HttpClient { return this._instance || (this._instance = new this()); }; public setHttpCommand(HttpCommand: any) { this.HttpCommand = HttpCommand; } public async request(config: IRequestConfig) { try { const HttpCommand = this.HttpCommand; const request = new HttpCommand(config); return await request.execute(); } catch (e) { throw e; } } } export const HttpService = HttpClient.getInstance();