mirror of
https://github.com/glanceapp/glance.git
synced 2025-06-20 18:07:59 +02:00
Add percentChange function
This commit is contained in:
parent
7bbf103e01
commit
baaf306ebf
@ -445,6 +445,7 @@ The following helper functions provided by Glance are available:
|
||||
- `sortByTime(key string, layout string, order string, arr []JSON): []JSON`: Sorts an array of JSON objects by a time key in either ascending or descending order. The format must be provided in Go's [date format](https://pkg.go.dev/time#pkg-constants).
|
||||
- `concat(strings ...string) string`: Concatenates multiple strings together.
|
||||
- `unique(key string, arr []JSON) []JSON`: Returns a unique array of JSON objects based on the given key.
|
||||
- `percentChange(current float, previous float) float`: Calculates the percentage change between two numbers.
|
||||
|
||||
The following helper functions provided by Go's `text/template` are available:
|
||||
|
||||
|
@ -18,6 +18,13 @@ var sequentialWhitespacePattern = regexp.MustCompile(`\s+`)
|
||||
var whitespaceAtBeginningOfLinePattern = regexp.MustCompile(`(?m)^\s+`)
|
||||
|
||||
func percentChange(current, previous float64) float64 {
|
||||
if previous == 0 {
|
||||
if current == 0 {
|
||||
return 0 // 0% change if both are 0
|
||||
}
|
||||
return 100 // 100% increase if going from 0 to something
|
||||
}
|
||||
|
||||
return (current/previous - 1) * 100
|
||||
}
|
||||
|
||||
|
@ -546,6 +546,7 @@ var customAPITemplateFuncs = func() template.FuncMap {
|
||||
regex := getCachedRegexp(pattern)
|
||||
return itemAtIndexOrDefault(regex.FindStringSubmatch(s), 1, "")
|
||||
},
|
||||
"percentChange": percentChange,
|
||||
"sortByString": func(key, order string, results []decoratedGJSONResult) []decoratedGJSONResult {
|
||||
sort.Slice(results, func(a, b int) bool {
|
||||
if order == "asc" {
|
||||
|
Loading…
x
Reference in New Issue
Block a user