Skip to content

Commit

Permalink
add getModelName
Browse files Browse the repository at this point in the history
  • Loading branch information
bangbang93 committed Jul 17, 2020
1 parent 1560645 commit 957b711
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,20 @@ export function getSchema<T extends IMongooseClass>(modelClass: T): Schema {
return schema
}

export function getModel<T extends IMongooseClass>(modelClass: T): T {
export function getModel<T extends IMongooseClass>(modelClass: T): ModelType<T> {
if (modelCache.has(modelClass)) {
return modelCache.get(modelClass) as any
return modelCache.get(modelClass) as ModelType<T>
}
const meta = getMongooseMeta(modelClass.prototype)
if (!meta.name) throw new Error(`name not set for model ${modelClass.constructor.name}`)
const newModel = model(meta.name, getSchema(modelClass))
modelCache.set(modelClass, newModel as any)
return newModel as any
const newModel: ModelType<T> = model(meta.name, getSchema(modelClass))
modelCache.set(modelClass, newModel)
return newModel
}

export function getModelName<T extends IMongooseClass>(modelClass: T): string {
const meta = getMongooseMeta(modelClass.prototype)
return meta.name
}

function buildSchema(meta: MongooseMeta): Schema {
Expand Down

0 comments on commit 957b711

Please sign in to comment.