带有打字稿的集合助手meteor-dburles-collection-helpers

问题描述 投票:0回答:1

我在我的 Meteor 2.12 项目中使用 TypeScript 来使用

dburles:collection-helpers
。我用
meteor add dburles:collection-helpers
添加了这个包,并用
meteor yarn add @types/meteor-dburles-collection-helpers
添加了类型。

在我的 TS 文件中:

import { Mongo } from "meteor/mongo";
import SimpleSchema from 'simpl-schema';
...
interface IBackupJobs {
  status: "queued" |
      "in_progress" |
      "restarting" |
      "finished_ok" |
      "finished_error"
...
}

const BackupJobsSchema = new SimpleSchema({
  status: {
    type: String,
    allowedValues: [
      "queued",
      "in_progress",
      "restarting",
      "finished_ok",
      "finished_error"
    ]
  },
...
});
const BackupJobs = new Mongo.Collection<IBackupJobs>("backup_jobs");
BackupJobs.attachSchema(BackupJobsSchema);
BackupJobs.helpers({
  isRunning() {
    return (
      this.status === "queued" ||
      this.status === "in_progress" ||
      this.status === "restarting"
    );
  }
});

但是很多 IDE 给我一个错误:

BackupJobs.helpers
:属性“helpers”在类型 Collection 上不存在

我尝试将

meteor-dburles-collection-helpers
中的类型文件放入我自己的
typings-custom
项目文件夹中,但出现了相同的错误。

有什么想法吗?

typescript meteor
1个回答
0
投票

我发现添加

import 'meteor-dburles-collection-helpers'
可以解决此问题,但我必须向
isRunning
添加
IBackupJobs
属性。所以界面是:

interface IBackupJobs {
  status: "queued" |
      "in_progress" |
      "restarting" |
      "finished_ok" |
      "finished_error"
...
  isRunning: () => boolean
}
© www.soinside.com 2019 - 2024. All rights reserved.