@segment/analytics-react-native
Version:
The hassle-free way to add Segment analytics to your React-Native app.
40 lines • 1.46 kB
TypeScript
import { DestinationPlugin } from '../plugin';
import { PluginType, SegmentAPISettings, SegmentEvent, UpdateType } from '../types';
import type { SegmentClient } from '../analytics';
export declare const SEGMENT_DESTINATION_KEY = "Segment.io";
export declare class SegmentDestination extends DestinationPlugin {
type: PluginType;
key: string;
private apiHost?;
private httpConfig?;
private settingsResolve;
private settingsPromise;
private retryManager?;
constructor();
private getRateLimitConfig;
private getBackoffConfig;
private classifyBatchResult;
private uploadBatch;
private reportDroppedEvents;
private aggregateErrors;
/**
* Drop events whose _queuedAt exceeds maxTotalBackoffDuration.
* Returns the remaining fresh events.
*/
private pruneExpiredEvents;
/**
* Update retry state based on aggregated batch results.
* 429 takes precedence over transient errors.
* Returns true if retry limits were exceeded (caller should drop events).
*/
private updateRetryState;
private processUploadResults;
private sendEvents;
private readonly queuePlugin;
private getEndpoint;
configure(analytics: SegmentClient): void;
update(settings: SegmentAPISettings, _type: UpdateType): void;
execute(event: SegmentEvent): Promise<SegmentEvent | undefined>;
flush(): Promise<void>;
}
//# sourceMappingURL=SegmentDestination.d.ts.map