@datadog/mobile-react-native
Version:
A client-side React Native module to interact with Datadog
29 lines • 1.52 kB
TypeScript
import type { Bundle, DatadogDebugIdModule, DatadogMetroSerializer, MetroSerializer, MixedOutput, Module, ReadOnlyGraph } from './types/metroTypes';
/**
* Creates a Metro serializer that adds a Debug ID module to the bundle.
* This module injects the Debug ID at runtime, making it globally accessible.
*
* @param customSerializer - Optional custom {@link MetroSerializer}. If provided, you are responsible
* for invoking `options.datadogBundleCallback` within it.
*/
export declare const createDatadogMetroSerializer: (customSerializer?: MetroSerializer) => DatadogMetroSerializer;
/**
* Creates a Metro Bundle Serializer like metro does by default, while also calling the datadogBundleCallback.
* https://github.com/facebook/metro/blob/a3d021a0d021b5706372059f472715c63019e044/packages/metro/src/Server.js#L272-L307
*/
export declare const createDefaultMetroSerializer: () => MetroSerializer;
/**
* Creates a callback used to transform the given bundle by injecting the Debug ID snippet.
* @param debugIdModule - The virtual Debug ID module
* @returns The bundle callback
*/
export declare const createDatadogBundleCallback: (debugIdModule: DatadogDebugIdModule) => (bundle: Bundle) => Bundle;
/**
* Adds Debug ID module for runtime injection, used for Expo.
*/
export declare function unstable_beforeAssetSerializationPlugin({ premodules, debugId }: {
graph: ReadOnlyGraph<MixedOutput>;
premodules: Module[];
debugId?: string;
}): Module[];
//# sourceMappingURL=metroSerializer.d.ts.map