value_primitive.go 483 B

12345678910111213141516171819
  1. package otto
  2. func toNumberPrimitive(value Value) Value {
  3. return _toPrimitive(value, defaultValueHintNumber)
  4. }
  5. func toPrimitive(value Value) Value {
  6. return _toPrimitive(value, defaultValueNoHint)
  7. }
  8. func _toPrimitive(value Value, hint _defaultValueHint) Value {
  9. switch value.kind {
  10. case valueNull, valueUndefined, valueNumber, valueString, valueBoolean:
  11. return value
  12. case valueObject:
  13. return value._object().DefaultValue(hint)
  14. }
  15. panic(hereBeDragons(value.kind, value))
  16. }