// package lev0 -- сущности уровня 0 package lev0 import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/option" mRes "gitp78su.ipnodns.ru/svi/kern/v4/lev0/result" ) // Result — обёртка вокруг результата с возможной ошибкой. type Result[T any] = mRes.Result[T] // NewRes -- возвращает успешный Result с значением. func NewRes[T any](res T) *Result[T] { return mRes.NewRes(res) } // NewErr -- возвращает Result с ошибкой. func NewErr[T any](err error) *Result[T] { return mRes.NewErr[T](err) } // WrapErr -- оборачивает существующий Result с ошибкой с новой ошибкой. func WrapErr[T any](res *Result[T], err error) *Result[T] { return mRes.WrapErr(res, err) } // Option — обёртка вокруг результата с возможной пустотой. type Option[T any] = option.Option[T] // NewOpt -- возвращает новый не пустой результат операции. func NewOpt[T any](some T) *Option[T] { return option.NewOpt(some) } // NewNone -- возвращает новый пустой результат операции. func NewNone[T any]() *option.Option[T] { return option.NewNone[T]() } // Hassert -- проверка на правильность утверждения с безусловным падением в панику (hard assert). func Hassert(isCond bool, msgFormat string, args ...any) { helpers.Hassert(isCond, msgFormat, args) } // Assert -- проверка на правильность утверждения с падением в панику на локальном стенде (soft assert). func Assert(isCond bool, msgFormat string, args ...any) { helpers.Assert(isCond, msgFormat, args) }