Skip to content
This repository has been archived by the owner on Dec 10, 2021. It is now read-only.

Commit

Permalink
feat(connection): allow developer to get supersetclient instance (#552)
Browse files Browse the repository at this point in the history
  • Loading branch information
kristw committed May 30, 2020
1 parent bbc42c2 commit c075070
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions packages/superset-ui-connection/src/SupersetClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { ClientConfig, RequestConfig, SupersetClientInterface } from './types';

let singletonClient: SupersetClientClass | undefined;

function getInstance(maybeClient: SupersetClientClass | undefined): SupersetClientClass {
if (!maybeClient) {
function getInstance(): SupersetClientClass {
if (!singletonClient) {
throw new Error('You must call SupersetClient.configure(...) before calling other methods');
}

return maybeClient;
return singletonClient;
}

const SupersetClient: SupersetClientInterface = {
Expand All @@ -17,15 +17,15 @@ const SupersetClient: SupersetClientInterface = {

return singletonClient;
},
delete: (request: RequestConfig) => getInstance(singletonClient).delete(request),
get: (request: RequestConfig) => getInstance(singletonClient).get(request),
delete: (request: RequestConfig) => getInstance().delete(request),
get: (request: RequestConfig) => getInstance().get(request),
getInstance,
init: (force?: boolean) => getInstance(singletonClient).init(force),
isAuthenticated: () => getInstance(singletonClient).isAuthenticated(),
post: (request: RequestConfig) => getInstance(singletonClient).post(request),
put: (request: RequestConfig) => getInstance(singletonClient).put(request),
reAuthenticate: () => getInstance(singletonClient).init(/* force = */ true),
request: (request: RequestConfig) => getInstance(singletonClient).request(request),
init: (force?: boolean) => getInstance().init(force),
isAuthenticated: () => getInstance().isAuthenticated(),
post: (request: RequestConfig) => getInstance().post(request),
put: (request: RequestConfig) => getInstance().put(request),
reAuthenticate: () => getInstance().init(/* force = */ true),
request: (request: RequestConfig) => getInstance().request(request),
reset: () => {
singletonClient = undefined;
},
Expand Down

1 comment on commit c075070

@vercel
Copy link

@vercel vercel bot commented on c075070 May 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.