arrow-store
Version:
TypeScript DynamoDB ORM
27 lines (26 loc) • 1.86 kB
TypeScript
import { DynamoDBSchemaProvider } from "../mappers/schemaBuilders";
import { DynamoDBRecordMapper } from "../mappers/recordMapper";
import { Delete } from "aws-sdk/clients/dynamodb";
import { WhenExpressionBuilder } from "./batchWriteBuilder";
import { ArrowStoreRecordId } from "../types";
import { DynamoDBClientResolver } from "../client";
export declare type TransactDeleteItemBuilder<TRecord extends {}> = {
when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): TransactDeleteItemBuilder<TRecord>;
};
export declare type DeleteBuilder<TRecord extends {}> = {
when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): DeleteBuilder<TRecord>;
executeAsync(): Promise<boolean>;
};
export declare class DynamoDBBatchDeleteItemBuilder<TRecord extends {}> extends WhenExpressionBuilder<TRecord> implements TransactDeleteItemBuilder<TRecord> {
private readonly _conditionExpressions;
constructor(recordId: ArrowStoreRecordId, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper);
when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context: TContext | undefined): TransactDeleteItemBuilder<TRecord>;
build(): Delete;
}
export declare class DynamoDBDeleteItemBuilder<TRecord extends {}> extends WhenExpressionBuilder<TRecord> implements DeleteBuilder<TRecord> {
private readonly _clientResolver;
private readonly _conditionExpressions;
constructor(recordId: ArrowStoreRecordId, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper, clientResolver: DynamoDBClientResolver);
when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context: TContext | undefined): DeleteBuilder<TRecord>;
executeAsync(): Promise<boolean>;
}