mongoose-tsgen
Version:
A Typescript interface generator for Mongoose that works out of the box.
26 lines (25 loc) • 1.38 kB
TypeScript
import { SourceFile } from "ts-morph";
import { TsReaderModelTypes } from "../types";
import { MongooseModel } from "../parser/types";
export declare const cleanComment: (comment: string) => string;
export declare const sanitizeModelName: (name: string) => string;
export declare const convertFuncSignatureToType: (funcSignature: string, funcType: "query" | "methods" | "statics", modelName: string) => string;
export declare const replaceModelTypes: (sourceFile: SourceFile, modelTypes: TsReaderModelTypes, models: MongooseModel[]) => void;
export declare const addPopulateHelpers: (sourceFile: SourceFile) => void;
export declare const overloadQueryPopulate: (sourceFile: SourceFile) => void;
export declare const createSourceFile: (genPath: string) => SourceFile;
export declare const parseFunctions: (funcs: {
[key: string]: () => any;
}, modelName: string, funcType: "methods" | "statics" | "query") => string;
export declare const getSchemaTypes: (model: MongooseModel) => string;
export declare const generateTypes: ({ sourceFile, imports, modelsPaths, noMongoose, datesAsStrings }: {
sourceFile: SourceFile;
modelsPaths: string[];
imports?: string[] | undefined;
noMongoose: boolean;
datesAsStrings: boolean;
}) => SourceFile;
export declare const saveFile: ({ sourceFile }: {
sourceFile: SourceFile;
generatedFilePath: string;
}) => void;