UNPKG

558 BPlain TextView Raw
1import type { Serialization } from 'async-call-rpc'
2import type { serialize as S, deserialize as D } from 'bson'
3export const BSON_Serialization = ({
4 deserialize,
5 serialize,
6}: {
7 serialize: typeof S
8 deserialize: typeof D
9}): Serialization => ({
10 async deserialization(data: unknown) {
11 if (data instanceof Blob) data = await data.arrayBuffer()
12 if (data instanceof ArrayBuffer) data = new Uint8Array(data)
13 return deserialize(data as any)
14 },
15 serialization(data: any) {
16 return serialize(data)
17 },
18})