obsly-sdk-js-full
Version:
This is the Obsly SDK for javascript...
129 lines (125 loc) • 3.9 kB
TypeScript
declare module "obsly-sdk-js-full" {
export function setUserID(userID: string): void;
export function setPersonID(personID: string): void;
export function setPassportID(passportID: string): void;
export function setContractID(contractID: string): void;
export function setAppName(appName: string): void;
export function setAppVersion(appVersion: string): void;
export type LogLevel = "null" | "error" | "warn" | "log" | "debug";
export function setLogLevel(logLevel: LogLevel): void;
export function startSession(): void;
export function closeCurrentSession(): void;
export function createNewSession(customSessionId: string): void;
export function pauseTracker(): void;
export function resumeTracker(): void;
export function setRequestsBlacklist(blacklist?: string[]): void;
export type Tag = {
key: string;
value: string;
};
export function addTag(tags: Tag[], category: string): Promise<void>;
export function addScreenshot(): void;
export function addObslyTag(tags: Tag[], category: string): Promise<void>;
export function addObslyScreenshot(): void;
export function startTransaction(
name: string,
description?: string,
startNanoTime?: number,
autofinishWithStepsCount?: number
): Promise<void>;
export function endTransaction(
name: string,
updatedDescription?: string
): Promise<void>;
export function startStep(
name: string,
transactionName: string,
description?: string,
startNanoTime?: number
): Promise<void>;
export function finishStep(
name: string,
transactionName: string,
updatedDescription?: string
): Promise<void>;
export type Session = {
sessionID: string;
installationID: string;
};
export function getSessionInfo(): Promise<Session>;
export type Base64String = string;
export function getScreenshot(): Base64String;
export function addFeedback(
rating: string,
message: string,
image?: Base64String
): Promise<void>;
export function setView(name: string): Promise<void>;
export function setFunctionalBlock(name: string): Promise<void>;
export function setOperation(name: string): Promise<void>;
export function activateFullDebug(): Promise<void>;
export function deactivateFullDebug(): Promise<void>;
export function incCounter(
key: string,
fbl: string,
operation: string,
view: string,
state: string
): Promise<void>;
export function setGauge(
key: string,
value: number,
fbl: string,
operation: string,
view: string,
state: string
): Promise<void>;
export function startHistogramTimer(
key: string,
fbl: string,
operation: string,
view: string
): Promise<void>;
export function endHistogramTimer(
key: string,
fbl: string,
operation: string,
view: string,
state: string
): Promise<void>;
export interface RageClickConfig {
active?: boolean;
screenshot?: boolean;
screenshotPercent?: number;
}
export interface ObslyConfig {
enableCrashes?: boolean;
enableLifeCycleLog?: boolean;
enableRequestLog?: boolean;
enableTagger?: boolean;
enablePerformance?: boolean;
enableUI?: boolean;
hostBlacklist?: string[] | null;
hostBodyWhitelist?: string[] | null;
requestHeadersWhitelist?: string[] | null;
automaticViewDetection?: boolean;
rageClick?: RageClickConfig;
sessionMaxLengthMins?: number;
keepSessionOnRefresh?: boolean;
enableScreenshotOnUi?: boolean;
captureConsole?: boolean;
}
export interface InitParameters {
ObslyKey: string;
instanceURL: string;
remoteConfigURL?: string;
proEnv?: boolean;
appVersion?: string;
appName?: string;
logLevel?: LogLevel;
config?: ObslyConfig;
debugMode?: boolean;
sessionID?: string;
}
export function init(parameters: InitParameters): Promise<void>;
}