/* --------------------------------------------------------- Project activething Active Thing (activething.com) git.activething.com/go File name err_group.go Created by DEV Modified 23/10/2023 Copyright 2023 activething.com --------------------------------------------------------- // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // */ package errs import "activething.com/go/gogo/core/opts" type ErrGroup ErrList func (_ ErrGroup) Error() string { return "core:errs.group-error" } func (g ErrGroup) Count() int { return len(g) } func (g ErrGroup) Errors() []error { return g } func (g ErrGroup) Cause() error { switch len(g) { case 0: return nil case 1: return g[0] default: return ErrGroup(g[1:]) } } func (g ErrGroup) Unwrap() error { return g.Cause() } func (g ErrGroup) Stack() StackTrace { return g.Stack() } func (g ErrGroup) WithInfo(options ...opts.OptionFnc[ErrInfo]) *ErrInfo { return NewErrInfo(g, options...) } /* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: I HAVE NO DESIRE TO WALK ON WATER," SAID SIDDHARTA. "LET THE OLD SHRAMANAS SATISFY THEMSELVES WITH SUCH SKILLS. SIDDHARTA - HERMANN HESSE - ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */