Closed
Description
While the JSValueCompatible
APIs are failable, the underlying conversion of calling SignedInteger.init(_:)
and UnsignedInteger.init(_:)
directly can crash at runtime if:
double.isNan
!double.isFinite
double > .max || double < .min
Ideally, none of these would crash and return nil
instead:
Int.construct(from: JSValue.number(.infinity))
Int.construct(from: JSValue.number(.nan))
Int.construct(from: JSValue.number(numberGreaterThanIntMax)
Int.construct(from: JSValue.number(numberLessThanIntMin)
Metadata
Metadata
Assignees
Labels
No labels