UNPKG

@optimizely/optimizely-sdk

Version:

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

59 lines (58 loc) 2.8 kB
/** * Copyright 2024-2025, 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 * * http://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 { Store } from "../utils/cache/store"; import { Maybe } from "../utils/type"; import { BatchEventProcessor, EventWithId } from "./batch_event_processor"; import { EventDispatcher } from "./event_dispatcher/event_dispatcher"; import { EventProcessor } from "./event_processor"; import { Platform } from '../platform_support'; export declare const INVALID_EVENT_DISPATCHER = "Invalid event dispatcher"; export declare const FAILED_EVENT_RETRY_INTERVAL: number; export declare const getPrefixEventStore: (store: Store<string>) => Store<EventWithId>; declare const eventProcessorSymbol: unique symbol; export type OpaqueEventProcessor = { [eventProcessorSymbol]: unknown; }; export type BatchEventProcessorOptions = { eventDispatcher?: EventDispatcher; closingEventDispatcher?: EventDispatcher; flushInterval?: number; batchSize?: number; storeTtl?: number; eventStore?: Store<string>; maxRetries?: number; }; export type BatchEventProcessorFactoryOptions = Omit<BatchEventProcessorOptions, 'eventDispatcher' | 'eventStore'> & { eventDispatcher: EventDispatcher; closingEventDispatcher?: EventDispatcher; failedEventRetryInterval?: number; defaultFlushInterval: number; defaultBatchSize: number; eventStore?: Store<EventWithId>; retryOptions?: { maxRetries: number; minBackoff?: number; maxBackoff?: number; }; }; export declare const validateEventDispatcher: (eventDispatcher: EventDispatcher) => void; export declare const getBatchEventProcessor: (options: BatchEventProcessorFactoryOptions, EventProcessorConstructor?: typeof BatchEventProcessor) => EventProcessor; export declare const wrapEventProcessor: (eventProcessor: EventProcessor) => OpaqueEventProcessor; export declare const getOpaqueBatchEventProcessor: (options: BatchEventProcessorFactoryOptions, EventProcessorConstructor?: typeof BatchEventProcessor) => OpaqueEventProcessor; export declare const extractEventProcessor: (eventProcessor: Maybe<OpaqueEventProcessor>) => Maybe<EventProcessor>; export declare function getForwardingEventProcessor(dispatcher: EventDispatcher): EventProcessor; export declare const __platforms: Platform[]; export {};