onrails
    Preparing search index...

    Type Alias Narrow<T, P>

    Narrow: P extends (input: T) => boolean
        ? [GuardTarget<P>] extends [never] ? T : NarrowObject<T, GuardTarget<P>>
        : P extends Record<string, unknown>
            ? NarrowObject<T, P>
            : T extends P ? Extract<T, P> : T

    Narrows input when pattern is a shallow object, literal discriminant, or type predicate.

    Type Parameters

    • T
    • P