UNPKG

1.93 kBTypeScriptView Raw
1/// <reference types="node" />
2import { Buffer } from 'safer-buffer';
3import { BinaryBuffer, BinaryBufferReadableStream, BinaryBufferReadable } from './buffer';
4import { UTF8_with_bom, UTF16be, UTF16le } from './encodings';
5import { ReadableStream, Readable } from './stream';
6export interface ResourceEncoding {
7 encoding: string;
8 hasBOM: boolean;
9}
10export interface DetectedEncoding {
11 encoding?: string;
12 seemsBinary?: boolean;
13}
14export interface DecodeStreamOptions {
15 guessEncoding?: boolean;
16 minBytesRequiredForDetection?: number;
17 overwriteEncoding(detectedEncoding: string | undefined): Promise<string>;
18}
19export interface DecodeStreamResult {
20 stream: ReadableStream<string>;
21 detected: DetectedEncoding;
22}
23export declare class EncodingService {
24 encode(value: string, options?: ResourceEncoding): BinaryBuffer;
25 decode(value: BinaryBuffer, encoding?: string): string;
26 exists(encoding: string): boolean;
27 toIconvEncoding(encoding?: string): string;
28 toResourceEncoding(encoding: string, options: {
29 overwriteEncoding?: boolean;
30 read: (length: number) => Promise<Uint8Array>;
31 }): Promise<ResourceEncoding>;
32 detectEncoding(data: BinaryBuffer, autoGuessEncoding?: boolean): Promise<DetectedEncoding>;
33 protected detectEncodingByBOMFromBuffer(buffer: Buffer, bytesRead: number): typeof UTF8_with_bom | typeof UTF16le | typeof UTF16be | undefined;
34 protected guessEncodingByBuffer(buffer: Buffer): Promise<string | undefined>;
35 decodeStream(source: BinaryBufferReadableStream, options: DecodeStreamOptions): Promise<DecodeStreamResult>;
36 encodeStream(value: string | Readable<string>, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable>;
37 encodeStream(value?: string | Readable<string>, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable | undefined>;
38}
39//# sourceMappingURL=encoding-service.d.ts.map
\No newline at end of file