@embrace-io/react-native-navigation
Version:
A React Native wrapper for the OTel Navigation instrumentation library that creates telemetry data representing Navigation changes
19 lines (18 loc) • 778 B
TypeScript
import { EventsRegistry } from "react-native-navigation";
import { ReactNode } from "react";
import { EventConsumer, EventMapBase, Route } from "@react-navigation/native";
import { Attributes, TracerOptions, TracerProvider } from "@opentelemetry/api";
export type INativeNavigationContainer = Pick<EventsRegistry, "registerComponentDidDisappearListener" | "registerComponentDidAppearListener">;
export type INavigationContainer = Pick<EventConsumer<EventMapBase>, "addListener"> & {
getCurrentRoute: () => Route<string> | undefined;
};
export interface TrackerConfig {
attributes?: Attributes;
tracerOptions?: TracerOptions;
debug?: boolean;
}
export interface TrackerProps {
children: ReactNode;
provider?: TracerProvider;
config?: TrackerConfig;
}