@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
TypeScript
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>;
}
}