UNPKG

univ-conv

Version:

The universal binary and text converter

58 lines 3.44 kB
/// <reference types="node" /> /// <reference types="node" /> import type { Readable, Writable } from "stream"; export declare type Charset = "utf8" | "utf16le" | "utf16be" | "jis" | "eucjp" | "sjis"; export declare type URLType = "data" | "blob" | string; export declare type StringType = "text" | "url" | "base64" | "binary" | "hex"; export declare type BinaryType = "arraybuffer" | "uint8array" | "blob"; export declare type BlockType = StringType | BinaryType; export declare type StreamType = "readable" | "readablestream"; export declare type DataType = BlockType | StreamType | "unknown"; export declare type BlockData = string | ArrayBuffer | Uint8Array | Buffer | Blob; export declare type StreamData = Readable | ReadableStream<Uint8Array>; export declare type Data = BlockData | StreamData; export interface Options { bufferSize: number; bufferToTextCharset: Charset; fetchRequestInit?: RequestInit; inputStringType: StringType; outputURL?: URLType; textToBufferCharset: Charset; } export interface ConvertOptions extends Options { length?: number; start?: number; } export interface Converter<T extends Data> { type: DataType; empty(): T; from(input: Data, options?: Partial<ConvertOptions>): Promise<T>; is(input: unknown, options?: Partial<ConvertOptions>): input is T; merge(chunks: T[], options?: Partial<Options>): Promise<T>; size(input: T, options?: Partial<Options>): Promise<number>; toArrayBuffer(input: T, options: ConvertOptions): Promise<ArrayBuffer>; toBase64(input: T, options: ConvertOptions): Promise<string>; toText(input: T, options: ConvertOptions): Promise<string>; toUint8Array(input: T, options: ConvertOptions): Promise<Uint8Array>; } export declare type ReturnData<T extends DataType> = T extends "arraybuffer" ? ArrayBuffer : T extends "uint8array" ? Uint8Array : T extends "buffer" ? Buffer : T extends "blob" ? Blob : T extends "readable" ? Readable : T extends "readablestream" ? ReadableStream<Uint8Array> : T extends "text" ? string : T extends "base64" ? string : T extends "binary" ? string : T extends "hex" ? string : T extends "url" ? string : Data; export interface UnivConv { convert<T extends DataType>(returnType: T, input: Data, options?: Partial<ConvertOptions>): Promise<ReturnData<T>>; is<T extends DataType>(type: T, input: unknown, options?: Partial<ConvertOptions>): input is ReturnData<T>; merge<T extends DataType>(returnType: T, chunks: Data[], options?: Partial<Options>): Promise<ReturnData<T>>; pipe(input: Data, output: Writable | WritableStream<Uint8Array>, options?: Partial<ConvertOptions>): Promise<void>; size(input: Data, options?: Partial<Options>): Promise<number>; slice<T extends Data>(input: T, options: Partial<ConvertOptions>): Promise<T>; } export declare const DEFAULT_BUFFER_SIZE: number; export declare const EMPTY_ARRAY_BUFFER: ArrayBuffer; export declare const EMPTY_UINT8_ARRAY: Uint8Array; export declare function getStartEnd(options: ConvertOptions, size?: number): { start: number; end: number | undefined; }; export declare function deleteStartLength(options: ConvertOptions): ConvertOptions; export declare function hasNoStartLength(options: ConvertOptions): boolean; export declare function isEmpty(input: Data, options?: Partial<ConvertOptions>): boolean; export declare function getType(input: unknown): string; //# sourceMappingURL=core.d.ts.map