Package version:

Type Alias NarrowedModel<TModel, TFields>

NarrowedModel<TModel, TFields>: (<T>() => T extends TModel
        ? true
        : false) extends (<T>() => T extends never
        ? true
        : false)
    ? TModel
    : (<T>() => T extends TModel
            ? true
            : false) extends (<T>() => T extends object
            ? true
            : false)
        ? TModel
        : (<T>() => T extends TModel
                ? true
                : false) extends (<T>() => T extends any
                ? true
                : false)
            ? TModel
            : (<T>() => T extends TModel
                    ? true
                    : false) extends (<T>() => T extends unknown
                    ? true
                    : false)
                ? TModel
                : (<T>() => T extends TFields
                        ? true
                        : false) extends (<T>() => T extends never
                        ? true
                        : false)
                    ? never
                    : (<T>() => T extends TFields
                            ? true
                            : false) extends (<T>() => T extends SelectFields<TModel>
                            ? true
                            : false)
                        ? TModel
                        : SearchPick<TModel, TFields>

Narrows the Model type to include only the selected Fields

Type Parameters