func (this *CompositeOperationOrAuto) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
JSValue is converting this enum into a javascript object
package webani
import "syscall/js"
import (
	"github.com/gowebapi/webapi/dom/domcore"
	"github.com/gowebapi/webapi/javascript"
)
func unused(value interface{}) {
}
type Union struct {
	Value js.Value
}
func (u *Union) JSValue() js.Value {
	return u.Value
}
func UnionFromJS(value js.Value) *Union {
	return &Union{Value: value}
}
type AnimationPlayState int
const (
	IdleAnimationPlayState AnimationPlayState = iota
	RunningAnimationPlayState
	PausedAnimationPlayState
	FinishedAnimationPlayState
)
var animationPlayStateToWasmTable = []string{
	"idle", "running", "paused", "finished",
}
var animationPlayStateFromWasmTable = map[string]AnimationPlayState{
	"idle": IdleAnimationPlayState, "running": RunningAnimationPlayState, "paused": PausedAnimationPlayState, "finished": FinishedAnimationPlayState,
}
func (this *AnimationPlayState) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
func (this AnimationPlayState) Value() string {
	idx := int(this)
	if idx >= 0 && idx < len(animationPlayStateToWasmTable) {
		return animationPlayStateToWasmTable[idx]
	}
	panic("unknown input value")
}
func AnimationPlayStateFromJS(value js.Value) AnimationPlayState {
	key := value.String()
	conv, ok := animationPlayStateFromWasmTable[key]
	if !ok {
		panic("unable to convert '" + key + "'")
	}
	return conv
}
type CompositeOperation int
const (
	ReplaceCompositeOperation CompositeOperation = iota
	AddCompositeOperation
	AccumulateCompositeOperation
)
var compositeOperationToWasmTable = []string{
	"replace", "add", "accumulate",
}
var compositeOperationFromWasmTable = map[string]CompositeOperation{
	"replace": ReplaceCompositeOperation, "add": AddCompositeOperation, "accumulate": AccumulateCompositeOperation,
}
func (this *CompositeOperation) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
func (this CompositeOperation) Value() string {
	idx := int(this)
	if idx >= 0 && idx < len(compositeOperationToWasmTable) {
		return compositeOperationToWasmTable[idx]
	}
	panic("unknown input value")
}
func CompositeOperationFromJS(value js.Value) CompositeOperation {
	key := value.String()
	conv, ok := compositeOperationFromWasmTable[key]
	if !ok {
		panic("unable to convert '" + key + "'")
	}
	return conv
}
type CompositeOperationOrAuto int
const (
	ReplaceCompositeOperationOrAuto CompositeOperationOrAuto = iota
	AddCompositeOperationOrAuto
	AccumulateCompositeOperationOrAuto
	AutoCompositeOperationOrAuto
)
var compositeOperationOrAutoToWasmTable = []string{
	"replace", "add", "accumulate", "auto",
}
var compositeOperationOrAutoFromWasmTable = map[string]CompositeOperationOrAuto{
	"replace": ReplaceCompositeOperationOrAuto, "add": AddCompositeOperationOrAuto, "accumulate": AccumulateCompositeOperationOrAuto, "auto": AutoCompositeOperationOrAuto,
}