diff options
Diffstat (limited to 'vendor/github.com/robertkrimen/otto/value_primitive.go')
-rw-r--r-- | vendor/github.com/robertkrimen/otto/value_primitive.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/robertkrimen/otto/value_primitive.go b/vendor/github.com/robertkrimen/otto/value_primitive.go new file mode 100644 index 000000000..11ed329d1 --- /dev/null +++ b/vendor/github.com/robertkrimen/otto/value_primitive.go @@ -0,0 +1,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)) +} |