UNPKG

@onesy/huffman-code

Version:
91 lines (90 loc) 3.54 kB
import { TMethod } from '@onesy/models'; export declare type TArrayVariant = 'preorder'; interface IOnesyNode { value: number; word?: any; path?: string; left: OnesyNode; right: OnesyNode; [p: string]: any; } export declare class OnesyHuffmanCodeResponse { value: any; values?: Record<string, string>; values_encoded?: any; probabilities?: Record<string, number>; efficiency?: number; redundency?: number; entropy?: number; original_byte_size?: number; values_byte_size?: number; value_byte_size?: number; encoded_byte_size?: number; compression_ratio?: number; compression_percentage?: number; positive?: boolean; average_code_word_length?: number; performance_milliseconds?: number; performance?: string; constructor(value?: any, values?: Record<string, string>, values_encoded?: any, probabilities?: Record<string, number>, efficiency?: number, redundency?: number, entropy?: number, original_byte_size?: number, values_byte_size?: number, value_byte_size?: number, encoded_byte_size?: number, compression_ratio?: number, compression_percentage?: number, positive?: boolean, average_code_word_length?: number, performance_milliseconds?: number, performance?: string); } export declare class OnesyNode implements IOnesyNode { value: number; word?: any; left: OnesyNode; right: OnesyNode; [p: string]: any; constructor(value?: number, word?: any); get leaf(): boolean; get maxDepth(): number; } interface IOnesyHuffmanTree { root: OnesyNode; } export declare class OnesyHuffmanTree implements IOnesyHuffmanTree { root: OnesyNode; static make(value: Array<any>): OnesyHuffmanTree; get array(): Array<any>; isRoot(value: OnesyNode): boolean; preorder(value: OnesyNode, method: TMethod): void; make(value_: Array<any>): OnesyHuffmanTree; } export declare type TEncoding = 'binary' | 'hexadecimal'; export interface IOptions { encode_values?: boolean; base64?: boolean; } export declare const optionsDefault: IOptions; declare class OnesyHuffmanCode { value?: string; options: IOptions; huffmanTree: OnesyHuffmanTree; probabilities: Record<string, number>; values: Record<string, string>; response: OnesyHuffmanCodeResponse; private startTime; static get OnesyHuffmanCodeResponse(): typeof OnesyHuffmanCodeResponse; static get OnesyNode(): typeof OnesyNode; static get OnesyHuffmanTree(): typeof OnesyHuffmanTree; static encodeValue(value: string): string; static decodeValue(value_: string): string; static encodeValues(values: Record<string, string>, encodeValues?: boolean): string | object; static decodeValues(value: string): object; static getValues(onesyHuffmanTree: OnesyHuffmanTree): Record<string, string>; static decode(value: string, values: Record<string, string>): OnesyHuffmanCodeResponse; static encodeBase64(value: string): string; static decodeBase64(value: string): string; get encoded(): OnesyHuffmanCodeResponse; get entropy(): number; get averageCodeWordLength(): number; get redundency(): number; get efficiency(): number; constructor(value?: string, options?: IOptions); private init; encode(): OnesyHuffmanCodeResponse; decode(value_: string): OnesyHuffmanCodeResponse; getProbabilities(): Record<string, number>; normalizeProbabilities(): Record<string, number>; makeHuffmanTree(): OnesyHuffmanTree; } export default OnesyHuffmanCode;