From a7609e12ab5fde264e34af624ec44517ebfd3688 Mon Sep 17 00:00:00 2001 From: Kenneth Ng Date: Mon, 29 Jan 2024 12:37:53 +0000 Subject: [PATCH] Downgrade yaml to support ordered map parsing --- go.mod | 2 +- go.sum | 2 ++ internal/parser/parse.go | 8 +++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 3ed8f1e..7706c24 100644 --- a/go.mod +++ b/go.mod @@ -4,5 +4,5 @@ go 1.20 require ( github.com/iancoleman/strcase v0.3.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 1963765..ae23afc 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/parser/parse.go b/internal/parser/parse.go index 0435206..8fd884b 100644 --- a/internal/parser/parse.go +++ b/internal/parser/parse.go @@ -2,7 +2,7 @@ package parser import ( "errors" - "gopkg.in/yaml.v3" + "gopkg.in/yaml.v2" "nanoc/internal/datatype" "nanoc/internal/symbol" "os" @@ -15,7 +15,7 @@ func ParseSchema(path string) (datatype.PartialSchema, error) { return nil, err } - m := map[string]interface{}{} + m := yaml.MapSlice{} err = yaml.Unmarshal(b, m) if err != nil { return nil, err @@ -23,7 +23,9 @@ func ParseSchema(path string) (datatype.PartialSchema, error) { var schema datatype.PartialSchema - for k, v := range m { + for _, e := range m { + k := e.Key.(string) + v := e.Value if strings.HasPrefix(k, symbol.Enum+" ") { s, err := parseEnumSchema(k, v) if err != nil {