@optimizely/optimizely-sdk
Version:
JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts
59 lines (58 loc) • 2.57 kB
TypeScript
/**
* Copyright 2024-2026, Optimizely
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestHandler } from "../shared_types";
import { Cache } from "../utils/cache/cache";
import { Maybe } from "../utils/type";
import { EventRequestGenerator } from "./event_manager/odp_event_api_manager";
import { OdpManager } from "./odp_manager";
import { UserAgentParser } from "./ua_parser/user_agent_parser";
import { Platform } from '../platform_support';
export declare const DEFAULT_CACHE_SIZE = 10000;
export declare const DEFAULT_CACHE_TIMEOUT = 600000;
export declare const DEFAULT_EVENT_BATCH_SIZE = 100;
export declare const DEFAULT_EVENT_FLUSH_INTERVAL = 10000;
export declare const DEFAULT_EVENT_MAX_RETRIES = 2;
export declare const DEFAULT_EVENT_MIN_BACKOFF = 200;
export declare const DEFAULT_EVENT_MAX_BACKOFF = 1000;
export declare const INVALID_CACHE = "Invalid cache";
export declare const INVALID_CACHE_METHOD = "Invalid cache method %s";
declare const odpManagerSymbol: unique symbol;
export type OpaqueOdpManager = {
[odpManagerSymbol]: unknown;
};
export type OdpManagerOptions = {
segmentsCache?: Cache<string[]>;
segmentsCacheSize?: number;
segmentsCacheTimeout?: number;
segmentsApiTimeout?: number;
eventFlushInterval?: number;
eventBatchSize?: number;
eventApiTimeout?: number;
userAgentParser?: UserAgentParser;
};
export type OdpManagerFactoryOptions = Omit<OdpManagerOptions, 'segmentsApiTimeout' | 'eventApiTimeout'> & {
segmentRequestHandler: RequestHandler;
eventRequestHandler: RequestHandler;
eventRequestGenerator: EventRequestGenerator;
eventMaxRetries?: number;
eventMinBackoff?: number;
eventMaxBackoff?: number;
};
export declare const getOdpManager: (options: OdpManagerFactoryOptions) => OdpManager;
export declare const getOpaqueOdpManager: (options: OdpManagerFactoryOptions) => OpaqueOdpManager;
export declare const extractOdpManager: (manager: Maybe<OpaqueOdpManager>) => Maybe<OdpManager>;
export declare const __platforms: Platform[];
export {};