Variable typesConst

types: {
    Float32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Float64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Int16: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Int32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Int64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Int8: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Uint16: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Uint32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Uint64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    Uint8: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    char: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    float32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    float64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    int16: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    int32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    int64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    int8: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    uint16: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    uint32: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    uint64: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
    uint8: {
        <const V>(length: number): ((value: V, context: MemberContext) => V);
        <const V>(value: V, context: MemberContext): V;
    };
} = ...

Shortcut types

Instead of writing @member(type) you can write @types.type, or @types.type(length) for arrays