UNPKG

@etherspot/data-utils

Version:
1 lines 2.61 kB
{"version":3,"sources":["../../src/sdk/api/restApi.service.ts"],"sourcesContent":["import fetch from 'cross-fetch';\nimport qs from 'qs';\nimport { QueryParams } from './interfaces';\nimport { BACKEND_API_ENDPOINT } from './constants';\n\nexport class RestApiService {\n async makeRequest(endpoint: string, method = 'GET', queryParams = {}, body = null) {\n const queryString = qs.stringify(this.buildQueryParams(queryParams), { indices: false });\n const url = new URL(`${BACKEND_API_ENDPOINT}/${endpoint}?${queryString}`);\n\n const requestOptions = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n },\n body: body ? JSON.stringify(body) : null,\n };\n\n try {\n const response = await fetch(url.toString(), requestOptions);\n\n const data = await response.json();\n\n if (!response.ok) {\n if (response.status === 403) {\n throw new Error('Invalid API Key');\n }\n\n throw new Error(data.message || data.error || 'Request failed');\n }\n\n return data;\n } catch (error) {\n throw new Error(error.message || 'Something went wrong');\n }\n }\n\n buildQueryParams(params: QueryParams): QueryParams {\n const queryParams: QueryParams = {};\n\n for (const key in params) {\n if (params.hasOwnProperty(key) && params[key] !== undefined && params[key] !== null) {\n queryParams[key] = params[key];\n }\n }\n\n return queryParams;\n }\n}\n"],"mappings":";;;;;AAAA,OAAO,WAAW;AAClB,OAAO,QAAQ;AAIR,IAAM,iBAAN,MAAqB;AAAA,EACxB,MAAM,YAAY,UAAkB,SAAS,OAAO,cAAc,CAAC,GAAG,OAAO,MAAM;AAC/E,UAAM,cAAc,GAAG,UAAU,KAAK,iBAAiB,WAAW,GAAG,EAAE,SAAS,MAAM,CAAC;AACvF,UAAM,MAAM,IAAI,IAAI,GAAG,oBAAoB,IAAI,QAAQ,IAAI,WAAW,EAAE;AAExE,UAAM,iBAAiB;AAAA,MACnB;AAAA,MACA,SAAS;AAAA,QACL,gBAAgB;AAAA,MACpB;AAAA,MACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,IACxC;AAEA,QAAI;AACA,YAAM,WAAW,MAAM,MAAM,IAAI,SAAS,GAAG,cAAc;AAE3D,YAAM,OAAO,MAAM,SAAS,KAAK;AAEjC,UAAI,CAAC,SAAS,IAAI;AACd,YAAI,SAAS,WAAW,KAAK;AACzB,gBAAM,IAAI,MAAM,iBAAiB;AAAA,QACrC;AAEA,cAAM,IAAI,MAAM,KAAK,WAAW,KAAK,SAAS,gBAAgB;AAAA,MAClE;AAEA,aAAO;AAAA,IACX,SAAS,OAAO;AACZ,YAAM,IAAI,MAAM,MAAM,WAAW,sBAAsB;AAAA,IAC3D;AAAA,EACJ;AAAA,EAEA,iBAAiB,QAAkC;AAC/C,UAAM,cAA2B,CAAC;AAElC,eAAW,OAAO,QAAQ;AACtB,UAAI,OAAO,eAAe,GAAG,KAAK,OAAO,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,MAAM;AACjF,oBAAY,GAAG,IAAI,OAAO,GAAG;AAAA,MACjC;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}