UNPKG

arrow-store

Version:
33 lines (32 loc) 1.91 kB
import { DynamoDBQueryResult } from "../types"; import { DynamoDBSchemaProvider } from "../mappers/schemaBuilders"; import { DynamoDBClientResolver } from "../client"; import { DynamoDBRecordMapper } from "../mappers/recordMapper"; import { WhenExpressionBuilder } from "./batchWriteBuilder"; import { ArrowStoreRecordId, ArrowStoreTypeRecordId } from "../types"; export declare type ListQueryBuilder<TRecord> = { where<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): ListQueryBuilder<TRecord>; skipTo(recordId: ArrowStoreRecordId): ListQueryBuilder<TRecord>; take(takeRecords: number): ListQueryBuilder<TRecord>; sortByAscending(): ListQueryBuilder<TRecord>; sortByDescending(): ListQueryBuilder<TRecord>; listAsync(): Promise<DynamoDBQueryResult<TRecord>>; }; export declare class DynamoDBListQueryBuilder<TRecord> extends WhenExpressionBuilder<TRecord> implements ListQueryBuilder<TRecord> { private readonly _recordQuery; private readonly _clientResolver; private readonly _filterExpressions; private _scanIndexFwd; private _exclusiveStartKey; private _limit; constructor(recordQuery: ArrowStoreRecordId | ArrowStoreTypeRecordId<TRecord>, schemaProvider: DynamoDBSchemaProvider, recordMapper: DynamoDBRecordMapper, clientResolver: DynamoDBClientResolver); where<TContext>(predicate: (record: TRecord, context: TContext) => boolean, context?: TContext): ListQueryBuilder<TRecord>; skipTo(recordId: ArrowStoreRecordId): ListQueryBuilder<TRecord>; take(takeRecords: number): ListQueryBuilder<TRecord>; sortByAscending(): ListQueryBuilder<TRecord>; sortByDescending(): ListQueryBuilder<TRecord>; listAsync(): Promise<DynamoDBQueryResult<TRecord>>; private _fromLastEvaluatedKey; private _toPrimaryKey; private static _toQueryKeyExpression; }