Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "Object/ExcludeKeys"

Index

Type aliases

Type aliases

ExcludeKeys

ExcludeKeys<O, O1, match>: { 'default': Exclude<keyof O, keyof O1>; 'implements->': { [K in Keys<O>]: { 1: never; 0: K; }[Implements<O[K], At<O1, K>>]; }[Keys<O>]; 'extends->': { [K in Keys<O>]: { 1: never; 0: K; }[Extends<O[K], At<O1, K>>]; }[Keys<O>]; '<-implements': { [K in Keys<O>]: { 1: never; 0: K; }[Implements<At<O1, K>, O[K]>]; }[Keys<O>]; '<-extends': { [K in Keys<O>]: { 1: never; 0: K; }[Extends<At<O1, K>, O[K]>]; }[Keys<O>]; 'equals': { [K in Keys<O>]: { 1: never; 0: K; }[Equals<At<O1, K>, O[K]>]; }[Keys<O>]; }[match]

Exclude the keys of O1 out of the keys of O (If match = 'default', no type checks are done)

Type parameters

  • O: object

    to remove the keys from

  • O1: object

    to remove the keys out

  • match: Match

    to change precision (?='default')

returns

keyof

example

ExcludeMatch

ExcludeMatch<O, O1, match>: { [K in Keys<O>]: { 1: never; 0: K; }[{ 'default': Extends<O[K], At<O1, K>>; 'implements->': Implements<O[K], At<O1, K>>; 'extends->': Extends<O[K], At<O1, K>>; '<-implements': Implements<At<O1, K>, O[K]>; '<-extends': Extends<At<O1, K>, O[K]>; 'equals': Equals<At<O1, K>, O[K]>; }[match]]; }[Keys<O>]

Type parameters

  • O: object
  • O1: object
  • match: Match

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