UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

19 lines (18 loc) 650 B
import type { Table } from '../table.js'; /** * Returns the indexes of a Table * * @param TABLE Table * @return Object */ export type IndexNames<TABLE extends Table = Table, INDEX_TYPE extends 'local' | 'global' = 'local' | 'global'> = { [KEY in keyof TABLE['indexes'] & string]: TABLE['indexes'][KEY]['type'] extends INDEX_TYPE ? KEY : never; }[keyof TABLE['indexes'] & string]; /** * Returns a specific index of a Table * * @param TABLE Table * @param INDEX_NAME String * @return Object */ export type IndexSchema<TABLE extends Table = Table, INDEX_NAME extends IndexNames<TABLE> = IndexNames<TABLE>> = TABLE['indexes'][INDEX_NAME];