مشاركة عبر


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[]