@datadog/mobile-react-native
Version:
A client-side React Native module to interact with Datadog
27 lines (21 loc) • 877 B
text/typescript
/*
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2016-Present Datadog, Inc.
*/
import { BoundedBuffer } from './BoundedBuffer';
import type { DatadogBuffer } from './DatadogBuffer';
import { PassThroughBuffer } from './PassThroughBuffer';
export class BufferSingleton {
private static bufferInstance: DatadogBuffer = new BoundedBuffer();
static getInstance = (): DatadogBuffer => {
return BufferSingleton.bufferInstance;
};
static onInitialization = () => {
BufferSingleton.bufferInstance.drain();
BufferSingleton.bufferInstance = new PassThroughBuffer();
};
static reset = () => {
BufferSingleton.bufferInstance = new BoundedBuffer();
};
}