import { Decoder } from "./utils"; import { ExtensionStat as OutputExtensionStats } from "./OutputSamples"; import { ClientSample_ExtensionStat as InputExtensionStats } from "./InputSamples"; import { logger } from "./Logger"; export interface ExtensionStatsDecoder extends Decoder { // no additional methods } export class DefaultExtensionStatsDecoder implements Decoder { public reset(): void { // no-op (maintains same pattern as encoder) } public decode(input: InputExtensionStats): OutputExtensionStats | undefined { if (!input.type) { logger.warn("Invalid extension stats sample: missing type"); return undefined; } return { type: input.type, payload: input.payload, // payload is optional }; } }