UNPKG

3.85 kBTypeScriptView Raw
1/// <reference types="node" />
2/// <reference types="mongoose/types/aggregate" />
3/// <reference types="mongoose/types/callback" />
4/// <reference types="mongoose/types/collection" />
5/// <reference types="mongoose/types/connection" />
6/// <reference types="mongoose/types/cursor" />
7/// <reference types="mongoose/types/document" />
8/// <reference types="mongoose/types/error" />
9/// <reference types="mongoose/types/expressions" />
10/// <reference types="mongoose/types/helpers" />
11/// <reference types="mongoose/types/middlewares" />
12/// <reference types="mongoose/types/indexes" />
13/// <reference types="mongoose/types/models" />
14/// <reference types="mongoose/types/mongooseoptions" />
15/// <reference types="mongoose/types/pipelinestage" />
16/// <reference types="mongoose/types/populate" />
17/// <reference types="mongoose/types/query" />
18/// <reference types="mongoose/types/schemaoptions" />
19/// <reference types="mongoose/types/schematypes" />
20/// <reference types="mongoose/types/session" />
21/// <reference types="mongoose/types/types" />
22/// <reference types="mongoose/types/utility" />
23/// <reference types="mongoose/types/validation" />
24/// <reference types="mongoose/types/virtuals" />
25/// <reference types="mongoose/types/inferschematype" />
26import * as mongoose from 'mongoose';
27import type { DocumentType, Ref, RefType } from './types';
28/**
29 * Check if the given document is populated
30 * @param doc The Ref with uncertain type
31 */
32export declare function isDocument<T, S extends RefType>(doc: Ref<T, S> | null | undefined): doc is DocumentType<T>;
33/**
34 * Check if the given array is fully populated
35 * Only returns "true" if all members in the array are populated
36 * @param docs The Array of Refs with uncertain type
37 */
38export declare function isDocumentArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>> | null | undefined): docs is mongoose.Types.Array<DocumentType<NonNullable<T>>>;
39/**
40 * Check if the given array is fully populated
41 * Only returns "true" if all members in the array are populated
42 * @param docs The Array of Refs with uncertain type
43 */
44export declare function isDocumentArray<T, S extends RefType>(docs: Ref<T, S>[] | null | undefined): docs is DocumentType<NonNullable<T>>[];
45type AllowedRefTypes = typeof String | typeof Number | typeof Buffer | typeof mongoose.Types.ObjectId | typeof mongoose.Types.Buffer;
46/**
47 * Check if the document is of type "refType"
48 * @param doc The Ref with uncretain type
49 * @param refType The Expected Reference Type (this is required because this type is only known at compile time, not at runtime)
50 */
51export declare function isRefType<T, S extends RefType>(doc: Ref<T, S> | null | undefined, refType: AllowedRefTypes): doc is NonNullable<S>;
52/**
53 * Check if the array is fully of type "refType"
54 * Only returns "true" if all members in the array are of type "refType"
55 * @param docs The Ref with uncretain type
56 * @param refType The Expected Reference Type (this is required because this type is only known at compile time, not at runtime)
57 */
58export declare function isRefTypeArray<T, S extends RefType>(docs: mongoose.Types.Array<Ref<T, S>> | null | undefined, refType: AllowedRefTypes): docs is mongoose.Types.Array<NonNullable<S>>;
59/**
60 * Check if the array is fully of type "refType"
61 * Only returns "true" if all members in the array are of type "refType"
62 * @param docs The Ref with uncretain type
63 * @param refType The Expected Reference Type (this is required because this type is only known at compile time, not at runtime)
64 */
65export declare function isRefTypeArray<T, S extends RefType>(docs: Ref<T, S>[] | null | undefined, refType: AllowedRefTypes): docs is NonNullable<S>[];
66/**
67 * Check if the input is a mongoose.Model
68 * @param model The Value to check
69 */
70export declare function isModel(model: any): model is mongoose.Model<any>;
71export {};