parent
a0b8f9aa42
commit
8c3242b07e
11
go.mod
11
go.mod
|
@ -2,4 +2,13 @@ module go.jolheiser.com/caniuse
|
||||||
|
|
||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
require github.com/peterbourgon/ff/v3 v3.3.0
|
require (
|
||||||
|
github.com/fatih/color v1.13.0
|
||||||
|
github.com/peterbourgon/ff/v3 v3.3.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/mattn/go-colorable v0.1.9 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
|
||||||
|
)
|
||||||
|
|
11
go.sum
11
go.sum
|
@ -1,2 +1,13 @@
|
||||||
|
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
|
||||||
|
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||||
|
github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U=
|
||||||
|
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||||
|
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||||
|
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
||||||
|
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||||
github.com/peterbourgon/ff/v3 v3.3.0 h1:PaKe7GW8orVFh8Unb5jNHS+JZBwWUMa2se0HM6/BI24=
|
github.com/peterbourgon/ff/v3 v3.3.0 h1:PaKe7GW8orVFh8Unb5jNHS+JZBwWUMa2se0HM6/BI24=
|
||||||
github.com/peterbourgon/ff/v3 v3.3.0/go.mod h1:zjJVUhx+twciwfDl0zBcFzl4dW8axCRyXE/eKY9RztQ=
|
github.com/peterbourgon/ff/v3 v3.3.0/go.mod h1:zjJVUhx+twciwfDl0zBcFzl4dW8axCRyXE/eKY9RztQ=
|
||||||
|
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
|
13
main.go
13
main.go
|
@ -7,8 +7,10 @@ import (
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/fatih/color"
|
||||||
"github.com/peterbourgon/ff/v3"
|
"github.com/peterbourgon/ff/v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -47,6 +49,17 @@ func main() {
|
||||||
fmt.Println(data)
|
fmt.Println(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func showFeat(d data) {
|
||||||
|
var p []string
|
||||||
|
if d.UsagePercY > 0 {
|
||||||
|
p = append(p, fmt.Sprintf("%s %s%%", resultmap["y"], color.GreenString("%f", d.UsagePercY)))
|
||||||
|
}
|
||||||
|
if d.UsagePercA > 0 {
|
||||||
|
p = append(p, fmt.Sprintf("%s %s%%", resultmap["a"], color.YellowString("%f", d.UsagePercA)))
|
||||||
|
}
|
||||||
|
percentages := strings.Join(p, " ")
|
||||||
|
}
|
||||||
|
|
||||||
func loadData() (Data, error) {
|
func loadData() (Data, error) {
|
||||||
var data Data
|
var data Data
|
||||||
|
|
||||||
|
|
48
struct.go
48
struct.go
|
@ -21,29 +21,7 @@ type Data struct {
|
||||||
Unoff string `json:"unoff"`
|
Unoff string `json:"unoff"`
|
||||||
} `json:"statuses"`
|
} `json:"statuses"`
|
||||||
Cats map[string][]string `json:"cats"`
|
Cats map[string][]string `json:"cats"`
|
||||||
Data map[string]struct {
|
Data map[string]data `json:"data"`
|
||||||
Title string `json:"title"`
|
|
||||||
Description string `json:"description"`
|
|
||||||
Spec string `json:"spec"`
|
|
||||||
Status string `json:"status"`
|
|
||||||
Links []struct {
|
|
||||||
URL string `json:"url"`
|
|
||||||
Title string `json:"title"`
|
|
||||||
} `json:"links"`
|
|
||||||
Categories []string `json:"categories"`
|
|
||||||
Stats map[string]map[string]stat `json:"stats"`
|
|
||||||
Notes string `json:"notes"`
|
|
||||||
NotesByNum map[string]string `json:"notes_by_num"`
|
|
||||||
UsagePercY float64 `json:"usage_perc_y"`
|
|
||||||
UsagePercA float64 `json:"usage_perc_a"`
|
|
||||||
UCPrefix bool `json:"ucprefix"`
|
|
||||||
Parent string `json:"parent"`
|
|
||||||
Keywords string `json:"keywords"`
|
|
||||||
IEID string `json:"ie_id"`
|
|
||||||
ChromeID string `json:"chrome_id"`
|
|
||||||
FirefoxID string `json:"firefox_id"`
|
|
||||||
WebkitID string `json:"webkit_id"`
|
|
||||||
} `json:"data"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type stat string
|
type stat string
|
||||||
|
@ -51,3 +29,27 @@ type stat string
|
||||||
func (s stat) Bool() bool {
|
func (s stat) Bool() bool {
|
||||||
return s == "y"
|
return s == "y"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type data struct {
|
||||||
|
Title string `json:"title"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
Spec string `json:"spec"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
Links []struct {
|
||||||
|
URL string `json:"url"`
|
||||||
|
Title string `json:"title"`
|
||||||
|
} `json:"links"`
|
||||||
|
Categories []string `json:"categories"`
|
||||||
|
Stats map[string]map[string]stat `json:"stats"`
|
||||||
|
Notes string `json:"notes"`
|
||||||
|
NotesByNum map[string]string `json:"notes_by_num"`
|
||||||
|
UsagePercY float64 `json:"usage_perc_y"`
|
||||||
|
UsagePercA float64 `json:"usage_perc_a"`
|
||||||
|
UCPrefix bool `json:"ucprefix"`
|
||||||
|
Parent string `json:"parent"`
|
||||||
|
Keywords string `json:"keywords"`
|
||||||
|
IEID string `json:"ie_id"`
|
||||||
|
ChromeID string `json:"chrome_id"`
|
||||||
|
FirefoxID string `json:"firefox_id"`
|
||||||
|
WebkitID string `json:"webkit_id"`
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue