dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
33 lines (32 loc) • 810 B
TypeScript
import type { Key } from './key.js';
export interface LocalIndex {
readonly type: 'local';
readonly partitionKey?: undefined;
readonly sortKey: Key;
}
type GlobalIndexPartitionKey = {
readonly partitionKey: Key;
readonly partitionKeys?: never;
} | {
readonly partitionKey?: never;
readonly partitionKeys: readonly Key[];
};
type GlobalIndexSortKey = {
readonly sortKey?: Key;
readonly sortKeys?: never;
} | {
readonly sortKey?: never;
readonly sortKeys?: readonly Key[];
};
export type GlobalIndex = {
readonly type: 'global';
} & GlobalIndexPartitionKey & GlobalIndexSortKey;
/**
* Define an index of a Table
*
* @param KEY_NAME Key attribute name
* @param KEY_TYPE Key value type
* @return Key
*/
export type Index = LocalIndex | GlobalIndex;
export {};