import { Deserialize } from './de' import { Serialize } from './ser' export class Registry { serializers: Map> = new Map() deserializers: Map> = new Map() registerSerializer(ctor: Function, serialize: Serialize) { this.serializers.set(ctor, serialize) } registerDeserializer(ctor: Function, deserialize: Deserialize) { this.deserializers.set(ctor, deserialize) } } export const GlobalRegistry = new Registry() export const registerSerializer = GlobalRegistry.registerSerializer.bind(GlobalRegistry) export const registerDeserializer = GlobalRegistry.registerDeserializer.bind(GlobalRegistry)