@syntropylog/adapters
Version:
External adapters for SyntropyLog framework
50 lines • 1.48 kB
TypeScript
export interface SerializationContext {
sanitize?: boolean;
sensitiveFields?: string[];
maxDepth?: number;
timeout?: number;
}
export interface SerializationResult {
success: boolean;
data?: any;
error?: string;
metadata: {
serializer: string;
complexity: 'low' | 'medium' | 'high';
duration: number;
timestamp: string;
};
}
export interface ISerializer {
name: string;
priority: number;
canSerialize(data: any): boolean;
getComplexity(data: any): 'low' | 'medium' | 'high';
serialize(data: any, context: SerializationContext): Promise<SerializationResult>;
}
export interface SerializationStep {
name: string;
execute(data: any, context: SerializationContext): Promise<any>;
}
export interface SerializationPipeline {
steps: SerializationStep[];
addStep(step: SerializationStep): void;
execute(data: any, context: SerializationContext): Promise<SerializationResult>;
}
export interface TimeoutStrategy {
name: string;
calculateTimeout(data: any, context: SerializationContext): number;
}
export interface SerializationMetrics {
totalSerializations: number;
successfulSerializations: number;
failedSerializations: number;
averageDuration: number;
totalDuration: number;
serializerStats: Record<string, {
count: number;
averageDuration: number;
totalDuration: number;
}>;
}
//# sourceMappingURL=types.d.ts.map