MCPcopy Create free account
hub / github.com/dop251/goja / Equals

Method Equals

value.go:644–666  ·  view source on GitHub ↗
(other Value)

Source from the content-addressed store, hash-verified

642}
643
644func (f valueFloat) Equals(other Value) bool {
645 switch o := other.(type) {
646 case valueFloat:
647 return f == o
648 case valueInt:
649 return float64(f) == float64(o)
650 case *valueBigInt:
651 if IsInfinity(f) || math.IsNaN(float64(f)) {
652 return false
653 }
654 if f := big.NewFloat(float64(f)); f.IsInt() {
655 i, _ := f.Int(nil)
656 return (*big.Int)(o).Cmp(i) == 0
657 }
658 return false
659 case String, valueBool:
660 return float64(f) == o.ToFloat()
661 case *Object:
662 return f.Equals(o.toPrimitive())
663 }
664
665 return false
666}
667
668func (f valueFloat) StrictEquals(other Value) bool {
669 switch o := other.(type) {

Callers

nothing calls this directly

Calls 3

IsInfinityFunction · 0.85
toPrimitiveMethod · 0.80
ToFloatMethod · 0.65

Tested by

no test coverage detected