feat: publish v1.0.0-rc.36-custom.1
Publish Docker image (Multi-arch) / Build & push (amd64) (push) Failing after 9m20s
Release (Linux, macOS, Windows) / Linux Release (push) Failing after 55m7s
Publish Docker image (Multi-arch) / Build & push (arm64) (push) Canceled after 0s
Release (Linux, macOS, Windows) / macOS Release (push) Canceled after 0s
Release (Linux, macOS, Windows) / Windows Release (push) Canceled after 0s
Publish Docker image (Multi-arch) / Create multi-arch manifests (push) Canceled after 0s

This commit is contained in:
Codex committed 2026-09-11 05:07:48 +08:00
commit bb7968b612
2381 files changed
+551494

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
package common
import (
"bytes"
"encoding/json"
"fmt"
"github.com/jinzhu/copier"
)
func DeepCopy[T any](src *T) (*T, error) {
if src == nil {
return nil, fmt.Errorf("copy source cannot be nil")
}
var dst T
err := copier.CopyWithOption(&dst, src, copier.Option{
DeepCopy: true, IgnoreEmpty: true,
Converters: []copier.TypeConverter{{
SrcType: json.RawMessage{},
DstType: json.RawMessage{},
Fn: func(src any) (any, error) {
// Copy raw JSON in bulk while retaining independent storage for
// request mutation and retries, instead of reflecting over each byte.
return json.RawMessage(bytes.Clone(src.(json.RawMessage))), nil
},
}},
})
if err != nil {
return nil, err
}
return &dst, nil
}