UNPKG

fastify-mongoose-rest

Version:

Rest API generator tools for fastify and mongoose

73 lines (72 loc) 2.99 kB
/// <reference types="mongoose/types/aggregate" /> /// <reference types="mongoose/types/callback" /> /// <reference types="mongoose/types/collection" /> /// <reference types="mongoose/types/connection" /> /// <reference types="mongoose/types/cursor" /> /// <reference types="mongoose/types/document" /> /// <reference types="mongoose/types/error" /> /// <reference types="mongoose/types/expressions" /> /// <reference types="mongoose/types/helpers" /> /// <reference types="mongoose/types/middlewares" /> /// <reference types="mongoose/types/indexes" /> /// <reference types="mongoose/types/models" /> /// <reference types="mongoose/types/mongooseoptions" /> /// <reference types="mongoose/types/pipelinestage" /> /// <reference types="mongoose/types/populate" /> /// <reference types="mongoose/types/query" /> /// <reference types="mongoose/types/schemaoptions" /> /// <reference types="mongoose/types/schematypes" /> /// <reference types="mongoose/types/session" /> /// <reference types="mongoose/types/types" /> /// <reference types="mongoose/types/utility" /> /// <reference types="mongoose/types/validation" /> /// <reference types="mongoose/types/virtuals" /> /// <reference types="mongoose/types/inferschematype" /> import { Model } from 'mongoose'; import { FindOptions } from './types'; /** * If input is string, try to parse it to an object and if not possible, return the string with commas replaced by spaces. * If input is object, return it as is. * @param input Input to parse * @returns Parsed input */ export declare function parseInput(input: string | object): any; /** * Add slash to path if it does not have one. * @param path Path to add slash to * @returns Path with slash at the start */ export declare function addSlashToPath(path: string): string; /** * Create response schema for a operation. * @param schema Schema to use for response * @param type Type of response. Either 'object' or 'array' * @returns Response schema */ export declare function createResponseSchema(schema: object, type: 'object' | 'array'): Record<number, unknown>; /** * Update properties of object recursively. */ export declare function updatePropertiesRecursive(obj: any, changes: any): any; /** * Calculate skip and limit options from given page and * pageSize. If value is not given, use default values: * 0 for page and 100 for pageSize */ export declare function calculateSkipAndLimit(p?: number, pageSize?: number): { skip: number; limit: number; }; /** * Create a find operation for mongoose model. * @param model Mongoose model to use * @param options Options for find operation * @returns Resources and totalCount if requested */ export declare function findOperation<T>(model: Model<T>, options: FindOptions): Promise<{ resources: import("mongoose").Require_id<import("mongoose").FlattenMaps<T>>[]; totalCount: number; } | { resources: import("mongoose").Require_id<import("mongoose").FlattenMaps<T>>[]; totalCount?: undefined; }>;