Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "Object/Compulsory"

Index

Type aliases

Compulsory

Compulsory<O, K, depth>: { 1: { 'flat': CompulsoryFlat<O>; 'deep': CompulsoryDeep<O>; }[depth]; 0: Compute<{ 'flat': CompulsoryFlat<Pick<O, K>>; 'deep': CompulsoryDeep<Pick<O, K>>; }[depth] & Pick<O, Exclude<keyof O, keyof { 'flat': CompulsoryFlat<Pick<O, K>>; 'deep': CompulsoryDeep<Pick<O, K>>; }[depth]>>>; }[Implements<Keys<O>, K>]

Make some fields of O compulsory (deeply or not) (it's like Required & NonNullable at once).

Type parameters

  • O: object

    to make compulsory

  • K: Index

    to choose fields (?=keyof O)

  • depth: Depth

    to do it deeply (?='flat')

returns

object

example

CompulsoryDeep

CompulsoryDeep<O>: object

Type parameters

  • O

CompulsoryFlat

CompulsoryFlat<O>: object

Type parameters

  • O

CompulsoryPart

CompulsoryPart<O, depth>: { 'flat': CompulsoryFlat<O>; 'deep': CompulsoryDeep<O>; }[depth]

Type parameters

Made with ❤️ by pirix-gh. Documentation generated by TypeDoc.