Ожидается ошибка TypeScript TS1005: ‘?’. в функции декоратора

#typescript

#typescript

Вопрос:

У меня есть декоратор sequelizeModel для моего класса Account , но когда я пытаюсь скомпилировать код TS в JS, я получаю эту ошибку: src/models/Account.ts(3,93): error TS1005: '?' expected.

Ошибка указывает на определение функции декоратора <Account extends Model>(target: Account extends Model)

Код:

 import { Model, DataTypes } from 'sequelize';

const sequelizeModel: ClassDecorator = <Account extends Model>(target: Account extends Model) => {
    return target;
}

const column = function (options: any) {
    return function (target: Object, propertyKey: string | symbol): void {
        Reflect.defineMetadata('model:column', {[propertyKey]: options}, target)
    }
}

@sequelizeModel
export class Account extends Model<Account, Partial<Account>> {
    @column({
        field: 'uuid',
        type: DataTypes.UUID,
        defaultValue: DataTypes.UUIDV4,
        primaryKey: true,
    })
    uuid: string;

    @column({
        field: 'account_name',
        type: DataTypes.STRING(256),
    })
    accountName: string;
}
  

Ответ №1:

extends Часть должна находиться только внутри <> s:

 const sequelizeModel: ClassDecorator = <Account extends Model>(target: Account) => {