| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- // 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)
- }
- // IStr --интерфейс к гибкой строке.
- type IStr interface {
- // Str -- возвращает внутреннюю строку
- Str() AStr
- // String -- возвращает прямую строку
- String() string
- // Len -- возвращает длину внутренней строки
- Len() Int
- // Byte -- возвращает внутреннюю строку в виде байтов.
- Byte() []byte
- // Rune -- возвращает внутреннюю строку в виде рун.
- Rune() []rune
- }
- // Алиас для внутренней строки.
- type AStr string
- // Str -- создать новую строку.
- //
- //go:fix inline
- func Str(msg AStr, arg ...any) AStr {
- return AStr(fmt.Sprintf(string(msg), arg...))
- }
- // NewStr -- создать новую строку.
- //
- //go:fix inline
- func NewStr(msg AStr) IStr {
- return msg
- }
- // Rune -- возвращает внутреннюю строку в виде рун.
- //
- //go:fix inline
- func (s AStr) Rune() []rune {
- return []rune(s)
- }
- // Byte -- возвращает внутреннюю строку в виде байтов.
- //
- //go:fix inline
- func (s AStr) Byte() []byte {
- return []byte(s)
- }
- // Len -- возвращает длину строки.
- //
- //go:fix inline
- func (s AStr) Len() Int {
- return Int(len(s))
- }
- // Str -- возвращает внутреннюю строку.
- //
- //go:fix inline
- func (s AStr) Str() AStr {
- return s
- }
- // String -- возвращает строку по требованию.
- //
- //go:fix inline
- func (s AStr) String() string {
- return string(s)
- }
- // IErr -- алиас для error.
- type IErr interface {
- error
- IStr
- // IsErr -- возвращает true, если ошибка.
- IsErr() bool
- }
- // Err -- обёрнутая ошибка.
- type Err struct {
- err error
- }
- // NewErr -- создать новую обёрнутую ошибку.
- func NewErr(msg AStr, arg ...any) IErr {
- err := fmt.Errorf(string(msg), arg...)
- return &Err{err}
- }
- // WrapErr -- возвращает обёрнутую ошибку.
- //
- //go:fix inline
- func WrapErr(err error) IErr {
- return &Err{err}
- }
- // Rune -- возвращает внутреннюю строку в виде рун.
- //
- //go:fix inline
- func (e *Err) Rune() []rune {
- return []rune(e.err.Error())
- }
- // Byte -- возвращает байты из ошибки
- //
- //go:fix inline
- func (e *Err) Byte() []byte {
- return []byte(e.err.Error())
- }
- // IsErr -- возвращает true, если ошибка.
- //
- //go:fix inline
- func (e *Err) IsErr() bool {
- return e.err != nil
- }
- // String -- возвращает строковое представление ошибки.
- //
- //go:fix inline
- func (e *Err) String() string {
- return e.err.Error()
- }
- // Error -- возвращает хранимую ошибку.
- //
- //go:fix inline
- func (e *Err) Error() string {
- return e.err.Error()
- }
- // Str -- возвращает строку по требованию для ошибки.
- //
- //go:fix inline
- func (e *Err) Str() AStr {
- return AStr(e.err.Error())
- }
- // Len -- возвращает длину ошибки.
- //
- //go:fix inline
- func (e *Err) Len() Int {
- return Int(len(e.err.Error()))
- }
- // Time -- метка времени.
- // Вывод: "2006-01-02 15:04:05.000 -07 MST".
- type Time AStr
- // BucketName -- имя сущности.
- type BucketName AStr
- // StreamName -- имя потока для ожидания.
- //
- //go:fix inline
- // type StreamName = stream_name.AStreamName
- // NewStreamName -- создать новое имя потока.
- //
- //go:fix inline
- // func NewStreamName(val Str) *stream_name.AStreamName {
- // return stream_name.NewAStreamName(val)
- // }
|