Kit
Type aliases

EncodedString

EncodedString<T, TEncoding> = NominalType<"stringEncoding", TEncoding> & T

Use this to produce a new type that satisfies the original string type, but adds extra type information that marks the string as being encoded in a particular format.

Type Parameters

Type ParameterDescription
T extends stringThe underlying string type
TEncoding extends StringEncodingThe encoding format of the string

Example

const untaggedString = 'dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92';
const encodedString = untaggedString as EncodedString<typeof untaggedString, 'base58'>;
 
encodedString satisfies EncodedString<'dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92', 'base58'>; // OK
encodedString satisfies EncodedString<string, 'base58'>; // OK
encodedString satisfies EncodedString<string, 'base64'>; // ERROR
untaggedString satisfies EncodedString<string, 'base58'>; // ERROR

On this page