1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package memory
- import (
- "context"
- "gogs.baozhida.cn/zoie/OAuth-core/config/source"
- )
- type changeSetKey struct{}
- func withData(d []byte, f string) source.Option {
- return func(o *source.Options) {
- if o.Context == nil {
- o.Context = context.Background()
- }
- o.Context = context.WithValue(o.Context, changeSetKey{}, &source.ChangeSet{
- Data: d,
- Format: f,
- })
- }
- }
- // WithChangeSet allows a changeset to be set
- func WithChangeSet(cs *source.ChangeSet) source.Option {
- return func(o *source.Options) {
- if o.Context == nil {
- o.Context = context.Background()
- }
- o.Context = context.WithValue(o.Context, changeSetKey{}, cs)
- }
- }
- // WithJSON allows the source data to be set to json
- func WithJSON(d []byte) source.Option {
- return withData(d, "json")
- }
- // WithYAML allows the source data to be set to yaml
- func WithYAML(d []byte) source.Option {
- return withData(d, "yaml")
- }
|