@@ -3,131 +3,65 @@ package musttag
3
3
// builtins is a set of functions supported out of the box.
4
4
var builtins = []Func {
5
5
// https://pkg.go.dev/encoding/json
6
- {
7
- Name : "encoding/json.Marshal" , Tag : "json" , ArgPos : 0 ,
8
- ifaceWhitelist : []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" },
9
- },
10
- {
11
- Name : "encoding/json.MarshalIndent" , Tag : "json" , ArgPos : 0 ,
12
- ifaceWhitelist : []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" },
13
- },
14
- {
15
- Name : "encoding/json.Unmarshal" , Tag : "json" , ArgPos : 1 ,
16
- ifaceWhitelist : []string {"encoding/json.Unmarshaler" , "encoding.TextUnmarshaler" },
17
- },
18
- {
19
- Name : "(*encoding/json.Encoder).Encode" , Tag : "json" , ArgPos : 0 ,
20
- ifaceWhitelist : []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" },
21
- },
22
- {
23
- Name : "(*encoding/json.Decoder).Decode" , Tag : "json" , ArgPos : 0 ,
24
- ifaceWhitelist : []string {"encoding/json.Unmarshaler" , "encoding.TextUnmarshaler" },
25
- },
6
+ {"encoding/json.Marshal" , "json" , 0 , []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" }},
7
+ {"encoding/json.MarshalIndent" , "json" , 0 , []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" }},
8
+ {"encoding/json.Unmarshal" , "json" , 1 , []string {"encoding/json.Unmarshaler" , "encoding.TextUnmarshaler" }},
9
+ {"(*encoding/json.Encoder).Encode" , "json" , 0 , []string {"encoding/json.Marshaler" , "encoding.TextMarshaler" }},
10
+ {"(*encoding/json.Decoder).Decode" , "json" , 0 , []string {"encoding/json.Unmarshaler" , "encoding.TextUnmarshaler" }},
26
11
27
12
// https://pkg.go.dev/encoding/xml
28
- {
29
- Name : "encoding/xml.Marshal" , Tag : "xml" , ArgPos : 0 ,
30
- ifaceWhitelist : []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" },
31
- },
32
- {
33
- Name : "encoding/xml.MarshalIndent" , Tag : "xml" , ArgPos : 0 ,
34
- ifaceWhitelist : []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" },
35
- },
36
- {
37
- Name : "encoding/xml.Unmarshal" , Tag : "xml" , ArgPos : 1 ,
38
- ifaceWhitelist : []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" },
39
- },
40
- {
41
- Name : "(*encoding/xml.Encoder).Encode" , Tag : "xml" , ArgPos : 0 ,
42
- ifaceWhitelist : []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" },
43
- },
44
- {
45
- Name : "(*encoding/xml.Decoder).Decode" , Tag : "xml" , ArgPos : 0 ,
46
- ifaceWhitelist : []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" },
47
- },
48
- {
49
- Name : "(*encoding/xml.Encoder).EncodeElement" , Tag : "xml" , ArgPos : 0 ,
50
- ifaceWhitelist : []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" },
51
- },
52
- {
53
- Name : "(*encoding/xml.Decoder).DecodeElement" , Tag : "xml" , ArgPos : 0 ,
54
- ifaceWhitelist : []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" },
55
- },
13
+ {"encoding/xml.Marshal" , "xml" , 0 , []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" }},
14
+ {"encoding/xml.MarshalIndent" , "xml" , 0 , []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" }},
15
+ {"encoding/xml.Unmarshal" , "xml" , 1 , []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" }},
16
+ {"(*encoding/xml.Encoder).Encode" , "xml" , 0 , []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" }},
17
+ {"(*encoding/xml.Decoder).Decode" , "xml" , 0 , []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" }},
18
+ {"(*encoding/xml.Encoder).EncodeElement" , "xml" , 0 , []string {"encoding/xml.Marshaler" , "encoding.TextMarshaler" }},
19
+ {"(*encoding/xml.Decoder).DecodeElement" , "xml" , 0 , []string {"encoding/xml.Unmarshaler" , "encoding.TextUnmarshaler" }},
56
20
57
21
// https://pkg.go.dev/gopkg.in/yaml.v3
58
- {
59
- Name : "gopkg.in/yaml.v3.Marshal" , Tag : "yaml" , ArgPos : 0 ,
60
- ifaceWhitelist : []string {"gopkg.in/yaml.v3.Marshaler" },
61
- },
62
- {
63
- Name : "gopkg.in/yaml.v3.Unmarshal" , Tag : "yaml" , ArgPos : 1 ,
64
- ifaceWhitelist : []string {"gopkg.in/yaml.v3.Unmarshaler" },
65
- },
66
- {
67
- Name : "(*gopkg.in/yaml.v3.Encoder).Encode" , Tag : "yaml" , ArgPos : 0 ,
68
- ifaceWhitelist : []string {"gopkg.in/yaml.v3.Marshaler" },
69
- },
70
- {
71
- Name : "(*gopkg.in/yaml.v3.Decoder).Decode" , Tag : "yaml" , ArgPos : 0 ,
72
- ifaceWhitelist : []string {"gopkg.in/yaml.v3.Unmarshaler" },
73
- },
22
+ {"gopkg.in/yaml.v3.Marshal" , "yaml" , 0 , []string {"gopkg.in/yaml.v3.Marshaler" }},
23
+ {"gopkg.in/yaml.v3.Unmarshal" , "yaml" , 1 , []string {"gopkg.in/yaml.v3.Unmarshaler" }},
24
+ {"(*gopkg.in/yaml.v3.Encoder).Encode" , "yaml" , 0 , []string {"gopkg.in/yaml.v3.Marshaler" }},
25
+ {"(*gopkg.in/yaml.v3.Decoder).Decode" , "yaml" , 0 , []string {"gopkg.in/yaml.v3.Unmarshaler" }},
74
26
75
27
// https://pkg.go.dev/github.com/BurntSushi/toml
76
- {
77
- Name : "github.com/BurntSushi/toml.Unmarshal" , Tag : "toml" , ArgPos : 1 ,
78
- ifaceWhitelist : []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" },
79
- },
80
- {
81
- Name : "github.com/BurntSushi/toml.Decode" , Tag : "toml" , ArgPos : 1 ,
82
- ifaceWhitelist : []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" },
83
- },
84
- {
85
- Name : "github.com/BurntSushi/toml.DecodeFS" , Tag : "toml" , ArgPos : 2 ,
86
- ifaceWhitelist : []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" },
87
- },
88
- {
89
- Name : "github.com/BurntSushi/toml.DecodeFile" , Tag : "toml" , ArgPos : 1 ,
90
- ifaceWhitelist : []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" },
91
- },
92
- {
93
- Name : "(*github.com/BurntSushi/toml.Encoder).Encode" , Tag : "toml" , ArgPos : 0 ,
94
- ifaceWhitelist : []string {"encoding.TextMarshaler" },
95
- },
96
- {
97
- Name : "(*github.com/BurntSushi/toml.Decoder).Decode" , Tag : "toml" , ArgPos : 0 ,
98
- ifaceWhitelist : []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" },
99
- },
28
+ {"github.com/BurntSushi/toml.Unmarshal" , "toml" , 1 , []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" }},
29
+ {"github.com/BurntSushi/toml.Decode" , "toml" , 1 , []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" }},
30
+ {"github.com/BurntSushi/toml.DecodeFS" , "toml" , 2 , []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" }},
31
+ {"github.com/BurntSushi/toml.DecodeFile" , "toml" , 1 , []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" }},
32
+ {"(*github.com/BurntSushi/toml.Encoder).Encode" , "toml" , 0 , []string {"encoding.TextMarshaler" }},
33
+ {"(*github.com/BurntSushi/toml.Decoder).Decode" , "toml" , 0 , []string {"github.com/BurntSushi/toml.Unmarshaler" , "encoding.TextUnmarshaler" }},
100
34
101
35
// https://pkg.go.dev/github.com/mitchellh/mapstructure
102
- {Name : "github.com/mitchellh/mapstructure.Decode" , Tag : "mapstructure" , ArgPos : 1 },
103
- {Name : "github.com/mitchellh/mapstructure.DecodeMetadata" , Tag : "mapstructure" , ArgPos : 1 },
104
- {Name : "github.com/mitchellh/mapstructure.WeakDecode" , Tag : "mapstructure" , ArgPos : 1 },
105
- {Name : "github.com/mitchellh/mapstructure.WeakDecodeMetadata" , Tag : "mapstructure" , ArgPos : 1 },
36
+ {"github.com/mitchellh/mapstructure.Decode" , "mapstructure" , 1 , nil },
37
+ {"github.com/mitchellh/mapstructure.DecodeMetadata" , "mapstructure" , 1 , nil },
38
+ {"github.com/mitchellh/mapstructure.WeakDecode" , "mapstructure" , 1 , nil },
39
+ {"github.com/mitchellh/mapstructure.WeakDecodeMetadata" , "mapstructure" , 1 , nil },
106
40
107
41
// https://pkg.go.dev/github.com/jmoiron/sqlx
108
- {Name : "github.com/jmoiron/sqlx.Get" , Tag : "db" , ArgPos : 1 },
109
- {Name : "github.com/jmoiron/sqlx.GetContext" , Tag : "db" , ArgPos : 2 },
110
- {Name : "github.com/jmoiron/sqlx.Select" , Tag : "db" , ArgPos : 1 },
111
- {Name : "github.com/jmoiron/sqlx.SelectContext" , Tag : "db" , ArgPos : 2 },
112
- {Name : "github.com/jmoiron/sqlx.StructScan" , Tag : "db" , ArgPos : 1 },
113
- {Name : "(*github.com/jmoiron/sqlx.Conn).GetContext" , Tag : "db" , ArgPos : 1 },
114
- {Name : "(*github.com/jmoiron/sqlx.Conn).SelectContext" , Tag : "db" , ArgPos : 1 },
115
- {Name : "(*github.com/jmoiron/sqlx.DB).Get" , Tag : "db" , ArgPos : 0 },
116
- {Name : "(*github.com/jmoiron/sqlx.DB).GetContext" , Tag : "db" , ArgPos : 1 },
117
- {Name : "(*github.com/jmoiron/sqlx.DB).Select" , Tag : "db" , ArgPos : 0 },
118
- {Name : "(*github.com/jmoiron/sqlx.DB).SelectContext" , Tag : "db" , ArgPos : 1 },
119
- {Name : "(*github.com/jmoiron/sqlx.NamedStmt).Get" , Tag : "db" , ArgPos : 0 },
120
- {Name : "(*github.com/jmoiron/sqlx.NamedStmt).GetContext" , Tag : "db" , ArgPos : 1 },
121
- {Name : "(*github.com/jmoiron/sqlx.NamedStmt).Select" , Tag : "db" , ArgPos : 0 },
122
- {Name : "(*github.com/jmoiron/sqlx.NamedStmt).SelectContext" , Tag : "db" , ArgPos : 1 },
123
- {Name : "(*github.com/jmoiron/sqlx.Row).StructScan" , Tag : "db" , ArgPos : 0 },
124
- {Name : "(*github.com/jmoiron/sqlx.Rows).StructScan" , Tag : "db" , ArgPos : 0 },
125
- {Name : "(*github.com/jmoiron/sqlx.Stmt).Get" , Tag : "db" , ArgPos : 0 },
126
- {Name : "(*github.com/jmoiron/sqlx.Stmt).GetContext" , Tag : "db" , ArgPos : 1 },
127
- {Name : "(*github.com/jmoiron/sqlx.Stmt).Select" , Tag : "db" , ArgPos : 0 },
128
- {Name : "(*github.com/jmoiron/sqlx.Stmt).SelectContext" , Tag : "db" , ArgPos : 1 },
129
- {Name : "(*github.com/jmoiron/sqlx.Tx).Get" , Tag : "db" , ArgPos : 0 },
130
- {Name : "(*github.com/jmoiron/sqlx.Tx).GetContext" , Tag : "db" , ArgPos : 1 },
131
- {Name : "(*github.com/jmoiron/sqlx.Tx).Select" , Tag : "db" , ArgPos : 0 },
132
- {Name : "(*github.com/jmoiron/sqlx.Tx).SelectContext" , Tag : "db" , ArgPos : 1 },
42
+ {"github.com/jmoiron/sqlx.Get" , "db" , 1 , [] string { "database/sql.Scanner" } },
43
+ {"github.com/jmoiron/sqlx.GetContext" , "db" , 2 , [] string { "database/sql.Scanner" } },
44
+ {"github.com/jmoiron/sqlx.Select" , "db" , 1 , [] string { "database/sql.Scanner" } },
45
+ {"github.com/jmoiron/sqlx.SelectContext" , "db" , 2 , [] string { "database/sql.Scanner" } },
46
+ {"github.com/jmoiron/sqlx.StructScan" , "db" , 1 , [] string { "database/sql.Scanner" } },
47
+ {"(*github.com/jmoiron/sqlx.Conn).GetContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
48
+ {"(*github.com/jmoiron/sqlx.Conn).SelectContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
49
+ {"(*github.com/jmoiron/sqlx.DB).Get" , "db" , 0 , [] string { "database/sql.Scanner" } },
50
+ {"(*github.com/jmoiron/sqlx.DB).GetContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
51
+ {"(*github.com/jmoiron/sqlx.DB).Select" , "db" , 0 , [] string { "database/sql.Scanner" } },
52
+ {"(*github.com/jmoiron/sqlx.DB).SelectContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
53
+ {"(*github.com/jmoiron/sqlx.NamedStmt).Get" , "db" , 0 , [] string { "database/sql.Scanner" } },
54
+ {"(*github.com/jmoiron/sqlx.NamedStmt).GetContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
55
+ {"(*github.com/jmoiron/sqlx.NamedStmt).Select" , "db" , 0 , [] string { "database/sql.Scanner" } },
56
+ {"(*github.com/jmoiron/sqlx.NamedStmt).SelectContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
57
+ {"(*github.com/jmoiron/sqlx.Row).StructScan" , "db" , 0 , [] string { "database/sql.Scanner" } },
58
+ {"(*github.com/jmoiron/sqlx.Rows).StructScan" , "db" , 0 , [] string { "database/sql.Scanner" } },
59
+ {"(*github.com/jmoiron/sqlx.Stmt).Get" , "db" , 0 , [] string { "database/sql.Scanner" } },
60
+ {"(*github.com/jmoiron/sqlx.Stmt).GetContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
61
+ {"(*github.com/jmoiron/sqlx.Stmt).Select" , "db" , 0 , [] string { "database/sql.Scanner" } },
62
+ {"(*github.com/jmoiron/sqlx.Stmt).SelectContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
63
+ {"(*github.com/jmoiron/sqlx.Tx).Get" , "db" , 0 , [] string { "database/sql.Scanner" } },
64
+ {"(*github.com/jmoiron/sqlx.Tx).GetContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
65
+ {"(*github.com/jmoiron/sqlx.Tx).Select" , "db" , 0 , [] string { "database/sql.Scanner" } },
66
+ {"(*github.com/jmoiron/sqlx.Tx).SelectContext" , "db" , 1 , [] string { "database/sql.Scanner" } },
133
67
}
0 commit comments