summaryrefslogtreecommitdiff
path: root/src/qml/jsapi/qjsprimitivevalue.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsapi/qjsprimitivevalue.h')
-rw-r--r--src/qml/jsapi/qjsprimitivevalue.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/qml/jsapi/qjsprimitivevalue.h b/src/qml/jsapi/qjsprimitivevalue.h
index bb710eb31b..1f41743f65 100644
--- a/src/qml/jsapi/qjsprimitivevalue.h
+++ b/src/qml/jsapi/qjsprimitivevalue.h
@@ -163,6 +163,33 @@ public:
}
}
+ explicit QJSPrimitiveValue(const QMetaType type) noexcept
+ {
+ switch (type.id()) {
+ case QMetaType::UnknownType:
+ d = QJSPrimitiveUndefined();
+ break;
+ case QMetaType::Nullptr:
+ d = QJSPrimitiveNull();
+ break;
+ case QMetaType::Bool:
+ d = false;
+ break;
+ case QMetaType::Int:
+ d = 0;
+ break;
+ case QMetaType::Double:
+ d = 0.0;
+ break;
+ case QMetaType::QString:
+ d = QString();
+ break;
+ default:
+ // Unsupported. Remains undefined.
+ break;
+ }
+ }
+
explicit QJSPrimitiveValue(const QVariant &variant) noexcept
: QJSPrimitiveValue(variant.metaType(), variant.data())
{