@@ -13,7 +13,7 @@ import (
13
13
"strings"
14
14
)
15
15
16
- var builder = []string {BuildTemplate , BuildVarTemplate }
16
+ var builder = []string {BuildTemplate , BuildVarTemplate , ValidateTemplate , BuildFuncTemplate }
17
17
var predicate = []string {PredicateTemplate , PredicateVarTemplate }
18
18
var utils = []string {SetVarTemplate , GetVarTemplate }
19
19
@@ -138,7 +138,7 @@ func parseTemplate(template string, fs *ast.File, w *bufio.Writer) error {
138
138
shouldParseVar := true
139
139
predicateGenertor := false
140
140
141
- if template == BuildTemplate || template == PredicateTemplate {
141
+ if template == BuildTemplate || template == PredicateTemplate || template == BuildFuncTemplate || template == ValidateTemplate {
142
142
shouldParseVar = false
143
143
}
144
144
if template == PredicateVarTemplate {
@@ -210,6 +210,11 @@ func parseTemplate(template string, fs *ast.File, w *bufio.Writer) error {
210
210
}
211
211
212
212
func copyStructFile (fs * ast.File , w * bufio.Writer ) {
213
+ // import error package
214
+ _ , err := fmt .Fprintf (w , "\n import \" github.com/pkg/errors\" \n " )
215
+ if err != nil {
216
+ log .Fatalf ("Failed to write struct : %v" , err )
217
+ }
213
218
214
219
// fs is a parsed, type-checked *ast.File.
215
220
ast .Inspect (fs , func (n ast.Node ) bool {
@@ -243,7 +248,12 @@ func copyStructFile(fs *ast.File, w *bufio.Writer) {
243
248
return true
244
249
})
245
250
246
- _ , err := fmt .Fprintf (w , "}\n " )
251
+ // Add predicatelist variable
252
+ if _ , err := w .WriteString (BuilderFieldTemplate ); err != nil {
253
+ log .Fatalf ("Failed to add predicate and error filed : %v" , err )
254
+ }
255
+
256
+ _ , err = fmt .Fprintf (w , "}\n " )
247
257
if err != nil {
248
258
log .Fatalf ("Failed to write struct : %v" , err )
249
259
}
0 commit comments