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 | 19x 19x 446x 446x 3x 2x 1x 1x 3x | import { createContext, contextDes, contextSer } from "./context"; import { Des, SerDes, Ser } from "./types"; export function define<T>(ser: Ser<T>, des: Des<T>): SerDes<T> { const ctx = createContext(); return { ser, des, toBytes(data) { contextSer(ctx, ser, data); return ctx.bytes.slice(0, ctx.i); }, toTempBytes(data) { contextSer(ctx, ser, data); return ctx.bytes.subarray(0, ctx.i); }, fromBytes(buf: Uint8Array) { return contextDes(ctx, des, buf); } }; } |