// package module_name -- имя модуля package module_name import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" ) // AModuleName -- уникальное имя модуля. type AModuleName string // IModuleNameFix -- фиксированное имя модуля. type IModuleNameFix interface { // Get -- получить имя модуля Get() AModuleName // String -- строковое представление имени модуля String() string // Txt -- внутренне представление имени модуля Txt() defs.ITxtFix } type ModuleName struct { name defs.ITxtFix } // NewModuleName -- создать новое имя модуля. func NewModuleName(val AModuleName) *ModuleName { helpers.Hassert(val != "", "NewAModuleName(): val is empty") sf := &ModuleName{ name: defs.Txt(val), } _ = IModuleNameFix(sf) return sf } // Txt -- возвращает внутренне представление имени модуля. func (sf *ModuleName) Txt() defs.ITxtFix { return sf.name } // String -- строковое представление. func (sf *ModuleName) String() string { return sf.name.String() } // Get -- возвращает имя модуля. func (sf *ModuleName) Get() AModuleName { return AModuleName(sf.name.Get()) } // Byte -- возвращает байты. func (sf *ModuleName) Byte() []byte { return sf.name.Byte() } // Rune -- возвращает руны. func (sf *ModuleName) Rune() []rune { return sf.name.Rune() } // Len -- длина строки. func (sf *ModuleName) Len() defs.Int { return sf.name.Len() }