Skip to main content

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

T extends Record<string, unknown>

Keys

Keys extends string = Extract<keyof T, string>

Values

Values = T[keyof T] extends infer Type ? Type extends BcsType<infer U> ? U : never : never