UNPKG

mongoose-query-logger

Version:

![CI](https://github.com/marcosfede/mongoose-query-logger/workflows/CI/badge.svg) ![npm version](https://badgen.net/npm/v/mongoose-query-logger) ![types](https://badgen.net/npm/types/mongoose-query-logger) ![license](https://badgen.net/npm/license/mongoos

43 lines (42 loc) 1.64 kB
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 {};