Function hasKeys

  • Checks if unknown object have provided keys.

    Type Parameters

    • T extends unknown
    • Key extends string | number | symbol

    Parameters

    • obj: T
    • keys: readonly Key[]

    Returns obj is T extends {
            [K in string | number | symbol]: any
        }
        ? Extract<{
            [K in string | number | symbol]: any
        }, T<T>>
        : Extract<{
            [K in string | number | symbol]: unknown
        }, T>

    Example

    if (hasKeys(value, ['a', 'b'])) {
    console.log(value.a, value.b)
    }