UNPKG

@syntropylog/adapters

Version:
52 lines (50 loc) 1.55 kB
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>; } interface SerializationStep { name: string; execute(data: any, context: SerializationContext): Promise<any>; } interface SerializationPipeline { steps: SerializationStep[]; addStep(step: SerializationStep): void; execute(data: any, context: SerializationContext): Promise<SerializationResult>; } interface TimeoutStrategy { name: string; calculateTimeout(data: any, context: SerializationContext): number; } interface SerializationMetrics { totalSerializations: number; successfulSerializations: number; failedSerializations: number; averageDuration: number; totalDuration: number; serializerStats: Record<string, { count: number; averageDuration: number; totalDuration: number; }>; } export type { ISerializer, SerializationContext, SerializationMetrics, SerializationPipeline, SerializationResult, SerializationStep, TimeoutStrategy };