cesr
Version:
[](https://www.npmjs.com/package/cesr) [](https://github.com/lenkan/cesr-js/blob/main/LICENSE) [ • 1.02 kB
TypeScript
export interface ReadResult<T> {
/**
* The frame, or null if there was not enough data in the input
*/
frame?: T;
/**
* The number of bytes consumed from the input
*/
n: number;
}
export interface FrameSize {
hs: number;
fs: number;
ss: number;
ls?: number;
xs?: number;
}
export interface FrameInit {
code: string;
size: FrameSize;
raw?: Uint8Array;
soft?: number;
}
export interface Frame extends FrameInit {
readonly quadlets: number;
text(): string;
binary(): Uint8Array;
}
/**
* Resolves the quadlet/triplet count of a frame
*/
export declare function resolveQuadletCount(frame: FrameInit): number;
export declare function encodeText(frame: FrameInit): string;
export declare function encodeBinary(frame: FrameInit): Uint8Array;
export declare function peekText(input: Uint8Array | string, entry: FrameSize): ReadResult<FrameInit>;
export declare function decodeText(input: string | Uint8Array, entry: FrameSize): FrameInit;