update dasel provider
All checks were successful
Go Action / goaction (pull_request) Successful in 38s
All checks were successful
Go Action / goaction (pull_request) Successful in 38s
This commit is contained in:
@@ -1,28 +1,13 @@
|
||||
package hcl
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/tomwright/dasel/v3/parsing"
|
||||
"github.com/tomwright/dasel/v3/parsing/hcl"
|
||||
"gitoa.ru/go-4devs/config"
|
||||
"gitoa.ru/go-4devs/config/provider/dasel"
|
||||
)
|
||||
|
||||
const Name = "dasel:hcl"
|
||||
|
||||
//nolint:wrapcheck
|
||||
func New(data []byte) (dasel.Provider, error) {
|
||||
readOption := parsing.DefaultReaderOptions()
|
||||
|
||||
reader, err := hcl.HCL.NewReader(readOption)
|
||||
if err != nil {
|
||||
return dasel.Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, err)
|
||||
}
|
||||
|
||||
val, verr := reader.Read(data)
|
||||
if verr != nil {
|
||||
return dasel.Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, verr)
|
||||
}
|
||||
|
||||
return dasel.New(val, dasel.WithName(Name)), nil
|
||||
return dasel.New(data, hcl.HCL, dasel.WithName(Name))
|
||||
}
|
||||
|
||||
@@ -1,28 +1,13 @@
|
||||
package json //nolint:revive
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/tomwright/dasel/v3/parsing"
|
||||
"github.com/tomwright/dasel/v3/parsing/json"
|
||||
"gitoa.ru/go-4devs/config"
|
||||
"gitoa.ru/go-4devs/config/provider/dasel"
|
||||
)
|
||||
|
||||
const Name = "dasel:json"
|
||||
|
||||
//nolint:wrapcheck
|
||||
func New(data []byte) (dasel.Provider, error) {
|
||||
readOption := parsing.DefaultReaderOptions()
|
||||
|
||||
reader, err := json.JSON.NewReader(readOption)
|
||||
if err != nil {
|
||||
return dasel.Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, err)
|
||||
}
|
||||
|
||||
val, verr := reader.Read(data)
|
||||
if verr != nil {
|
||||
return dasel.Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, verr)
|
||||
}
|
||||
|
||||
return dasel.New(val, dasel.WithName(Name)), nil
|
||||
return dasel.New(data, json.JSON, dasel.WithName(Name))
|
||||
}
|
||||
|
||||
@@ -8,11 +8,12 @@ import (
|
||||
|
||||
dasel "github.com/tomwright/dasel/v3"
|
||||
"github.com/tomwright/dasel/v3/model"
|
||||
"github.com/tomwright/dasel/v3/parsing"
|
||||
"gitoa.ru/go-4devs/config"
|
||||
"gitoa.ru/go-4devs/config/value"
|
||||
)
|
||||
|
||||
var _ config.Provider = New(nil)
|
||||
var _ config.Provider = Provider{} //nolint:exhaustruct
|
||||
|
||||
const Name = "dasel"
|
||||
|
||||
@@ -24,7 +25,17 @@ func WithName(in string) Option {
|
||||
}
|
||||
}
|
||||
|
||||
func New(data *model.Value, opts ...Option) Provider {
|
||||
func New(in []byte, format parsing.Format, opts ...Option) (Provider, error) {
|
||||
reader, err := format.NewReader(parsing.DefaultReaderOptions())
|
||||
if err != nil {
|
||||
return Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, err)
|
||||
}
|
||||
|
||||
data, verr := reader.Read(in)
|
||||
if verr != nil {
|
||||
return Provider{}, fmt.Errorf("%w:%w", config.ErrInitFactory, verr)
|
||||
}
|
||||
|
||||
prov := Provider{
|
||||
data: data,
|
||||
key: func(path ...string) string {
|
||||
@@ -32,11 +43,12 @@ func New(data *model.Value, opts ...Option) Provider {
|
||||
},
|
||||
name: Name,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(&prov)
|
||||
}
|
||||
|
||||
return prov
|
||||
return prov, nil
|
||||
}
|
||||
|
||||
type Provider struct {
|
||||
|
||||
Reference in New Issue
Block a user