mongoose-query-logger
Version:
    • 1.64 kB
TypeScript
export declare type $FIXME = any;
export declare type QueryPlanner = any;
declare class NativeError extends global.Error {
}
declare type ValuesOf<T extends readonly any[]> = T[number];
export interface QueryHook<T extends Document = $FIXME> {
(this: T, next: (err?: NativeError) => void): void;
}
export interface QueryLoggerArgs {
operation: string;
collectionName: string;
executionTimeMS: number;
filter: Object | null;
fields: Object | null;
options: any;
update: Object | null;
additionalLogProperties: any;
}
export declare type QueryLogger = (args: QueryLoggerArgs) => void;
export interface ExplainLoggerArgs {
queryPlanners: QueryPlanner[];
}
export declare type ExplainLogger = (result: ExplainLoggerArgs) => void;
export declare const TARGET_METHODS: string[];
export declare type TargetMethod = ValuesOf<typeof TARGET_METHODS>;
export declare const QUERY_MIDDLEWARE: string[];
export declare type QueryMiddleware = ValuesOf<typeof QUERY_MIDDLEWARE>;
export declare const AGGREGATE_MIDDLEWARE: string[];
export declare type AggregateMiddleware = 'aggregate';
export declare const COUNT_MIDDLEWARE: string[];
export declare type CountMiddleware = ValuesOf<typeof COUNT_MIDDLEWARE>;
export declare const EXPLAIN_METHODS: string[];
export declare type ExplainMethod = ValuesOf<typeof EXPLAIN_METHODS>;
export interface QueryLoggerOptions {
queryLogger: QueryLogger;
explainLogger: ExplainLogger;
explain: boolean;
explainMethods: ExplainMethod[];
targetMethods: TargetMethod[];
additionalLogProperties: boolean;
}
export {};