package muesli const BoolType = TypeValue("Bool") // IntValue are Muesli booleans type BoolValue bool const ( // TrueValue is the Muesli side equvalent to true TrueValue = BoolValue(true) // FalseValue is the Muesli side equvalent to false FalseValue = BoolValue(false) ) func (val BoolValue) String() string { if bool(val) { return "true" } else { return "false" } } func (v BoolValue) Type() TypeValue { return BoolType } func (from BoolValue) Convert(to interface{}) error { switch toPtr := to.(type) { case *bool: (*toPtr) = bool(from) case *BoolValue: (*toPtr) = from case *Value: (*toPtr) = from default: return NewErrorValuef("Cannot convert value %v to %v", from, to) } return nil }