UNPKG

@mcdevsl/superset-ui

Version:
33 lines (28 loc) 1.07 kB
import SupersetClientClass from './SupersetClientClass'; import { SupersetClientInterface } from './types'; let singletonClient: SupersetClientClass | undefined; function getInstance(): SupersetClientClass { if (!singletonClient) { throw new Error('You must call SupersetClient.configure(...) before calling other methods'); } return singletonClient; } const SupersetClient: SupersetClientInterface = { configure: config => { singletonClient = new SupersetClientClass(config); return singletonClient; }, reset: () => { singletonClient = undefined; }, getInstance, delete: request => getInstance().delete(request), get: request => getInstance().get(request), init: force => getInstance().init(force), isAuthenticated: () => getInstance().isAuthenticated(), post: request => getInstance().post(request), put: request => getInstance().put(request), reAuthenticate: () => getInstance().reAuthenticate(), request: request => getInstance().request(request), }; export default SupersetClient;