parent
7e6b05a95f
commit
664fb5d51e
2
go.mod
2
go.mod
|
@ -116,7 +116,7 @@ require (
|
||||||
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 // indirect
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 // indirect
|
||||||
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
||||||
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f
|
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f
|
||||||
github.com/zclconf/go-cty-yaml v0.1.0
|
github.com/zclconf/go-cty-yaml v1.0.1
|
||||||
go.uber.org/atomic v1.3.2 // indirect
|
go.uber.org/atomic v1.3.2 // indirect
|
||||||
go.uber.org/multierr v1.1.0 // indirect
|
go.uber.org/multierr v1.1.0 // indirect
|
||||||
go.uber.org/zap v1.9.1 // indirect
|
go.uber.org/zap v1.9.1 // indirect
|
||||||
|
|
6
go.sum
6
go.sum
|
@ -419,14 +419,12 @@ github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q
|
||||||
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557 h1:Jpn2j6wHkC9wJv5iMfJhKqrZJx3TahFx+7sbZ7zQdxs=
|
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557 h1:Jpn2j6wHkC9wJv5iMfJhKqrZJx3TahFx+7sbZ7zQdxs=
|
||||||
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
|
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
|
||||||
github.com/zclconf/go-cty v0.0.0-20181129180422-88fbe721e0f8/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
github.com/zclconf/go-cty v0.0.0-20181129180422-88fbe721e0f8/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
||||||
github.com/zclconf/go-cty v0.0.0-20190516203816-4fecf87372ec h1:MSeYjmyjucsFbecMTxg63ASg23lcSARP/kr9sClTFfk=
|
|
||||||
github.com/zclconf/go-cty v0.0.0-20190516203816-4fecf87372ec/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
|
||||||
github.com/zclconf/go-cty v1.0.0 h1:EWtv3gKe2wPLIB9hQRQJa7k/059oIfAqcEkCNnaVckk=
|
github.com/zclconf/go-cty v1.0.0 h1:EWtv3gKe2wPLIB9hQRQJa7k/059oIfAqcEkCNnaVckk=
|
||||||
github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
||||||
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f h1:sq2p8SN6ji66CFEQFIWLlD/gFmGtr5hBrOzv5nLlGfA=
|
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f h1:sq2p8SN6ji66CFEQFIWLlD/gFmGtr5hBrOzv5nLlGfA=
|
||||||
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
github.com/zclconf/go-cty v1.0.1-0.20190708163926-19588f92a98f/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
||||||
github.com/zclconf/go-cty-yaml v0.1.0 h1:OP5nkApyAuXB88t8mRUqxD9gbKZocSLuVovrBAt8z10=
|
github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8=
|
||||||
github.com/zclconf/go-cty-yaml v0.1.0/go.mod h1:Lk26EcRlO3XbaQ8U2fxIJbEtbgEteSZFUpEr3XFTtsU=
|
github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0=
|
||||||
go.opencensus.io v0.18.0 h1:Mk5rgZcggtbvtAun5aJzAtjKKN/t0R3jJPlWILlv938=
|
go.opencensus.io v0.18.0 h1:Mk5rgZcggtbvtAun5aJzAtjKKN/t0R3jJPlWILlv938=
|
||||||
go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA=
|
go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA=
|
||||||
go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=
|
go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=
|
||||||
|
|
|
@ -59,6 +59,7 @@ func NewConstraint(v string) (Constraints, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
result[i] = c
|
result[i] = c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
# 1.0.1 (July 30, 2019)
|
||||||
|
|
||||||
|
* The YAML decoder is now correctly treating quoted scalars as verbatim literal
|
||||||
|
strings rather than using the fuzzy type selection rules for them. Fuzzy
|
||||||
|
type selection rules still apply to unquoted scalars.
|
||||||
|
([#4](https://github.com/zclconf/go-cty-yaml/pull/4))
|
||||||
|
|
||||||
|
# 1.0.0 (May 26, 2019)
|
||||||
|
|
||||||
|
Initial release.
|
|
@ -100,7 +100,7 @@ func (c *Converter) unmarshalScalar(an *valueAnalysis, evt *yaml_event_t, p *yam
|
||||||
an.beginAnchor(anchor)
|
an.beginAnchor(anchor)
|
||||||
}
|
}
|
||||||
|
|
||||||
val, err := c.resolveScalar(tag, string(src))
|
val, err := c.resolveScalar(tag, string(src), yaml_scalar_style_t(evt.style))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cty.NilVal, parseEventErrorWrap(evt, err)
|
return cty.NilVal, parseEventErrorWrap(evt, err)
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ func (c *Converter) unmarshalMapping(an *valueAnalysis, evt *yaml_event_t, p *ya
|
||||||
if nextEvt.typ != yaml_SCALAR_EVENT {
|
if nextEvt.typ != yaml_SCALAR_EVENT {
|
||||||
return cty.NilVal, parseEventErrorf(&nextEvt, "only strings are allowed as mapping keys")
|
return cty.NilVal, parseEventErrorf(&nextEvt, "only strings are allowed as mapping keys")
|
||||||
}
|
}
|
||||||
keyVal, err := c.resolveScalar(string(nextEvt.tag), string(nextEvt.value))
|
keyVal, err := c.resolveScalar(string(nextEvt.tag), string(nextEvt.value), yaml_scalar_style_t(nextEvt.style))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cty.NilVal, err
|
return cty.NilVal, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,12 +97,6 @@ func (c *Converter) marshalPrimitive(v cty.Value, e *yaml_emitter_t) error {
|
||||||
)
|
)
|
||||||
case cty.Number:
|
case cty.Number:
|
||||||
str := v.AsBigFloat().Text('f', -1)
|
str := v.AsBigFloat().Text('f', -1)
|
||||||
switch v {
|
|
||||||
case cty.PositiveInfinity:
|
|
||||||
str = "+.Inf"
|
|
||||||
case cty.NegativeInfinity:
|
|
||||||
str = "-.Inf"
|
|
||||||
}
|
|
||||||
yaml_scalar_event_initialize(
|
yaml_scalar_event_initialize(
|
||||||
&evt,
|
&evt,
|
||||||
nil,
|
nil,
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
module github.com/zclconf/go-cty-yaml
|
module github.com/zclconf/go-cty-yaml
|
||||||
|
|
||||||
require github.com/zclconf/go-cty v0.0.0-20190516203816-4fecf87372ec
|
require github.com/zclconf/go-cty v1.0.0
|
||||||
|
|
|
@ -7,8 +7,8 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
|
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
|
||||||
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
||||||
github.com/zclconf/go-cty v0.0.0-20190516203816-4fecf87372ec h1:MSeYjmyjucsFbecMTxg63ASg23lcSARP/kr9sClTFfk=
|
github.com/zclconf/go-cty v1.0.0 h1:EWtv3gKe2wPLIB9hQRQJa7k/059oIfAqcEkCNnaVckk=
|
||||||
github.com/zclconf/go-cty v0.0.0-20190516203816-4fecf87372ec/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
|
||||||
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
||||||
|
|
|
@ -107,7 +107,7 @@ func (c *Converter) impliedTypeScalar(an *typeAnalysis, evt *yaml_event_t, p *ya
|
||||||
// Untagged explicit string
|
// Untagged explicit string
|
||||||
ty = cty.String
|
ty = cty.String
|
||||||
default:
|
default:
|
||||||
v, err := c.resolveScalar(tag, string(src))
|
v, err := c.resolveScalar(tag, string(src), yaml_scalar_style_t(evt.style))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cty.NilType, parseEventErrorWrap(evt, err)
|
return cty.NilType, parseEventErrorWrap(evt, err)
|
||||||
}
|
}
|
||||||
|
@ -154,7 +154,7 @@ func (c *Converter) impliedTypeMapping(an *typeAnalysis, evt *yaml_event_t, p *y
|
||||||
if nextEvt.typ != yaml_SCALAR_EVENT {
|
if nextEvt.typ != yaml_SCALAR_EVENT {
|
||||||
return cty.NilType, parseEventErrorf(&nextEvt, "only strings are allowed as mapping keys")
|
return cty.NilType, parseEventErrorf(&nextEvt, "only strings are allowed as mapping keys")
|
||||||
}
|
}
|
||||||
keyVal, err := c.resolveScalar(string(nextEvt.tag), string(nextEvt.value))
|
keyVal, err := c.resolveScalar(string(nextEvt.tag), string(nextEvt.value), yaml_scalar_style_t(nextEvt.style))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cty.NilType, err
|
return cty.NilType, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ func resolvableTag(tag string) bool {
|
||||||
|
|
||||||
var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`)
|
var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`)
|
||||||
|
|
||||||
func (c *Converter) resolveScalar(tag string, src string) (cty.Value, error) {
|
func (c *Converter) resolveScalar(tag string, src string, style yaml_scalar_style_t) (cty.Value, error) {
|
||||||
if !resolvableTag(tag) {
|
if !resolvableTag(tag) {
|
||||||
return cty.NilVal, fmt.Errorf("unsupported tag %q", tag)
|
return cty.NilVal, fmt.Errorf("unsupported tag %q", tag)
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,10 @@ func (c *Converter) resolveScalar(tag string, src string) (cty.Value, error) {
|
||||||
hint = resolveTable[src[0]]
|
hint = resolveTable[src[0]]
|
||||||
}
|
}
|
||||||
if hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG {
|
if hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG {
|
||||||
|
if style == yaml_SINGLE_QUOTED_SCALAR_STYLE || style == yaml_DOUBLE_QUOTED_SCALAR_STYLE {
|
||||||
|
return cty.StringVal(src), nil
|
||||||
|
}
|
||||||
|
|
||||||
// Handle things we can lookup in a map.
|
// Handle things we can lookup in a map.
|
||||||
if item, ok := resolveMap[src]; ok {
|
if item, ok := resolveMap[src]; ok {
|
||||||
return item.value, nil
|
return item.value, nil
|
||||||
|
|
|
@ -469,7 +469,7 @@ github.com/zclconf/go-cty/cty/function
|
||||||
github.com/zclconf/go-cty/cty/function/stdlib
|
github.com/zclconf/go-cty/cty/function/stdlib
|
||||||
github.com/zclconf/go-cty/cty/msgpack
|
github.com/zclconf/go-cty/cty/msgpack
|
||||||
github.com/zclconf/go-cty/cty/set
|
github.com/zclconf/go-cty/cty/set
|
||||||
# github.com/zclconf/go-cty-yaml v0.1.0
|
# github.com/zclconf/go-cty-yaml v1.0.1
|
||||||
github.com/zclconf/go-cty-yaml
|
github.com/zclconf/go-cty-yaml
|
||||||
# go.opencensus.io v0.18.0
|
# go.opencensus.io v0.18.0
|
||||||
go.opencensus.io/trace
|
go.opencensus.io/trace
|
||||||
|
|
Loading…
Reference in New Issue