UNPKG

dynamodb-ts-model

Version:

A DynamoDB model/client with full TypeScript typings

39 lines 2.8 kB
import { TransactionCanceledException } from '@aws-sdk/client-dynamodb'; import { DynamoModel } from './DynamoModel'; import { DynamoWrapper } from './DynamoWrapper'; import { ConditionCheckParams, DeleteParams, GetParams, Item, KeyAttributes, ProjectionKeys, PutParams, UpdateParams } from './types'; export declare class DynamoTransactionProxy extends DynamoWrapper { put<T extends Item, K extends KeyAttributes<T>, B extends Item>(model: DynamoModel<T, K, any, B>, ...paramsList: Array<PutParams<T, B>>): DynamoWriteTransaction; update<T extends Item, K extends KeyAttributes<T>, B extends Item>(model: DynamoModel<T, K, any, B>, ...paramsList: Array<UpdateParams<T, K, B>>): DynamoWriteTransaction; delete<T extends Item, K extends KeyAttributes<T>>(model: DynamoModel<T, K>, ...paramsList: Array<DeleteParams<T, K>>): DynamoWriteTransaction; get<T extends Item, K extends KeyAttributes<T>, P extends ProjectionKeys<T>>(model: DynamoModel<T, K>, ...paramsList: Array<GetParams<T, K, P>>): DynamoGetTransaction; } export declare abstract class DynamoTransaction extends DynamoWrapper { err?: any; static isTransactionCancelled(err: any): err is TransactionCanceledException; static conditionalCheckFailed(err: any): boolean; /** * Check if the most recent commit threw a transaction cancelled error, e.g. due to conditions failing or * concurrency constraints not being fulfilled. */ isTransactionCancelled(): boolean; /** * Check if the most recent commit threw an error containing at least one failed condition check */ conditionalCheckFailed(): boolean; } export declare class DynamoGetTransaction extends DynamoTransaction { private readonly items; get<T extends Item, K extends KeyAttributes<T>, P extends ProjectionKeys<T>>(model: DynamoModel<T, K>, ...paramsList: Array<GetParams<T, K, P>>): DynamoGetTransaction; commit(): Promise<void>; } export declare class DynamoWriteTransaction extends DynamoTransaction { private readonly items; private readonly modelMap; put<T extends Item, K extends KeyAttributes<T>, B extends Item>(model: DynamoModel<T, K, any, B>, ...paramsList: Array<PutParams<T, B>>): DynamoWriteTransaction; update<T extends Item, K extends KeyAttributes<T>, B extends Item>(model: DynamoModel<T, K, any, B>, ...paramsList: Array<UpdateParams<T, K, B>>): DynamoWriteTransaction; delete<T extends Item, K extends KeyAttributes<T>>(model: DynamoModel<T, K>, ...paramsList: Array<DeleteParams<T, K>>): DynamoWriteTransaction; condition<T extends Item, K extends KeyAttributes<T>>(model: DynamoModel<T, K>, ...paramsList: Array<ConditionCheckParams<T, K>>): DynamoWriteTransaction; commit(token?: string): Promise<void>; } //# sourceMappingURL=DynamoTransaction.d.ts.map