package otto func toStringPrimitive(value Value) Value { return _toPrimitive(value, defaultValueHintString) } func toNumberPrimitive(value Value) Value { return _toPrimitive(value, defaultValueHintNumber) } func toPrimitive(value Value) Value { return _toPrimitive(value, defaultValueNoHint) } func _toPrimitive(value Value, hint _defaultValueHint) Value { switch value.kind { case valueNull, valueUndefined, valueNumber, valueString, valueBoolean: return value case valueObject: return value._object().DefaultValue(hint) } panic(hereBeDragons(value.kind, value)) }