| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- // package defs -- предметные типы ядра.
- package defs
- import (
- "fmt"
- )
- // "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/stream_name"
- // Int -- алиас для int.
- type Int int
- // Int -- возвращает целое число по требованию.
- func (i Int) Int() int {
- return int(i)
- }
- // ITxtFix --интерфейс к гибкой строке.
- type ITxtFix interface {
- // Get -- возвращает внутреннюю строку
- Get() ATxt
- // String -- возвращает строку
- String() string
- // Len -- возвращает длину внутренней строки
- Len() Int
- // Byte -- возвращает внутреннюю строку в виде байтов.
- Byte() []byte
- // Rune -- возвращает внутреннюю строку в виде рун.
- Rune() []rune
- }
- // ATxt -- алиас для внутренней строки.
- type ATxt string
- // Txt -- создать новую строку.
- func Txt(msg ATxt, arg ...any) ATxt {
- return ATxt(fmt.Sprintf(msg.String(), arg...))
- }
- // ToTxt -- создать новую строку.
- func ToTxt(msg ATxt) ITxtFix {
- return msg
- }
- // Rune -- возвращает внутреннюю строку в виде рун.
- func (s ATxt) Rune() []rune {
- return []rune(s)
- }
- // Byte -- возвращает внутреннюю строку в виде байтов.
- //
- func (s ATxt) Byte() []byte {
- return []byte(s)
- }
- // Len -- возвращает длину строки.
- //
- func (s ATxt) Len() Int {
- return Int(len(s))
- }
- // Get -- возвращает внутреннюю строку.
- func (s ATxt) Get() ATxt {
- return s
- }
- // String -- возвращает строку по требованию.
- //
- func (s ATxt) String() string {
- return string(s)
- }
- // IErr -- алиас для error.
- type IErr interface {
- error
- ITxtFix
- // IsErr -- возвращает true, если ошибка.
- IsErr() bool
- }
- // Err -- обёрнутая ошибка.
- type Err struct {
- err error
- }
- // NewErr -- создать новую обёрнутую ошибку.
- func NewErr(msg ATxt, arg ...any) IErr {
- err := fmt.Errorf(msg.String(), arg...)
- return &Err{err}
- }
- // WrapErr -- возвращает обёрнутую ошибку.
- //
- func WrapErr(err error) IErr {
- return &Err{err}
- }
- // Rune -- возвращает внутреннюю строку в виде рун.
- //
- func (e *Err) Rune() []rune {
- return []rune(e.err.Error())
- }
- // Byte -- возвращает байты из ошибки
- func (e *Err) Byte() []byte {
- return []byte(e.err.Error())
- }
- // IsErr -- возвращает true, если ошибка.
- func (e *Err) IsErr() bool {
- return e.err != nil
- }
- // String -- возвращает строковое представление ошибки.
- func (e *Err) String() string {
- return e.err.Error()
- }
- // Error -- возвращает хранимую ошибку.
- func (e *Err) Error() string {
- return e.err.Error()
- }
- // Get -- возвращает строку по требованию для ошибки.
- func (e *Err) Get() ATxt {
- return ATxt(e.err.Error())
- }
- // Len -- возвращает длину ошибки.
- func (e *Err) Len() Int {
- return Int(len(e.err.Error()))
- }
- // Time -- метка времени.
- // Вывод: "2006-01-02 15:04:05.000 -07 MST".
- type Time ATxt
- // BucketName -- имя сущности.
- type BucketName ATxt
- // StreamName -- имя потока для ожидания.
- // type StreamName = stream_name.AStreamName
- // NewStreamName -- создать новое имя потока.
- // func NewStreamName(val Str) *stream_name.AStreamName {
- // return stream_name.NewAStreamName(val)
- // }
|