UNPKG

@bitblit/ratchet-aws

Version:

Common tools for use with AWS browser and node

35 lines (34 loc) 3.29 kB
import { DeleteCommandOutput, DynamoDBDocumentClient, PutCommandOutput, QueryCommandInput, QueryCommandOutput, ScanCommandInput, ScanCommandOutput } from '@aws-sdk/lib-dynamodb'; import { DynamoCountResult } from '../model/dynamo-count-result.js'; import { DynamoRatchetLike } from './dynamo-ratchet-like.js'; export declare class DynamoRatchet implements DynamoRatchetLike { private awsDDB; constructor(awsDDB: DynamoDBDocumentClient); get dynamoDBDocumentClient(): DynamoDBDocumentClient; getDDB(): DynamoDBDocumentClient; tableIsEmpty(tableName: string): Promise<boolean>; scanPromise(input: ScanCommandInput): Promise<ScanCommandOutput>; queryPromise(input: QueryCommandInput): Promise<QueryCommandOutput>; throughputSafeScanOrQuery<T, R>(proc: (T: any) => Promise<R>, input: T, maxTries?: number, inCurrentTry?: number): Promise<R>; fullyExecuteQueryCount(qry: QueryCommandInput, delayMS?: number): Promise<DynamoCountResult>; fullyExecuteQuery<T>(qry: QueryCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>; fullyExecuteProcessOverQuery<T>(qry: QueryCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>; fullyExecuteScanCount(scan: ScanCommandInput, delayMS?: number): Promise<DynamoCountResult>; fullyExecuteScan<T>(scan: ScanCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>; fullyExecuteProcessOverScan<T>(scan: ScanCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>; writeAllInBatches<T>(tableName: string, elements: T[], batchSize: number): Promise<number>; fetchFullObjectsMatchingKeysOnlyIndexQuery<T>(qry: QueryCommandInput, keyNames: string[], batchSize?: number): Promise<T[]>; fetchAllInBatches<T>(tableName: string, inKeys: Record<string, any>[], batchSize: number): Promise<T[]>; deleteAllInBatches(tableName: string, keys: Record<string, any>[], batchSize: number): Promise<number>; simplePut(tableName: string, value: Record<string, any>, autoRetryCount?: number): Promise<PutCommandOutput>; simplePutOnlyIfFieldIsNullOrUndefined(tableName: string, value: Record<string, any>, fieldName: string): Promise<boolean>; simplePutWithCollisionAvoidance<T>(tableName: string, value: T, keyNames: string[], adjustFunction: (val: T) => T, maxAdjusts?: number, autoRetryCount?: number): Promise<T>; simpleGet<T>(tableName: string, keys: Record<string, any>, autoRetryCount?: number): Promise<T>; static objectIsErrorWithProvisionedThroughputExceededExceptionCode(err: Record<string, any>): boolean; simpleGetWithCounterDecrement<T>(tableName: string, keys: Record<string, any>, counterAttributeName: string, deleteOnZero: boolean, autoRetryCount?: number): Promise<T>; simpleDelete(tableName: string, keys: Record<string, any>): Promise<DeleteCommandOutput>; atomicCounter(tableName: string, keys: Record<string, any>, counterFieldName: string, increment?: number): Promise<number>; static cleanObject(ob: Record<string, any>): void; static stripToKeysOnly(input: Record<string, any>, keysNames: string[]): Record<string, any>; static stripAllToKeysOnly(input: Record<string, any>[], keys: string[]): Record<string, any>[]; }