Documentation
    Preparing search index...

    Class BcsEnum<T, Name>

    Type Parameters

    • T extends Record<string, BcsType<any> | null>
    • const Name extends string = string

    Hierarchy (View Summary)

    • BcsType<
          EnumOutputShape<
              { [K in keyof T]: T[K] extends BcsType<infer U, any> ? U : true },
          >,
          EnumInputShape<
              {
                  [K in keyof T]: T[K] extends BcsType<any, infer U, any>
                      ? U
                      : boolean | object | null
              },
          >,
          Name,
      >
      • BcsEnum
    Index

    Constructors

    • Type Parameters

      • T extends Record<string, BcsType<any, any, string> | null>
      • const Name extends string = string

      Parameters

      • __namedParameters: BcsEnumOptions<T, Name> & {
            decoder?: {
                buildEnumDecoder: (
                    variantKeys: string[],
                    variantReaders: ((() => unknown) | null)[],
                    enumName?: string,
                ) => () => unknown;
                buildFixedArrayDecoder: (
                    len: number,
                    elemReader: () => unknown,
                    kind?: string,
                ) => () => unknown;
                buildMapDecoder: (
                    keyReader: () => unknown,
                    valueReader: () => unknown,
                ) => () => unknown;
                buildOptionDecoder: (
                    innerReader: () => unknown,
                ) => { decode: () => unknown; parse: (bytes: Uint8Array) => unknown };
                buildStructDecoder: (
                    keys: string[],
                    readers: (() => unknown)[],
                ) => () => unknown;
                buildTupleDecoder: (readers: (() => unknown)[]) => () => unknown;
                buildVectorDecoder: (
                    elemReader: () => unknown,
                    kind?: string,
                ) => () => unknown;
                bulkDecodeBool: (n: number) => boolean[];
                bulkDecodeU16: (n: number) => number[];
                bulkDecodeU32: (n: number) => number[];
                bulkDecodeU64: (n: number) => string[];
                bulkDecodeU8: (n: number) => number[];
                decodeBool: () => boolean;
                decodeByteVector: () => Uint8Array;
                decodeFixedBytes: (size: number) => Uint8Array;
                decodeString: () => string;
                decodeU128: () => string;
                decodeU16: () => number;
                decodeU256: () => string;
                decodeU32: () => number;
                decodeU64: () => string;
                decodeU8: () => number;
                init: (data: Uint8Array) => void;
                readUleb: () => number;
                get data(): Uint8Array<ArrayBufferLike>;
                get offset(): number;
                set offset(v: number): void;
            };
            encoder?: {
                buildEnumEncoder: (
                    variantKeys: string[],
                    variantWriters: (((v: unknown) => void) | null)[],
                ) => (v: unknown) => void;
                buildFixedArrayEncoder: (
                    len: number,
                    elemWriter: (v: unknown) => void,
                    kind?: string,
                ) => (v: unknown) => void;
                buildMapEncoder: (
                    keyWriter: (v: unknown) => void,
                    valueWriter: (v: unknown) => void,
                ) => (v: unknown) => void;
                buildOptionEncoder: (
                    innerWriter: (v: unknown) => void,
                ) => (v: unknown) => void;
                buildStructEncoder: (
                    keys: string[],
                    writers: ((v: unknown) => void)[],
                ) => (v: unknown) => void;
                buildTupleEncoder: (
                    writers: ((v: unknown) => void)[],
                ) => (v: unknown) => void;
                buildVectorEncoder: (
                    elemWriter: (v: unknown) => void,
                    kind?: string,
                ) => (v: unknown) => void;
                bulkEncodeBool: (a: boolean[]) => void;
                bulkEncodeU16: (a: number[]) => void;
                bulkEncodeU32: (a: number[]) => void;
                bulkEncodeU64: (a: (string | number | bigint)[]) => void;
                bulkEncodeU8: (a: Uint8Array<ArrayBufferLike> | number[]) => void;
                encodeBool: (v: boolean) => void;
                encodeByteVector: (v: Iterable<number>) => void;
                encodeFixedBytes: (v: Iterable<number>, size: number) => void;
                encodeString: (v: string) => void;
                encodeU128: (v: string | number | bigint) => void;
                encodeU16: (v: number) => void;
                encodeU256: (v: string | number | bigint) => void;
                encodeU32: (v: number) => void;
                encodeU64: (v: string | number | bigint) => void;
                encodeU8: (v: number) => void;
                ensure: (n: number) => void;
                fastSerialize: (
                    writeFn: (value: unknown) => void,
                    value: unknown,
                    sizeLimit?: number,
                ) => Uint8Array<ArrayBuffer>;
                getEncodeResult: () => Uint8Array<ArrayBuffer>;
                initEncode: () => void;
                writeRawBytes: (bytes: Uint8Array) => void;
                writeUleb: (n: number) => void;
                get offset(): number;
                set offset(v: number): void;
            };
        }

      Returns BcsEnum<T, Name>

    Properties

    _codec: {
        kind?: string;
        read: () => EnumOutputShape;
        write: (value: EnumInputShape) => void;
    }
    $inferInput: EnumInputShape
    $inferType: EnumOutputShape
    name: Name
    serializedSize: (
        value: EnumInputShape,
        options?: BcsWriterOptions,
    ) => number | null
    toBytes: (
        value: EnumInputShape,
        options?: BcsWriterOptions,
    ) => Uint8Array<ArrayBuffer>
    validate: (value: EnumInputShape) => void

    Methods

    • Parameters

      • b58: string

      Returns EnumOutputShape<
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          },
          Extract<keyof T, string>,
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          }[keyof T] extends Type
              ? Type extends BcsType<U, U, string> ? U : never
              : never,
      >

    • Parameters

      • b64: string

      Returns EnumOutputShape<
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          },
          Extract<keyof T, string>,
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          }[keyof T] extends Type
              ? Type extends BcsType<U, U, string> ? U : never
              : never,
      >

    • Parameters

      • hex: string

      Returns EnumOutputShape<
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          },
          Extract<keyof T, string>,
          {
              [K in string
              | number
              | symbol]: T[K] extends BcsType<U, any, string> ? U : true
          }[keyof T] extends Type
              ? Type extends BcsType<U, U, string> ? U : never
              : never,
      >

    • Parameters

      Returns SerializedBcs<
          EnumOutputShape<
              {
                  [K in string
                  | number
                  | symbol]: T[K] extends BcsType<U, any, string> ? U : true
              },
              Extract<keyof T, string>,
              {
                  [K in string
                  | number
                  | symbol]: T[K] extends BcsType<U, any, string> ? U : true
              }[keyof T] extends Type
                  ? Type extends BcsType<U, U, string> ? U : never
                  : never,
          >,
          EnumInputShape<
              {
                  [K in string
                  | number
                  | symbol]: T[K] extends BcsType<any, U, any>
                      ? U
                      : boolean | object | null
              },
          >,
      >

    • Type Parameters

      • T2 = EnumOutputShape<
            {
                [K in string
                | number
                | symbol]: T[K] extends BcsType<U, any, string> ? U : true
            },
            Extract<keyof T, string>,
            {
                [K in string
                | number
                | symbol]: T[K] extends BcsType<U, any, string> ? U : true
            }[keyof T] extends Type
                ? Type extends BcsType<U, U, string> ? U : never
                : never,
        >
      • Input2 = EnumInputShape<
            {
                [K in string
                | number
                | symbol]: T[K] extends BcsType<any, U, any> ? U : boolean | object | null
            },
        >
      • NewName extends string = Name

      Parameters

      Returns BcsType<T2, Input2, NewName>