Type Alias EnumOutputShape<T, Keys, Values>

EnumOutputShape<T, Keys, Values>: 0 extends Values
    ? EnumOutputShapeWithKeys<T, never>
    : 0n extends Values
        ? EnumOutputShapeWithKeys<T, never>
        : "" extends Values
            ? EnumOutputShapeWithKeys<T, never>
            : false extends Values
                ? EnumOutputShapeWithKeys<T, never>
                : EnumOutputShapeWithKeys<T, Keys>

Type Parameters

  • T extends Record<string, unknown>
  • Keys extends string = Extract<keyof T, string>
  • Values = T[keyof T] extends infer Type
        ? Type extends BcsType<infer U>
            ? U
            : never
        : never