次の方法で共有


SelectArray type

が指定されていない場合 TFields は、型指定されていない文字列配列。それ以外の場合は、使用する型の他の場所で使用される縮小 Fields[] された型。

type SelectArray<TFields> = [string] extends [TFields]
  ? readonly TFields[]
  : () => (T extends TFields ? true : false) extends () => T extends never
      ? true
      : false
      ? readonly string[]
      : readonly TFields[]