| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // package arch_text -- архитектурный текст
- package arch_text
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/kern/v3/krn/ktypes"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/alias"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/arch_node"
- )
- // ArchText -- архитектурный текст
- type ArchText struct {
- *arch_node.ArchNode
- Text_ alias.ArchText `yaml:"text"` // Значение текста
- }
- // NewArchText -- возвращает новый архитектурный текст
- func NewArchText(text alias.ArchText, parentId alias.ArchId) ktypes.Result[*ArchText] {
- sf := &ArchText{
- ArchNode: arch_node.NewArchNode("arch_text", parentId),
- Text_: text,
- }
- someErr := sf.InvarCheck()
- if someErr.IsVal() {
- return ktypes.NewErr[*ArchText](someErr.Val())
- }
- _ = types.IArchText(sf)
- return ktypes.NewOk(sf)
- }
- // InvarCheck -- проверка инвариантов
- func (sf *ArchText) InvarCheck() ktypes.Option[error] {
- if sf.ArchNode == nil {
- err := fmt.Errorf("ArchText.InvarCheck(): ArchNode==nil")
- return ktypes.NewSome(err)
- }
- return ktypes.NewNone[error]()
- }
- // String -- возвращает метку
- //
- //go:fix inline
- func (sf *ArchText) String() string {
- return string(sf.Text_)
- }
- // Get -- возвращает метку
- //
- //go:fix inline
- func (sf *ArchText) Get() alias.ArchText {
- return sf.Text_
- }
|