UNPKG

@noaignite/react-centra-checkout

Version:

React components and helpers for Centra checkout api

1 lines 2 kB
{"version":3,"file":"ApiClient.cjs","names":[],"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 async request(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,IAAa,YAAb,MAAa,UAAU;CACrB;CAEA;CAEA;CAEA,OAAe;CAEf,YAAY,UAAU,IAAI,UAAuB,CAAC,GAAG;EACnD,KAAK,UAAU;EACf,KAAK,UAAU;EACf,KAAK,UAAU,IAAI,QAAQ;GACzB,QAAQ;GACR,gBAAgB;GAChB,GAAG,KAAK,QAAQ;EAClB,CAAC;CACH;CAEA,MAAM,QAAQ,QAAgB,UAAkB,OAAgC,CAAC,GAAG;EAWlF,OAAO,OAFa,MARG,MAAM,GAAG,KAAK,QAAQ,GAAG,YAAY;GAC1D,GAAG,KAAK;GACR,SAAS,KAAK;GACd,MAAM;GACN;GACA,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,KAAK,UAAU,IAAI,IAAI,KAAA;EAClE,CAAC,EAAA,CAE4B,KAAK;CAGpC;CAEA,WAAkB,UAAqB;EAErC,IAAI,CAAC,UAAU,UACb,UAAU,WAAW,IAAI,UAAU;EAGrC,OAAO,UAAU;CACnB;CAEA,IAAW,UAAqB;EAE9B,OAAO,UAAU;CACnB;AACF"}