josdejong/mathjs

TS regression: Narrowing of MathNodes by type

Open

#2.810 aberto em 13 de out. de 2022

Ver no GitHub
 (23 comments) (0 reactions) (0 assignees)JavaScript (1.298 forks)batch import
bughelp wantedtypescript

Métricas do repositório

Stars
 (13.832 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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

Guia do colaborador