UNPKG

2.8 kBTypeScriptView Raw
1import { Condition, ConditionInitalizer, BasicOperators } from "./Condition";
2import { Model } from "./Model";
3import { Document } from "./Document";
4import { CallbackType, ObjectType, DocumentArray, SortOrder } from "./General";
5import { AWSError } from "aws-sdk";
6declare enum DocumentRetrieverTypes {
7 scan = "scan",
8 query = "query"
9}
10interface DocumentRetrieverTypeInformation {
11 type: DocumentRetrieverTypes;
12 pastTense: string;
13}
14declare abstract class DocumentRetriever {
15 internalSettings?: {
16 model: Model<Document>;
17 typeInformation: DocumentRetrieverTypeInformation;
18 };
19 settings: {
20 condition: Condition;
21 limit?: number;
22 all?: {
23 delay: number;
24 max: number;
25 };
26 startAt?: any;
27 attributes?: string[];
28 index?: string;
29 consistent?: boolean;
30 count?: boolean;
31 parallel?: number;
32 sort?: SortOrder;
33 };
34 getRequest: (this: DocumentRetriever) => Promise<any>;
35 all: (this: DocumentRetriever, delay?: number, max?: number) => DocumentRetriever;
36 limit: (this: DocumentRetriever, value: number) => DocumentRetriever;
37 startAt: (this: DocumentRetriever, value: ObjectType) => DocumentRetriever;
38 attributes: (this: DocumentRetriever, value: string[]) => DocumentRetriever;
39 count: (this: DocumentRetriever) => DocumentRetriever;
40 consistent: (this: DocumentRetriever) => DocumentRetriever;
41 using: (this: DocumentRetriever, value: string) => DocumentRetriever;
42 exec(this: DocumentRetriever, callback?: any): any;
43 constructor(model: Model<Document>, typeInformation: DocumentRetrieverTypeInformation, object?: ConditionInitalizer);
44}
45interface DocumentRetrieverResponse<T> extends DocumentArray<T> {
46 lastKey?: ObjectType;
47 count: number;
48}
49export interface ScanResponse<T> extends DocumentRetrieverResponse<T> {
50 scannedCount: number;
51 timesScanned: number;
52}
53export interface QueryResponse<T> extends DocumentRetrieverResponse<T> {
54 queriedCount: number;
55 timesQueried: number;
56}
57export interface Scan<T> extends DocumentRetriever, BasicOperators<Scan<T>> {
58 exec(): Promise<ScanResponse<T>>;
59 exec(callback: CallbackType<ScanResponse<T>, AWSError>): void;
60}
61export declare class Scan<T> extends DocumentRetriever {
62 parallel(value: number): Scan<T>;
63 constructor(model: Model<Document>, object?: ConditionInitalizer);
64}
65export interface Query<T> extends DocumentRetriever, BasicOperators<Query<T>> {
66 exec(): Promise<QueryResponse<T>>;
67 exec(callback: CallbackType<QueryResponse<T>, AWSError>): void;
68}
69export declare class Query<T> extends DocumentRetriever {
70 sort(order: SortOrder): Query<T>;
71 constructor(model: Model<Document>, object?: ConditionInitalizer);
72}
73export {};