@joeldodge/extension-sdk
Version:
46 lines (45 loc) • 2.8 kB
TypeScript
import { FetchProxyImpl } from './fetch_proxy';
import { ExtensionInitializationResponse, ExtensionHostApi, ExtensionHostApiConfiguration, ExtensionNotification, FetchCustomParameters, FetchResponseBodyType, LookerHostData, ApiVersion } from './types';
export declare const EXTENSION_SDK_VERSION = "0.10.5";
export declare class ExtensionHostApiImpl implements ExtensionHostApi {
private _configuration;
private _lookerHostData?;
private chattyHost;
private setInitialRoute?;
private hostChangedRoute?;
private contextData?;
constructor(configuration: ExtensionHostApiConfiguration);
get lookerHostData(): Readonly<LookerHostData> | undefined;
handleNotification(message?: ExtensionNotification): ExtensionInitializationResponse | undefined;
createSecretKeyTag(keyName: string): string;
verifyHostConnection(): Promise<any>;
invokeCoreSdk(httpMethod: string, path: string, params?: any, body?: any, authenticator?: any, options?: any, apiVersion?: ApiVersion): Promise<any>;
invokeCoreSdkRaw(httpMethod: string, path: string, params?: any, body?: any, apiVersion?: ApiVersion): Promise<any>;
updateTitle(title: string): void;
updateLocation(url: string, state?: any, target?: string): void;
spartanLogout(): void;
openBrowserWindow(url: string, target?: string): void;
closeHostPopovers(): void;
clientRouteChanged(route: string, routeState?: any): void;
localStorageSetItem(name: string, value?: string): Promise<boolean>;
localStorageGetItem(name: string): Promise<string | null>;
localStorageRemoveItem(name: string): Promise<boolean>;
userAttributeSetItem(name: string, value?: string): Promise<boolean>;
userAttributeGetItem(name: string): Promise<string | null>;
userAttributeResetItem(name: string): Promise<void>;
getContextData(): any;
saveContextData(context: any): Promise<any>;
refreshContextData(): Promise<any>;
track(name: string, trackAction: string, attributes?: Record<string, any>): void;
error(errorEvent: ErrorEvent): void;
unloaded(): void;
createFetchProxy(baseUrl?: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): FetchProxyImpl;
fetchProxy(resource: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): Promise<any>;
serverProxy(resource: string, init?: FetchCustomParameters, responseBodyType?: FetchResponseBodyType): Promise<any>;
oauth2Authenticate(authEndpoint: string, authParameters: Record<string, string>, httpMethod?: string): Promise<any>;
oauth2ExchangeCodeForToken(authEndpoint: string, authParameters: Record<string, string>): Promise<any>;
private sendAndReceive;
private send;
private verifyLookerVersion;
private validateAuthParameters;
}