dynamoose
Version:
Dynamoose is a modeling tool for Amazon's DynamoDB (inspired by Mongoose)
72 lines (71 loc) • 2.71 kB
TypeScript
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 {};