mirror of
https://github.com/apache/superset.git
synced 2024-09-19 20:19:37 -04:00
feat(connection): allow developer to get supersetclient instance (#552)
This commit is contained in:
parent
bdb0f50874
commit
0a48d6e774
@ -3,12 +3,12 @@ import { ClientConfig, RequestConfig, SupersetClientInterface } from './types';
|
|||||||
|
|
||||||
let singletonClient: SupersetClientClass | undefined;
|
let singletonClient: SupersetClientClass | undefined;
|
||||||
|
|
||||||
function getInstance(maybeClient: SupersetClientClass | undefined): SupersetClientClass {
|
function getInstance(): SupersetClientClass {
|
||||||
if (!maybeClient) {
|
if (!singletonClient) {
|
||||||
throw new Error('You must call SupersetClient.configure(...) before calling other methods');
|
throw new Error('You must call SupersetClient.configure(...) before calling other methods');
|
||||||
}
|
}
|
||||||
|
|
||||||
return maybeClient;
|
return singletonClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
const SupersetClient: SupersetClientInterface = {
|
const SupersetClient: SupersetClientInterface = {
|
||||||
@ -17,15 +17,15 @@ const SupersetClient: SupersetClientInterface = {
|
|||||||
|
|
||||||
return singletonClient;
|
return singletonClient;
|
||||||
},
|
},
|
||||||
delete: (request: RequestConfig) => getInstance(singletonClient).delete(request),
|
delete: (request: RequestConfig) => getInstance().delete(request),
|
||||||
get: (request: RequestConfig) => getInstance(singletonClient).get(request),
|
get: (request: RequestConfig) => getInstance().get(request),
|
||||||
getInstance,
|
getInstance,
|
||||||
init: (force?: boolean) => getInstance(singletonClient).init(force),
|
init: (force?: boolean) => getInstance().init(force),
|
||||||
isAuthenticated: () => getInstance(singletonClient).isAuthenticated(),
|
isAuthenticated: () => getInstance().isAuthenticated(),
|
||||||
post: (request: RequestConfig) => getInstance(singletonClient).post(request),
|
post: (request: RequestConfig) => getInstance().post(request),
|
||||||
put: (request: RequestConfig) => getInstance(singletonClient).put(request),
|
put: (request: RequestConfig) => getInstance().put(request),
|
||||||
reAuthenticate: () => getInstance(singletonClient).init(/* force = */ true),
|
reAuthenticate: () => getInstance().init(/* force = */ true),
|
||||||
request: (request: RequestConfig) => getInstance(singletonClient).request(request),
|
request: (request: RequestConfig) => getInstance().request(request),
|
||||||
reset: () => {
|
reset: () => {
|
||||||
singletonClient = undefined;
|
singletonClient = undefined;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user