UNPKG

dynamoose

Version:

Dynamoose is a modeling tool for Amazon's DynamoDB (inspired by Mongoose)

72 lines (71 loc) 2.71 kB
import { Condition, ConditionInitalizer, BasicOperators } from "./Condition"; import { Model } from "./Model"; import { Document } from "./Document"; import { CallbackType, ObjectType, DocumentArray, SortOrder } from "./General"; import { AWSError } from "aws-sdk"; declare enum DocumentRetrieverTypes { scan = "scan", query = "query" } interface DocumentRetrieverTypeInformation { type: DocumentRetrieverTypes; pastTense: string; } interface DocumentRetriever extends BasicOperators { } declare abstract class DocumentRetriever { internalSettings?: { model: Model<Document>; typeInformation: DocumentRetrieverTypeInformation; }; settings: { condition: Condition; limit?: number; all?: { delay: number; max: number; }; startAt?: any; attributes?: string[]; index?: string; consistent?: boolean; count?: boolean; parallel?: number; sort?: SortOrder; }; getRequest: (this: DocumentRetriever) => Promise<any>; all: (this: DocumentRetriever, delay?: number, max?: number) => DocumentRetriever; limit: (this: DocumentRetriever, value: number) => DocumentRetriever; startAt: (this: DocumentRetriever, value: ObjectType) => DocumentRetriever; attributes: (this: DocumentRetriever, value: string[]) => DocumentRetriever; count: (this: DocumentRetriever) => DocumentRetriever; consistent: (this: DocumentRetriever) => DocumentRetriever; using: (this: DocumentRetriever, value: string) => DocumentRetriever; exec(this: DocumentRetriever, callback?: any): any; constructor(model: Model<Document>, typeInformation: DocumentRetrieverTypeInformation, object?: ConditionInitalizer); } interface DocumentRetrieverResponse<T> extends DocumentArray<T> { lastKey?: ObjectType; count: number; } interface ScanResponse<T> extends DocumentRetrieverResponse<T> { scannedCount: number; timesScanned: number; } interface QueryResponse<T> extends DocumentRetrieverResponse<T> { queriedCount: number; timesQueried: number; } export declare class Scan extends DocumentRetriever { exec(): Promise<ScanResponse<Document[]>>; exec(callback: CallbackType<ScanResponse<Document[]>, AWSError>): void; parallel(value: number): Scan; constructor(model: Model<Document>, object?: ConditionInitalizer); } export declare class Query extends DocumentRetriever { exec(): Promise<QueryResponse<Document[]>>; exec(callback: CallbackType<QueryResponse<Document[]>, AWSError>): void; sort(order: SortOrder): Query; constructor(model: Model<Document>, object?: ConditionInitalizer); } export {};