package common type Lang string const ( LANG_EN Lang = "en" LANG_ZH Lang = "zh" ) func (p Lang) ToString() string { switch p { case LANG_EN: return "en" case LANG_ZH: return "zh" default: return "" } } func ValidLanguages(langs []Lang) bool { for _, lang := range langs { if lang.ToString() == "" { return false } } return true } func AllLanguages() []Lang { return []Lang{LANG_EN, LANG_ZH} } type Source string const ( SOURCE_ELECTRON Source = "Electron" SOURCE_BROWSER Source = "Browser" SOURCE_ANDROID Source = "Android" SOURCE_DEV Source = "Dev" ) func (p Source) ToString() string { switch p { case SOURCE_ELECTRON: return "Electron" case SOURCE_BROWSER: return "Browser" case SOURCE_ANDROID: return "Android" case SOURCE_DEV: return "Dev" default: return "" } } func ValidSources(sources []Source) bool { for _, source := range sources { if source.ToString() == "" { return false } } return true } func AllSources() []Source { return []Source{SOURCE_ELECTRON, SOURCE_BROWSER, SOURCE_ANDROID, SOURCE_DEV} } type Product string const ( PRODUCT_DROS Product = "DROS" PRODUCT_VET Product = "VETDROS" ) func (p Product) ToString() string { switch p { case PRODUCT_DROS: return "DROS" case PRODUCT_VET: return "VETDROS" default: return "" } } func ValidProduct(product Product) bool { return product.ToString() != "" } func AllProducts() []Product { return []Product{PRODUCT_DROS, PRODUCT_VET} }