Skip to main content
Module

x/byte_type/mod.ts>Compounds.TaggedUnion

😋 A small helper module for working with different raw types in javascript
Latest
class Compounds.TaggedUnion
extends UnsizedType<V>
import { Compounds } from "https://deno.land/x/byte_type@0.4.0/mod.ts";
const { TaggedUnion } = Compounds;

Constructors

new
TaggedUnion(
input: T,
variantFinder: FindDiscriminant<V, Keys<T>>,
discriminant: Keys<T> extends string ? UnsizedType<string> : never,
)
new
TaggedUnion(
input: T,
variantFinder: FindDiscriminant<V, Keys<T>>,
discriminant?: Keys<T> extends number ? UnsizedType<number> : never,
)
new
TaggedUnion(
input: T,
variantFinder: FindDiscriminant<V, Keys<T>>,
discriminant?: UnsizedType<string | number>,
)

Type Parameters

T extends Record<string | number, UnsizedType<unknown>>
optional
V extends ValueOf<[K in keyof T]: InnerType<T[K]>> = ValueOf<[K in keyof T]: InnerType<T[K]>>

Methods

read(dt: DataView, options?: Options): V
readPacked(dt: DataView, options?: Options): V
write(
variant: V,
options?: Options,
): void
writePacked(
variant: V,
options?: Options,
): void