@absmartly/javascript-sdk
Version:
A/B Smartly Javascript SDK
34 lines • 1.71 kB
TypeScript
import Client, { ClientOptions, ClientRequestOptions } from "./client";
import Context, { ContextData, ContextOptions, ContextParams, Exposure, Goal } from "./context";
import { ContextPublisher, PublishParams } from "./publisher";
import { ContextDataProvider } from "./provider";
export type EventLoggerData = Error | Exposure | Goal | ContextData | PublishParams;
export type EventName = "error" | "ready" | "refresh" | "publish" | "exposure" | "goal" | "finalize";
export type EventLogger = (context: Context, eventName: EventName, data?: EventLoggerData) => void;
export type SDKOptions = {
client?: Client;
eventLogger?: EventLogger;
publisher?: ContextPublisher;
provider?: ContextDataProvider;
};
export default class SDK {
static defaultEventLogger: EventLogger;
private _eventLogger;
private _publisher;
private _provider;
private readonly _client;
constructor(options: ClientOptions & SDKOptions);
getContextData(requestOptions: ClientRequestOptions): any;
createContext(params: ContextParams, options?: Partial<ContextOptions>, requestOptions?: Partial<ClientRequestOptions>): Context;
setEventLogger(logger: EventLogger): void;
getEventLogger(): EventLogger;
setContextPublisher(publisher: ContextPublisher): void;
getContextPublisher(): ContextPublisher;
setContextDataProvider(provider: ContextDataProvider): void;
getContextDataProvider(): ContextDataProvider;
getClient(): Client;
createContextWith(params: ContextParams, data: ContextData | Promise<ContextData>, options?: Partial<ContextOptions>): Context;
private static _contextOptions;
private static _validateParams;
}
//# sourceMappingURL=sdk.d.ts.map