UNPKG

@fedify/redis

Version:

Redis drivers for Fedify

51 lines (50 loc) 1.42 kB
import { Temporal } from "@js-temporal/polyfill"; import { Buffer } from "node:buffer"; //#region src/codec.d.ts /** * Encode and decodes JavaScript objects to and from binary data. */ interface Codec { /** * Encodes a JavaScript object to binary data. * @param value The JavaScript object to encode. * @returns The encoded binary data. * @throws {EncodingError} If the JavaScript object cannot be encoded. */ encode(value: unknown): Buffer; /** * Decodes a JavaScript object from binary data. * @param encoded The binary data to decode. * @returns The decoded JavaScript object. * @throws {DecodingError} If the binary data is invalid. */ decode(encoded: Buffer): unknown; } /** * An error that occurs when encoding or decoding data. */ declare class CodecError extends Error { constructor(message: string); } /** * An error that occurs when encoding data. */ declare class EncodingError extends CodecError { constructor(message: string); } /** * An error that occurs when decoding data. */ declare class DecodingError extends CodecError { constructor(message: string); } /** * A codec that encodes and decodes JavaScript objects to and from JSON. */ declare class JsonCodec implements Codec { #private; encode(value: unknown): Buffer; decode(encoded: Buffer): unknown; } //#endregion export { Codec, CodecError, DecodingError, EncodingError, JsonCodec };