@nhost/nhost-js 0.3.12 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Nhost
3
+ Copyright (c) 2021 Nhost
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
@@ -1,19 +1,14 @@
1
- import { ClientStorage, ClientStorageType, HasuraAuthClient } from '@nhost/hasura-auth-js';
1
+ import { HasuraAuthClient, NhostAuthConstructorParams } from '@nhost/hasura-auth-js';
2
2
  import { HasuraStorageClient } from '@nhost/hasura-storage-js';
3
3
  import { NhostFunctionsClient } from '../clients/functions';
4
4
  import { NhostGraphqlClient } from '../clients/graphql';
5
- export interface NhostClientConstructorParams {
5
+ export declare type NhostClientConstructorParams = Omit<NhostAuthConstructorParams, 'url'> & {
6
6
  backendUrl: string;
7
- refreshIntervalTime?: number;
8
- clientStorage?: ClientStorage;
9
- clientStorageType?: ClientStorageType;
10
- autoRefreshToken?: boolean;
11
- autoLogin?: boolean;
12
- }
7
+ };
13
8
  export declare class NhostClient {
14
9
  auth: HasuraAuthClient;
15
10
  storage: HasuraStorageClient;
16
11
  functions: NhostFunctionsClient;
17
12
  graphql: NhostGraphqlClient;
18
- constructor(params: NhostClientConstructorParams);
13
+ constructor({ backendUrl, refreshIntervalTime, clientStorageGetter, clientStorageSetter, clientStorage, clientStorageType, autoRefreshToken, autoLogin, start, Client }: NhostClientConstructorParams);
19
14
  }
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- var N=Object.create;var h=Object.defineProperty,b=Object.defineProperties,w=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,G=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable;var m=(t,e,r)=>e in t?h(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,i=(t,e)=>{for(var r in e||(e={}))A.call(e,r)&&m(t,r,e[r]);if(f)for(var r of f(e))U.call(e,r)&&m(t,r,e[r]);return t},p=(t,e)=>b(t,P(e)),C=t=>h(t,"__esModule",{value:!0});var H=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},d=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of S(e))!A.call(t,a)&&(r||a!=="default")&&h(t,a,{get:()=>e[a],enumerable:!(n=w(e,a))||n.enumerable});return t},q=(t,e)=>d(C(h(t!=null?N(G(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),E=(t=>(e,r)=>t&&t.get(e)||(r=d(C({}),e,1),t&&t.set(e,r),r))(typeof WeakMap!="undefined"?new WeakMap:0);var I={};H(I,{NhostClient:()=>T,createClient:()=>F});var v=require("@nhost/hasura-auth-js"),y=require("@nhost/hasura-storage-js");var x=q(require("axios")),k=class{constructor(e){let{url:r}=e;this.accessToken=null,this.instance=x.default.create({baseURL:r})}async call(e,r,n){let a=i(i({},this.generateAccessTokenHeaders()),n==null?void 0:n.headers),u;try{u=await this.instance.post(e,r,p(i({},n),{headers:a}))}catch(s){if(s instanceof Error)return{res:null,error:s}}return u?{res:u,error:null}:{res:null,error:new Error("Unable to make post request to funtion")}}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){if(!!this.accessToken)return{Authorization:`Bearer ${this.accessToken}`}}};var R=q(require("axios")),g=class{constructor(e){let{url:r}=e;this.url=r,this.accessToken=null,this.instance=R.default.create({baseURL:r})}async request(e,r,n){let a=i(i({},n==null?void 0:n.headers),this.generateAccessTokenHeaders()),u="",s;try{s=(await this.instance.post("",{operationName:u||void 0,query:e,variables:r},p(i({},n),{headers:a}))).data}catch(l){return l instanceof Error?{data:null,error:l}:(console.error(l),{data:null,error:new Error("Unable to get do GraphQL request")})}return typeof s!="object"||Array.isArray(s)||s===null?{data:null,error:new Error("incorrect response data from GraphQL server")}:(s=s,s.errors?{data:null,error:s.errors}:{data:s.data,error:null})}getUrl(){return this.url}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){if(!!this.accessToken)return{Authorization:`Bearer ${this.accessToken}`}}};var T=class{constructor(e){if(!e.backendUrl)throw new Error("Please specify a `backendUrl`. Docs: [todo]!");let{backendUrl:r,refreshIntervalTime:n,clientStorage:a,clientStorageType:u,autoRefreshToken:s,autoLogin:l}=e;this.auth=new v.HasuraAuthClient({url:`${r}/v1/auth`,refreshIntervalTime:n,clientStorage:a,clientStorageType:u,autoRefreshToken:s,autoLogin:l}),this.storage=new y.HasuraStorageClient({url:`${r}/v1/storage`}),this.functions=new k({url:`${r}/v1/functions`}),this.graphql=new g({url:`${r}/v1/graphql`}),this.storage.setAccessToken(this.auth.getAccessToken()),this.functions.setAccessToken(this.auth.getAccessToken()),this.graphql.setAccessToken(this.auth.getAccessToken()),this.auth.onAuthStateChanged((o,c)=>{this.storage.setAccessToken(c==null?void 0:c.accessToken),this.functions.setAccessToken(c==null?void 0:c.accessToken),this.graphql.setAccessToken(c==null?void 0:c.accessToken)}),this.auth.onTokenChanged(o=>{this.storage.setAccessToken(o==null?void 0:o.accessToken),this.functions.setAccessToken(o==null?void 0:o.accessToken),this.graphql.setAccessToken(o==null?void 0:o.accessToken)})}};var F=t=>new T(t);module.exports=E(I);0&&(module.exports={NhostClient,createClient});
1
+ var G=Object.create;var l=Object.defineProperty,H=Object.defineProperties,E=Object.getOwnPropertyDescriptor,F=Object.getOwnPropertyDescriptors,$=Object.getOwnPropertyNames,k=Object.getOwnPropertySymbols,I=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable;var f=(e,t,r)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i=(e,t)=>{for(var r in t||(t={}))C.call(t,r)&&f(e,r,t[r]);if(k)for(var r of k(t))L.call(t,r)&&f(e,r,t[r]);return e},p=(e,t)=>H(e,F(t)),g=e=>l(e,"__esModule",{value:!0});var S=(e,t)=>{for(var r in t)l(e,r,{get:t[r],enumerable:!0})},d=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of $(t))!C.call(e,a)&&(r||a!=="default")&&l(e,a,{get:()=>t[a],enumerable:!(s=E(t,a))||s.enumerable});return e},q=(e,t)=>d(g(l(e!=null?G(I(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),b=(e=>(t,r)=>e&&e.get(t)||(r=d(g({}),t,1),e&&e.set(t,r),r))(typeof WeakMap!="undefined"?new WeakMap:0);var U={};S(U,{NhostClient:()=>m,createClient:()=>z});var R=require("@nhost/hasura-auth-js"),v=require("@nhost/hasura-storage-js");var x=q(require("axios")),A=class{constructor(t){let{url:r}=t;this.accessToken=null,this.instance=x.default.create({baseURL:r})}async call(t,r,s){let a=i(i({},this.generateAccessTokenHeaders()),s==null?void 0:s.headers),u;try{u=await this.instance.post(t,r,p(i({},s),{headers:a}))}catch(n){if(n instanceof Error)return{res:null,error:n}}return u?{res:u,error:null}:{res:null,error:new Error("Unable to make post request to funtion")}}setAccessToken(t){if(!t){this.accessToken=null;return}this.accessToken=t}generateAccessTokenHeaders(){if(!!this.accessToken)return{Authorization:`Bearer ${this.accessToken}`}}};var N=q(require("axios")),T=class{constructor(t){let{url:r}=t;this.url=r,this.accessToken=null,this.instance=N.default.create({baseURL:r})}async request(t,r,s){let a=i(i({},s==null?void 0:s.headers),this.generateAccessTokenHeaders()),u="",n;try{n=(await this.instance.post("",{operationName:u||void 0,query:t,variables:r},p(i({},s),{headers:a}))).data}catch(h){return h instanceof Error?{data:null,error:h}:(console.error(h),{data:null,error:new Error("Unable to get do GraphQL request")})}return typeof n!="object"||Array.isArray(n)||n===null?{data:null,error:new Error("incorrect response data from GraphQL server")}:(n=n,n.errors?{data:null,error:n.errors}:{data:n.data,error:null})}getUrl(){return this.url}setAccessToken(t){if(!t){this.accessToken=null;return}this.accessToken=t}generateAccessTokenHeaders(){if(!!this.accessToken)return{Authorization:`Bearer ${this.accessToken}`}}};var m=class{constructor({backendUrl:t,refreshIntervalTime:r,clientStorageGetter:s,clientStorageSetter:a,clientStorage:u,clientStorageType:n,autoRefreshToken:h,autoLogin:P,start:w=!0,Client:y}){if(!t)throw new Error("Please specify a `backendUrl`. Docs: [todo]!");this.auth=new R.HasuraAuthClient({url:`${t}/v1/auth`,refreshIntervalTime:r,clientStorageGetter:s,clientStorageSetter:a,clientStorage:u,clientStorageType:n,autoRefreshToken:h,autoLogin:P,start:w,Client:y}),this.storage=new v.HasuraStorageClient({url:`${t}/v1/storage`}),this.functions=new A({url:`${t}/v1/functions`}),this.graphql=new T({url:`${t}/v1/graphql`}),this.storage.setAccessToken(this.auth.getAccessToken()),this.functions.setAccessToken(this.auth.getAccessToken()),this.graphql.setAccessToken(this.auth.getAccessToken()),this.auth.client.onStart(()=>{this.auth.onAuthStateChanged((o,c)=>{this.storage.setAccessToken(c==null?void 0:c.accessToken),this.functions.setAccessToken(c==null?void 0:c.accessToken),this.graphql.setAccessToken(c==null?void 0:c.accessToken)}),this.auth.onTokenChanged(o=>{this.storage.setAccessToken(o==null?void 0:o.accessToken),this.functions.setAccessToken(o==null?void 0:o.accessToken),this.graphql.setAccessToken(o==null?void 0:o.accessToken)})})}};var z=e=>new m(e);module.exports=b(U);0&&(module.exports={NhostClient,createClient});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/core/nhost-client.ts", "../src/clients/functions.ts", "../src/clients/graphql.ts"],
4
- "sourcesContent": ["import { NhostClient, NhostClientConstructorParams } from './core'\n\nconst createClient = (config: NhostClientConstructorParams) => new NhostClient(config)\n\nexport * from './core'\nexport { createClient }\n", "import { ClientStorage, ClientStorageType, HasuraAuthClient } from '@nhost/hasura-auth-js'\nimport { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { NhostFunctionsClient } from '../clients/functions'\nimport { NhostGraphqlClient } from '../clients/graphql'\n\nexport interface NhostClientConstructorParams {\n backendUrl: string\n refreshIntervalTime?: number\n clientStorage?: ClientStorage\n clientStorageType?: ClientStorageType\n autoRefreshToken?: boolean\n autoLogin?: boolean\n}\n\nexport class NhostClient {\n auth: HasuraAuthClient\n storage: HasuraStorageClient\n functions: NhostFunctionsClient\n graphql: NhostGraphqlClient\n\n /**\n * Nhost Client\n *\n * @example\n * const nhost = new NhostClient({ url });\n *\n * @docs https://docs.nhost.io/TODO\n */\n constructor(params: NhostClientConstructorParams) {\n if (!params.backendUrl) throw new Error('Please specify a `backendUrl`. Docs: [todo]!')\n\n const {\n backendUrl,\n refreshIntervalTime,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoLogin\n } = params\n\n this.auth = new HasuraAuthClient({\n url: `${backendUrl}/v1/auth`,\n refreshIntervalTime,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoLogin\n })\n\n this.storage = new HasuraStorageClient({\n url: `${backendUrl}/v1/storage`\n })\n\n this.functions = new NhostFunctionsClient({\n url: `${backendUrl}/v1/functions`\n })\n\n this.graphql = new NhostGraphqlClient({\n url: `${backendUrl}/v1/graphql`\n })\n\n // set current token if token is already accessable\n this.storage.setAccessToken(this.auth.getAccessToken())\n this.functions.setAccessToken(this.auth.getAccessToken())\n this.graphql.setAccessToken(this.auth.getAccessToken())\n\n // update access token for clients\n this.auth.onAuthStateChanged((_event, session) => {\n this.storage.setAccessToken(session?.accessToken)\n this.functions.setAccessToken(session?.accessToken)\n this.graphql.setAccessToken(session?.accessToken)\n })\n\n // update access token for clients\n this.auth.onTokenChanged((session) => {\n this.storage.setAccessToken(session?.accessToken)\n this.functions.setAccessToken(session?.accessToken)\n this.graphql.setAccessToken(session?.accessToken)\n })\n }\n}\n", "import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\n\nimport { FunctionCallResponse } from '../types'\nexport interface NhostFunctionsConstructorParams {\n url: string\n}\n\nexport class NhostFunctionsClient {\n private instance: AxiosInstance\n private accessToken: string | null\n\n constructor(params: NhostFunctionsConstructorParams) {\n const { url } = params\n\n this.accessToken = null\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n async call(url: string, data: any, config?: AxiosRequestConfig): Promise<FunctionCallResponse> {\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers\n }\n\n let res\n try {\n res = await this.instance.post(url, data, { ...config, headers })\n } catch (error) {\n if (error instanceof Error) {\n return { res: null, error }\n }\n }\n\n if (!res) {\n return {\n res: null,\n error: new Error('Unable to make post request to funtion')\n }\n }\n\n return { res, error: null }\n }\n\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): { Authorization: string } | undefined {\n if (!this.accessToken) {\n return\n }\n\n // eslint-disable-next-line consistent-return\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n}\n", "import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\n\nimport { GraphqlRequestResponse, GraphqlResponse } from '../types'\n\nexport interface NhostGraphqlConstructorParams {\n url: string\n}\n\nexport class NhostGraphqlClient {\n private url: string\n private instance: AxiosInstance\n private accessToken: string | null\n\n constructor(params: NhostGraphqlConstructorParams) {\n const { url } = params\n\n this.url = url\n this.accessToken = null\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n async request(\n document: string,\n variables?: any,\n config?: AxiosRequestConfig\n ): Promise<GraphqlRequestResponse> {\n // add auth headers if any\n const headers = {\n ...config?.headers,\n ...this.generateAccessTokenHeaders()\n }\n\n const operationName = ''\n\n let responseData\n try {\n const res = await this.instance.post(\n '',\n {\n operationName: operationName || undefined,\n query: document,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n variables\n },\n { ...config, headers }\n )\n\n responseData = res.data\n } catch (error) {\n if (error instanceof Error) {\n return { data: null, error }\n }\n console.error(error)\n return {\n data: null,\n error: new Error('Unable to get do GraphQL request')\n }\n }\n\n if (typeof responseData !== 'object' || Array.isArray(responseData) || responseData === null) {\n return {\n data: null,\n error: new Error('incorrect response data from GraphQL server')\n }\n }\n\n responseData = responseData as GraphqlResponse\n\n if (responseData.errors) {\n return {\n data: null,\n error: responseData.errors\n }\n }\n\n return { data: responseData.data, error: null }\n }\n\n getUrl(): string {\n return this.url\n }\n\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders() {\n if (!this.accessToken) {\n return\n }\n\n // eslint-disable-next-line consistent-return\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { NhostClient, NhostClientConstructorParams } from './core'\n\nconst createClient = (config: NhostClientConstructorParams) => new NhostClient(config)\n\nexport * from './core'\nexport { createClient }\n", "import { HasuraAuthClient, NhostAuthConstructorParams } from '@nhost/hasura-auth-js'\nimport { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { NhostFunctionsClient } from '../clients/functions'\nimport { NhostGraphqlClient } from '../clients/graphql'\n\nexport type NhostClientConstructorParams = Omit<NhostAuthConstructorParams, 'url'> & {\n backendUrl: string\n}\n\nexport class NhostClient {\n auth: HasuraAuthClient\n storage: HasuraStorageClient\n functions: NhostFunctionsClient\n graphql: NhostGraphqlClient\n\n /**\n * Nhost Client\n *\n * @example\n * const nhost = new NhostClient({ url });\n *\n * @docs https://docs.nhost.io/reference/sdk#installation\n */\n constructor({\n backendUrl,\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoLogin,\n start = true,\n Client\n }: NhostClientConstructorParams) {\n if (!backendUrl) throw new Error('Please specify a `backendUrl`. Docs: [todo]!')\n this.auth = new HasuraAuthClient({\n url: `${backendUrl}/v1/auth`,\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoLogin,\n start,\n Client\n })\n\n this.storage = new HasuraStorageClient({\n url: `${backendUrl}/v1/storage`\n })\n\n this.functions = new NhostFunctionsClient({\n url: `${backendUrl}/v1/functions`\n })\n\n this.graphql = new NhostGraphqlClient({\n url: `${backendUrl}/v1/graphql`\n })\n\n // set current token if token is already accessable\n this.storage.setAccessToken(this.auth.getAccessToken())\n this.functions.setAccessToken(this.auth.getAccessToken())\n this.graphql.setAccessToken(this.auth.getAccessToken())\n\n this.auth.client.onStart(() => {\n // update access token for clients\n this.auth.onAuthStateChanged((_event, session) => {\n this.storage.setAccessToken(session?.accessToken)\n this.functions.setAccessToken(session?.accessToken)\n this.graphql.setAccessToken(session?.accessToken)\n })\n\n // update access token for clients\n this.auth.onTokenChanged((session) => {\n this.storage.setAccessToken(session?.accessToken)\n this.functions.setAccessToken(session?.accessToken)\n this.graphql.setAccessToken(session?.accessToken)\n })\n })\n }\n}\n", "import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\n\nimport { FunctionCallResponse } from '../types'\nexport interface NhostFunctionsConstructorParams {\n url: string\n}\n\nexport class NhostFunctionsClient {\n private instance: AxiosInstance\n private accessToken: string | null\n\n constructor(params: NhostFunctionsConstructorParams) {\n const { url } = params\n\n this.accessToken = null\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n async call(url: string, data: any, config?: AxiosRequestConfig): Promise<FunctionCallResponse> {\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers\n }\n\n let res\n try {\n res = await this.instance.post(url, data, { ...config, headers })\n } catch (error) {\n if (error instanceof Error) {\n return { res: null, error }\n }\n }\n\n if (!res) {\n return {\n res: null,\n error: new Error('Unable to make post request to funtion')\n }\n }\n\n return { res, error: null }\n }\n\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): { Authorization: string } | undefined {\n if (!this.accessToken) {\n return\n }\n\n // eslint-disable-next-line consistent-return\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n}\n", "import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\n\nimport { GraphqlRequestResponse, GraphqlResponse } from '../types'\n\nexport interface NhostGraphqlConstructorParams {\n url: string\n}\n\nexport class NhostGraphqlClient {\n private url: string\n private instance: AxiosInstance\n private accessToken: string | null\n\n constructor(params: NhostGraphqlConstructorParams) {\n const { url } = params\n\n this.url = url\n this.accessToken = null\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n async request(\n document: string,\n variables?: any,\n config?: AxiosRequestConfig\n ): Promise<GraphqlRequestResponse> {\n // add auth headers if any\n const headers = {\n ...config?.headers,\n ...this.generateAccessTokenHeaders()\n }\n\n const operationName = ''\n\n let responseData\n try {\n const res = await this.instance.post(\n '',\n {\n operationName: operationName || undefined,\n query: document,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n variables\n },\n { ...config, headers }\n )\n\n responseData = res.data\n } catch (error) {\n if (error instanceof Error) {\n return { data: null, error }\n }\n console.error(error)\n return {\n data: null,\n error: new Error('Unable to get do GraphQL request')\n }\n }\n\n if (typeof responseData !== 'object' || Array.isArray(responseData) || responseData === null) {\n return {\n data: null,\n error: new Error('incorrect response data from GraphQL server')\n }\n }\n\n responseData = responseData as GraphqlResponse\n\n if (responseData.errors) {\n return {\n data: null,\n error: responseData.errors\n }\n }\n\n return { data: responseData.data, error: null }\n }\n\n getUrl(): string {\n return this.url\n }\n\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders() {\n if (!this.accessToken) {\n return\n }\n\n // eslint-disable-next-line consistent-return\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }