Type alias AssertNonExistingKey<K, T, Message>

AssertNonExistingKey<K, T, Message>: K & (K extends keyof T ? never : K) | Message

AssertNonExistingKey is a helper type that returns K, if K does not extend keyof T. If K extends keyof T (K is a key of the object T), then never | Message will be the result type. The latter would result in a TS-error, if a function expects an argument as AssertNonExistingKey<K, T, M>, saying "argument of type <K> is not assignable to parameter of type <Message>"

Type Parameters

  • K extends string

    string

  • T extends {
        [key: string]: any;
    }

    object with string keys

  • Message extends string

    message to be used in assertion

Generated using TypeDoc