aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/obscuren/otto/value_primitive.go
blob: 1f85fb06bd20cf2430ccdbecb6f944a1eec178df (plain) (blame)
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._valueType {
    case valueNull, valueUndefined, valueNumber, valueString, valueBoolean:
        return value
    case valueObject:
        return value._object().DefaultValue(hint)
    }
    panic(hereBeDragons(value._valueType, value))
}