UNPKG

@i-xi-dev/base64

Version:

A JavaScript Base64 encoder and decoder, implements Forgiving base64 defined in WHATWG Infra Standard.

67 lines (66 loc) 2.55 kB
export declare namespace BytesEncoding { /** * The decoder that converts a string into a byte sequence. */ interface Decoder { /** * Converts a string into a byte sequence. * * @param encoded An encoded string to decode. * @returns A decoded byte sequence. */ decode(encoded: string): Uint8Array; } /** * The encoder that converts a byte sequence into a string. */ interface Encoder { /** * Converts a byte sequence into a string. * * @param toEncode A byte sequence to encode. * @returns An encoded string. */ encode(toEncode: Uint8Array): string; } interface DecoderStreamRegulator { regulate(chunk: string): string; flush(): string; } /** * The `BytesEncoding.DecoderStream` converts a stream of string into byte sequence. */ abstract class DecoderStream implements TransformStream<string, Uint8Array> { #private; constructor(decoder: Decoder, regulator: DecoderStreamRegulator); protected static _createTransformer(decoder: Decoder, regulator: DecoderStreamRegulator): Transformer<string, Uint8Array>; /** * @see [TransformStream.writable](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream/writable) */ get writable(): WritableStream<string>; /** * @see [TransformStream.readable](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream/readable) */ get readable(): ReadableStream<Uint8Array>; } interface EncoderStreamRegulator { regulate(chunk: Uint8Array): Uint8Array; flush(): Uint8Array; } /** * The `BytesEncoding.EncoderStream` converts a stream of byte sequence into string. */ abstract class EncoderStream implements TransformStream<Uint8Array, string> { #private; constructor(encoder: Encoder, regulator: EncoderStreamRegulator); protected static _createTransformer(encoder: Encoder, regulator: EncoderStreamRegulator): Transformer<Uint8Array, string>; /** * @see [TransformStream.writable](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream/writable) */ get writable(): WritableStream<Uint8Array>; /** * @see [TransformStream.readable](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream/readable) */ get readable(): ReadableStream<string>; } }