@kameleoon/javascript-sdk-core
Version:
Kameleoon JS SDK Core
29 lines (28 loc) • 1.57 kB
TypeScript
import { Result } from 'ts-res';
import { KameleoonError } from '../kameleoonError';
import { JSONType } from '../clientConfiguration';
import { RequesterParamsType, GetVisitorDataResultType, GetVisitorDataParamsType } from './types';
import { ResultConfigurationDataType } from '../clientConfiguration/types';
export interface IRequester {
getClientConfiguration: () => Promise<Result<ResultConfigurationDataType, KameleoonError>>;
getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;
track: (body: string, isBodyUserAgent: boolean) => Promise<Result<void, void>>;
}
export declare class Requester implements IRequester {
private externalRequester;
private urlProvider;
private packageInfo;
private trackRetryDelay;
private useAbortController;
private timeout;
constructor({ urlProvider, packageInfo, externalRequester, requestTimeout, trackRetryDelay, useAbortController, }: RequesterParamsType);
getClientConfiguration(timeStamp?: number, modifiedSince?: string): Promise<Result<ResultConfigurationDataType, KameleoonError>>;
getRemoteData(key: string): Promise<Result<JSONType, KameleoonError>>;
getVisitorData({ visitorCode, filters, isMappingIdentifier, }: GetVisitorDataParamsType): Promise<Result<GetVisitorDataResultType, KameleoonError>>;
track(body: string, isBodyUserAgent: boolean): Promise<Result<void, void>>;
private sendRequest;
private logRequestError;
private parseResponse;
private getLastModifiedHeader;
private logReceivedConfigurationResponse;
}