From 829a934d23ab221049b4d54926305d8d5d64c9ad Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 13 Nov 2021 12:29:08 +0100 Subject: update dependencies (#296) --- .../uptrace/bun/internal/tagparser/parser.go | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'vendor/github.com/uptrace/bun/internal') diff --git a/vendor/github.com/uptrace/bun/internal/tagparser/parser.go b/vendor/github.com/uptrace/bun/internal/tagparser/parser.go index eb3246536..a3905853d 100644 --- a/vendor/github.com/uptrace/bun/internal/tagparser/parser.go +++ b/vendor/github.com/uptrace/bun/internal/tagparser/parser.go @@ -6,7 +6,11 @@ import ( type Tag struct { Name string - Options map[string]string + Options map[string][]string +} + +func (t Tag) IsZero() bool { + return t.Name == "" && t.Options == nil } func (t Tag) HasOption(name string) bool { @@ -14,7 +18,17 @@ func (t Tag) HasOption(name string) bool { return ok } +func (t Tag) Option(name string) (string, bool) { + if vs, ok := t.Options[name]; ok { + return vs[len(vs)-1], true + } + return "", false +} + func Parse(s string) Tag { + if s == "" { + return Tag{} + } p := parser{ s: s, } @@ -45,9 +59,13 @@ func (p *parser) addOption(key, value string) { return } if p.tag.Options == nil { - p.tag.Options = make(map[string]string) + p.tag.Options = make(map[string][]string) + } + if vs, ok := p.tag.Options[key]; ok { + p.tag.Options[key] = append(vs, value) + } else { + p.tag.Options[key] = []string{value} } - p.tag.Options[key] = value } func (p *parser) parse() { -- cgit v1.3