1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
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))
}
|