in lib/Debugger.ProtocolHandler/RuntimeImpl.cpp [231:292]
JsValueRef RuntimeImpl::GetTypeString(JsValueRef object)
{
JsValueType type;
if (JsGetValueType(object, &type) != JsNoError)
{
return nullptr;
}
std::string typeString;
switch (type)
{
case JsValueType::JsUndefined:
typeString = "undefined";
break;
case JsValueType::JsNull:
typeString = "null";
break;
case JsValueType::JsNumber:
typeString = "number";
break;
case JsValueType::JsString:
typeString = "string";
break;
case JsValueType::JsBoolean:
typeString = "boolean";
break;
case JsValueType::JsObject:
typeString = "object";
break;
case JsValueType::JsFunction:
typeString = "function";
break;
case JsValueType::JsError:
typeString = "error";
break;
case JsValueType::JsArray:
typeString = "array";
break;
case JsValueType::JsSymbol:
typeString = "symbol";
break;
case JsValueType::JsArrayBuffer:
typeString = "arraybuffer";
break;
case JsValueType::JsTypedArray:
case JsValueType::JsDataView:
typeString = "typedarray";
break;
}
if (typeString.length() != 0)
{
JsValueRef typeStringObject = JS_INVALID_REFERENCE;
if (JsCreateString(typeString.c_str(), typeString.length(), &typeStringObject) == JsNoError)
{
return typeStringObject;
}
}
return nullptr;
}