refactor diffpatch handling

This commit is contained in:
filifa 2024-07-13 15:23:36 -05:00
parent a7a53614cc
commit 3a0a83e32e
1 changed files with 19 additions and 13 deletions

32
main.go
View File

@ -46,6 +46,24 @@ func getGamePk() string {
return gamePk return gamePk
} }
func extractPatch(diffPatch []byte) (jsonpatch.Patch, error) {
var p jsonpatch.Patch
var d []any
err := json.Unmarshal(diffPatch, &d)
if err != nil {
return p, err
}
diff := d[0].(map[string]any)["Diff"]
patch, err := json.Marshal(diff)
if err != nil {
log.Fatal(err)
}
p, err = jsonpatch.DecodePatch(patch)
return p, err
}
func main() { func main() {
gamePk := getGamePk() gamePk := getGamePk()
@ -88,19 +106,7 @@ func main() {
log.Fatal(err) log.Fatal(err)
} }
} else { } else {
var d []any p, err := extractPatch(diffPatch)
err = json.Unmarshal(diffPatch, &d)
if err != nil {
log.Fatal(err)
}
diff := d[0].(map[string]any)["Diff"]
patch, err := json.Marshal(diff)
if err != nil {
log.Fatal(err)
}
p, err := jsonpatch.DecodePatch(patch)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }