UNPKG

arrow-store

Version:
29 lines (28 loc) 1.9 kB
import { ArrowStoreRecord } from "../types"; import { DynamoDBSchemaProvider } from "../mappers/schemaBuilders"; import { DynamoDBRecordMapper } from "../mappers/recordMapper"; import { WhenExpressionBuilder } from "./batchWriteBuilder"; import { Put } from "aws-sdk/clients/dynamodb"; import { DynamoDBClientResolver } from "../client"; export declare type PutBuilder<TRecord extends ArrowStoreRecord> = { when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): PutBuilder<TRecord>; executeAsync(): Promise<boolean>; }; export declare type TransactPutItemBuilder<TRecord extends ArrowStoreRecord> = { when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): TransactPutItemBuilder<TRecord>; }; export declare class DynamoDBTransactPutItemBuilder<TRecord extends ArrowStoreRecord> extends WhenExpressionBuilder<TRecord> implements TransactPutItemBuilder<TRecord> { private readonly _record; private readonly _conditionExpressions; constructor(record: TRecord, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper); when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context: TContext | undefined): TransactPutItemBuilder<TRecord>; build(): Put; } export declare class DynamoDBPutBuilder<TRecord extends ArrowStoreRecord> extends WhenExpressionBuilder<TRecord> implements PutBuilder<TRecord> { private readonly _record; private readonly _clientResolver; private readonly _conditionExpressions; constructor(record: TRecord, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper, clientResolver: DynamoDBClientResolver); when<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): PutBuilder<TRecord>; executeAsync(): Promise<boolean>; }