Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 19x 19x 12x 12x 2x 1x 1x 1x 2x | import { asyncContextSer, contextFromBytes, createContext } from "./context"; import { AsyncDes, AsyncSer, AsyncSerDes } from "./types"; export function asyncDefine<T>( ser: AsyncSer<T>, des: AsyncDes<T> ): AsyncSerDes<T> { const ctx = createContext(); return { ser, des, async toBytes(data) { await asyncContextSer(ctx, ser, data); return ctx.bytes.slice(0, ctx.i); }, async toTempBytes(data) { await asyncContextSer(ctx, ser, data); return ctx.bytes.subarray(0, ctx.i); }, fromBytes(buf: Uint8Array) { return des(contextFromBytes(buf)); } }; } |