summaryrefslogtreecommitdiff
path: root/Libraries/LibJS/Value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LibJS/Value.cpp')
-rw-r--r--Libraries/LibJS/Value.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/Libraries/LibJS/Value.cpp b/Libraries/LibJS/Value.cpp
index c4c25b2e1e..6ba182f6f5 100644
--- a/Libraries/LibJS/Value.cpp
+++ b/Libraries/LibJS/Value.cpp
@@ -89,6 +89,18 @@ Value Value::to_object(Heap& heap) const
ASSERT_NOT_REACHED();
}
+i32 Value::to_i32() const
+{
+ switch (m_type) {
+ case Type::Boolean:
+ return m_value.as_bool;
+ case Type::Number:
+ return static_cast<i32>(m_value.as_double);
+ default:
+ ASSERT_NOT_REACHED();
+ }
+}
+
Value greater_than(Value lhs, Value rhs)
{
ASSERT(lhs.is_number());
@@ -209,8 +221,6 @@ Value typed_eq(Value lhs, Value rhs)
ASSERT_NOT_REACHED();
}
-
-
const LogStream& operator<<(const LogStream& stream, const Value& value)
{
return stream << value.to_string();