UNPKG

arrow-store

Version:
27 lines (26 loc) 1.86 kB
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>; }