UNPKG

@optimizely/optimizely-sdk

Version:

JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts

59 lines (58 loc) 2.57 kB
/** * 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 {};