diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-04-07 22:39:08 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-07 09:39:08 -0500 |
commit | 36c0840cf1696912b1872cfa4ebc4b241dabd693 (patch) | |
tree | c3951e2bb0f1723043bd7fdcec0ab50c19d6ef3e /modules/util/util.go | |
parent | 5b89670a318e52e271f65d96bfe1116d85d20988 (diff) | |
download | gitea-36c0840cf1696912b1872cfa4ebc4b241dabd693.tar.gz gitea-36c0840cf1696912b1872cfa4ebc4b241dabd693.zip |
Merge template functions "dict/Dict/mergeinto" (#23932)
One of the steps in #23328
Before there were 3 different but similar functions: dict/Dict/mergeinto
The code was just copied & pasted, no test.
This PR defines a new stable `dict` function, it covers all the 3 old
functions behaviors, only +160 -171
Future developers do not need to think about or guess the different dict
functions, just use one: `dict`
Why use `dict` but not `Dict`? Because there are far more `dict` than
`Dict` in code already ......
Diffstat (limited to 'modules/util/util.go')
-rw-r--r-- | modules/util/util.go | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/modules/util/util.go b/modules/util/util.go index 782b905bec..148817bd47 100644 --- a/modules/util/util.go +++ b/modules/util/util.go @@ -6,7 +6,6 @@ package util import ( "bytes" "crypto/rand" - "errors" "fmt" "math/big" "strconv" @@ -117,29 +116,6 @@ func NormalizeEOL(input []byte) []byte { return tmp[:pos] } -// MergeInto merges pairs of values into a "dict" -func MergeInto(dict map[string]interface{}, values ...interface{}) (map[string]interface{}, error) { - for i := 0; i < len(values); i++ { - switch key := values[i].(type) { - case string: - i++ - if i == len(values) { - return nil, errors.New("specify the key for non array values") - } - dict[key] = values[i] - case map[string]interface{}: - m := values[i].(map[string]interface{}) - for i, v := range m { - dict[i] = v - } - default: - return nil, errors.New("dict values must be maps") - } - } - - return dict, nil -} - // CryptoRandomInt returns a crypto random integer between 0 and limit, inclusive func CryptoRandomInt(limit int64) (int64, error) { rInt, err := rand.Int(rand.Reader, big.NewInt(limit)) |