mongoose-tsgen
Version:
A Typescript interface generator for Mongoose that works out of the box.
51 lines (50 loc) • 2.55 kB
TypeScript
/// <reference types="node" />
import mongoose from "mongoose";
import { MongooseModel } from "./types";
export declare const getSubdocName: (path: string, modelName?: string) => string;
export declare const isMapType: (val: any) => boolean;
export declare const convertBaseTypeToTs: ({ key, val, isDocument, noMongoose, datesAsStrings }: {
key: string;
val: any;
isDocument: boolean;
noMongoose: boolean;
datesAsStrings: boolean;
}) => string | undefined;
export declare const getShouldLeanIncludeVirtuals: (schema: any) => boolean;
export declare const BASE_TYPES: Set<string | ObjectConstructor | DateConstructor | NumberConstructor | StringConstructor | BooleanConstructor | {
new (str: string, encoding?: string | undefined): Buffer;
new (size: number): Buffer;
new (array: Uint8Array): Buffer;
new (arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer;
new (array: any[]): Buffer;
new (buffer: Buffer): Buffer;
prototype: Buffer;
from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number | undefined, length?: number | undefined): Buffer;
from(data: any[]): Buffer;
from(data: Uint8Array): Buffer;
from(obj: {
valueOf(): string | object;
} | {
[Symbol.toPrimitive](hint: "string"): string;
}, byteOffset?: number | undefined, length?: number | undefined): Buffer;
from(str: string, encoding?: string | undefined): Buffer;
of(...items: number[]): Buffer;
isBuffer(obj: any): obj is Buffer;
isEncoding(encoding: string): boolean | undefined;
byteLength(string: string | ArrayBuffer | SharedArrayBuffer | NodeJS.TypedArray | DataView, encoding?: string | undefined): number;
concat(list: Uint8Array[], totalLength?: number | undefined): Buffer;
compare(buf1: Uint8Array, buf2: Uint8Array): number;
alloc(size: number, fill?: string | number | Buffer | undefined, encoding?: string | undefined): Buffer;
allocUnsafe(size: number): Buffer;
allocUnsafeSlow(size: number): Buffer;
poolSize: number;
} | MapConstructor | typeof mongoose.Schema.Types.Map | typeof mongoose.Types.ObjectId | typeof mongoose.Types.Decimal128>;
export declare const loadModels: (modelsPaths: string[]) => MongooseModel[];
export declare const getTypeFromKeyValue: ({ key, val: valOriginal, isDocument, shouldLeanIncludeVirtuals, noMongoose, datesAsStrings }: {
key: string;
val: any;
isDocument: boolean;
shouldLeanIncludeVirtuals: boolean;
noMongoose: boolean;
datesAsStrings: boolean;
}) => string;