@@ -25,16 +25,16 @@ fileprivate func fuzzyEquals(_ lhs: Node?, _ rhs: Node?) -> Bool {
2525 let lhs = lhs ?? . null
2626 let rhs = rhs ?? . null
2727
28- switch lhs {
28+ switch lhs. wrapped {
2929 case let . array( lhs) :
30- guard let rhs = rhs. nodeArray else { return false }
30+ guard let rhs = rhs. array else { return false }
3131 guard lhs. count == rhs. count else { return false }
32- for (l, r) in zip ( lhs, rhs) where !fuzzyEquals( l , r) { return false }
32+ for (l, r) in zip ( lhs, rhs) where !fuzzyEquals( Node ( l ) , r) { return false }
3333 return true
3434 case let . bool( bool) :
3535 return bool == rhs. bool
3636 case let . bytes( bytes) :
37- guard case let . bytes( rhs) = rhs else { return false }
37+ guard case let . bytes( rhs) = rhs. wrapped else { return false }
3838 return bytes == rhs
3939 case . null:
4040 return rhs. isNull
@@ -48,15 +48,15 @@ fileprivate func fuzzyEquals(_ lhs: Node?, _ rhs: Node?) -> Bool {
4848 return uint == rhs. uint
4949 }
5050 case let . object( lhs) :
51- guard let rhs = rhs. nodeObject else { return false }
51+ guard let rhs = rhs. object else { return false }
5252 guard lhs. count == rhs. count else { return false }
53- for (k, v) in lhs where !fuzzyEquals( v , rhs [ k] ) { return false }
53+ for (k, v) in lhs where !fuzzyEquals( Node ( v ) , rhs [ k] ) { return false }
5454 return true
5555 case let . string( string) :
5656 return string == rhs. string
5757 case let . date( date) :
5858 // FIXME: Add fuzzy date access and equality?
59- guard case let . date( right) = rhs else { return false }
59+ guard case let . date( right) = rhs. wrapped else { return false }
6060 return date == right
6161 }
6262}
0 commit comments