UNPKG

@noaignite/react-centra-checkout

Version:

React components and helpers for Centra checkout api

1 lines 2.17 kB
{"version":3,"sources":["../src/ApiClient.ts"],"sourcesContent":["export class ApiClient {\n baseUrl: string\n\n headers: Headers\n\n options: RequestInit\n\n private static _default?: ApiClient\n\n constructor(baseUrl = '', options: RequestInit = {}) {\n this.baseUrl = baseUrl\n this.options = options\n this.headers = new Headers({\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...this.options.headers,\n })\n }\n\n request = async (method: string, endpoint: string, data: Record<string, unknown> = {}) => {\n const response = await fetch(`${this.baseUrl}/${endpoint}`, {\n ...this.options,\n headers: this.headers,\n mode: 'cors',\n method,\n body: ['POST', 'PUT'].includes(method) ? JSON.stringify(data) : undefined,\n })\n\n const json = (await response.json()) as unknown\n\n return json\n }\n\n public static get default(): ApiClient {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- TODO: Remove rule disable when appropriate\n if (!ApiClient._default) {\n ApiClient._default = new ApiClient()\n }\n\n return ApiClient._default\n }\n\n public get default(): ApiClient {\n // This getter method exist to gain access to the static singleton from all instances of `ApiClient`.\n return ApiClient.default\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,YAAN,MAAM,WAAU;AAAA,EACrB;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,OAAe;AAAA,EAEf,YAAY,UAAU,IAAI,UAAuB,CAAC,GAAG;AACnD,SAAK,UAAU;AACf,SAAK,UAAU;AACf,SAAK,UAAU,IAAI,QAAQ;AAAA,MACzB,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,GAAG,KAAK,QAAQ;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,OAAO,QAAgB,UAAkB,OAAgC,CAAC,MAAM;AACxF,UAAM,WAAW,MAAM,MAAM,GAAG,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,MAC1D,GAAG,KAAK;AAAA,MACR,SAAS,KAAK;AAAA,MACd,MAAM;AAAA,MACN;AAAA,MACA,MAAM,CAAC,QAAQ,KAAK,EAAE,SAAS,MAAM,IAAI,KAAK,UAAU,IAAI,IAAI;AAAA,IAClE,CAAC;AAED,UAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,WAAO;AAAA,EACT;AAAA,EAEA,WAAkB,UAAqB;AAErC,QAAI,CAAC,WAAU,UAAU;AACvB,iBAAU,WAAW,IAAI,WAAU;AAAA,IACrC;AAEA,WAAO,WAAU;AAAA,EACnB;AAAA,EAEA,IAAW,UAAqB;AAE9B,WAAO,WAAU;AAAA,EACnB;AACF;","names":[]}