From 6bdb357b9673747e04006c95a7c255fcd3a9c16f Mon Sep 17 00:00:00 2001 From: Simen Svale Skogsrud Date: Thu, 30 Mar 2017 17:07:18 +0200 Subject: [PATCH] Renamed to litter --- README.md | 32 +++++++++---------- squirt/dump.go => dump.go | 4 +-- squirt/dump_test.go => dump_test.go | 18 +++++------ squirt/mapper.go => mapper.go | 2 +- squirt/print.go => print.go | 2 +- squirt/testdata/nilIntefacesInStructs.dump | 10 ------ squirt/testdata/pointerAliasing.dump | 12 ------- .../config_HidePrivateFields.dump | 4 +-- .../config_HomePackage.dump | 2 +- .../config_StripPackageNames.dump | 0 {squirt/testdata => testdata}/maps.dump | 4 +-- testdata/nilIntefacesInStructs.dump | 10 ++++++ testdata/pointerAliasing.dump | 12 +++++++ {squirt/testdata => testdata}/primitives.dump | 6 ++-- squirt/util.go => util.go | 2 +- 15 files changed, 60 insertions(+), 60 deletions(-) rename squirt/dump.go => dump.go (99%) rename squirt/dump_test.go => dump_test.go (90%) rename squirt/mapper.go => mapper.go (99%) rename squirt/print.go => print.go (98%) delete mode 100644 squirt/testdata/nilIntefacesInStructs.dump delete mode 100644 squirt/testdata/pointerAliasing.dump rename {squirt/testdata => testdata}/config_HidePrivateFields.dump (72%) rename {squirt/testdata => testdata}/config_HomePackage.dump (88%) rename {squirt/testdata => testdata}/config_StripPackageNames.dump (100%) rename {squirt/testdata => testdata}/maps.dump (62%) create mode 100644 testdata/nilIntefacesInStructs.dump create mode 100644 testdata/pointerAliasing.dump rename {squirt/testdata => testdata}/primitives.dump (77%) rename squirt/util.go => util.go (97%) diff --git a/README.md b/README.md index 4c7e5a4..4e35e15 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# go-squirt +# go-litter -Go-squirt implements a deep pretty printer for Go data structures to aid in debugging. It is a limited +Go-litter implements a deep pretty printer for Go data structures to aid in debugging. It is a limited replacement for `go-spew` with focus on terseness in output to make life simpler when debugging complex data structures. Its main reason for being is that it will detect circular references or aliasing and replace additional references to the same object with aliases. Like this: @@ -14,7 +14,7 @@ type Circular struct { selfref := Circular{} selfref.Self = &selfref -squirt.Dump(selfref) +litter.Dump(selfref) ``` will output: @@ -29,7 +29,7 @@ Circular { // p0 ## Installation ```bash -$ go get -u github.com/sanity-io/go-squirt/squirt +$ go get -u github.com/sanity-io/go-litter/litter ``` ## Quick Start @@ -37,35 +37,35 @@ $ go get -u github.com/sanity-io/go-squirt/squirt Add this import line to the file you're working in: ```go -import "github.com/sanity-io/go-squirt/squirt" +import "github.com/sanity-io/go-litter/litter" ``` To dump a variable with full newlines, indentation, type, and aliasing information use Dump or Sdump: ```go -squirt.Dump(myVar1) -str := squirt.Sdump(myVar1) +litter.Dump(myVar1) +str := litter.Sdump(myVar1) ``` -## `squirt.Dump(value)` +## `litter.Dump(value)` Dumps the data structure to STDOUT. -## `squirt.Sdump(value)` +## `litter.Sdump(value)` Returns the dump as a string ## Configuration -You can configure squirt globally by modifying the default `squirt.Config` +You can configure litter globally by modifying the default `litter.Config` ```go -squirt.Config.StripPackageNames = true // strip all package names from types -squirt.Config.HidePrivateFields = true // hide private struct fields from dumped structs -squirt.Config.HomePackage = "mypackage" // sets a "home" pacage. The package name will be stripped from all its types +litter.Config.StripPackageNames = true // strip all package names from types +litter.Config.HidePrivateFields = true // hide private struct fields from dumped structs +litter.Config.HomePackage = "mypackage" // sets a "home" pacage. The package name will be stripped from all its types ``` -## `squirt.Options` -Allows you to configure a local configuration of squirt to allow for proper compartmentalization of state at the expense of some comfort: +## `litter.Options` +Allows you to configure a local configuration of litter to allow for proper compartmentalization of state at the expense of some comfort: ``` go - sq := squirt.Options { + sq := litter.Options { HidePrivateFields: true, HomePackage: "thispack", }) diff --git a/squirt/dump.go b/dump.go similarity index 99% rename from squirt/dump.go rename to dump.go index 266d176..c1aafed 100644 --- a/squirt/dump.go +++ b/dump.go @@ -1,4 +1,4 @@ -package squirt +package litter import ( "bytes" @@ -12,7 +12,7 @@ import ( var packageNameStripperRegexp = regexp.MustCompile("\\b[a-zA-Z_]+[a-zA-Z_0-9]+\\.") -// Options represents configuration options for squirt +// Options represents configuration options for litter type Options struct { StripPackageNames bool HidePrivateFields bool diff --git a/squirt/dump_test.go b/dump_test.go similarity index 90% rename from squirt/dump_test.go rename to dump_test.go index d8e2c90..4961502 100644 --- a/squirt/dump_test.go +++ b/dump_test.go @@ -1,4 +1,4 @@ -package squirt_test +package litter_test import ( "fmt" @@ -7,7 +7,7 @@ import ( "os/exec" "testing" - "github.com/sanity-io/go-squirt/squirt" + "github.com/sanity-io/litter" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -27,9 +27,9 @@ type RecursiveStruct struct { Ptr *RecursiveStruct } -var standardCfg = squirt.Options{} +var standardCfg = litter.Options{} -func performDumpTestsWithCfg(t *testing.T, suiteName string, cfg *squirt.Options, cases interface{}) { +func performDumpTestsWithCfg(t *testing.T, suiteName string, cfg *litter.Options, cases interface{}) { referenceFileName := "testdata/" + suiteName + ".dump" dump := cfg.Sdump(cases) reference, err := ioutil.ReadFile(referenceFileName) @@ -101,17 +101,17 @@ func TestDump_nilIntefacesInStructs(t *testing.T) { func TestDump_config(t *testing.T) { data := []interface{}{ - squirt.Config, + litter.Config, &BasicStruct{1, 2}, } - performDumpTestsWithCfg(t, "config_HidePrivateFields", &squirt.Options{ + performDumpTestsWithCfg(t, "config_HidePrivateFields", &litter.Options{ HidePrivateFields: true, }, data) - performDumpTestsWithCfg(t, "config_StripPackageNames", &squirt.Options{ + performDumpTestsWithCfg(t, "config_StripPackageNames", &litter.Options{ StripPackageNames: true, }, data) - performDumpTestsWithCfg(t, "config_HomePackage", &squirt.Options{ - HomePackage: "squirt_test", + performDumpTestsWithCfg(t, "config_HomePackage", &litter.Options{ + HomePackage: "litter_test", }, data) } diff --git a/squirt/mapper.go b/mapper.go similarity index 99% rename from squirt/mapper.go rename to mapper.go index bed8355..00a0c7b 100644 --- a/squirt/mapper.go +++ b/mapper.go @@ -1,4 +1,4 @@ -package squirt +package litter import "reflect" diff --git a/squirt/print.go b/print.go similarity index 98% rename from squirt/print.go rename to print.go index e1dc69f..700646d 100644 --- a/squirt/print.go +++ b/print.go @@ -1,4 +1,4 @@ -package squirt +package litter import ( "io" diff --git a/squirt/testdata/nilIntefacesInStructs.dump b/squirt/testdata/nilIntefacesInStructs.dump deleted file mode 100644 index 140eb23..0000000 --- a/squirt/testdata/nilIntefacesInStructs.dump +++ /dev/null @@ -1,10 +0,0 @@ -[]*squirt_test.InterfaceStruct{ - squirt_test.InterfaceStruct{ // p0 - Ifc: nil, - }, - squirt_test.InterfaceStruct{ - Ifc: p0, - }, - p0, - nil, -} \ No newline at end of file diff --git a/squirt/testdata/pointerAliasing.dump b/squirt/testdata/pointerAliasing.dump deleted file mode 100644 index d89adbb..0000000 --- a/squirt/testdata/pointerAliasing.dump +++ /dev/null @@ -1,12 +0,0 @@ -[]*squirt_test.RecursiveStruct{ - squirt_test.RecursiveStruct{ // p0 - Ptr: nil, - }, - p0, - squirt_test.RecursiveStruct{ - Ptr: p0, - }, - squirt_test.RecursiveStruct{ // p1 - Ptr: p1, - }, -} \ No newline at end of file diff --git a/squirt/testdata/config_HidePrivateFields.dump b/testdata/config_HidePrivateFields.dump similarity index 72% rename from squirt/testdata/config_HidePrivateFields.dump rename to testdata/config_HidePrivateFields.dump index c6f347b..d770619 100644 --- a/squirt/testdata/config_HidePrivateFields.dump +++ b/testdata/config_HidePrivateFields.dump @@ -1,10 +1,10 @@ []interface {}{ - squirt.Options{ + litter.Options{ StripPackageNames: false, HidePrivateFields: true, HomePackage: "", }, - squirt_test.BasicStruct{ + litter_test.BasicStruct{ Public: 1, }, } \ No newline at end of file diff --git a/squirt/testdata/config_HomePackage.dump b/testdata/config_HomePackage.dump similarity index 88% rename from squirt/testdata/config_HomePackage.dump rename to testdata/config_HomePackage.dump index e70f7fb..e7c3100 100644 --- a/squirt/testdata/config_HomePackage.dump +++ b/testdata/config_HomePackage.dump @@ -1,5 +1,5 @@ []interface {}{ - squirt.Options{ + litter.Options{ StripPackageNames: false, HidePrivateFields: true, HomePackage: "", diff --git a/squirt/testdata/config_StripPackageNames.dump b/testdata/config_StripPackageNames.dump similarity index 100% rename from squirt/testdata/config_StripPackageNames.dump rename to testdata/config_StripPackageNames.dump diff --git a/squirt/testdata/maps.dump b/testdata/maps.dump similarity index 62% rename from squirt/testdata/maps.dump rename to testdata/maps.dump index d187143..c70dbe3 100644 --- a/squirt/testdata/maps.dump +++ b/testdata/maps.dump @@ -6,7 +6,7 @@ 1: "one", 2: "two", }, - map[int]*squirt_test.BlankStruct{ - 2: squirt_test.BlankStruct{}, + map[int]*litter_test.BlankStruct{ + 2: litter_test.BlankStruct{}, }, } \ No newline at end of file diff --git a/testdata/nilIntefacesInStructs.dump b/testdata/nilIntefacesInStructs.dump new file mode 100644 index 0000000..dc344e8 --- /dev/null +++ b/testdata/nilIntefacesInStructs.dump @@ -0,0 +1,10 @@ +[]*litter_test.InterfaceStruct{ + litter_test.InterfaceStruct{ // p0 + Ifc: nil, + }, + litter_test.InterfaceStruct{ + Ifc: p0, + }, + p0, + nil, +} \ No newline at end of file diff --git a/testdata/pointerAliasing.dump b/testdata/pointerAliasing.dump new file mode 100644 index 0000000..3797acb --- /dev/null +++ b/testdata/pointerAliasing.dump @@ -0,0 +1,12 @@ +[]*litter_test.RecursiveStruct{ + litter_test.RecursiveStruct{ // p0 + Ptr: nil, + }, + p0, + litter_test.RecursiveStruct{ + Ptr: p0, + }, + litter_test.RecursiveStruct{ // p1 + Ptr: p1, + }, +} \ No newline at end of file diff --git a/squirt/testdata/primitives.dump b/testdata/primitives.dump similarity index 77% rename from squirt/testdata/primitives.dump rename to testdata/primitives.dump index ea6603c..ca16900 100644 --- a/squirt/testdata/primitives.dump +++ b/testdata/primitives.dump @@ -22,9 +22,9 @@ 3, }, "hello from interface", - squirt_test.BlankStruct{}, - squirt_test.BlankStruct{}, - squirt_test.BasicStruct{ + litter_test.BlankStruct{}, + litter_test.BlankStruct{}, + litter_test.BasicStruct{ Public: 1, private: 2, }, diff --git a/squirt/util.go b/util.go similarity index 97% rename from squirt/util.go rename to util.go index 74e1095..e0db8c9 100644 --- a/squirt/util.go +++ b/util.go @@ -1,4 +1,4 @@ -package squirt +package litter import "reflect"