Гнездо js типов безопасных пн goose, функции модели не запрашивают правильные типы (любые) - PullRequest
0 голосов
/ 07 января 2020

Интерфейсы Shema

export interface MyCat {
  name: string;
  color: string;
}

export type Cat = MyCat & Document;

export const CatSchema = new Schema({
  name: {
    type: String,
    required: true,
  },
  color: {
    type: String,
    required: true,
  }
});

Для получения функции (обратите внимание, что у нее нет свойства цвета)

export class CreateCatDto {
  @IsString()
  readonly name: string = 'Franco';
}

Функция вызвана, она не выдает ошибку на новом Cat (cat) , выдает ошибку во время выполнения в пн goose, говоря пропущенные обязательные атрибуты

  constructor(@InjectModel('Cat') private readonly catModel: Model<Cat>) {}

  async create(cat: CreateCatDto) {
    // typescript should give me an error here :(
    const createdCat = new this.catModel(cat);
    return await createdCat.save();
  }

Мой вопрос: как заставить функции модели понять, что им нужно правильно получать? Из того, что я вижу, они часто принимают any тип

1 Ответ

0 голосов
/ 08 января 2020

Вы можете использовать Тип goose https://typegoose.github.io/typegoose/ Для безопасного моделирования

...