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
}
JSValue is allocating a new javasript object and copy
all values
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
}