@syntropylog/adapters
Version:
External adapters for SyntropyLog framework
53 lines • 1.5 kB
TypeScript
import { ISerializer, SerializationContext, SerializationResult } from '../../types';
export interface MongoDBQueryData {
collection?: string;
operation?: string;
filter?: any;
projection?: any;
sort?: any;
limit?: number;
skip?: number;
update?: any;
options?: any;
duration?: number;
documentsAffected?: number;
documentsReturned?: number;
}
export interface MongoDBAggregationData {
collection?: string;
pipeline?: any[];
options?: any;
duration?: number;
documentsReturned?: number;
stages?: string[];
}
export interface MongoDBErrorData {
code?: number;
codeName?: string;
message: string;
stack?: string;
operation?: string;
collection?: string;
filter?: any;
pipeline?: any[];
writeErrors?: any[];
writeConcernErrors?: any[];
}
export declare class MongoDBSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isMongoDBQuery;
private isMongoDBAggregation;
private isMongoDBError;
private assessQueryComplexity;
private assessAggregationComplexity;
private serializeQuery;
private serializeAggregation;
private serializeError;
private sanitizePipeline;
private sanitizeObject;
}
//# sourceMappingURL=MongoDBSerializer.d.ts.map