From 3a0a83e32eadffedcf355e02598956b53bfc6449 Mon Sep 17 00:00:00 2001 From: filifa Date: Sat, 13 Jul 2024 15:23:36 -0500 Subject: [PATCH] refactor diffpatch handling --- main.go | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/main.go b/main.go index f93f5ef..42fb6d2 100644 --- a/main.go +++ b/main.go @@ -46,6 +46,24 @@ func getGamePk() string { 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() { gamePk := getGamePk() @@ -88,19 +106,7 @@ func main() { log.Fatal(err) } } else { - var d []any - 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) + p, err := extractPatch(diffPatch) if err != nil { log.Fatal(err) }