mirror of
https://github.com/taigrr/wasm-experiments
synced 2025-01-18 04:03:21 -08:00
75 lines
991 B
Go
75 lines
991 B
Go
package dom
|
|
|
|
import (
|
|
"strconv"
|
|
)
|
|
|
|
var (
|
|
_ Unit = Px(0)
|
|
_ Unit = Em(0)
|
|
_ Unit = Rem(0)
|
|
_ Unit = Vw(0)
|
|
_ Unit = Vh(0)
|
|
_ Unit = Vmin(0)
|
|
_ Unit = Vmax(0)
|
|
_ Unit = Perc(0)
|
|
)
|
|
|
|
type Unit interface {
|
|
String() string
|
|
}
|
|
|
|
type Auto struct{}
|
|
|
|
func (Auto) String() string {
|
|
return "auto"
|
|
}
|
|
|
|
type Px int
|
|
|
|
func (v Px) String() string {
|
|
return strconv.Itoa(int(v)) + "px"
|
|
}
|
|
|
|
type Em float64
|
|
|
|
func (v Em) String() string {
|
|
return strconv.FormatFloat(float64(v), 'g', -1, 64) + "em"
|
|
}
|
|
|
|
type Rem int
|
|
|
|
func (v Rem) String() string {
|
|
return strconv.Itoa(int(v)) + "rem"
|
|
}
|
|
|
|
type Vw int
|
|
|
|
func (v Vw) String() string {
|
|
return strconv.Itoa(int(v)) + "vw"
|
|
}
|
|
|
|
type Vh int
|
|
|
|
func (v Vh) String() string {
|
|
return strconv.Itoa(int(v)) + "vh"
|
|
}
|
|
|
|
type Vmin int
|
|
|
|
func (v Vmin) String() string {
|
|
return strconv.Itoa(int(v)) + "vmin"
|
|
}
|
|
|
|
type Vmax int
|
|
|
|
func (v Vmax) String() string {
|
|
return strconv.Itoa(int(v)) + "vmax"
|
|
}
|
|
|
|
type Perc int
|
|
|
|
func (v Perc) String() string {
|
|
return strconv.Itoa(int(v)) + "%"
|
|
}
|