私のコードは次のとおりです。
export function testGraph({ id = 0, name = "test", nodes = [] }): Graph {
if (nodes.length === 0) {
const dummyNode = testNode({});
return new Graph(id, name, [dummyNode]);
}
return new Graph(id, name, nodes);
}
export function testDatabase({ id = 0, name = "test", graphs = [] }): Database {
if (graphs.length === 0) {
const dummyGraph = testGraph({ nodes: new Array(new Node(0)) });
return new Database(id, name, [dummyGraph]);
}
return new Database(id, name, graphs);
}
しかし、これにより次のエラーが発生します。
Type 'Node[]' is not assignable to type 'never[]'.
Type 'Node' is not assignable to type 'never'.
40 const dummyGraph = testGraph({ nodes: new Array(new Node(0)) });
~~~~~
これが自動的に「決して」タイプを推論する理由を理解できないようです。タイプを明示的に宣言しようとしましたが、うまくいきませんでした。