JSType JSValueGetType(JSContextRef, JSValueRef value) { JSC::JSValue* jsValue = toJS(value); if (jsValue->isUndefined()) return kJSTypeUndefined; if (jsValue->isNull()) return kJSTypeNull; if (jsValue->isBoolean()) return kJSTypeBoolean; if (jsValue->isNumber()) return kJSTypeNumber; if (jsValue->isString()) return kJSTypeString; ASSERT(jsValue->isObject()); return kJSTypeObject; }
JSType JSValueGetType(JSContextRef ctx, JSValueRef value) { JSC::ExecState* exec = toJS(ctx); exec->globalData().heap.registerThread(); JSC::JSLock lock(exec); JSC::JSValue jsValue = toJS(exec, value); if (jsValue.isUndefined()) return kJSTypeUndefined; if (jsValue.isNull()) return kJSTypeNull; if (jsValue.isBoolean()) return kJSTypeBoolean; if (jsValue.isNumber()) return kJSTypeNumber; if (jsValue.isString()) return kJSTypeString; ASSERT(jsValue.isObject()); return kJSTypeObject; }
static bool isRootModule(JSC::JSValue importerModuleKey) { return importerModuleKey.isSymbol() || importerModuleKey.isUndefined(); }