خطای TypeScript TS1005: انتظار میرفت '?' در تابع دکوراتور.
من دکوراتور sequelizeModel را برای کلاس خودم Account دارم اما وقتی سعی میکنم کد TS را به JS کامپایل کنم این خطا را دریافت میکنم: src/models/Account.ts(3,93): error TS1005: '؟' مورد انتظار است.
خطا به تعریف تابع دکوراتور اشاره دارد <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;
}
پاسخ شماره ۱
قسمت extends باید فقط داخل <> قرار گیرد:
const sequelizeModel: ClassDecorator = <Account extends Model>(target: Account) => {
