1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
package funcs
import (
"context"
"net/url"
"strconv"
"text/template"
"github.com/hairyhenderson/gomplate/v4/conv"
"github.com/hairyhenderson/gomplate/v4/internal/deprecated"
)
// CreateConvFuncs -
func CreateConvFuncs(ctx context.Context) map[string]any {
ns := &ConvFuncs{ctx}
f := map[string]any{}
f["conv"] = func() any { return ns }
f["urlParse"] = ns.URL
f["bool"] = ns.Bool
f["join"] = ns.Join
f["default"] = ns.Default
return f
}
// ConvFuncs -
type ConvFuncs struct {
ctx context.Context
}
// Bool -
//
// Deprecated: use [ToBool] instead
func (f *ConvFuncs) Bool(s any) bool {
deprecated.WarnDeprecated(f.ctx, "conv.Bool is deprecated - use conv.ToBool instead")
return conv.Bool(conv.ToString(s))
}
// ToBool -
func (ConvFuncs) ToBool(in any) bool {
return conv.ToBool(in)
}
// ToBools -
func (ConvFuncs) ToBools(in ...any) []bool {
return conv.ToBools(in...)
}
// Join -
func (ConvFuncs) Join(in any, sep string) (string, error) {
return conv.Join(in, sep)
}
// ParseInt -
func (ConvFuncs) ParseInt(s any, base, bitSize int) (int64, error) {
return strconv.ParseInt(conv.ToString(s), base, bitSize)
}
// ParseFloat -
func (ConvFuncs) ParseFloat(s any, bitSize int) (float64, error) {
return strconv.ParseFloat(conv.ToString(s), bitSize)
}
// ParseUint -
func (ConvFuncs) ParseUint(s any, base, bitSize int) (uint64, error) {
return strconv.ParseUint(conv.ToString(s), base, bitSize)
}
// Atoi -
func (ConvFuncs) Atoi(s any) (int, error) {
return strconv.Atoi(conv.ToString(s))
}
// URL -
func (ConvFuncs) URL(s any) (*url.URL, error) {
return url.Parse(conv.ToString(s))
}
// ToInt64 -
func (ConvFuncs) ToInt64(in any) (int64, error) {
return conv.ToInt64(in)
}
// ToInt -
func (ConvFuncs) ToInt(in any) (int, error) {
return conv.ToInt(in)
}
// ToInt64s -
func (ConvFuncs) ToInt64s(in ...any) ([]int64, error) {
return conv.ToInt64s(in...)
}
// ToInts -
func (ConvFuncs) ToInts(in ...any) ([]int, error) {
return conv.ToInts(in...)
}
// ToFloat64 -
func (ConvFuncs) ToFloat64(in any) (float64, error) {
return conv.ToFloat64(in)
}
// ToFloat64s -
func (ConvFuncs) ToFloat64s(in ...any) ([]float64, error) {
return conv.ToFloat64s(in...)
}
// ToString -
func (ConvFuncs) ToString(in any) string {
return conv.ToString(in)
}
// ToStrings -
func (ConvFuncs) ToStrings(in ...any) []string {
return conv.ToStrings(in...)
}
// Default -
func (ConvFuncs) Default(def, in any) any {
if truth, ok := template.IsTrue(in); truth && ok {
return in
}
return def
}
|