josdejong/mathjs

null/undefined treated as valid only for left side of comparison operators

Aperta

#1391 aperta il 31 gen 2019

 (11 commenti) (0 reazioni) (0 assegnatari)JavaScript (1314 fork)batch import
bughelp wanted

Metriche repository

Star
 (15.065 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Using mathjs@5.4.1

When the null value is on the right side, the correct error is thrown (actual: null):

> require('mathjs').eval('1 > null')
TypeError: Unexpected type of argument in function larger (expected: number or Array or DenseMatrix or SparseMatrix or string or boolean or Matrix or BigNumber or Complex or Fraction, actual: null, index: 1)

However, when the null value is on the left side, the error mistakenly identifies the right side as the source of the problem (actual: number):

> require('mathjs').eval('null > 1')
TypeError: Unexpected type of argument in function larger (expected: Array or DenseMatrix or SparseMatrix or Matrix, actual: number, index: 1)

Guida contributor