UNPKG

arrow-store

Version:
35 lines (34 loc) 2.06 kB
import { AttributeValue, BatchWriteItemRequestMap } from "aws-sdk/clients/dynamodb"; import { ExpressionAttribute, ExpressionTransformer } from "../transformers/expressionTransformer"; import { DynamoDBSchemaProvider } from "../mappers/schemaBuilders"; import { DynamoDBRecordMapper } from "../mappers/recordMapper"; import { ArrowStoreRecord, ArrowStoreRecordId, ArrowStoreTypeRecordId } from "../types"; export declare type BatchWriteBuilder = { put<TRecord extends ArrowStoreRecord>(record: TRecord): BatchWriteBuilder; delete(recordId: ArrowStoreRecordId): BatchWriteBuilder; }; export declare class WhenExpressionBuilder<TRecord> { protected readonly _recordId: ArrowStoreRecordId | ArrowStoreTypeRecordId<TRecord>; protected readonly _schemaProvider: DynamoDBSchemaProvider; protected readonly _recordMapper: DynamoDBRecordMapper; protected readonly _conditionFilterTransformer: ExpressionTransformer; private readonly _attributeNames; private readonly _attributeValues; private readonly _attributeNameAliases; private readonly _attributeValueAliases; constructor(recordId: ArrowStoreRecordId | ArrowStoreTypeRecordId<TRecord>, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper); get attributeNames(): Map<string, string>; get attributeNameAliases(): Map<string, ExpressionAttribute>; get attributeValueAliases(): Map<string, string>; get attributeValues(): Map<string, AttributeValue>; toWhereExpression<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context: TContext | undefined): string; } export declare class DynamoDBBatchWriteBuilder implements BatchWriteBuilder { private readonly _recordMapper; private readonly _requests; constructor(recordMapper: DynamoDBRecordMapper); buildRequests(): BatchWriteItemRequestMap; delete(recordId: ArrowStoreRecordId): BatchWriteBuilder; put<TRecord extends ArrowStoreRecord>(record: TRecord): BatchWriteBuilder; private _getTableGroup; }