Добрый вечер, есть такая конструкция:
import type { Model, ModelCtor } from 'sequelize';
const isExistsValidator = (model: ModelCtor<Model>, field: string) => { ... }
ModelCtor:
export type ModelCtor<M extends Model> = typeof Model & { new(): M };
Но почему-то если использовать обобщение, то тип не сходится:
import type { Model, ModelCtor } from 'sequelize';
const isExistsValidator = <M extends Model>(model: ModelCtor<M>, field: string) => { ... }
сразу в теле функции появляются ошибки, которые я не очень понимаю, но суть не в этом.
model - класс, наследник Model
В чем разница между вариантами с обобщением и без?