mirror of https://github.com/ethereum/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
582 B
24 lines
582 B
10 years ago
|
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 {
|
||
10 years ago
|
switch value.kind {
|
||
10 years ago
|
case valueNull, valueUndefined, valueNumber, valueString, valueBoolean:
|
||
|
return value
|
||
|
case valueObject:
|
||
|
return value._object().DefaultValue(hint)
|
||
|
}
|
||
10 years ago
|
panic(hereBeDragons(value.kind, value))
|
||
10 years ago
|
}
|