File tree Expand file tree Collapse file tree 2 files changed +15
-8
lines changed
Expand file tree Collapse file tree 2 files changed +15
-8
lines changed Original file line number Diff line number Diff line change 33package tfjson
44
55import (
6+ "encoding/json"
67 "testing"
78 "time"
89
@@ -132,7 +133,7 @@ func TestLogging_query(t *testing.T) {
132133 DisplayName : "This is a easy-antelope" ,
133134 Identity : map [string ]any {
134135 "id" : "easy-antelope" ,
135- "legs" : float64 ( 6 ),
136+ "legs" : json . Number ( "6" ),
136137 },
137138 IdentityVersion : 1 ,
138139 },
Original file line number Diff line number Diff line change 33package tfjson
44
55import (
6+ "bytes"
67 "encoding/json"
78)
89
@@ -29,31 +30,36 @@ var allLogMessageTypes = []any{
2930}
3031
3132func unmarshalByType (t LogMessageType , b []byte ) (LogMsg , error ) {
33+ d := json .NewDecoder (bytes .NewReader (b ))
34+
35+ // decode numbers as json.Number to avoid losing precision
36+ d .UseNumber ()
37+
3238 switch t {
3339
3440 // generic
3541 case MessageTypeVersion :
3642 v := VersionLogMessage {}
37- return v , json . Unmarshal ( b , & v )
43+ return v , d . Decode ( & v )
3844 case MessageTypeLog :
3945 v := LogMessage {}
40- return v , json . Unmarshal ( b , & v )
46+ return v , d . Decode ( & v )
4147 case MessageTypeDiagnostic :
4248 v := DiagnosticLogMessage {}
43- return v , json . Unmarshal ( b , & v )
49+ return v , d . Decode ( & v )
4450
4551 // query
4652 case MessageListStart :
4753 v := ListStartMessage {}
48- return v , json . Unmarshal ( b , & v )
54+ return v , d . Decode ( & v )
4955 case MessageListResourceFound :
5056 v := ListResourceFoundMessage {}
51- return v , json . Unmarshal ( b , & v )
57+ return v , d . Decode ( & v )
5258 case MessageListComplete :
5359 v := ListCompleteMessage {}
54- return v , json . Unmarshal ( b , & v )
60+ return v , d . Decode ( & v )
5561 }
5662
5763 v := UnknownLogMessage {}
58- return v , json . Unmarshal ( b , & v )
64+ return v , d . Decode ( & v )
5965}
You can’t perform that action at this time.
0 commit comments