func (_this *CSSFontFeatureValuesRule) SetFontFamily(value string) {
	input := value
	_this.Value_JS.Set("fontFamily", input)
}
SetFontFamily setting attribute 'fontFamily' with
type string (idl: DOMString).
package fonts
import "syscall/js"
import (
	"github.com/gowebapi/webapi/css/cssom"
)
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 CSSFontFeatureValuesMapForEachFunc func(currentValue []uint, currentKey string, listObj *CSSFontFeatureValuesMap)
type CSSFontFeatureValuesMapForEach js.Func
func CSSFontFeatureValuesMapForEachToJS(callback CSSFontFeatureValuesMapForEachFunc) *CSSFontFeatureValuesMapForEach {
	if callback == nil {
		return nil
	}
	ret := CSSFontFeatureValuesMapForEach(js.FuncOf(func(this js.Value, args []js.Value) interface{} {
		var (
			_p0 []uint                    
			_p1 string                    
			_p2 *CSSFontFeatureValuesMap  
		)
		__length0 := args[0].Length()
		__array0 := make([]uint, __length0, __length0)
		for __idx0 := 0; __idx0 < __length0; __idx0++ {
			var __seq_out0 uint
			__seq_in0 := args[0].Index(__idx0)
			__seq_out0 = (uint)((__seq_in0).Int())
			__array0[__idx0] = __seq_out0
		}
		_p0 = __array0
		_p1 = (args[1]).String()
		_p2 = CSSFontFeatureValuesMapFromJS(args[2])
		callback(_p0, _p1, _p2)
		return nil
	}))
	return &ret
}
func CSSFontFeatureValuesMapForEachFromJS(_value js.Value) CSSFontFeatureValuesMapForEachFunc {
	return func(currentValue []uint, currentKey string, listObj *CSSFontFeatureValuesMap) {
		var (
			_args [3]interface{}
			_end  int
		)
		_p0 := js.Global().Get("Array").New(len(currentValue))
		for __idx0, __seq_in0 := range currentValue {
			__seq_out0 := __seq_in0
			_p0.SetIndex(__idx0, __seq_out0)
		}
		_args[0] = _p0
		_end++
		_p1 := currentKey
		_args[1] = _p1
		_end++
		_p2 := listObj.JSValue()
		_args[2] = _p2
		_end++
		_value.Invoke(_args[0:_end]...)
		return
	}
}
type CSSFontPaletteValuesRuleForEachFunc func(currentValue string, currentKey uint, listObj *CSSFontPaletteValuesRule)
type CSSFontPaletteValuesRuleForEach js.Func
func CSSFontPaletteValuesRuleForEachToJS(callback CSSFontPaletteValuesRuleForEachFunc) *CSSFontPaletteValuesRuleForEach {
	if callback == nil {
		return nil
	}
	ret := CSSFontPaletteValuesRuleForEach(js.FuncOf(func(this js.Value, args []js.Value) interface{} {
		var (
			_p0 string                     
			_p1 uint                       
			_p2 *CSSFontPaletteValuesRule  
		)
		_p0 = (args[0]).String()
		_p1 = (uint)((args[1]).Int())
		_p2 = CSSFontPaletteValuesRuleFromJS(args[2])
		callback(_p0, _p1, _p2)
		return nil
	}))
	return &ret
}
func CSSFontPaletteValuesRuleForEachFromJS(_value js.Value) CSSFontPaletteValuesRuleForEachFunc {
	return func(currentValue string, currentKey uint, listObj *CSSFontPaletteValuesRule) {
		var (
			_args [3]interface{}
			_end  int
		)
		_p0 := currentValue
		_args[0] = _p0
		_end++
		_p1 := currentKey
		_args[1] = _p1
		_end++
		_p2 := listObj.JSValue()
		_args[2] = _p2
		_end++
		_value.Invoke(_args[0:_end]...)
		return
	}
}
type CSSFontFeatureValuesMapEntryIteratorValue struct {
	Value []js.Value
	Done  bool
}
func (_this *CSSFontFeatureValuesMapEntryIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := js.Global().Get("Array").New(len(_this.Value))
	for __idx0, __seq_in0 := range _this.Value {
		__seq_out0 := __seq_in0
		value0.SetIndex(__idx0, __seq_out0)
	}
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontFeatureValuesMapEntryIteratorValueFromJS(value js.Wrapper) *CSSFontFeatureValuesMapEntryIteratorValue {
	input := value.JSValue()
	var out CSSFontFeatureValuesMapEntryIteratorValue
	var (
		value0 []js.Value  
		value1 bool        
	)
	__length0 := input.Get("value").Length()
	__array0 := make([]js.Value, __length0, __length0)
	for __idx0 := 0; __idx0 < __length0; __idx0++ {
		var __seq_out0 js.Value
		__seq_in0 := input.Get("value").Index(__idx0)
		__seq_out0 = __seq_in0
		__array0[__idx0] = __seq_out0
	}
	value0 = __array0
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontFeatureValuesMapKeyIteratorValue struct {
	Value string
	Done  bool
}
func (_this *CSSFontFeatureValuesMapKeyIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.Value
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontFeatureValuesMapKeyIteratorValueFromJS(value js.Wrapper) *CSSFontFeatureValuesMapKeyIteratorValue {
	input := value.JSValue()
	var out CSSFontFeatureValuesMapKeyIteratorValue
	var (
		value0 string  
		value1 bool    
	)
	value0 = (input.Get("value")).String()
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontFeatureValuesMapValueIteratorValue struct {
	Value []uint
	Done  bool
}
func (_this *CSSFontFeatureValuesMapValueIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := js.Global().Get("Array").New(len(_this.Value))
	for __idx0, __seq_in0 := range _this.Value {
		__seq_out0 := __seq_in0
		value0.SetIndex(__idx0, __seq_out0)
	}
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontFeatureValuesMapValueIteratorValueFromJS(value js.Wrapper) *CSSFontFeatureValuesMapValueIteratorValue {
	input := value.JSValue()
	var out CSSFontFeatureValuesMapValueIteratorValue
	var (
		value0 []uint  
		value1 bool    
	)
	__length0 := input.Get("value").Length()
	__array0 := make([]uint, __length0, __length0)
	for __idx0 := 0; __idx0 < __length0; __idx0++ {
		var __seq_out0 uint
		__seq_in0 := input.Get("value").Index(__idx0)
		__seq_out0 = (uint)((__seq_in0).Int())
		__array0[__idx0] = __seq_out0
	}
	value0 = __array0
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontPaletteValuesRuleEntryIteratorValue struct {
	Value []js.Value
	Done  bool
}
func (_this *CSSFontPaletteValuesRuleEntryIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := js.Global().Get("Array").New(len(_this.Value))
	for __idx0, __seq_in0 := range _this.Value {
		__seq_out0 := __seq_in0
		value0.SetIndex(__idx0, __seq_out0)
	}
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontPaletteValuesRuleEntryIteratorValueFromJS(value js.Wrapper) *CSSFontPaletteValuesRuleEntryIteratorValue {
	input := value.JSValue()
	var out CSSFontPaletteValuesRuleEntryIteratorValue
	var (
		value0 []js.Value  
		value1 bool        
	)
	__length0 := input.Get("value").Length()
	__array0 := make([]js.Value, __length0, __length0)
	for __idx0 := 0; __idx0 < __length0; __idx0++ {
		var __seq_out0 js.Value
		__seq_in0 := input.Get("value").Index(__idx0)
		__seq_out0 = __seq_in0
		__array0[__idx0] = __seq_out0
	}
	value0 = __array0
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontPaletteValuesRuleKeyIteratorValue struct {
	Value uint
	Done  bool
}
func (_this *CSSFontPaletteValuesRuleKeyIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.Value
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontPaletteValuesRuleKeyIteratorValueFromJS(value js.Wrapper) *CSSFontPaletteValuesRuleKeyIteratorValue {
	input := value.JSValue()
	var out CSSFontPaletteValuesRuleKeyIteratorValue
	var (
		value0 uint  
		value1 bool  
	)
	value0 = (uint)((input.Get("value")).Int())
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontPaletteValuesRuleValueIteratorValue struct {
	Value string
	Done  bool
}
func (_this *CSSFontPaletteValuesRuleValueIteratorValue) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.Value
	out.Set("value", value0)
	value1 := _this.Done
	out.Set("done", value1)
	return out
}
func CSSFontPaletteValuesRuleValueIteratorValueFromJS(value js.Wrapper) *CSSFontPaletteValuesRuleValueIteratorValue {
	input := value.JSValue()
	var out CSSFontPaletteValuesRuleValueIteratorValue
	var (
		value0 string  
		value1 bool    
	)
	value0 = (input.Get("value")).String()
	out.Value = value0
	value1 = (input.Get("done")).Bool()
	out.Done = value1
	return &out
}
type CSSFontFaceRule struct {
	cssom.CSSRule
}
func CSSFontFaceRuleFromJS(value js.Wrapper) *CSSFontFaceRule {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFaceRule{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFaceRule) Style() *cssom.CSSStyleDeclaration {
	var ret *cssom.CSSStyleDeclaration
	value := _this.Value_JS.Get("style")
	ret = cssom.CSSStyleDeclarationFromJS(value)
	return ret
}
type CSSFontFeatureValuesMap struct {
	Value_JS js.Value
}
func (_this *CSSFontFeatureValuesMap) JSValue() js.Value {
	return _this.Value_JS
}
func CSSFontFeatureValuesMapFromJS(value js.Wrapper) *CSSFontFeatureValuesMap {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFeatureValuesMap{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFeatureValuesMap) Size() int {
	var ret int
	value := _this.Value_JS.Get("size")
	ret = (value).Int()
	return ret
}
func (_this *CSSFontFeatureValuesMap) Set(featureValueName string, values *Union) {
	var (
		_args [2]interface{}
		_end  int
	)
	_p0 := featureValueName
	_args[0] = _p0
	_end++
	_p1 := values.JSValue()
	_args[1] = _p1
	_end++
	_this.Value_JS.Call("set", _args[0:_end]...)
	return
}
func (_this *CSSFontFeatureValuesMap) Entries() (_result *CSSFontFeatureValuesMapEntryIterator) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("entries", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapEntryIterator  
	)
	_converted = CSSFontFeatureValuesMapEntryIteratorFromJS(_returned)
	_result = _converted
	return
}
func (_this *CSSFontFeatureValuesMap) ForEach(callback *CSSFontFeatureValuesMapForEach, optionalThisForCallbackArgument interface{}) {
	var (
		_args [2]interface{}
		_end  int
	)
	var __callback0 js.Value
	if callback != nil {
		__callback0 = (*callback).Value
	} else {
		__callback0 = js.Null()
	}
	_p0 := __callback0
	_args[0] = _p0
	_end++
	if optionalThisForCallbackArgument != nil {
		_p1 := optionalThisForCallbackArgument
		_args[1] = _p1
		_end++
	}
	_this.Value_JS.Call("forEach", _args[0:_end]...)
	return
}
func (_this *CSSFontFeatureValuesMap) Keys() (_result *CSSFontFeatureValuesMapKeyIterator) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("keys", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapKeyIterator  
	)
	_converted = CSSFontFeatureValuesMapKeyIteratorFromJS(_returned)
	_result = _converted
	return
}
func (_this *CSSFontFeatureValuesMap) Values() (_result *CSSFontFeatureValuesMapValueIterator) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("values", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapValueIterator  
	)
	_converted = CSSFontFeatureValuesMapValueIteratorFromJS(_returned)
	_result = _converted
	return
}
func (_this *CSSFontFeatureValuesMap) Get(key string) (_result []uint) {
	var (
		_args [1]interface{}
		_end  int
	)
	_p0 := key
	_args[0] = _p0
	_end++
	_returned := _this.Value_JS.Call("get", _args[0:_end]...)
	var (
		_converted []uint  
	)
	if _returned.Type() != js.TypeNull && _returned.Type() != js.TypeUndefined {
		__length0 := _returned.Length()
		__array0 := make([]uint, __length0, __length0)
		for __idx0 := 0; __idx0 < __length0; __idx0++ {
			var __seq_out0 uint
			__seq_in0 := _returned.Index(__idx0)
			__seq_out0 = (uint)((__seq_in0).Int())
			__array0[__idx0] = __seq_out0
		}
		_converted = __array0
	}
	_result = _converted
	return
}
func (_this *CSSFontFeatureValuesMap) Has(key string) (_result bool) {
	var (
		_args [1]interface{}
		_end  int
	)
	_p0 := key
	_args[0] = _p0
	_end++
	_returned := _this.Value_JS.Call("has", _args[0:_end]...)
	var (
		_converted bool  
	)
	_converted = (_returned).Bool()
	_result = _converted
	return
}
func (_this *CSSFontFeatureValuesMap) Clear() {
	var (
		_args [0]interface{}
		_end  int
	)
	_this.Value_JS.Call("clear", _args[0:_end]...)
	return
}
func (_this *CSSFontFeatureValuesMap) Delete(key string) (_result bool) {
	var (
		_args [1]interface{}
		_end  int
	)
	_p0 := key
	_args[0] = _p0
	_end++
	_returned := _this.Value_JS.Call("delete", _args[0:_end]...)
	var (
		_converted bool  
	)
	_converted = (_returned).Bool()
	_result = _converted
	return
}
type CSSFontFeatureValuesMapEntryIterator struct {
	Value_JS js.Value
}
func (_this *CSSFontFeatureValuesMapEntryIterator) JSValue() js.Value {
	return _this.Value_JS
}
func CSSFontFeatureValuesMapEntryIteratorFromJS(value js.Wrapper) *CSSFontFeatureValuesMapEntryIterator {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFeatureValuesMapEntryIterator{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFeatureValuesMapEntryIterator) Next() (_result *CSSFontFeatureValuesMapEntryIteratorValue) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("next", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapEntryIteratorValue  
	)
	_converted = CSSFontFeatureValuesMapEntryIteratorValueFromJS(_returned)
	_result = _converted
	return
}
type CSSFontFeatureValuesMapKeyIterator struct {
	Value_JS js.Value
}
func (_this *CSSFontFeatureValuesMapKeyIterator) JSValue() js.Value {
	return _this.Value_JS
}
func CSSFontFeatureValuesMapKeyIteratorFromJS(value js.Wrapper) *CSSFontFeatureValuesMapKeyIterator {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFeatureValuesMapKeyIterator{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFeatureValuesMapKeyIterator) Next() (_result *CSSFontFeatureValuesMapKeyIteratorValue) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("next", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapKeyIteratorValue  
	)
	_converted = CSSFontFeatureValuesMapKeyIteratorValueFromJS(_returned)
	_result = _converted
	return
}
type CSSFontFeatureValuesMapValueIterator struct {
	Value_JS js.Value
}
func (_this *CSSFontFeatureValuesMapValueIterator) JSValue() js.Value {
	return _this.Value_JS
}
func CSSFontFeatureValuesMapValueIteratorFromJS(value js.Wrapper) *CSSFontFeatureValuesMapValueIterator {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFeatureValuesMapValueIterator{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFeatureValuesMapValueIterator) Next() (_result *CSSFontFeatureValuesMapValueIteratorValue) {
	var (
		_args [0]interface{}
		_end  int
	)
	_returned := _this.Value_JS.Call("next", _args[0:_end]...)
	var (
		_converted *CSSFontFeatureValuesMapValueIteratorValue  
	)
	_converted = CSSFontFeatureValuesMapValueIteratorValueFromJS(_returned)
	_result = _converted
	return
}
type CSSFontFeatureValuesRule struct {
	cssom.CSSRule
}
func CSSFontFeatureValuesRuleFromJS(value js.Wrapper) *CSSFontFeatureValuesRule {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &CSSFontFeatureValuesRule{}
	ret.Value_JS = input
	return ret
}
func (_this *CSSFontFeatureValuesRule) FontFamily() string {
	var ret string
	value := _this.Value_JS.Get("fontFamily")
	ret = (value).String()
	return ret
}