mirror of
https://github.com/mudler/LocalAI.git
synced 2024-06-07 19:40:48 +00:00
34 lines
639 B
Go
34 lines
639 B
Go
|
package functions
|
||
|
|
||
|
type GrammarOption struct {
|
||
|
PropOrder string
|
||
|
Suffix string
|
||
|
MaybeArray bool
|
||
|
MaybeString bool
|
||
|
NoMixedFreeString bool
|
||
|
}
|
||
|
|
||
|
func (o *GrammarOption) Apply(options ...func(*GrammarOption)) {
|
||
|
for _, l := range options {
|
||
|
l(o)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var EnableMaybeArray = func(o *GrammarOption) {
|
||
|
o.MaybeArray = true
|
||
|
}
|
||
|
|
||
|
var EnableMaybeString = func(o *GrammarOption) {
|
||
|
o.MaybeString = true
|
||
|
}
|
||
|
|
||
|
var NoMixedFreeString func(*GrammarOption) = func(o *GrammarOption) {
|
||
|
o.NoMixedFreeString = true
|
||
|
}
|
||
|
|
||
|
func SetPrefix(suffix string) func(*GrammarOption) {
|
||
|
return func(o *GrammarOption) {
|
||
|
o.Suffix = suffix
|
||
|
}
|
||
|
}
|