dynamodb-ts-model
Version:
A DynamoDB model/client with full TypeScript typings
39 lines • 2.8 kB
TypeScript
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