- Notifications
You must be signed in to change notification settings - Fork 129
/
Copy pathfield.go
45 lines (37 loc) · 1.22 KB
/
field.go
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
package openai
import (
"github.com/openai/openai-go/packages/param"
"io"
"time"
)
funcString(sstring) param.Opt[string] { returnparam.NewOpt(s) }
funcInt(iint64) param.Opt[int64] { returnparam.NewOpt(i) }
funcBool(bbool) param.Opt[bool] { returnparam.NewOpt(b) }
funcFloat(ffloat64) param.Opt[float64] { returnparam.NewOpt(f) }
funcTime(t time.Time) param.Opt[time.Time] { returnparam.NewOpt(t) }
funcOpt[Tcomparable](vT) param.Opt[T] { returnparam.NewOpt(v) }
funcPtr[Tany](vT) *T { return&v }
funcIntPtr(vint64) *int64 { return&v }
funcBoolPtr(vbool) *bool { return&v }
funcFloatPtr(vfloat64) *float64 { return&v }
funcStringPtr(vstring) *string { return&v }
funcTimePtr(v time.Time) *time.Time { return&v }
funcFile(rdr io.Reader, filenamestring, contentTypestring) file {
returnfile{rdr, filename, contentType}
}
typefilestruct {
io.Reader
namestring
contentTypestring
}
func (ffile) Filename() string {
iff.name!="" {
returnf.name
} elseifnamed, ok:=f.Reader.(interface{ Name() string }); ok {
returnnamed.Name()
}
return""
}
func (ffile) ContentType() string {
returnf.contentType
}