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