josdejong/mathjs

TS regression: Narrowing of MathNodes by type

Open

#2,810 opened on 2022年10月13日

GitHub で見る
 (23 comments) (0 reactions) (0 assignees)JavaScript (1,298 forks)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (13,832 stars)
PR merge metrics
 (30d に merged PR はありません)

説明

Describe the bug Prior to v11.3 (not sure how far back, but certainly at least 10), MathNode would be narrowed based on its type property:

const doStuffWithMathNode(node: MathNode) => {
  if (node.type === 'FunctionAssignmentNode) {
    // now TS knows that node is a FunctionAssignmentNode and lets you access associated props
    // like node.params
  }
  // back to being a wider MathNode
}

To Reproduce

コントリビューターガイド