1 |
|
2 | import { Buffer } from 'safer-buffer';
|
3 | import { BinaryBuffer, BinaryBufferReadableStream, BinaryBufferReadable } from './buffer';
|
4 | import { UTF8_with_bom, UTF16be, UTF16le } from './encodings';
|
5 | import { ReadableStream, Readable } from './stream';
|
6 | export interface ResourceEncoding {
|
7 | encoding: string;
|
8 | hasBOM: boolean;
|
9 | }
|
10 | export interface DetectedEncoding {
|
11 | encoding?: string;
|
12 | seemsBinary?: boolean;
|
13 | }
|
14 | export interface DecodeStreamOptions {
|
15 | guessEncoding?: boolean;
|
16 | minBytesRequiredForDetection?: number;
|
17 | overwriteEncoding(detectedEncoding: string | undefined): Promise<string>;
|
18 | }
|
19 | export interface DecodeStreamResult {
|
20 | stream: ReadableStream<string>;
|
21 | detected: DetectedEncoding;
|
22 | }
|
23 | export 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 |
|
\ | No newline at end of file |