UNPKG

cesr

Version:

[![NPM Version](https://img.shields.io/npm/v/cesr.svg?style=flat)](https://www.npmjs.com/package/cesr) [![NPM License](https://img.shields.io/npm/l/cesr.svg?style=flat)](https://github.com/lenkan/cesr-js/blob/main/LICENSE)

135 lines (134 loc) 4.68 kB
import type { DataObject } from "./data-type.ts"; export interface CounterInit { code: string; count: number; } export interface Counter extends CounterInit { text: string; } export interface GenusInit { major: number; minor?: number; } export interface Genus extends GenusInit { minor: number; } export interface IndexerInit { code: string; raw?: Uint8Array; index?: number; ondex?: number; } export interface Indexer extends IndexerInit { text: string; } export interface MatterInit { code: string; soft?: string; raw: Uint8Array; } export interface Matter extends MatterInit { code: string; text: string; } export interface MessageVersionInit { protocol?: string; major?: number; minor?: number; size?: number; /** * The serialization kind */ kind?: string; /** * Use the legacy version string format */ legacy?: boolean; } export type MessageVersion = Required<MessageVersionInit>; export type MatterDigest = "blake3_256" | "blake3_512"; export type MatterSignature = "ed25519" | "secp256k1"; export interface FrameData { code: string; raw?: Uint8Array; count?: number; index?: number; ondex?: number; text?: string; } export interface CodeSize { hs: number; fs: number; ss: number; os?: number; ls?: number; xs?: number; } export interface ParsingContext { code: string; version?: number; } /** * The result of decoding a stream. The frame property will * be null if there is not enough data to decode a frame. * * The n property indicates the number of bytes consumed */ export interface DecodeStreamResult { /** * The decoded frame. This will be null if there is not enough data in the input */ frame: Required<FrameData> | null; /** * The number of bytes consumed from the input */ n: number; } export declare function encode(frame: FrameData, size: CodeSize): string; export declare function encodeIndexedSignature(alg: MatterSignature, raw: Uint8Array, index: number): string; export declare function encodeMatter(raw: MatterInit): string; export declare function encodeMap(data: DataObject): string; export declare function encodeDate(date: Date): string; export declare function encodeTag(tag: string): string; export declare function encodeString(txt: string): string; export declare function encodeInt(value: number): string; export declare function encodeNumber(value: number): string; export declare function encodeSignature(alg: MatterSignature, raw: Uint8Array): string; export declare function encodeDigest(alg: MatterDigest, raw: Uint8Array): string; export declare function encodeGenus(genus: GenusInit): string; export declare function encodeCounter(raw: CounterInit): string; export declare function encodeAttachmentsV1(count: number): string; export declare function encodeAttachmentsV2(count: number): string; export declare function encodeIndexer(frame: IndexerInit): string; export declare function encodeVersionString(init: MessageVersionInit): string; export declare function encodeMessage<T extends DataObject>(body: T, init?: MessageVersionInit): string; export declare function decode(input: string | Uint8Array, context?: ParsingContext): Required<FrameData>; export declare function decodeStream(input: string | Uint8Array, context?: ParsingContext): DecodeStreamResult; export declare function decodeGenus(input: string): Genus; export declare function decodeMatter(input: string | Uint8Array): Matter; export declare function decodeCounter(input: string | Uint8Array): Counter; export declare function decodeVersionString(input: string | Uint8Array): Required<MessageVersionInit>; export declare const encoding: { encode: typeof encode; encodeIndexedSignature: typeof encodeIndexedSignature; encodeMap: typeof encodeMap; encodeMatter: typeof encodeMatter; encodeDate: typeof encodeDate; encodeString: typeof encodeString; encodeNumber: typeof encodeNumber; encodeSignature: typeof encodeSignature; encodeDigest: typeof encodeDigest; encodeGenus: typeof encodeGenus; encodeCounter: typeof encodeCounter; encodeAttachmentsV1: typeof encodeAttachmentsV1; encodeAttachmentsV2: typeof encodeAttachmentsV2; encodeIndexer: typeof encodeIndexer; encodeVersionString: typeof encodeVersionString; encodeMessage: typeof encodeMessage; decode: typeof decode; decodeStream: typeof decodeStream; decodeGenus: typeof decodeGenus; decodeMatter: typeof decodeMatter; decodeCounter: typeof decodeCounter; decodeVersionString: typeof decodeVersionString; };