Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace Helpers

Index

Type aliases

DataTypeNonPrimitive

DataTypeNonPrimitive<T>: T extends Date ? Date : T extends RegExp ? RegExp : T extends Uint8Array ? Bytes | Reference : T extends unknown[] ? Array | Reference : T extends Set<unknown> ? Set | Reference : T extends Map<string, unknown> ? Map | Reference : T extends object ? Object | Reference : Null | Bool | Number | BigInt | String | Date | RegExp | Reference | Bytes | Array | Set | Map | Object

Type parameters

DataTypeOf

DataTypeOf<T>: T extends Primitive ? DataTypePrimitive<T> : DataTypeNonPrimitive<T>

Type parameters

DataTypePrimitive

DataTypePrimitive<T>: T extends undefined ? Null : T extends boolean ? Bool : T extends number ? Number : T extends bigint ? BigInt : String

Type parameters

Primitive

Primitive: undefined | boolean | number | bigint | string

RequiredOf

RequiredOf<T, TData>: T extends Null ? {} : T extends Bool ? { bool: boolean } : T extends Number ? { num: number } : T extends BigInt ? { big: Long } : T extends String ? { str: string } : T extends Date ? { date: Date } : T extends RegExp ? { regex: RegExp } : T extends Bytes ? { buf: Uint8Array } | { ref: number } : T extends Array ? { arr: TData extends infer E[] ? Data<E>[] : never[] } | { ref: number } : T extends Set ? { set: TData extends Set<infer E> ? Data<E>[] : never[] } | { ref: number } : T extends Map ? { map: TData extends Map<string, infer V> ? Record<string, Data<V>> : Record<string, never> } | { ref: number } : T extends Object ? { obj: TData extends {} ? { [ K in keyof TData]: TData[K] } : Record<string, never> } | { ref: number } : { arr?: Data<unknown>[]; big?: Long; bool?: boolean; buf?: Uint8Array; date?: Date; map?: Record<string, Data<unknown>>; num?: number; obj?: Record<string, Data<unknown>>; ref?: number; regex?: RegExp; set?: Data<unknown>[]; str?: string }

Type parameters

Generated using TypeDoc