UNPKG

@xylabs/threads

Version:

Web workers & worker threads as simple as a function call

22 lines (19 loc) 1.13 kB
interface Serializer<Msg = JsonSerializable, Input = any> { deserialize(message: Msg): Input; serialize(input: Input): Msg; } interface SerializerImplementation<Msg = JsonSerializable, Input = any> { deserialize(message: Msg, defaultDeserialize: (msg: Msg) => Input): Input; serialize(input: Input, defaultSerialize: (inp: Input) => Msg): Msg; } type JsonSerializablePrimitive = string | number | boolean | null; type JsonSerializableObject = { [key: string]: JsonSerializablePrimitive | JsonSerializablePrimitive[] | JsonSerializableObject | JsonSerializableObject[] | undefined; }; type JsonSerializable = JsonSerializablePrimitive | JsonSerializablePrimitive[] | JsonSerializableObject | JsonSerializableObject[]; declare const DefaultSerializer: Serializer<JsonSerializable>; declare global { var registeredSerializer: Serializer<JsonSerializable>; } declare function registerSerializer(serializer: SerializerImplementation<JsonSerializable>): void; export { DefaultSerializer as D, type JsonSerializable as J, type Serializer as S, type SerializerImplementation as a, registerSerializer as r };