UNPKG

flexbuf

Version:
34 lines (33 loc) 1.34 kB
import { Uint } from "low-level"; import type { AnyObj } from "./types.js"; import { DataEncoder } from "./encoders.js"; export declare class ObjectEncoding { static encode(object: AnyObj, keyConfigs: readonly DataEncoder[], forHash: boolean): ObjectEncoding.EncodeResult; static decode(hexData: Uint, keyConfigs: readonly DataEncoder[], returnLength?: false): ObjectEncoding.DecodeResult<ObjectEncoding.DecodeResult.Default>; static decode(hexData: Uint, keyConfigs: readonly DataEncoder[], returnLength: true): ObjectEncoding.DecodeResult<ObjectEncoding.DecodeResult.WithLength>; static decode(hexData: Uint, keyConfigs: readonly DataEncoder[], returnLength: boolean): ObjectEncoding.DecodeResult<ObjectEncoding.DecodeResult.Unknown>; } export declare namespace ObjectEncoding { interface EncodeResult { data: Uint; err?: Error; } namespace DecodeResult { interface Err { err: Error; data: undefined; length: undefined; } interface Default { data: AnyObj; err: undefined; } interface WithLength extends Default { length: number; } interface Unknown extends Default { length?: number; } } type DecodeResult<T> = T | DecodeResult.Err; }