jobject wrapJSObject(JNIEnv *pEnv, v8::Handle<v8::Value> value) { v8::HandleScope handle_scope; if (value.IsEmpty() || value->IsNull() || value->IsUndefined()) return NULL; if (value->IsTrue()) return NewBoolean(pEnv, JNI_TRUE); if (value->IsFalse()) return NewBoolean(pEnv, JNI_FALSE); if (value->IsInt32()) return NewInt(pEnv, value->Int32Value()); if (value->IsUint32()) return NewLong(pEnv, value->IntegerValue()); if (value->IsString()) return NewString(pEnv, v8::Handle<v8::String>::Cast(value)); if (value->IsDate()) return NewDate(pEnv, v8::Handle<v8::Date>::Cast(value)); if (value->IsNumber()) return NewDouble(pEnv, value->NumberValue()); // return wrap(value->ToObject()); return NULL; }
HandleProxy* V8EngineProxy::CreateDate(double ms) { return GetHandleProxy(NewDate(ms)); }