@syntropylog/adapters
Version:
External adapters for SyntropyLog framework
152 lines (142 loc) • 5.06 kB
TypeScript
interface SerializationContext {
sanitize?: boolean;
sensitiveFields?: string[];
maxDepth?: number;
timeout?: number;
}
interface SerializationResult {
success: boolean;
data?: any;
error?: string;
metadata: {
serializer: string;
complexity: 'low' | 'medium' | 'high';
duration: number;
timestamp: string;
};
}
interface ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
}
declare class PrismaSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isPrismaQuery;
private isPrismaError;
private isPrismaClient;
private assessQueryComplexity;
private serializeQuery;
private serializeError;
private serializeClient;
}
declare class TypeORMSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isTypeORMQuery;
private isTypeORMError;
private isTypeORMEntity;
private isTypeORMRepository;
private isTypeORMConnection;
private assessQueryComplexity;
private assessEntityComplexity;
private serializeQuery;
private serializeError;
private serializeEntity;
private serializeRepository;
private serializeConnection;
}
declare class MySQLSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isMySQLQuery;
private isMySQLError;
private isMySQLConnection;
private isMySQLPool;
private assessQueryComplexity;
private serializeQuery;
private serializeError;
private serializeConnection;
private serializePool;
}
declare class PostgreSQLSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isPostgreSQLQuery;
private isPostgreSQLError;
private isPostgreSQLClient;
private isPostgreSQLPool;
private assessQueryComplexity;
private serializeQuery;
private serializeError;
private serializeClient;
private serializePool;
}
declare class SQLServerSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isSQLServerQuery;
private isSQLServerError;
private isSQLServerConnection;
private isSQLServerPool;
private assessQueryComplexity;
private serializeQuery;
private serializeError;
private serializeConnection;
private serializePool;
}
declare class OracleSerializer implements ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
private isOracleQuery;
private isOracleError;
private isOracleConnection;
private isOraclePool;
private assessQueryComplexity;
private serializeQuery;
private serializeError;
private serializeConnection;
private serializePool;
}
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;
}
declare function registerAllSerializers(manager: any): void;
declare function getAllSerializers(): (PrismaSerializer | TypeORMSerializer | MySQLSerializer | PostgreSQLSerializer | SQLServerSerializer | OracleSerializer | MongoDBSerializer)[];
export { MongoDBSerializer, MySQLSerializer, OracleSerializer, PostgreSQLSerializer, PrismaSerializer, SQLServerSerializer, TypeORMSerializer, getAllSerializers, registerAllSerializers };
export type { ISerializer, SerializationContext, SerializationResult };