を拡張します私は後で他の場所で自分のコードにアクセスできます)。は、私は次のエラーを取得していますtypescriptですdefinitelyTyped定義ファイル
私がしたいことは、model.hasMany
interface hereを拡張し、自分の鍵を追加することです。これは可能ですか?もしそうなら、どうすればいいですか?
現時点での回避策は、オブジェクトを渡す前にオブジェクトを<any>
にキャストすることです。これは、問題の回避策のようです。
私は次のことを試みた:
import Sequelize from 'sequelize';
export declare module Sequelize {
export interface MyAssociationOptionsHasMany extends Sequelize.AssociationOptionsHasMany {
gql?: any
}
export interface MyAssociations extends Sequelize.Associations {
hasMany(target: Sequelize.Model<any, any>, options?: MyAssociationOptionsHasMany): void;
}
}
そして今、私は次のエラーを取得する:
TypeError: Cannot read property '239' of undefined
at getDeclarationSpaces (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:33121:54)
at checkExportsOnMergedDeclarations (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:33067:41)
at checkModuleDeclaration (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35036:17)
at checkSourceElement (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35505:28)
at Object.forEach (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:275:30)
at checkSourceFileWorker (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35566:20)
at checkSourceFile (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35551:13)
at getDiagnosticsWorker (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35604:17)
at Object.getDiagnostics (C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:35593:24)
at C:\Users\user\AppData\Roaming\npm\node_modules\typescript\lib\tsc.js:56188:85
https://github.com/DefinitelyTyped/DefinitelyTyped#how-can-i-contribute –
@Mörreこれは私のアプリケーション専用に作成したプロパティであり、 )、その変更をリポジトリにコミットするのは間違いです。 – FrankerZ
Typescriptは[宣言のマージ](https://www.typescriptlang.org/docs/handbook/declaration-merging.html)を使用しているため、独自の定義ファイルをインターフェイスに追加して作成することができます。 –