@moicky/dynamodb
Version:
Contains a collection of convenience functions for working with AWS DynamoDB
42 lines (41 loc) • 2.08 kB
TypeScript
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 {};