func (this *Transport) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
JSValue is converting this enum into a javascript object
package authentication
import "syscall/js"
import (
	"github.com/gowebapi/webapi/device/sensor"
	"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 Attachment int
const (
	Platform Attachment = iota
	CrossPlatform
)
var authenticatorAttachmentToWasmTable = []string{
	"platform", "cross-platform",
}
var authenticatorAttachmentFromWasmTable = map[string]Attachment{
	"platform": Platform, "cross-platform": CrossPlatform,
}
func (this *Attachment) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
func (this Attachment) Value() string {
	idx := int(this)
	if idx >= 0 && idx < len(authenticatorAttachmentToWasmTable) {
		return authenticatorAttachmentToWasmTable[idx]
	}
	panic("unknown input value")
}
func AttachmentFromJS(value js.Value) Attachment {
	key := value.String()
	conv, ok := authenticatorAttachmentFromWasmTable[key]
	if !ok {
		panic("unable to convert '" + key + "'")
	}
	return conv
}
type AttestationConveyancePreference int
const (
	None AttestationConveyancePreference = iota
	Indirect
	Direct
)
var attestationConveyancePreferenceToWasmTable = []string{
	"none", "indirect", "direct",
}
var attestationConveyancePreferenceFromWasmTable = map[string]AttestationConveyancePreference{
	"none": None, "indirect": Indirect, "direct": Direct,
}
func (this *AttestationConveyancePreference) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
func (this AttestationConveyancePreference) Value() string {
	idx := int(this)
	if idx >= 0 && idx < len(attestationConveyancePreferenceToWasmTable) {
		return attestationConveyancePreferenceToWasmTable[idx]
	}
	panic("unknown input value")
}
func AttestationConveyancePreferenceFromJS(value js.Value) AttestationConveyancePreference {
	key := value.String()
	conv, ok := attestationConveyancePreferenceFromWasmTable[key]
	if !ok {
		panic("unable to convert '" + key + "'")
	}
	return conv
}
type TokenBindingStatus int
const (
	PresentTokenBindingStatus TokenBindingStatus = iota
	SupportedTokenBindingStatus
)
var tokenBindingStatusToWasmTable = []string{
	"present", "supported",
}
var tokenBindingStatusFromWasmTable = map[string]TokenBindingStatus{
	"present": PresentTokenBindingStatus, "supported": SupportedTokenBindingStatus,
}
func (this *TokenBindingStatus) JSValue() js.Value {
	return js.ValueOf(this.Value())
}
func (this TokenBindingStatus) Value() string {
	idx := int(this)
	if idx >= 0 && idx < len(tokenBindingStatusToWasmTable) {
		return tokenBindingStatusToWasmTable[idx]
	}
	panic("unknown input value")
}
func TokenBindingStatusFromJS(value js.Value) TokenBindingStatus {
	key := value.String()
	conv, ok := tokenBindingStatusFromWasmTable[key]
	if !ok {
		panic("unable to convert '" + key + "'")
	}
	return conv
}
type Transport int
const (
	TransportUsb Transport = iota
	TransportNfc
	TransportBle
	TransportInternal
)
var authenticatorTransportToWasmTable = []string{
	"usb", "nfc", "ble", "internal",
}
var authenticatorTransportFromWasmTable = map[string]Transport{
	"usb": TransportUsb, "nfc": TransportNfc, "ble": TransportBle, "internal": TransportInternal,
}