{"version":3,"file":"Serializer.mjs","sources":["../../../../src/serializer/Serializer.ts"],"sourcesContent":["export interface Serializer<State> {\n    setState(data: any): void;\n    getState(): State;\n\n    patch(data: any): void;\n    teardown(): void;\n\n    handshake?(bytes: number[], it?: any): void;\n}\n\nconst serializers: { [id: string]: any } = {};\n\nexport function registerSerializer (id: string, serializer: any) {\n    serializers[id] = serializer;\n}\n\nexport function getSerializer (id: string) {\n    const serializer = serializers[id];\n    if (!serializer) { throw new Error(\"missing serializer: \" + id); }\n    return serializer;\n}"],"names":[],"mappings":";AAUA,MAAM,WAAW,GAA0B,EAAE,CAAC;AAE9B,SAAA,kBAAkB,CAAE,EAAU,EAAE,UAAe,EAAA;AAC3D,IAAA,WAAW,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;AACjC,CAAC;AAEK,SAAU,aAAa,CAAE,EAAU,EAAA;AACrC,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;AAAE,KAAA;AAClE,IAAA,OAAO,UAAU,CAAC;AACtB;;;;"}