UNPKG

@moicky/dynamodb

Version:

Contains a collection of convenience functions for working with AWS DynamoDB

42 lines (41 loc) 2.08 kB
import { Transaction } from "."; import { DynamoDBItem } from "../types"; import { DynamoDBReference } from "./references/types"; import { ConditionOperation, CreateOperation, DynamoDBItemKey, DynamoDBSet, ItemWithKey, NestedParams, NestedTypedParams, TypedParams, UpdateOperation, WithoutKey } from "./types"; export declare class CreateOperations<U extends ItemWithKey> { private operation; private transaction; constructor(operation: CreateOperation, transaction: Transaction); setReferences(refs: SetReferencesParams<U>): void; } export declare class UpdateOperations<U extends DynamoDBItem> { private operation; private transaction; constructor(operation: UpdateOperation, transaction: Transaction); setReferences(refs: SetReferencesParams<U>): void; set(values: WithoutKey<Partial<U>> & NestedParams): this; adjustNumber(values: NestedTypedParams<U, number>): this; removeAttributes(...attributes: string[]): this; addItemsToSet(values: { [Key in keyof U as NonNullable<U[Key]> extends DynamoDBSet ? Key : never]?: U[Key] extends Set<infer type> ? Set<type> | type[] : never; } & NestedParams<Set<any> | any[]>): this; deleteItemsFromSet(values: NestedTypedParams<U, Set<any>>): this; onCondition({ expression, values, }: { expression: string; values: Partial<U> & Record<string, any>; }): void; } export declare class ConditionOperations<U extends DynamoDBItem> { private operations; private item; private args; constructor(operations: Transaction["operations"], item: DynamoDBItemKey, args: Partial<ConditionOperation["args"]> & { TableName: string; }); matches({ expression, values, }: { expression: string; values: Partial<U> & Record<string, any>; }): void; } type SetReferencesParams<U extends DynamoDBItem> = TypedParams<U, DynamoDBReference, DynamoDBItemKey> & TypedParams<U, Set<DynamoDBReference>, DynamoDBItemKey[] | Set<DynamoDBItemKey>> & NestedParams<DynamoDBItemKey | DynamoDBItemKey[] | Set<DynamoDBItemKey>>; export {};