27.8 KB
golang-github-sanity-io-litter version 1.1.0+git20171129.f8fd6a5-1~jan+unchanged1 (unchanged) vs.
golang-github-sanity-io-litter version 1.1.0+git20190603.89eabd1-1~jan+nus1 (fresh-snapshots)
27.6 KB
golang-github-sanity-io-litter-dev_1.1.0+git20171129.f8fd6a5-1~jan+unchanged1_all.deb vs.
golang-github-sanity-io-litter-dev_1.1.0+git20190603.89eabd1-1~jan+nus1_all.deb
536 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2018-04-17·20:14:29.000000·debian-binary1 -rw-r--r--···0········0········0········4·2019-06-23·05:20:39.000000·debian-binary
2 -rw-r--r--···0········0········0·····1452·2018-04-17·20:14:29.000000·control.tar.xz2 -rw-r--r--···0········0········0·····1476·2019-06-23·05:20:39.000000·control.tar.xz
3 -rw-r--r--···0········0········0·····7796·2018-04-17·20:14:29.000000·data.tar.xz3 -rw-r--r--···0········0········0·····8288·2019-06-23·05:20:39.000000·data.tar.xz
2.46 KB
control.tar.xz
2.43 KB
control.tar
596 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./
2 -rw-r--r--···0·root·········(0)·root·········(0)······975·2018-04-17·20:14:29.000000·./control2 -rw-r--r--···0·root·········(0)·root·········(0)······969·2019-06-23·05:20:39.000000·./control
3 -rw-r--r--···0·root·········(0)·root·········(0)·····2141·2018-04-17·20:14:29.000000·./md5sums3 -rw-r--r--···0·root·········(0)·root·········(0)·····2257·2019-06-23·05:20:39.000000·./md5sums
678 B
./control
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 Package:·golang-github-sanity-io-litter-dev1 Package:·golang-github-sanity-io-litter-dev
2 Source:·golang-github-sanity-io-litter2 Source:·golang-github-sanity-io-litter
3 Version:·1.1.0+git20171129.f8fd6a5-1~jan+unchanged13 Version:·1.1.0+git20190603.89eabd1-1~jan+nus1
4 Architecture:·all4 Architecture:·all
5 Maintainer:·Debian·Go·Packaging·Team·<pkg-go-maintainers@lists.alioth.debian.org>5 Maintainer:·Debian·Go·Packaging·Team·<pkg-go-maintainers@lists.alioth.debian.org>
6 Installed-Size:·496 Installed-Size:·51
7 Depends:·golang-github-stretchr-testify-dev7 Depends:·golang-github-stretchr-testify-dev
8 Section:·devel8 Section:·devel
9 Priority:·optional9 Priority:·optional
10 Homepage:·https://github.com/sanity-io/litter10 Homepage:·https://github.com/sanity-io/litter
11 Description:·Pretty·printer·library·for·Go·data·structures·to·aid·in·debugging·and·testing11 Description:·Pretty·printer·library·for·Go·data·structures·to·aid·in·debugging·and·testing
12 ·Litter·is·a·pretty·printer·library·for·Go·data·structures·to·aid·in12 ·Litter·is·a·pretty·printer·library·for·Go·data·structures·to·aid·in
13 ·debugging·and·testing.13 ·debugging·and·testing.
1.17 KB
./md5sums
30.0 B
./md5sums
Files differ
1.12 KB
line order
    
Offset 2, 14 lines modifiedOffset 2, 15 lines modified
2 usr/share/doc/golang-github-sanity-io-litter-dev/changelog.gz2 usr/share/doc/golang-github-sanity-io-litter-dev/changelog.gz
3 usr/share/doc/golang-github-sanity-io-litter-dev/copyright3 usr/share/doc/golang-github-sanity-io-litter-dev/copyright
4 usr/share/gocode/src/github.com/sanity-io/litter/dump.go4 usr/share/gocode/src/github.com/sanity-io/litter/dump.go
5 usr/share/gocode/src/github.com/sanity-io/litter/dump_test.go5 usr/share/gocode/src/github.com/sanity-io/litter/dump_test.go
6 usr/share/gocode/src/github.com/sanity-io/litter/mapper.go6 usr/share/gocode/src/github.com/sanity-io/litter/mapper.go
7 usr/share/gocode/src/github.com/sanity-io/litter/print.go7 usr/share/gocode/src/github.com/sanity-io/litter/print.go
8 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_Compact.dump8 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_Compact.dump
 9 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_FieldFilter.dump
9 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HidePrivateFields.dump10 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HidePrivateFields.dump
10 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HomePackage.dump11 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HomePackage.dump
11 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_StripPackageNames.dump12 usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_StripPackageNames.dump
12 usr/share/gocode/src/github.com/sanity-io/litter/testdata/customDumper.dump13 usr/share/gocode/src/github.com/sanity-io/litter/testdata/customDumper.dump
13 usr/share/gocode/src/github.com/sanity-io/litter/testdata/maps.dump14 usr/share/gocode/src/github.com/sanity-io/litter/testdata/maps.dump
14 usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_lineBreak.dump15 usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_lineBreak.dump
15 usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_noSeparator.dump16 usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_noSeparator.dump
24.4 KB
data.tar.xz
24.4 KB
data.tar
8.98 KB
file list
    
Offset 1, 31 lines modifiedOffset 1, 32 lines modified
1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./
2 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/2 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/
3 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/3 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/
4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/doc/4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/doc/
5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/
6 -rw-r--r--···0·root·········(0)·root·········(0)······278·2018-04-17·20:14:29.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/changelog.Debian.gz6 -rw-r--r--···0·root·········(0)·root·········(0)······308·2019-06-23·05:20:39.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/changelog.Debian.gz
7 -rw-r--r--···0·root·········(0)·root·········(0)······165·2018-04-03·09:32:50.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/changelog.gz7 -rw-r--r--···0·root·········(0)·root·········(0)······165·2019-06-03·17:01:23.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/changelog.gz
8 -rw-r--r--···0·root·········(0)·root·········(0)·····1406·2018-04-17·20:14:29.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/copyright8 -rw-r--r--···0·root·········(0)·root·········(0)·····1406·2019-06-23·05:20:39.000000·./usr/share/doc/golang-github-sanity-io-litter-dev/copyright
9 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/9 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/
10 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/src/10 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/src/
11 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/11 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/
12 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/12 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/
13 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/13 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/
14 -rw-r--r--···0·root·········(0)·root·········(0)·····9923·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/dump.go14 -rw-r--r--···0·root·········(0)·root·········(0)····10922·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/dump.go
15 -rw-r--r--···0·root·········(0)·root·········(0)·····5134·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/dump_test.go15 -rw-r--r--···0·root·········(0)·root·········(0)·····5963·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/dump_test.go
16 -rw-r--r--···0·root·········(0)·root·········(0)·····2346·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/mapper.go16 -rw-r--r--···0·root·········(0)·root·········(0)·····2346·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/mapper.go
17 -rw-r--r--···0·root·········(0)·root·········(0)······933·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/print.go17 -rw-r--r--···0·root·········(0)·root·········(0)······933·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/print.go
18 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/18 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/
19 -rw-r--r--···0·root·········(0)·root·········(0)······165·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_Compact.dump19 -rw-r--r--···0·root·········(0)·root·········(0)······232·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_Compact.dump
 20 -rw-r--r--···0·root·········(0)·root·········(0)······190·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_FieldFilter.dump
20 -rw-r--r--···0·root·········(0)·root·········(0)······208·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HidePrivateFields.dump21 -rw-r--r--···0·root·········(0)·root·········(0)······287·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HidePrivateFields.dump
21 -rw-r--r--···0·root·········(0)·root·········(0)······212·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HomePackage.dump22 -rw-r--r--···0·root·········(0)·root·········(0)······267·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HomePackage.dump
22 -rw-r--r--···0·root·········(0)·root·········(0)······205·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_StripPackageNames.dump23 -rw-r--r--···0·root·········(0)·root·········(0)······260·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_StripPackageNames.dump
23 -rw-r--r--···0·root·········(0)·root·········(0)······357·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/customDumper.dump24 -rw-r--r--···0·root·········(0)·root·········(0)······357·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/customDumper.dump
24 -rw-r--r--···0·root·········(0)·root·········(0)······280·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/maps.dump25 -rw-r--r--···0·root·········(0)·root·········(0)······280·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/maps.dump
25 -rw-r--r--···0·root·········(0)·root·········(0)·······28·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_lineBreak.dump26 -rw-r--r--···0·root·········(0)·root·········(0)·······28·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_lineBreak.dump
26 -rw-r--r--···0·root·········(0)·root·········(0)·······27·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_noSeparator.dump27 -rw-r--r--···0·root·········(0)·root·········(0)·······27·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_noSeparator.dump
27 -rw-r--r--···0·root·········(0)·root·········(0)·······30·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_separator.dump28 -rw-r--r--···0·root·········(0)·root·········(0)·······30·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/multipleArgs_separator.dump
28 -rw-r--r--···0·root·········(0)·root·········(0)······153·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/nilIntefacesInStructs.dump29 -rw-r--r--···0·root·········(0)·root·········(0)······153·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/nilIntefacesInStructs.dump
29 -rw-r--r--···0·root·········(0)·root·········(0)······202·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/pointerAliasing.dump30 -rw-r--r--···0·root·········(0)·root·········(0)······202·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/pointerAliasing.dump
30 -rw-r--r--···0·root·········(0)·root·········(0)······381·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/primitives.dump31 -rw-r--r--···0·root·········(0)·root·········(0)······435·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/testdata/primitives.dump
31 -rw-r--r--···0·root·········(0)·root·········(0)······568·2018-04-17·20:14:29.000000·./usr/share/gocode/src/github.com/sanity-io/litter/util.go32 -rw-r--r--···0·root·········(0)·root·········(0)······573·2019-06-23·05:20:39.000000·./usr/share/gocode/src/github.com/sanity-io/litter/util.go
820 B
./usr/share/doc/golang-github-sanity-io-litter-dev/changelog.Debian.gz
680 B
changelog.Debian
    
Offset 1, 11 lines modifiedOffset 1, 12 lines modified
1 golang-github-sanity-io-litter·(1.1.0+git20171129.f8fd6a5-1~jan+unchanged1)·unchanged;·urgency=medium1 golang-github-sanity-io-litter·(1.1.0+git20190603.89eabd1-1~jan+nus1)·fresh-snapshots;·urgency=medium
  
 2 ··*·New·upstream·snapshot.
2 ··*·Build·for·debian-janitor·apt·repository.3 ··*·Build·for·debian-janitor·apt·repository.
  
3 ·--·Debian·Janitor·<janitor@jelmer.uk>··Sat,·18·Jan·2020·19:03:23·+00004 ·--·Debian·Janitor·<janitor@jelmer.uk>··Sun,·23·Jun·2019·05:20:39·+0000
  
4 golang-github-sanity-io-litter·(1.1.0+git20171129.f8fd6a5-1)·unstable;·urgency=medium5 golang-github-sanity-io-litter·(1.1.0+git20171129.f8fd6a5-1)·unstable;·urgency=medium
  
5 ··*·Initial·release·(Closes:·#894682)6 ··*·Initial·release·(Closes:·#894682)
  
6 ·--·Anthony·Fok·<foka@debian.org>··Tue,·03·Apr·2018·03:34:15·-06007 ·--·Anthony·Fok·<foka@debian.org>··Tue,·03·Apr·2018·03:34:15·-0600
3.06 KB
./usr/share/gocode/src/github.com/sanity-io/litter/dump.go
    
Offset 3, 40 lines modifiedOffset 3, 44 lines modified
3 import·(3 import·(
4 »       "bytes"4 »       "bytes"
5 »       "fmt"5 »       "fmt"
6 »       "io"6 »       "io"
7 »       "os"7 »       "os"
8 »       "reflect"8 »       "reflect"
9 »       "regexp"9 »       "regexp"
 10 »       "runtime"
10 »       "sort"11 »       "sort"
11 »       "strconv"12 »       "strconv"
12 »       "strings"13 »       "strings"
13 )14 )
  
14 var·packageNameStripperRegexp·=·regexp.MustCompile("\\b[a-zA-Z_]+[a-zA-Z_0-9]+\\.")15 var·packageNameStripperRegexp·=·regexp.MustCompile("\\b[a-zA-Z_]+[a-zA-Z_0-9]+\\.")
15 var·compactTypeRegexp·=·regexp.MustCompile(`\s*([{};])\s*`)16 var·compactTypeRegexp·=·regexp.MustCompile(`\s*([,;{}()])\s*`)
  
16 //·Dumper·is·the·interface·for·implementing·custom·dumper·for·your·types.17 //·Dumper·is·the·interface·for·implementing·custom·dumper·for·your·types.
17 type·Dumper·interface·{18 type·Dumper·interface·{
18 »       LitterDump(w·io.Writer)19 »       LitterDump(w·io.Writer)
19 }20 }
  
20 //·Options·represents·configuration·options·for·litter21 //·Options·represents·configuration·options·for·litter
21 type·Options·struct·{22 type·Options·struct·{
22 »       Compact···········bool23 »       Compact···········bool
23 »       StripPackageNames·bool24 »       StripPackageNames·bool
24 »       HidePrivateFields·bool25 »       HidePrivateFields·bool
 26 »       FieldExclusions···*regexp.Regexp
 27 »       FieldFilter·······func(reflect.StructField,·reflect.Value)·bool
25 »       HomePackage·······string28 »       HomePackage·······string
26 »       Separator·········string29 »       Separator·········string
27 }30 }
  
28 //·Config·is·the·default·config·used·when·calling·Dump31 //·Config·is·the·default·config·used·when·calling·Dump
29 var·Config·=·Options{32 var·Config·=·Options{
30 »       StripPackageNames:·false,33 »       StripPackageNames:·false,
31 »       HidePrivateFields:·true,34 »       HidePrivateFields:·true,
 35 »       FieldExclusions:···regexp.MustCompile(`^(XXX_.*)$`),·//·XXX_·is·a·prefix·of·fields·generated·by·protoc-gen-go
32 »       Separator:·········"·",36 »       Separator:·········"·",
33 }37 }
  
34 type·dumpState·struct·{38 type·dumpState·struct·{
35 »       w··················io.Writer39 »       w··················io.Writer
36 »       depth··············int40 »       depth··············int
37 »       config·············*Options41 »       config·············*Options
Offset 115, 15 lines modifiedOffset 119, 18 lines modified
115 »       »       s.depth++119 »       »       s.depth++
116 »       }120 »       }
117 »       preambleDumped·:=·false121 »       preambleDumped·:=·false
118 »       vt·:=·v.Type()122 »       vt·:=·v.Type()
119 »       numFields·:=·v.NumField()123 »       numFields·:=·v.NumField()
120 »       for·i·:=·0;·i·<·numFields;·i++·{124 »       for·i·:=·0;·i·<·numFields;·i++·{
121 »       »       vtf·:=·vt.Field(i)125 »       »       vtf·:=·vt.Field(i)
122 »       »       if·s.config.HidePrivateFields·&&·vtf.PkgPath·!=·""·{126 »       »       if·s.config.HidePrivateFields·&&·vtf.PkgPath·!=·""·||·s.config.FieldExclusions·!=·nil·&&·s.config.FieldExclusions.MatchString(vtf.Name)·{
 127 »       »       »       continue
 128 »       »       }
 129 »       »       if·s.config.FieldFilter·!=·nil·&&·!s.config.FieldFilter(vtf,·v.Field(i))·{
123 »       »       »       continue130 »       »       »       continue
124 »       »       }131 »       »       }
125 »       »       if·!preambleDumped·{132 »       »       if·!preambleDumped·{
126 »       »       »       dumpPreamble()133 »       »       »       dumpPreamble()
127 »       »       »       preambleDumped·=·true134 »       »       »       preambleDumped·=·true
128 »       »       }135 »       »       }
129 »       »       s.indent()136 »       »       s.indent()
Offset 176, 14 lines modifiedOffset 183, 34 lines modified
176 »       »       s.newlineWithPointerNameComment()183 »       »       s.newlineWithPointerNameComment()
177 »       }184 »       }
178 »       s.depth--185 »       s.depth--
179 »       s.indent()186 »       s.indent()
180 »       s.w.Write([]byte("}"))187 »       s.w.Write([]byte("}"))
181 }188 }
  
 189 func·(s·*dumpState)·dumpFunc(v·reflect.Value)·{
 190 »       parts·:=·strings.Split(runtime.FuncForPC(v.Pointer()).Name(),·"/")
 191 »       name·:=·parts[len(parts)-1]
  
 192 »       //·Anonymous·function
 193 »       if·strings.Count(name,·".")·>·1·{
 194 »       »       s.dumpType(v)
 195 »       }·else·{
 196 »       »       if·s.config.StripPackageNames·{
 197 »       »       »       name·=·packageNameStripperRegexp.ReplaceAllLiteralString(name,·"")
 198 »       »       }·else·if·s.homePackageRegexp·!=·nil·{
 199 »       »       »       name·=·s.homePackageRegexp.ReplaceAllLiteralString(name,·"")
 200 »       »       }
 201 »       »       if·s.config.Compact·{
 202 »       »       »       name·=·compactTypeRegexp.ReplaceAllString(name,·"$1")
 203 »       »       }
 204 »       »       s.w.Write([]byte(name))
 205 »       }
 206 }
  
182 func·(s·*dumpState)·dumpCustom(v·reflect.Value)·{207 func·(s·*dumpState)·dumpCustom(v·reflect.Value)·{
183 »       //·Run·the·custom·dumper·buffering·the·output208 »       //·Run·the·custom·dumper·buffering·the·output
184 »       buf·:=·new(bytes.Buffer)209 »       buf·:=·new(bytes.Buffer)
185 »       dumpFunc·:=·v.MethodByName("LitterDump")210 »       dumpFunc·:=·v.MethodByName("LitterDump")
186 »       dumpFunc.Call([]reflect.Value{reflect.ValueOf(buf)})211 »       dumpFunc.Call([]reflect.Value{reflect.ValueOf(buf)})
  
187 »       //·Dump·the·type212 »       //·Dump·the·type
Offset 322, 14 lines modifiedOffset 349, 17 lines modified
322 »       »       if·s.handlePointerAliasingAndCheckIfShouldDescend(v)·{349 »       »       if·s.handlePointerAliasingAndCheckIfShouldDescend(v)·{
323 »       »       »       s.dumpMap(v)350 »       »       »       s.dumpMap(v)
324 »       »       }351 »       »       }
  
325 »       case·reflect.Struct:352 »       case·reflect.Struct:
326 »       »       s.dumpStruct(v)353 »       »       s.dumpStruct(v)
  
 354 »       case·reflect.Func:
 355 »       »       s.dumpFunc(v)
  
327 »       default:356 »       default:
328 »       »       if·v.CanInterface()·{357 »       »       if·v.CanInterface()·{
329 »       »       »       fmt.Fprintf(s.w,·"%v",·v.Interface())358 »       »       »       fmt.Fprintf(s.w,·"%v",·v.Interface())
330 »       »       }·else·{359 »       »       }·else·{
331 »       »       »       fmt.Fprintf(s.w,·"%v",·v.String())360 »       »       »       fmt.Fprintf(s.w,·"%v",·v.String())
332 »       »       }361 »       »       }
333 »       }362 »       }
2.32 KB
./usr/share/gocode/src/github.com/sanity-io/litter/dump_test.go
    
Offset 2, 21 lines modifiedOffset 2, 26 lines modified
  
2 import·(2 import·(
3 »       "fmt"3 »       "fmt"
4 »       "io"4 »       "io"
5 »       "io/ioutil"5 »       "io/ioutil"
6 »       "os"6 »       "os"
7 »       "os/exec"7 »       "os/exec"
 8 »       "reflect"
8 »       "testing"9 »       "testing"
  
9 »       "github.com/sanity-io/litter"10 »       "github.com/sanity-io/litter"
10 »       "github.com/stretchr/testify/assert"11 »       "github.com/stretchr/testify/assert"
11 »       "github.com/stretchr/testify/require"12 »       "github.com/stretchr/testify/require"
12 )13 )
  
 14 func·Function(arg1·string,·arg2·int)·(string,·error)·{
 15 »       return·"",·nil
 16 }
  
13 type·BlankStruct·struct{}17 type·BlankStruct·struct{}
  
14 type·BasicStruct·struct·{18 type·BasicStruct·struct·{
15 »       Public··int19 »       Public··int
16 »       private·int20 »       private·int
17 }21 }
  
Offset 62, 14 lines modifiedOffset 67, 16 lines modified
62 »       »       complex128(-1.2·-·0.1i),67 »       »       complex128(-1.2·-·0.1i),
63 »       »       "string·with·\"quote\"",68 »       »       "string·with·\"quote\"",
64 »       »       []int{1,·2,·3},69 »       »       []int{1,·2,·3},
65 »       »       interface{}("hello·from·interface"),70 »       »       interface{}("hello·from·interface"),
66 »       »       BlankStruct{},71 »       »       BlankStruct{},
67 »       »       &BlankStruct{},72 »       »       &BlankStruct{},
68 »       »       BasicStruct{1,·2},73 »       »       BasicStruct{1,·2},
 74 »       »       Function,
 75 »       »       func(arg·string)·(bool,·error)·{·return·false,·nil·},
69 »       »       nil,76 »       »       nil,
70 »       »       interface{}(nil),77 »       »       interface{}(nil),
71 »       })78 »       })
72 }79 }
  
73 func·TestSdump_customDumper(t·*testing.T)·{80 func·TestSdump_customDumper(t·*testing.T)·{
74 »       cmld·:=·CustomMultiLineDumper{Dummy:·1}81 »       cmld·:=·CustomMultiLineDumper{Dummy:·1}
Offset 109, 31 lines modifiedOffset 116, 61 lines modified
109 »       »       p0,116 »       »       p0,
110 »       »       p1,117 »       »       p1,
111 »       »       p0,118 »       »       p0,
112 »       »       nil,119 »       »       nil,
113 »       })120 »       })
114 }121 }
  
 122 type·testingOptions·struct·{
 123 »       Compact···········bool
 124 »       StripPackageNames·bool
 125 »       HidePrivateFields·bool
 126 »       HomePackage·······string
 127 »       Separator·········string
 128 }
  
115 func·TestSdump_config(t·*testing.T)·{129 func·TestSdump_config(t·*testing.T)·{
 130 »       type·options·struct·{
 131 »       »       Compact···········bool
 132 »       »       StripPackageNames·bool
 133 »       »       HidePrivateFields·bool
 134 »       »       HomePackage·······string
 135 »       »       Separator·········string
 136 »       }
  
 137 »       opts·:=·options{
 138 »       »       StripPackageNames:·false,
 139 »       »       HidePrivateFields:·true,
 140 »       »       Separator:·········"·",
 141 »       }
  
116 »       data·:=·[]interface{}{142 »       data·:=·[]interface{}{
117 »       »       litter.Config,143 »       »       opts,
118 »       »       &BasicStruct{1,·2},144 »       »       &BasicStruct{1,·2},
 145 »       »       Function,
 146 »       »       litter.Dump,
 147 »       »       func(s·string,·i·int)·(bool,·error)·{·return·false,·nil·},
119 »       }148 »       }
120 »       runTestWithCfg(t,·"config_Compact",·&litter.Options{149 »       runTestWithCfg(t,·"config_Compact",·&litter.Options{
121 »       »       Compact:·true,150 »       »       Compact:·true,
122 »       },·data)151 »       },·data)
123 »       runTestWithCfg(t,·"config_HidePrivateFields",·&litter.Options{152 »       runTestWithCfg(t,·"config_HidePrivateFields",·&litter.Options{
124 »       »       HidePrivateFields:·true,153 »       »       HidePrivateFields:·true,
125 »       },·data)154 »       },·data)
126 »       runTestWithCfg(t,·"config_StripPackageNames",·&litter.Options{155 »       runTestWithCfg(t,·"config_StripPackageNames",·&litter.Options{
127 »       »       StripPackageNames:·true,156 »       »       StripPackageNames:·true,
128 »       },·data)157 »       },·data)
129 »       runTestWithCfg(t,·"config_HomePackage",·&litter.Options{158 »       runTestWithCfg(t,·"config_HomePackage",·&litter.Options{
130 »       »       HomePackage:·"litter_test",159 »       »       HomePackage:·"litter_test",
131 »       },·data)160 »       },·data)
 161 »       runTestWithCfg(t,·"config_FieldFilter",·&litter.Options{
 162 »       »       FieldFilter:·func(f·reflect.StructField,·v·reflect.Value)·bool·{
 163 »       »       »       return·f.Type.Kind()·==·reflect.String
 164 »       »       },
 165 »       },·data)
132 }166 }
  
133 func·TestSdump_multipleArgs(t·*testing.T)·{167 func·TestSdump_multipleArgs(t·*testing.T)·{
134 »       value1·:=·[]string{"x",·"y"}168 »       value1·:=·[]string{"x",·"y"}
135 »       value2·:=·int32(42)169 »       value2·:=·int32(42)
  
136 »       runTestWithCfg(t,·"multipleArgs_noSeparator",·&litter.Options{},·value1,·value2)170 »       runTestWithCfg(t,·"multipleArgs_noSeparator",·&litter.Options{},·value1,·value2)
1.84 KB
./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_Compact.dump
    
Offset 1, 11 lines modifiedOffset 1, 15 lines modified
1 00000000:·5b5d·696e·7465·7266·6163·657b·7d7b·6c69··[]interface{}{li1 00000000:·5b5d·696e·7465·7266·6163·657b·7d7b·6c69··[]interface{}{li
2 00000010:·7474·6572·2e4f·7074·696f·6e73·7b43·6f6d··tter.Options{Com 
3 00000020:·7061·6374·3a66·616c·7365·2c53·7472·6970··pact:false,Strip 
4 00000030:·5061·636b·6167·654e·616d·6573·3a66·616c··PackageNames:fal 
5 00000040:·7365·2c48·6964·6550·7269·7661·7465·4669··se,HidePrivateFi 
6 00000050:·656c·6473·3a74·7275·652c·486f·6d65·5061··elds:true,HomePa 
7 00000060:·636b·6167·653a·2222·2c53·6570·6172·6174··ckage:"",Separat 
8 00000070:·6f72·3a22·2022·7d2c·266c·6974·7465·725f··or:"·"},&litter_ 
9 00000080:·7465·7374·2e42·6173·6963·5374·7275·6374··test.BasicStruct 
10 00000090:·7b50·7562·6c69·633a·312c·7072·6976·6174··{Public:1,privat 
11 000000a0:·653a·327d·7d·····························e:2}}2 00000010:·7474·6572·5f74·6573·742e·6f70·7469·6f6e··tter_test.option
 3 00000020:·737b·436f·6d70·6163·743a·6661·6c73·652c··s{Compact:false,
 4 00000030:·5374·7269·7050·6163·6b61·6765·4e61·6d65··StripPackageName
 5 00000040:·733a·6661·6c73·652c·4869·6465·5072·6976··s:false,HidePriv
 6 00000050:·6174·6546·6965·6c64·733a·7472·7565·2c48··ateFields:true,H
 7 00000060:·6f6d·6550·6163·6b61·6765·3a22·222c·5365··omePackage:"",Se
 8 00000070:·7061·7261·746f·723a·2220·227d·2c26·6c69··parator:"·"},&li
 9 00000080:·7474·6572·5f74·6573·742e·4261·7369·6353··tter_test.BasicS
 10 00000090:·7472·7563·747b·5075·626c·6963·3a31·2c70··truct{Public:1,p
 11 000000a0:·7269·7661·7465·3a32·7d2c·6c69·7474·6572··rivate:2},litter
 12 000000b0:·5f74·6573·742e·4675·6e63·7469·6f6e·2c6c··_test.Function,l
 13 000000c0:·6974·7465·722e·4475·6d70·2c66·756e·6328··itter.Dump,func(
 14 000000d0:·7374·7269·6e67·2c69·6e74·2928·626f·6f6c··string,int)(bool
 15 000000e0:·2c65·7272·6f72·297d······················,error)}
2.21 KB
./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HidePrivateFields.dump
    
Offset 1, 13 lines modifiedOffset 1, 18 lines modified
1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.
2 00000010:·2020·6c69·7474·6572·2e4f·7074·696f·6e73····litter.Options 
3 00000020:·7b0a·2020·2020·436f·6d70·6163·743a·2066··{.····Compact:·f 
4 00000030:·616c·7365·2c0a·2020·2020·5374·7269·7050··alse,.····StripP 
5 00000040:·6163·6b61·6765·4e61·6d65·733a·2066·616c··ackageNames:·fal 
6 00000050:·7365·2c0a·2020·2020·4869·6465·5072·6976··se,.····HidePriv 
7 00000060:·6174·6546·6965·6c64·733a·2074·7275·652c··ateFields:·true, 
8 00000070:·0a20·2020·2048·6f6d·6550·6163·6b61·6765··.····HomePackage 
9 00000080:·3a20·2222·2c0a·2020·2020·5365·7061·7261··:·"",.····Separa 
10 00000090:·746f·723a·2022·2022·2c0a·2020·7d2c·0a20··tor:·"·",.··},.· 
11 000000a0:·2026·6c69·7474·6572·5f74·6573·742e·4261···&litter_test.Ba2 00000010:·2020·6c69·7474·6572·5f74·6573·742e·6f70····litter_test.op
12 000000b0:·7369·6353·7472·7563·747b·0a20·2020·2050··sicStruct{.····P 
13 000000c0:·7562·6c69·633a·2031·2c0a·2020·7d2c·0a7d··ublic:·1,.··},.}3 00000020:·7469·6f6e·737b·0a20·2020·2043·6f6d·7061··tions{.····Compa
 4 00000030:·6374·3a20·6661·6c73·652c·0a20·2020·2053··ct:·false,.····S
 5 00000040:·7472·6970·5061·636b·6167·654e·616d·6573··tripPackageNames
 6 00000050:·3a20·6661·6c73·652c·0a20·2020·2048·6964··:·false,.····Hid
 7 00000060:·6550·7269·7661·7465·4669·656c·6473·3a20··ePrivateFields:·
 8 00000070:·7472·7565·2c0a·2020·2020·486f·6d65·5061··true,.····HomePa
 9 00000080:·636b·6167·653a·2022·222c·0a20·2020·2053··ckage:·"",.····S
 10 00000090:·6570·6172·6174·6f72·3a20·2220·222c·0a20··eparator:·"·",.·
 11 000000a0:·207d·2c0a·2020·266c·6974·7465·725f·7465···},.··&litter_te
 12 000000b0:·7374·2e42·6173·6963·5374·7275·6374·7b0a··st.BasicStruct{.
 13 000000c0:·2020·2020·5075·626c·6963·3a20·312c·0a20······Public:·1,.·
 14 000000d0:·207d·2c0a·2020·6c69·7474·6572·5f74·6573···},.··litter_tes
 15 000000e0:·742e·4675·6e63·7469·6f6e·2c0a·2020·6c69··t.Function,.··li
 16 000000f0:·7474·6572·2e44·756d·702c·0a20·2066·756e··tter.Dump,.··fun
 17 00000100:·6328·7374·7269·6e67·2c20·696e·7429·2028··c(string,·int)·(
 18 00000110:·626f·6f6c·2c20·6572·726f·7229·2c0a·7d····bool,·error),.}
2.18 KB
./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_HomePackage.dump
    
Offset 1, 14 lines modifiedOffset 1, 17 lines modified
1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.
2 00000010:·2020·6c69·7474·6572·2e4f·7074·696f·6e73····litter.Options 
3 00000020:·7b0a·2020·2020·436f·6d70·6163·743a·2066··{.····Compact:·f 
4 00000030:·616c·7365·2c0a·2020·2020·5374·7269·7050··alse,.····StripP 
5 00000040:·6163·6b61·6765·4e61·6d65·733a·2066·616c··ackageNames:·fal 
6 00000050:·7365·2c0a·2020·2020·4869·6465·5072·6976··se,.····HidePriv 
7 00000060:·6174·6546·6965·6c64·733a·2074·7275·652c··ateFields:·true, 
8 00000070:·0a20·2020·2048·6f6d·6550·6163·6b61·6765··.····HomePackage 
9 00000080:·3a20·2222·2c0a·2020·2020·5365·7061·7261··:·"",.····Separa 
10 00000090:·746f·723a·2022·2022·2c0a·2020·7d2c·0a20··tor:·"·",.··},.· 
11 000000a0:·2026·4261·7369·6353·7472·7563·747b·0a20···&BasicStruct{.· 
12 000000b0:·2020·2050·7562·6c69·633a·2031·2c0a·2020·····Public:·1,.·· 
13 000000c0:·2020·7072·6976·6174·653a·2032·2c0a·2020····private:·2,.·· 
14 000000d0:·7d2c·0a7d································},.}2 00000010:·2020·6f70·7469·6f6e·737b·0a20·2020·2043····options{.····C
 3 00000020:·6f6d·7061·6374·3a20·6661·6c73·652c·0a20··ompact:·false,.·
 4 00000030:·2020·2053·7472·6970·5061·636b·6167·654e·····StripPackageN
 5 00000040:·616d·6573·3a20·6661·6c73·652c·0a20·2020··ames:·false,.···
 6 00000050:·2048·6964·6550·7269·7661·7465·4669·656c···HidePrivateFiel
 7 00000060:·6473·3a20·7472·7565·2c0a·2020·2020·486f··ds:·true,.····Ho
 8 00000070:·6d65·5061·636b·6167·653a·2022·222c·0a20··mePackage:·"",.·
 9 00000080:·2020·2053·6570·6172·6174·6f72·3a20·2220·····Separator:·"·
 10 00000090:·222c·0a20·207d·2c0a·2020·2642·6173·6963··",.··},.··&Basic
 11 000000a0:·5374·7275·6374·7b0a·2020·2020·5075·626c··Struct{.····Publ
 12 000000b0:·6963·3a20·312c·0a20·2020·2070·7269·7661··ic:·1,.····priva
 13 000000c0:·7465·3a20·322c·0a20·207d·2c0a·2020·4675··te:·2,.··},.··Fu
 14 000000d0:·6e63·7469·6f6e·2c0a·2020·6c69·7474·6572··nction,.··litter
 15 000000e0:·2e44·756d·702c·0a20·2066·756e·6328·7374··.Dump,.··func(st
 16 000000f0:·7269·6e67·2c20·696e·7429·2028·626f·6f6c··ring,·int)·(bool
 17 00000100:·2c20·6572·726f·7229·2c0a·7d··············,·error),.}
1.46 KB
./usr/share/gocode/src/github.com/sanity-io/litter/testdata/config_StripPackageNames.dump
    
Offset 1, 13 lines modifiedOffset 1, 17 lines modified
1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.1 00000000:·5b5d·696e·7465·7266·6163·6520·7b7d·7b0a··[]interface·{}{.
2 00000010:·2020·4f70·7469·6f6e·737b·0a20·2020·2043····Options{.····C2 00000010:·2020·6f70·7469·6f6e·737b·0a20·2020·2043····options{.····C
3 00000020:·6f6d·7061·6374·3a20·6661·6c73·652c·0a20··ompact:·false,.·3 00000020:·6f6d·7061·6374·3a20·6661·6c73·652c·0a20··ompact:·false,.·
4 00000030:·2020·2053·7472·6970·5061·636b·6167·654e·····StripPackageN4 00000030:·2020·2053·7472·6970·5061·636b·6167·654e·····StripPackageN
5 00000040:·616d·6573·3a20·6661·6c73·652c·0a20·2020··ames:·false,.···5 00000040:·616d·6573·3a20·6661·6c73·652c·0a20·2020··ames:·false,.···
6 00000050:·2048·6964·6550·7269·7661·7465·4669·656c···HidePrivateFiel6 00000050:·2048·6964·6550·7269·7661·7465·4669·656c···HidePrivateFiel
7 00000060:·6473·3a20·7472·7565·2c0a·2020·2020·486f··ds:·true,.····Ho7 00000060:·6473·3a20·7472·7565·2c0a·2020·2020·486f··ds:·true,.····Ho
8 00000070:·6d65·5061·636b·6167·653a·2022·222c·0a20··mePackage:·"",.·8 00000070:·6d65·5061·636b·6167·653a·2022·222c·0a20··mePackage:·"",.·
9 00000080:·2020·2053·6570·6172·6174·6f72·3a20·2220·····Separator:·"·9 00000080:·2020·2053·6570·6172·6174·6f72·3a20·2220·····Separator:·"·
10 00000090:·222c·0a20·207d·2c0a·2020·2642·6173·6963··",.··},.··&Basic10 00000090:·222c·0a20·207d·2c0a·2020·2642·6173·6963··",.··},.··&Basic
11 000000a0:·5374·7275·6374·7b0a·2020·2020·5075·626c··Struct{.····Publ11 000000a0:·5374·7275·6374·7b0a·2020·2020·5075·626c··Struct{.····Publ
12 000000b0:·6963·3a20·312c·0a20·2020·2070·7269·7661··ic:·1,.····priva12 000000b0:·6963·3a20·312c·0a20·2020·2070·7269·7661··ic:·1,.····priva
13 000000c0:·7465·3a20·322c·0a20·207d·2c0a·7d·········te:·2,.··},.}13 000000c0:·7465·3a20·322c·0a20·207d·2c0a·2020·4675··te:·2,.··},.··Fu
 14 000000d0:·6e63·7469·6f6e·2c0a·2020·4475·6d70·2c0a··nction,.··Dump,.
 15 000000e0:·2020·6675·6e63·2873·7472·696e·672c·2069····func(string,·i
 16 000000f0:·6e74·2920·2862·6f6f·6c2c·2065·7272·6f72··nt)·(bool,·error
 17 00000100:·292c·0a7d································),.}
1.03 KB
./usr/share/gocode/src/github.com/sanity-io/litter/testdata/primitives.dump
    
Offset 17, 8 lines modifiedOffset 17, 12 lines modified
17 00000100:·742e·426c·616e·6b53·7472·7563·747b·7d2c··t.BlankStruct{},17 00000100:·742e·426c·616e·6b53·7472·7563·747b·7d2c··t.BlankStruct{},
18 00000110:·0a20·2026·6c69·7474·6572·5f74·6573·742e··.··&litter_test.18 00000110:·0a20·2026·6c69·7474·6572·5f74·6573·742e··.··&litter_test.
19 00000120:·426c·616e·6b53·7472·7563·747b·7d2c·0a20··BlankStruct{},.·19 00000120:·426c·616e·6b53·7472·7563·747b·7d2c·0a20··BlankStruct{},.·
20 00000130:·206c·6974·7465·725f·7465·7374·2e42·6173···litter_test.Bas20 00000130:·206c·6974·7465·725f·7465·7374·2e42·6173···litter_test.Bas
21 00000140:·6963·5374·7275·6374·7b0a·2020·2020·5075··icStruct{.····Pu21 00000140:·6963·5374·7275·6374·7b0a·2020·2020·5075··icStruct{.····Pu
22 00000150:·626c·6963·3a20·312c·0a20·2020·2070·7269··blic:·1,.····pri22 00000150:·626c·6963·3a20·312c·0a20·2020·2070·7269··blic:·1,.····pri
23 00000160:·7661·7465·3a20·322c·0a20·207d·2c0a·2020··vate:·2,.··},.··23 00000160:·7661·7465·3a20·322c·0a20·207d·2c0a·2020··vate:·2,.··},.··
24 00000170:·6e69·6c2c·0a20·206e·696c·2c0a·7d·········nil,.··nil,.}24 00000170:·6c69·7474·6572·5f74·6573·742e·4675·6e63··litter_test.Func
 25 00000180:·7469·6f6e·2c0a·2020·6675·6e63·2873·7472··tion,.··func(str
 26 00000190:·696e·6729·2028·626f·6f6c·2c20·6572·726f··ing)·(bool,·erro
 27 000001a0:·7229·2c0a·2020·6e69·6c2c·0a20·206e·696c··r),.··nil,.··nil
 28 000001b0:·2c0a·7d··································,.}
527 B
./usr/share/gocode/src/github.com/sanity-io/litter/util.go
    
Offset 1, 10 lines modifiedOffset 1, 12 lines modified
1 package·litter1 package·litter
  
2 import·"reflect"2 import·(
 3 »       "reflect"
 4 )
  
3 //·deInterface·returns·values·inside·of·non-nil·interfaces·when·possible.5 //·deInterface·returns·values·inside·of·non-nil·interfaces·when·possible.
4 //·This·is·useful·for·data·types·like·structs,·arrays,·slices,·and·maps·which6 //·This·is·useful·for·data·types·like·structs,·arrays,·slices,·and·maps·which
5 //·can·contain·varying·types·packed·inside·an·interface.7 //·can·contain·varying·types·packed·inside·an·interface.
6 func·deInterface(v·reflect.Value)·reflect.Value·{8 func·deInterface(v·reflect.Value)·reflect.Value·{
7 »       if·v.Kind()·==·reflect.Interface·&&·!v.IsNil()·{9 »       if·v.Kind()·==·reflect.Interface·&&·!v.IsNil()·{
8 »       »       v·=·v.Elem()10 »       »       v·=·v.Elem()