dyna-record
    Preparing search index...

    Type Alias ValidateVectorIndexes<T>

    ValidateVectorIndexes: {
        [K in keyof T]: [Exclude<keyof T[K], keyof VectorIndexOptions>] extends [
            never,
        ]
            ? [KeysSharingField<T, K, "vectorAttribute">] extends [never]
                ? [KeysSharingField<T, K, "name">] extends [never]
                    ? [NonSearchableMembers<T[K]>] extends [never]
                        ? [MembersClaimedByAnotherIndex<T, K>] extends [never]
                            ? T[K]
                            : MemberOfMultipleIndexesError<MembersClaimedByAnotherIndex<T, K>>
                        : NonSearchableMemberError<NonSearchableMembers<T[K]>>
                    : DuplicateIndexNameError<T[K]["name"]>
                : DuplicateVectorAttributeError<T[K]["vectorAttribute"]>
            : UnknownVectorIndexOptionError<
                Exclude<keyof T[K], keyof VectorIndexOptions>,
            >
    }

    Compile-time validation of a table's vector index declarations: an entry whose vectorAttribute or name is also declared by another entry, whose members include a non-searchable entity, or whose members include an entity another entry also claims, resolves to a branded error surface so compilation fails on the offending declaration. Widened (non-literal) values pass: a duplicate attribute or name is then caught by the definition-time backstop in addVectorIndexes, and a non-searchable or doubly-claimed member at metadata initialization.

    Type Parameters