From 8603978c7d7fa43548ceb72e0f2dc0e8b2ef29e2 Mon Sep 17 00:00:00 2001 From: filifa Date: Wed, 10 Jul 2024 23:30:59 -0500 Subject: [PATCH] do similar array copy at end of recursion --- internal/statsapi/feed.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/statsapi/feed.go b/internal/statsapi/feed.go index 5f1ab02..4f3d887 100644 --- a/internal/statsapi/feed.go +++ b/internal/statsapi/feed.go @@ -54,11 +54,14 @@ func patch(obj any, path string, value any) error { break } - if idx < len(v) { - v[idx] = value - } else { - v = append(v, value) + if len(v) <= idx { + arr := make([]any, idx+1) + for i, val := range v { + arr[i] = val + } + v = arr } + v[idx] = value default: err = errors.New("couldn't determine type") }