codestack

package
v1.3.55 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2022 License: MIT Imports: 12 Imported by: 32

Documentation

Index

Constants

View Source
const (
	DefaultStackCount = 12

	Take2    = 2
	Take5    = 5
	Take6    = 6
	Take8    = 8
	Take10   = 10
	Take12   = 12
	Take15   = 15
	Take20   = 20
	Take25   = 25
	Take50   = 50
	Take100  = 100
	Take200  = 200
	SkipNone = constants.Zero
	Skip1    = constants.One
	Skip2    = constants.Two
	Skip3    = constants.Three
	Skip4    = constants.Four
	Skip5    = constants.Five
	Skip6    = constants.Six
	Skip7    = constants.Seven
	Skip8    = constants.Eight
	Skip9    = constants.Nine
	Skip10   = constants.Ten
	Skip11   = 11
	Skip12   = 12
	Skip13   = 13
	Skip14   = 14
	Skip15   = 15
	Skip16   = 16
	Skip17   = 17
	Skip18   = 18
	Skip19   = 19
	Skip20   = 20
)

Variables

This section is empty.

Functions

func CurDir added in v0.9.8

func CurDir() string

func CurrentFilePath added in v0.9.8

func CurrentFilePath() string

func Dir added in v0.9.8

func Dir(skipStack int) string

func FileName added in v0.9.8

func FileName(skipStack int) string

func FilePath added in v0.9.8

func FilePath(skipStack int) string

func FilePathWithLineSeparate added in v1.1.6

func FilePathWithLineSeparate(
	skipStack int,
) (
	filePath string, lineNumber int,
)

func FilePathWithLineSeparateDefault added in v1.1.6

func FilePathWithLineSeparateDefault() (
	filePath string, lineNumber int,
)

func FilePathWithLineString added in v1.1.6

func FilePathWithLineString(
	skipStack int,
) string

func FilePathWithLineStringDefault added in v1.1.6

func FilePathWithLineStringDefault() string

func FullMethodNameOf added in v1.2.13

func FullMethodNameOf(fullName string) (packageName string)

func JoinPackageNameWithRelative added in v1.2.13

func JoinPackageNameWithRelative(
	fullNameExtractPackageName, relativeNamesJoin string,
) (packageName string)

func MethodName added in v1.1.0

func MethodName() (methodName string)

func MethodNameOf added in v1.2.13

func MethodNameOf(fullName string) (packageName string)

func MethodNamePackageName added in v0.8.8

func MethodNamePackageName(fullFuncName string) (fullMethodName, packageName, methodName string)

func MethodNamePackageNameUsingStackSkip added in v1.1.0

func MethodNamePackageNameUsingStackSkip(stackSkipIndex int) (fullMethodName, packageName, methodName string)

func MethodNameUsingStackSkip added in v1.1.0

func MethodNameUsingStackSkip(stackSkipIndex int) (methodName string)

func PackageName added in v1.1.0

func PackageName() (packageName string)

func PackageNameOf added in v1.2.13

func PackageNameOf(fullName string) (packageName string)

func PackageNameUsingStackSkip added in v1.1.0

func PackageNameUsingStackSkip(stackSkipIndex int) (packageName string)

func StackTracesBytes added in v1.3.3

func StackTracesBytes(stackSkipIndex int) []byte

func StackTracesBytesDefault added in v1.3.3

func StackTracesBytesDefault() []byte

func StacksCountString added in v0.9.5

func StacksCountString(
	startSkipIndex, count int,
) string

func StacksCountStringUsingFmt added in v1.0.8

func StacksCountStringUsingFmt(
	formatter Formatter,
	startSkipIndex, count int,
) string

func StacksJsonString added in v1.3.15

func StacksJsonString(
	startSkipIndex int,
) string

func StacksJsonStringDefault added in v1.3.15

func StacksJsonStringDefault() string

func StacksString added in v0.9.4

func StacksString(
	startSkipIndex int,
) string

func StacksStringDefault added in v0.9.8

func StacksStringDefault() string

Types

type FileWithLine

type FileWithLine struct {
	FilePath string // absolute file path
	Line     int    // line number
}

func (*FileWithLine) AsFileLiner added in v0.9.8

func (it *FileWithLine) AsFileLiner() FileWithLiner

func (*FileWithLine) FileWithLine

func (it *FileWithLine) FileWithLine() string

func (*FileWithLine) FullFilePath added in v0.9.8

func (it *FileWithLine) FullFilePath() string

func (*FileWithLine) IsNil

func (it *FileWithLine) IsNil() bool

func (*FileWithLine) IsNotNil

func (it *FileWithLine) IsNotNil() bool

func (FileWithLine) Json

func (it FileWithLine) Json() corejson.Result

func (FileWithLine) JsonModel

func (it FileWithLine) JsonModel() FileWithLine

func (*FileWithLine) JsonModelAny

func (it *FileWithLine) JsonModelAny() interface{}

func (*FileWithLine) JsonParseSelfInject

func (it *FileWithLine) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (FileWithLine) JsonPtr

func (it FileWithLine) JsonPtr() *corejson.Result

func (*FileWithLine) JsonString

func (it *FileWithLine) JsonString() string

func (*FileWithLine) LineNumber added in v0.9.8

func (it *FileWithLine) LineNumber() int

func (*FileWithLine) ParseInjectUsingJson

func (it *FileWithLine) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*FileWithLine, error)

func (*FileWithLine) ParseInjectUsingJsonMust

func (it *FileWithLine) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *FileWithLine

ParseInjectUsingJsonMust Panic if error

func (*FileWithLine) String

func (it *FileWithLine) String() string

func (FileWithLine) StringUsingFmt

func (it FileWithLine) StringUsingFmt(formatterFunc func(fileWithLine FileWithLine) string) string

type FileWithLiner added in v0.9.8

type FileWithLiner interface {
	FullFilePath() string
	LineNumber() int
}

type FilterFunc

type FilterFunc func(trace *Trace) (isTake, isBreak bool)

type Formatter added in v1.0.8

type Formatter func(trace *Trace) (output string)

type Trace

type Trace struct {
	SkipIndex int
	PackageName,
	MethodName,
	PackageMethodName string
	FilePath string
	Line     int
	IsOkay   bool
	// contains filtered or unexported fields
}

func New

func New(skipIndex int) Trace

func NewDefault added in v0.9.8

func NewDefault() Trace

func NewFirst added in v1.1.6

func NewFirst() Trace

func NewPtr

func NewPtr(skipIndex int) *Trace

func (*Trace) AsFileLiner added in v0.9.8

func (it *Trace) AsFileLiner() FileWithLiner

func (Trace) Clone

func (it Trace) Clone() Trace

func (*Trace) ClonePtr

func (it *Trace) ClonePtr() *Trace

func (*Trace) Dispose added in v0.9.5

func (it *Trace) Dispose()

func (*Trace) FileName

func (it *Trace) FileName() string

FileName

Returns the file name only

func (*Trace) FileWithLine

func (it *Trace) FileWithLine() FileWithLine

func (*Trace) FileWithLineString

func (it *Trace) FileWithLineString() string

FileWithLineString

Format :

Example :

  • "FilePath:LineNumber"

func (*Trace) FullFilePath added in v0.9.8

func (it *Trace) FullFilePath() string

FullFilePath

Returns the full file path

func (*Trace) HasIssues

func (it *Trace) HasIssues() bool

func (*Trace) IsNil

func (it *Trace) IsNil() bool

func (*Trace) IsNotNil

func (it *Trace) IsNotNil() bool

func (Trace) Json

func (it Trace) Json() corejson.Result

func (Trace) JsonModel

func (it Trace) JsonModel() Trace

func (*Trace) JsonModelAny

func (it *Trace) JsonModelAny() interface{}

func (*Trace) JsonParseSelfInject

func (it *Trace) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (Trace) JsonPtr

func (it Trace) JsonPtr() *corejson.Result

func (*Trace) JsonString

func (it *Trace) JsonString() string

func (*Trace) LineNumber added in v0.9.8

func (it *Trace) LineNumber() int

func (*Trace) Message

func (it *Trace) Message() string

func (*Trace) ParseInjectUsingJson

func (it *Trace) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*Trace, error)

func (*Trace) ParseInjectUsingJsonMust

func (it *Trace) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *Trace

ParseInjectUsingJsonMust Panic if error

func (*Trace) ShortString added in v0.8.5

func (it *Trace) ShortString() string

ShortString

Returns lazy or at once "Method (LineNumber) -> FileFullPath:LineNumber" using format shortStringFormat "%s (%d) -> %s:%d"

Format :

Example :

  • "Method (LineNumber) -> FileFullPath:LineNumber"

func (*Trace) String

func (it *Trace) String() string

func (Trace) StringUsingFmt

func (it Trace) StringUsingFmt(formatterFunc func(trace Trace) string) string

type TraceCollection

type TraceCollection struct {
	Items []Trace `json:"Items,omitempty"`
}

func EmptyTraceCollection

func EmptyTraceCollection() *TraceCollection

func NewNewTraceCollectionUsing

func NewNewTraceCollectionUsing(
	isClone bool,
	traces ...Trace,
) *TraceCollection

func NewStacks

func NewStacks(
	isSkipInvalid,
	isBreakOnceInvalid bool,
	startSkipIndex,
	stackCount int,
) TraceCollection

func NewStacksCollection

func NewStacksCollection() *TraceCollection

func NewStacksDefault

func NewStacksDefault(
	startSkipIndex,
	stackCount int,
) TraceCollection

func NewStacksDefaultCount

func NewStacksDefaultCount(
	startSkipIndex int,
) TraceCollection

func NewStacksDefaultCountSkip1 added in v0.9.4

func NewStacksDefaultCountSkip1() TraceCollection

func NewStacksDefaultCountSkipNone added in v0.9.4

func NewStacksDefaultCountSkipNone() TraceCollection

func NewStacksDefaultPtr

func NewStacksDefaultPtr(
	startSkipIndex,
	stackCount int,
) *TraceCollection

func NewStacksPtr

func NewStacksPtr(
	isSkipInvalid,
	isBreakOnceInvalid bool,
	startSkipIndex,
	stackCount int,
) *TraceCollection

func NewTraceCollection

func NewTraceCollection(capacity int) *TraceCollection

func (*TraceCollection) Add

func (it *TraceCollection) Add(
	trace Trace,
) *TraceCollection

func (*TraceCollection) Adds

func (it *TraceCollection) Adds(
	traces ...Trace,
) *TraceCollection

func (*TraceCollection) AddsIf

func (it *TraceCollection) AddsIf(
	isAdd bool,
	traces ...Trace,
) *TraceCollection

func (*TraceCollection) AddsPtr

func (it *TraceCollection) AddsPtr(
	isSkipOnIssues bool,
	traces ...*Trace,
) *TraceCollection

func (*TraceCollection) AddsUsingSkip

func (it *TraceCollection) AddsUsingSkip(
	isSkipInvalid,
	isBreakOnceInvalid bool,
	startSkipIndex,
	stackCount int,
) *TraceCollection

func (*TraceCollection) AddsUsingSkipDefault

func (it *TraceCollection) AddsUsingSkipDefault(
	startSkipIndex int,
) *TraceCollection

func (*TraceCollection) AddsUsingSkipUsingFilter

func (it *TraceCollection) AddsUsingSkipUsingFilter(
	isSkipInvalid,
	isBreakOnceInvalid bool,
	startSkipIndex,
	stackCount int,
	filterFunc FilterFunc,
) *TraceCollection

func (TraceCollection) AsJsonContractsBinder added in v0.9.5

func (it TraceCollection) AsJsonContractsBinder() corejson.JsonContractsBinder

func (*TraceCollection) AsJsonParseSelfInjector

func (it *TraceCollection) AsJsonParseSelfInjector() corejson.JsonParseSelfInjector

func (*TraceCollection) AsJsoner

func (it *TraceCollection) AsJsoner() corejson.Jsoner

func (*TraceCollection) Clear added in v0.9.1

func (it *TraceCollection) Clear() *TraceCollection

func (TraceCollection) Clone

func (it TraceCollection) Clone() TraceCollection

func (*TraceCollection) ClonePtr

func (it *TraceCollection) ClonePtr() *TraceCollection

func (TraceCollection) CodeStacksString added in v0.8.8

func (it TraceCollection) CodeStacksString() string

CodeStacksString

Returns a join "Code Stack :\n- JoinLinesWith(\n- )"

Format :

Sample :

  • "Code Stack :\n- JoinLinesWith(\n- )"

func (TraceCollection) CodeStacksStringLimit added in v0.8.8

func (it TraceCollection) CodeStacksStringLimit(limit int) string

func (*TraceCollection) ConcatNew

func (it *TraceCollection) ConcatNew(
	additionalTraces ...Trace,
) *TraceCollection

func (*TraceCollection) ConcatNewPtr

func (it *TraceCollection) ConcatNewPtr(
	additionalTraces ...*Trace,
) *TraceCollection

func (*TraceCollection) ConcatNewUsingSkip

func (it *TraceCollection) ConcatNewUsingSkip(
	skipIndex int,
) *TraceCollection

func (*TraceCollection) ConcatNewUsingSkipPlusCount

func (it *TraceCollection) ConcatNewUsingSkipPlusCount(
	skipIndex,
	stackCount int,
) *TraceCollection

func (*TraceCollection) Count

func (it *TraceCollection) Count() int

func (TraceCollection) CsvStrings

func (it TraceCollection) CsvStrings() []string

func (*TraceCollection) Dispose added in v0.9.1

func (it *TraceCollection) Dispose()

func (*TraceCollection) FileWithLines

func (it *TraceCollection) FileWithLines() []FileWithLine

func (*TraceCollection) FileWithLinesString added in v1.0.8

func (it *TraceCollection) FileWithLinesString() string

func (*TraceCollection) FileWithLinesStrings

func (it *TraceCollection) FileWithLinesStrings() []string

func (*TraceCollection) Filter

func (it *TraceCollection) Filter(
	filterFunc FilterFunc,
) []Trace

func (*TraceCollection) FilterFullMethodNameTraceCollection

func (it *TraceCollection) FilterFullMethodNameTraceCollection(
	fullMethodName string,
) *TraceCollection

FilterFullMethodNameTraceCollection

fullMethodName := packageName.struct.methodName

func (*TraceCollection) FilterMethodNameTraceCollection

func (it *TraceCollection) FilterMethodNameTraceCollection(
	methodName string,
) *TraceCollection

func (*TraceCollection) FilterPackageNameTraceCollection

func (it *TraceCollection) FilterPackageNameTraceCollection(
	packageName string,
) *TraceCollection

func (*TraceCollection) FilterTraceCollection

func (it *TraceCollection) FilterTraceCollection(
	filterFunc FilterFunc,
) *TraceCollection

func (*TraceCollection) FilterWithLimit

func (it *TraceCollection) FilterWithLimit(
	limit int,
	filterFunc FilterFunc,
) []Trace

func (*TraceCollection) First

func (it *TraceCollection) First() Trace

func (*TraceCollection) FirstDynamic

func (it *TraceCollection) FirstDynamic() interface{}

func (*TraceCollection) FirstOrDefault

func (it *TraceCollection) FirstOrDefault() *Trace

func (*TraceCollection) FirstOrDefaultDynamic

func (it *TraceCollection) FirstOrDefaultDynamic() interface{}

func (*TraceCollection) GetPagedCollection added in v0.8.5

func (it *TraceCollection) GetPagedCollection(
	eachPageSize int,
) []*TraceCollection

func (*TraceCollection) GetPagesSize added in v0.8.5

func (it *TraceCollection) GetPagesSize(
	eachPageSize int,
) int

func (*TraceCollection) GetSinglePageCollection added in v0.8.5

func (it *TraceCollection) GetSinglePageCollection(
	eachPageSize int,
	pageIndex int,
) *TraceCollection

GetSinglePageCollection PageIndex is one based index. Should be above or equal 1

func (*TraceCollection) HasAnyItem

func (it *TraceCollection) HasAnyItem() bool

func (*TraceCollection) HasIndex

func (it *TraceCollection) HasIndex(index int) bool

func (*TraceCollection) InsertAt

func (it *TraceCollection) InsertAt(index int, item Trace) *TraceCollection

func (*TraceCollection) IsEmpty

func (it *TraceCollection) IsEmpty() bool

func (*TraceCollection) IsEqual

func (it *TraceCollection) IsEqual(another *TraceCollection) bool

func (*TraceCollection) IsEqualItems

func (it *TraceCollection) IsEqualItems(lines ...Trace) bool

func (TraceCollection) Join

func (it TraceCollection) Join(joiner string) string

func (TraceCollection) JoinCsv

func (it TraceCollection) JoinCsv() string

func (TraceCollection) JoinCsvLine

func (it TraceCollection) JoinCsvLine() string

func (TraceCollection) JoinFileWithLinesStrings

func (it TraceCollection) JoinFileWithLinesStrings(joiner string) string

func (TraceCollection) JoinJsonStrings

func (it TraceCollection) JoinJsonStrings(joiner string) string

func (TraceCollection) JoinLines added in v0.9.4

func (it TraceCollection) JoinLines() string

func (TraceCollection) JoinShortStrings added in v0.8.5

func (it TraceCollection) JoinShortStrings(joiner string) string

JoinShortStrings

Returns a join slice of Trace.ShortString() from ShortStrings() which gives "Method (LineNumber) -> FileFullPath:LineNumber" using format shortStringFormat "%s (%d) -> %s:%d"

Format :

Example :

  • Compiled joined string of slice []String{"Method (LineNumber) -> FileFullPath:LineNumber"}

func (*TraceCollection) JoinUsingFmt added in v1.0.8

func (it *TraceCollection) JoinUsingFmt(formatter Formatter, joiner string) string

func (TraceCollection) Json

func (it TraceCollection) Json() corejson.Result

func (TraceCollection) JsonModel

func (it TraceCollection) JsonModel() []Trace

func (TraceCollection) JsonModelAny

func (it TraceCollection) JsonModelAny() interface{}

func (*TraceCollection) JsonParseSelfInject

func (it *TraceCollection) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (TraceCollection) JsonPtr

func (it TraceCollection) JsonPtr() *corejson.Result

func (TraceCollection) JsonString

func (it TraceCollection) JsonString() string

func (TraceCollection) JsonStrings

func (it TraceCollection) JsonStrings() []string

func (*TraceCollection) Last

func (it *TraceCollection) Last() Trace

func (*TraceCollection) LastDynamic

func (it *TraceCollection) LastDynamic() interface{}

func (*TraceCollection) LastIndex

func (it *TraceCollection) LastIndex() int

func (*TraceCollection) LastOrDefault

func (it *TraceCollection) LastOrDefault() *Trace

func (*TraceCollection) LastOrDefaultDynamic

func (it *TraceCollection) LastOrDefaultDynamic() interface{}

func (*TraceCollection) Length

func (it *TraceCollection) Length() int

func (*TraceCollection) Limit

func (it *TraceCollection) Limit(limit int) []Trace

func (*TraceCollection) LimitCollection

func (it *TraceCollection) LimitCollection(limit int) *TraceCollection

func (*TraceCollection) LimitDynamic

func (it *TraceCollection) LimitDynamic(limit int) interface{}

func (TraceCollection) NewDefaultStackTraces added in v1.3.13

func (it TraceCollection) NewDefaultStackTraces() string

func (TraceCollection) NewDefaultStackTracesJsonResult added in v1.3.13

func (it TraceCollection) NewDefaultStackTracesJsonResult() *corejson.Result

func (TraceCollection) NewStackTraces added in v1.3.13

func (it TraceCollection) NewStackTraces(stackSkip int) string

func (TraceCollection) NewStackTracesJsonResult added in v1.3.13

func (it TraceCollection) NewStackTracesJsonResult(stackSkip int) *corejson.Result

func (*TraceCollection) ParseInjectUsingJson

func (it *TraceCollection) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*TraceCollection, error)

func (*TraceCollection) ParseInjectUsingJsonMust

func (it *TraceCollection) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *TraceCollection

ParseInjectUsingJsonMust Panic if error

func (*TraceCollection) Reverse added in v0.8.5

func (it *TraceCollection) Reverse() *TraceCollection

func (*TraceCollection) SafeLimitCollection added in v0.8.7

func (it *TraceCollection) SafeLimitCollection(limit int) *TraceCollection

func (TraceCollection) Serializer added in v1.3.3

func (it TraceCollection) Serializer() ([]byte, error)

func (*TraceCollection) ShortStrings added in v0.8.5

func (it *TraceCollection) ShortStrings() []string

ShortStrings

Returns slice of Trace.ShortString() which gives "Method (LineNumber) -> FileFullPath:LineNumber" using format shortStringFormat "%s (%d) -> %s:%d"

Format :

Example :

  • Slice of []String{"Method (LineNumber) -> FileFullPath:LineNumber"}

func (*TraceCollection) Skip

func (it *TraceCollection) Skip(skippingItemsCount int) []Trace

func (*TraceCollection) SkipCollection

func (it *TraceCollection) SkipCollection(skippingItemsCount int) *TraceCollection

func (*TraceCollection) SkipDynamic

func (it *TraceCollection) SkipDynamic(skippingItemsCount int) interface{}

func (*TraceCollection) SkipFilterFilenameTraceCollection

func (it *TraceCollection) SkipFilterFilenameTraceCollection(
	skipFilename string,
) *TraceCollection

func (*TraceCollection) SkipFilterFullMethodNameTraceCollection

func (it *TraceCollection) SkipFilterFullMethodNameTraceCollection(
	fullMethodName string,
) *TraceCollection

SkipFilterFullMethodNameTraceCollection

fullMethodName := packageName.struct.methodName

func (*TraceCollection) SkipFilterMethodNameTraceCollection

func (it *TraceCollection) SkipFilterMethodNameTraceCollection(
	methodName string,
) *TraceCollection

func (*TraceCollection) SkipFilterPackageNameTraceCollection

func (it *TraceCollection) SkipFilterPackageNameTraceCollection(
	packageName string,
) *TraceCollection

func (TraceCollection) StackTraces added in v1.3.13

func (it TraceCollection) StackTraces() string

func (TraceCollection) StackTracesBytes added in v1.3.3

func (it TraceCollection) StackTracesBytes() []byte

func (TraceCollection) StackTracesJsonResult added in v1.3.13

func (it TraceCollection) StackTracesJsonResult() *corejson.Result

func (TraceCollection) String

func (it TraceCollection) String() string

func (*TraceCollection) Strings

func (it *TraceCollection) Strings() []string

func (*TraceCollection) StringsUsingFmt added in v1.0.8

func (it *TraceCollection) StringsUsingFmt(formatter Formatter) []string

func (*TraceCollection) Take

func (it *TraceCollection) Take(takeDynamicItems int) []Trace

func (*TraceCollection) TakeCollection

func (it *TraceCollection) TakeCollection(takeDynamicItems int) *TraceCollection

func (*TraceCollection) TakeDynamic

func (it *TraceCollection) TakeDynamic(takeDynamicItems int) interface{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL