1package funk 2 3type options struct { 4 allowZero bool 5} 6 7type option func(*options) 8 9func newOptions(values ...option) *options { 10 opts := &options{ 11 allowZero: false, 12 } 13 for _, o := range values { 14 o(opts) 15 } 16 return opts 17} 18 19// WithAllowZero allows zero values. 20func WithAllowZero() func(*options) { 21 return func(opts *options) { 22 opts.allowZero = true 23 } 24} 25