finalizada el formateo y genstion de errores

master
DEV 3 years ago
parent 635f771a6b
commit 00437c8342

@ -59,11 +59,11 @@ var (
g = struct {
mux sync.RWMutex
builders map[reflect.Type]ErrorBuilder
collectors FieldCollectors
builders map[reflect.Type]ErrorBuilder
collectors FieldCollectors
}{
builders : make(map[reflect.Type]ErrorBuilder),
builders : make(map[reflect.Type]ErrorBuilder),
collectors : defaultCollectors(),
}

@ -47,7 +47,8 @@ type (
func (s BuilderOption) SetDefaults () BuilderOption {
return showDefault }
return showDefault
}
func (s BuilderOption) ShowWrapped () bool {
return s&ShowWrapped !=0 }

@ -25,7 +25,7 @@ package err_text_fmt
import (
"ansi"
"errs/efmt"
"app/descartados/efmt"
"errs/stack"
"fmt"
"strings"

@ -24,8 +24,8 @@
package err_text_fmt
import (
"app/descartados/efmt"
"atypes/astrings"
"errs/efmt"
)
type (
@ -33,8 +33,8 @@ type (
TextFormatter struct {
options efmt.BuilderOption
vLayouts layouts
sections SectionsConfig
vLayouts layouts
sections SectionsConfig
nameTrans ,
valueTrans,
@ -42,7 +42,7 @@ type (
fbOnError ,
fbOnUnwrap,
fbOnCause efmt.BuilderErrorFallback
fbOnCause efmt.BuilderErrorFallback
frameBuilder efmt.FrameBuilder
}

@ -25,7 +25,7 @@ package err_text_fmt
import (
"ansi"
"errs/efmt"
"app/descartados/efmt"
)
type (
@ -33,8 +33,8 @@ type (
SectionConfig struct {
Ansi ansi.Code
Before efmt.BuildFormatFnc
After efmt.BuildFormatFnc
Before efmt.BuildFormatFnc
After efmt.BuildFormatFnc
}

@ -25,9 +25,9 @@ package err_text_fmt
import (
"ansi"
"app/descartados/efmt"
"bytes"
"errors"
"errs/efmt"
"errs/stack"
"fmt"
"reflect"
@ -59,7 +59,7 @@ type (
func newState (f *TextFormatter) *state {
return &state {
return &state{
f : f,
indent : f.vLayouts.indent,
}}
@ -288,7 +288,7 @@ func (s *state) AddHead(errStr, errType string) {
s.ansi = s.f.sections.Head.Ansi
s.f.sections.Head.doBefore(s)
s.writeField(efmt.FieldNameError,errStr, true)
s.writeField(efmt.FieldNameType ,errType, true)
s.writeField(efmt.FieldNameType,errType, true)
s.f.sections.Head.doAfter (s)
s.curSec = 1
}

@ -24,8 +24,8 @@
package txt
import (
"app/descartados/efmt"
"atypes/astrings"
"errs/efmt"
)

@ -25,7 +25,7 @@ package txt
import (
"ansi"
"errs/efmt"
"app/descartados/efmt"
)
type (

@ -24,9 +24,9 @@
package txt
import (
"app/descartados/efmt"
"bytes"
"errors"
"errs/efmt"
"errs/stack"
"fmt"
"reflect"

@ -50,7 +50,7 @@ func fm (b *bytes.Buffer, e error, l int) {
}
*/
func (c MiCustomErr) Errors () string {
func (c MiCustomErr) Error () string {
return "ERRRROPROO"
}
@ -89,13 +89,6 @@ func main() {
fmt.Print(errs.ToFormat(me,nil))
/*
fmt.Print(errs.ToFormat(e4,nil))
fmt.Print(errs.ToFormat(e5,nil))
*/
}

@ -25,7 +25,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
"errs/fmtr/ftext"
"errs/stack"

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
)

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
)

@ -24,8 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
"fmt"
"time"

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
)

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
)

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
efmt2 "app/descartados/efmt"
"errs/fmtr"
"fmt"
)
@ -80,10 +80,10 @@ func (e ErrParam) String () string {
func (e ErrParam) BuildFormat (builder efmt.Builder) {
func (e ErrParam) BuildFormat (builder efmt2.Builder) {
builder.AddHead(e.code,"core.errs.ErrParam")
if len(e.message) > 0 {
builder.BuildString(efmt.FieldNameMessage, e.message)
builder.BuildString(efmt2.FieldNameMessage, e.message)
}
}

@ -24,7 +24,7 @@
package errs
import (
"errs/efmt"
"app/descartados/efmt"
"errs/fmtr"
"errs/stack"
)

@ -26,6 +26,7 @@ package fmtr
import (
"reflect"
"sync"
"time"
)
@ -125,14 +126,89 @@ func AddCollector (collector FieldCollector) {
}
func defaultCollectors () FieldCollectors {
return FieldCollectors{
}
}
return []FieldCollector{
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if ms,is := e.(interface { Code() string }); is {
b.AddFieldString(FieldNameCode, ms.Code())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if ms,is := e.(interface { Code() string }); is {
b.AddFieldString(FieldNameCode, ms.Code())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if ms,is := e.(interface { Message() string }); is {
b.AddFieldString(FieldNameMessage, ms.Message())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if in,is := e.(interface { Info () string }); is {
b.AddFieldString(FieldNameInfo,in.Info())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if tm,is := e.(interface { Time() time.Time }); is {
b.AddFieldTime(FieldNameTime, tm.Time())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if tm,is := e.(interface { Date() time.Time }); is {
b.AddFieldDate(FieldNameDate, tm.Date())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if tm,is := e.(interface { Param() string }); is {
b.AddFieldString(FieldNameParam, tm.Param())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if tm,is := e.(interface { User() string }); is {
b.AddFieldString(FieldNameUser, tm.User())
return true
}
return false
}),
CollectFieldFnc(func (b FieldBuilder, e error ) bool {
if tm,is := e.(interface { Source() string }); is {
b.AddFieldString(FieldNameSource, tm.Source())
return true
}
return false
}),
}
}

@ -56,7 +56,7 @@ type (
func newTextBuilder(formatter *TextFormatter) *TextBuilder {
return &TextBuilder{
f : formatter,
ansiC: formatter.layout.ansiC }}
ansiC: formatter.layout.AnsiC}}
@ -359,7 +359,7 @@ func (s *TextBuilder) setAnsi(ansiC ansi.Code) {
if ansiC != 0 {
s.ansiC = ansiC
} else {
s.ansiC = s.f.layout.ansiC
s.ansiC = s.f.layout.AnsiC
}
}
@ -381,7 +381,7 @@ func (s *TextBuilder) writeField (name string, value string, head bool) {
}
s.b.WriteString(s.indent)
s.b.WriteString(n)
s.b.WriteString(s.f.layout.sep)
s.b.WriteString(s.f.layout.FieldSep)
s.b.WriteString(v)
s.b.WriteByte('\n')
@ -396,14 +396,14 @@ func (s *TextBuilder) writeField (name string, value string, head bool) {
func (s *TextBuilder) incLevel () {
s.level++
if s.f.UseIndent() {
s.indent = strings.Repeat(s.f.layout.indent,s.level)
s.indent = strings.Repeat(s.f.layout.Indent,s.level)
}
}
func (s *TextBuilder) decLevel () {
s.level--
if s.f.UseIndent() && s.level > 0 {
s.indent = strings.Repeat(s.f.layout.indent,s.level)
s.indent = strings.Repeat(s.f.layout.Indent,s.level)
}
}

@ -30,10 +30,10 @@ import (
type (
Layout struct {
ansiC ansi.Code
indent string
sep string
Layout struct {
AnsiC ansi.Code
Indent string
FieldSep string
TimeLayout string
DateLayout string
@ -49,13 +49,13 @@ type (
func newLayouts () *Layout {
return &Layout{
indent : " ",
sep : " : ",
Indent : " ",
FieldSep : " : ",
TimeLayout: time.RFC822Z,
DateLayout: time.RFC822Z,
IntLayout: "%d",
FloatLayout: "%-10s: %.2f",
TimeLayout : time.RFC822Z,
DateLayout : time.RFC822Z,
IntLayout : "%d",
FloatLayout : "%-10s: %.2f",
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.