Update go2ts to 1.4.0.

This release simplifies Go2TS's public API by removing error values and using panics for unrecoverable errors such ass adding incompatible types.

Change-Id: I5530d5f671b2cd65118a88c84338341bd990f77f
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/331936
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
diff --git a/bugs-central/go/types/ts/main.go b/bugs-central/go/types/ts/main.go
index 7976ebb..5ada02c 100644
--- a/bugs-central/go/types/ts/main.go
+++ b/bugs-central/go/types/ts/main.go
@@ -13,7 +13,7 @@
 
 func main() {
 	generator := go2ts.New()
-	err := generator.AddMultiple(
+	generator.AddMultiple(
 		types.IssueCountsData{},
 		types.Issue{},
 		types.ClientSourceQueryRequest{},
@@ -21,11 +21,8 @@
 		types.GetClientsResponse{},
 		types.GetClientCountsResponse{},
 		types.GetChartsDataResponse{})
-	if err != nil {
-		sklog.Fatal(err)
-	}
 
-	err = util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+	err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
 		return generator.Render(w)
 	})
 	if err != nil {
diff --git a/fiddlek/go/ts/main.go b/fiddlek/go/ts/main.go
index ad2e825..8a308cf 100644
--- a/fiddlek/go/ts/main.go
+++ b/fiddlek/go/ts/main.go
@@ -13,13 +13,12 @@
 
 func main() {
 	generator := go2ts.New()
-	if err := generator.AddMultiple(
+	generator.AddMultiple(
 		types.Options{},
 		types.RunResults{},
 		types.FiddleContext{},
-	); err != nil {
-		sklog.Fatal(err)
-	}
+	)
+
 	err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
 		return generator.Render(w)
 	})
diff --git a/go.mod b/go.mod
index 0348554..5fdf615 100644
--- a/go.mod
+++ b/go.mod
@@ -146,7 +146,7 @@
 	github.com/shopspring/decimal v1.2.0 // indirect
 	github.com/sirupsen/logrus v1.7.0 // indirect
 	github.com/skia-dev/go-systemd v0.0.0-20181025131956-1cc903e82ae4
-	github.com/skia-dev/go2ts v1.3.7
+	github.com/skia-dev/go2ts v1.4.0
 	github.com/skia-dev/google-api-go-client v0.10.1-0.20200109184256-16c3d6f408b2
 	github.com/smartystreets/assertions v1.2.0 // indirect
 	github.com/spf13/afero v1.4.1 // indirect
diff --git a/go.sum b/go.sum
index 9d817e8..5bf1bad 100644
--- a/go.sum
+++ b/go.sum
@@ -1135,6 +1135,8 @@
 github.com/skia-dev/go2ts v1.3.6/go.mod h1:pE59J8wf5IHSMtPhH8PmWq5ZTLt6p1Ih+4ODd9fkGXk=
 github.com/skia-dev/go2ts v1.3.7 h1:nakAHUZFRcQc3cfNUlcV9J5eKjTGD0i7AoB8ExwlLg0=
 github.com/skia-dev/go2ts v1.3.7/go.mod h1:pE59J8wf5IHSMtPhH8PmWq5ZTLt6p1Ih+4ODd9fkGXk=
+github.com/skia-dev/go2ts v1.4.0 h1:eAtVpmMhhyv5yKrc18hkH+HIdRz7intA5/oyHxmoyaE=
+github.com/skia-dev/go2ts v1.4.0/go.mod h1:pE59J8wf5IHSMtPhH8PmWq5ZTLt6p1Ih+4ODd9fkGXk=
 github.com/skia-dev/google-api-go-client v0.10.1-0.20200109184256-16c3d6f408b2 h1:Id5JdSD66PKQQiiVFG1VXDVCT5U3DcDzJSReXRxKRLk=
 github.com/skia-dev/google-api-go-client v0.10.1-0.20200109184256-16c3d6f408b2/go.mod h1:N0iTzjbw95ZVfOL7wVngmVXE2kG0NP+LYlq3QMwf9Qo=
 github.com/skia-dev/protoc-gen-twirp_typescript v0.0.0-20200902150932-4a52797b9171 h1:aVRC547XgCbd6d5FEu+Dliz0nb+VQADHboBzrVK94FI=
diff --git a/golden/go/web/frontend/generate_typescript_rpc_types/main.go b/golden/go/web/frontend/generate_typescript_rpc_types/main.go
index 55b37ef..fbbeae8 100644
--- a/golden/go/web/frontend/generate_typescript_rpc_types/main.go
+++ b/golden/go/web/frontend/generate_typescript_rpc_types/main.go
@@ -6,7 +6,6 @@
 
 	"github.com/skia-dev/go2ts"
 	"go.skia.org/infra/go/paramtools"
-	"go.skia.org/infra/go/skerr"
 	"go.skia.org/infra/go/sklog"
 	"go.skia.org/infra/go/util"
 	"go.skia.org/infra/golden/go/expectations"
@@ -22,9 +21,7 @@
 	flag.Parse()
 
 	generator := go2ts.New()
-	if err := addTypes(generator); err != nil {
-		sklog.Fatal(err)
-	}
+	addTypes(generator)
 
 	err := util.WithWriteFile(*outputPath, func(w io.Writer) error {
 		return generator.Render(w)
@@ -34,48 +31,28 @@
 	}
 }
 
-func addTypes(generator *go2ts.Go2TS) error {
-
+func addTypes(generator *go2ts.Go2TS) {
 	// Ensure go2ts sees the ParamSet type for the first time with the go2ts:"ignorenil" annotation.
 	type ignoreNil struct {
 		ParamSet paramtools.ParamSet `go2ts:"ignorenil"`
 	}
-	if err := generator.AddWithName(ignoreNil{}, "IgnoreNil_DO_NOT_USE"); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.AddWithName(ignoreNil{}, "IgnoreNil_DO_NOT_USE")
 
 	// Response for the /json/v1/changelist/{system}/{id} RPC endpoint.
-	if err := generator.AddWithName(frontend.ChangeListSummary{}, "ChangeListSummaryResponse"); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.AddWithName(frontend.ChangeListSummary{}, "ChangeListSummaryResponse")
 
 	// Response for the /json/v1/paramset RPC endpoint.
-	if err := generator.AddWithName(tiling.Tile{}.ParamSet, "ParamSetResponse"); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.AddWithName(tiling.Tile{}.ParamSet, "ParamSetResponse")
 
 	// Response for the /json/v1/search RPC endpoint.
-	if err := generator.AddWithName(search_frontend.SearchResponse{}, "SearchResponse"); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.AddWithName(search_frontend.SearchResponse{}, "SearchResponse")
 
 	// Request for the /json/v1/triage RPC endpoint.
-	if err := generator.Add(frontend.TriageRequest{}); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.Add(frontend.TriageRequest{})
 
 	// Response for the /json/v1/trstatus RPC endpoint.
-	if err := generator.AddWithName(status.GUIStatus{}, "StatusResponse"); err != nil {
-		return skerr.Wrap(err)
-	}
+	generator.AddWithName(status.GUIStatus{}, "StatusResponse")
 
-	if err := generator.AddUnionWithName(expectations.AllLabel, "Label"); err != nil {
-		return skerr.Wrap(err)
-	}
-
-	if err := generator.AddUnionWithName(common.AllRefClosest, "RefClosest"); err != nil {
-		return skerr.Wrap(err)
-	}
-
-	return nil
+	generator.AddUnionWithName(expectations.AllLabel, "Label")
+	generator.AddUnionWithName(common.AllRefClosest, "RefClosest")
 }
diff --git a/machine/go/machine/ts/main.go b/machine/go/machine/ts/main.go
index 765114d..20ec333 100644
--- a/machine/go/machine/ts/main.go
+++ b/machine/go/machine/ts/main.go
@@ -13,17 +13,10 @@
 
 func main() {
 	generator := go2ts.New()
-	err := generator.Add(machine.Description{})
-	if err != nil {
-		sklog.Fatal(err)
-	}
+	generator.Add(machine.Description{})
+	generator.AddUnion(machine.AllModes)
 
-	err = generator.AddUnion(machine.AllModes)
-	if err != nil {
-		sklog.Fatal(err)
-	}
-
-	err = util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+	err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
 		return generator.Render(w)
 	})
 	if err != nil {
diff --git a/perf/go/ts/main.go b/perf/go/ts/main.go
index dfdc482..f435a35 100644
--- a/perf/go/ts/main.go
+++ b/perf/go/ts/main.go
@@ -27,13 +27,10 @@
 	typeName string
 }
 
-func addMultipleUnions(generator *go2ts.Go2TS, unions []unionAndName) error {
+func addMultipleUnions(generator *go2ts.Go2TS, unions []unionAndName) {
 	for _, u := range unions {
-		if err := generator.AddUnionWithName(u.v, u.typeName); err != nil {
-			return err
-		}
+		generator.AddUnionWithName(u.v, u.typeName)
 	}
-	return nil
 }
 
 // IgnoreNil is a utility struct that allows specifying which structs should
@@ -44,7 +41,7 @@
 
 func main() {
 	generator := go2ts.New()
-	err := generator.AddMultiple(generator,
+	generator.AddMultiple(generator,
 		IgnoreNil{}, // Goes first to ensure the ignorenil version of structs are seen first.
 		alerts.Alert{},
 		alerts.AlertsStatus{},
@@ -78,13 +75,10 @@
 		results.TryBotRequest{},
 		results.TryBotResponse{},
 	)
-	if err != nil {
-		sklog.Fatal(err)
-	}
 
 	// TODO(jcgregorio) Switch to generator.AddMultipleUnions() once all the
 	// names are harmonized between backend and frontend.
-	err = addMultipleUnions(generator, []unionAndName{
+	addMultipleUnions(generator, []unionAndName{
 		{alerts.AllConfigState, "ConfigState"},
 		{alerts.AllDirections, "Direction"},
 		{dataframe.AllRequestType, "RequestType"},
@@ -96,7 +90,7 @@
 		{types.AllStepDetections, "StepDetection"},
 		{results.AllRequestKind, "TryBotRequestKind"},
 	})
-	err = util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+	err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
 		return generator.Render(w)
 	})
 	if err != nil {