defs.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. // package defs -- предметные типы ядра.
  2. package defs
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_err"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let_time"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
  7. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/option"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result"
  9. )
  10. // Bool -- внутренне представление логического значения.
  11. type Bool = def_spec.Bool
  12. // Int -- внутренне представление числа.
  13. type Int = def_spec.Int
  14. // LInt -- внутренне неизменяемое целое.
  15. type LInt=def_spec.LInt
  16. // IString -- внутренне представление строки.
  17. type IString = def_spec.IString
  18. // ATxt -- внутренее представление текста.
  19. type ATxt = def_spec.ATxt
  20. // TxtConstraint -- разрешает строки и любые типы на его основе (например, ATxt).
  21. type TxtConstraint = def_spec.TxtConstraint
  22. // LTxt -- внутренний неизменяемый текст.
  23. type LTxt = def_spec.LTxt
  24. // LetTxt -- создать новую неизменяемую строку.
  25. func LetTxt[T TxtConstraint](msg T, arg ...any) *LTxt {
  26. return def_spec.LetTxt(msg, arg...)
  27. }
  28. // MTxt -- внутренний изменяемый текст.
  29. type MTxt = def_spec.MTxt
  30. func MutTxt[T TxtConstraint](msg T, arg ...any) *MTxt {
  31. return def_spec.MutTxt(msg, arg...)
  32. }
  33. // LErr -- внутренняя неизменяемая ошибка.
  34. type LErr = def_let_err.LErr
  35. // LetErr -- создать новую обёрнутую ошибку.
  36. func LetErr[T TxtConstraint](msg T, arg ...any) *LErr {
  37. return def_let_err.LetErr(msg, arg...)
  38. }
  39. // BucketName -- имя сущности.
  40. type BucketName *LTxt
  41. // ITuf -- интерфейс к сериализатору TUF.
  42. type ITuf = def_spec.ITuf
  43. // Result -- результат выполнения.
  44. type Result[T any] = result.Result[T]
  45. // Option -- опциональный результат.
  46. type Option[T any] = option.Option[T]
  47. // NewSome -- создать новый опциональный результат.
  48. func NewSome[T any](val T) *Option[T] {
  49. return option.NewSome(val)
  50. }
  51. // NewNone -- создать новый опциональный результат.
  52. func NewNone[T any]() *Option[T] {
  53. return option.NewNone[T]()
  54. }
  55. // Time -- внутренее представление времени.
  56. type Time = def_spec.Time
  57. // LTime -- внутренее неизменяемое время.
  58. //
  59. // Вывод: "2006-01-02 15:04:05.000 -07 MST".
  60. type LTime=def_let_time.LTime
  61. // LetTimeAuto -- возвращает новое автоматическое внутреннее неизменяемое время.
  62. //
  63. // Вывод: "2006-01-02 15:04:05.000 -07 MST".
  64. func LetTimeAuto()*LTime{
  65. return def_let_time.LetTimeAuto()
  66. }