私はファクトリメソッドを持つクラスがあるとします。閉鎖コンパイラタイピング:機能(ファクトリメソッド)を参照してください
export class Foo {
constructor(options) {
this.a = options.a;
this.b = options.b;
}
/**
* @param {{
* a: number,
* b: number
* }} options
* @return {!Foo}
*/
static create(options) {
return new Foo(options);
}
}
私は注入を依存関係にしたいFoo
のような別のクラスのファクトリメソッド、:
/**
* @param {{
* createFoo: !function(!Object): !Foo
* }} options
*/
問題:Closure Compilerは、これが仮パラメータと一致しないと言っています。
found : {
createFoo: function ({a: number, b: number): Foo,
}
required: {
createFoo: function (Object): Foo,
}
ので、全体のコードベース私はオプションのオブジェクトに新しいのparamを追加するたびに更新する必要はありませんもちろん、私はレコードに型シグネチャとハードコードを書き換えることができますが、私は本当にFoo.create
を参照したいです。
どのようにCCでこれを行うことができますか?
や '@のrecord'を使用 –