From 556f197c57ad5d02d6d0b09b319d4515ecfddee2 Mon Sep 17 00:00:00 2001 From: Matjaz Debelak Date: Wed, 20 Nov 2024 11:13:38 +0100 Subject: [PATCH] Add parse functions for Language type --- language_parser.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 language_parser.go diff --git a/language_parser.go b/language_parser.go new file mode 100644 index 00000000..7d5d5d40 --- /dev/null +++ b/language_parser.go @@ -0,0 +1,27 @@ +package bccmflows + +import "github.com/ansel1/merry/v2" + +var LanguageParseError = merry.Sentinel("uanable to parse language code") + +func ParseLanguageCode(langCode string) (Language, error) { + + if lang, ok := LanguagesByISO[langCode]; ok { + return lang, nil + } + + if lang, ok := LanguagesByISOTwoLetter[langCode]; ok { + return lang, nil + } + + return Language{}, merry.Wrap(LanguageParseError) +} + +func MustParseLanguageCode(langCode string) Language { + l, err := ParseLanguageCode(langCode) + if err != nil { + panic(err) + } + + return l +}