Installation
npm install --save @types/mongoose-paginate
Summary
This package contains type definitions for mongoose-paginate (https://github.com/edwardhotchkiss/mongoose-paginate).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongoose-paginate.
declare module "mongoose" {
export interface PaginateOptions {
select?: Object | string | undefined;
sort?: Object | string | undefined;
populate?:
| Object[]
| string[]
| Object
| string
| QueryPopulateOptions
| undefined;
lean?: boolean | undefined;
leanWithId?: boolean | undefined;
offset?: number | undefined;
page?: number | undefined;
limit?: number | undefined;
}
interface QueryPopulateOptions {
path: string;
select?: any;
match?: any;
model?: string | Model<any> | undefined;
options?: any;
populate?: QueryPopulateOptions | QueryPopulateOptions[] | undefined;
}
export interface PaginateResult<T> {
docs: T[];
total: number;
limit: number;
page?: number | undefined;
pages?: number | undefined;
offset?: number | undefined;
}
interface PaginateModel<T extends Document> extends Model<T> {
paginate(
query?: Object,
options?: PaginateOptions,
callback?: (err: any, result: PaginateResult<T>) => void,
): Promise<PaginateResult<T>>;
}
export function model<T extends Document>(
name: string,
schema?: Schema,
collection?: string,
skipInit?: boolean,
): PaginateModel<T>;
export function model<T extends Document, U extends PaginateModel<T>>(
name: string,
schema?: Schema,
collection?: string,
skipInit?: boolean,
): U;
}
declare module "mongoose-paginate" {
import mongoose = require("mongoose");
var _: (schema: mongoose.Schema) => void;
export = _;
}
Additional Details
Credits
These definitions were written by Linus Brolin.