@datadog/browser-logs
Version:
20 lines (19 loc) • 1.11 kB
TypeScript
import type { DISCARDED, HookNamesAsConst, RecursivePartial, RelativeTime, SKIPPED, TelemetryEvent } from '@datadog/browser-core';
import type { LogsEvent } from '../logsEvent.types';
export type DefaultLogsEventAttributes = RecursivePartial<LogsEvent>;
export type DefaultTelemetryEventAttributes = RecursivePartial<TelemetryEvent>;
export interface HookCallbackMap {
[HookNamesAsConst.ASSEMBLE]: (param: {
startTime: RelativeTime;
}) => DefaultLogsEventAttributes | SKIPPED | DISCARDED;
[HookNamesAsConst.ASSEMBLE_TELEMETRY]: (param: {
startTime: RelativeTime;
}) => DefaultTelemetryEventAttributes | SKIPPED | DISCARDED;
}
export type Hooks = ReturnType<typeof createHooks>;
export declare const createHooks: () => {
register<K extends import("@datadog/browser-core").HookNames>(hookName: K, callback: HookCallbackMap[K]): {
unregister: () => void;
};
triggerHook<K extends import("@datadog/browser-core").HookNames>(hookName: K, param: Parameters<HookCallbackMap[K]>[0]): "DISCARDED" | Exclude<ReturnType<HookCallbackMap[K]>, "SKIPPED"> | undefined;
};