QueryFieldLabelFromTuple<SK, StrStart>: SK extends readonly [infer A extends string, ...(infer B extends string[])]
    ? QueryFieldLabelFromTuple<B, `${StrStart}And${Capitalize<A>}`>
    : StrStart

Type Parameters

  • SK

    tuple of SortKey field names, e.g. ['viewCount', 'createdAt']

  • StrStart extends string = ""

    initial string value; expects capitalized Partition Key field name

Returns

Query field name: concatenated PascalCase string with an And separator

Example

QueryFieldLabelFromTuple<['viewCount', 'createdAt'], 'Title'> => 'TitleAndViewCountAndCreatedAt'