value_primitive.go 494 B

1234567891011121314151617181920
  1. package otto
  2. func toNumberPrimitive(value Value) Value {
  3. return toPrimitive(value, defaultValueHintNumber)
  4. }
  5. func toPrimitiveValue(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. default:
  15. panic(hereBeDragons(value.kind, value))
  16. }
  17. }