refactor(server/utils): strengthen typing
mongoose middleware helper functions are now properly typed
This commit is contained in:
parent
9dbf0548d7
commit
faaf385bde
@ -6,6 +6,7 @@ import { GridFSBucketReadStream } from "mongodb";
|
||||
import { stripHtml } from "string-strip-html";
|
||||
import { IStory } from "~/models/stories";
|
||||
import { ficsHidden } from "./server/ficmas";
|
||||
import { PreMiddlewareFunction, Query } from "mongoose";
|
||||
|
||||
// const { encode, decode } = iconv;
|
||||
|
||||
@ -13,15 +14,22 @@ export function countWords(string: string) {
|
||||
return stripHtml(string).result.split(/W+/).length;
|
||||
}
|
||||
|
||||
export function populate(field: string) {
|
||||
export function populate<T>(
|
||||
field: string,
|
||||
model: string,
|
||||
): PreMiddlewareFunction<Query<T, T>> {
|
||||
return function (next: () => any) {
|
||||
this.populate(field);
|
||||
this.populate(field, undefined, model);
|
||||
next();
|
||||
};
|
||||
}
|
||||
export function populateSelected(field: string, selection: string) {
|
||||
export function populateSelected<T>(
|
||||
field: string,
|
||||
model: string,
|
||||
selection: string,
|
||||
): PreMiddlewareFunction<Query<T, T>> {
|
||||
return function (next: () => any) {
|
||||
this.populate(field, selection);
|
||||
this.populate(field, selection, model);
|
||||
next();
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user