SearchFieldArray type

If TModel is an untyped object, an untyped string array Otherwise, the slash-delimited fields of TModel.

type SearchFieldArray<TModel> = () => (
  T extends TModel ? true : false
) extends () => T extends object ? true : false
  ? readonly string[]
  : readonly SelectFields<TModel>[]