void SelectResults::Init(Local<Object> exports) { NanScope(); Local<FunctionTemplate> constructorTemplate(NanNew<FunctionTemplate>()); constructorTemplate->SetClassName(NanNew("SelectResults")); constructorTemplate->InstanceTemplate()->SetInternalFieldCount(1); NanSetPrototypeTemplate(constructorTemplate, "toArray", NanNew<FunctionTemplate>(SelectResults::ToArray)->GetFunction()); NanSetPrototypeTemplate(constructorTemplate, "each", NanNew<FunctionTemplate>(SelectResults::Each)->GetFunction()); NanSetPrototypeTemplate(constructorTemplate, "inspect", NanNew<FunctionTemplate>(SelectResults::Inspect)->GetFunction()); NanAssignPersistent(SelectResults::constructor, constructorTemplate->GetFunction()); }
void Cache::Init(Local<Object> exports) { NanScope(); Local<FunctionTemplate> cacheConstructorTemplate = NanNew<FunctionTemplate>(Cache::New); cacheConstructorTemplate->SetClassName(NanNew("Cache")); cacheConstructorTemplate->InstanceTemplate()->SetInternalFieldCount(1); NanSetPrototypeTemplate(cacheConstructorTemplate, "close", NanNew<FunctionTemplate>(Cache::Close)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "executeFunction", NanNew<FunctionTemplate>(Cache::ExecuteFunction)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "executeQuery", NanNew<FunctionTemplate>(Cache::ExecuteQuery)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "createRegion", NanNew<FunctionTemplate>(Cache::CreateRegion)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "getRegion", NanNew<FunctionTemplate>(Cache::GetRegion)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "rootRegions", NanNew<FunctionTemplate>(Cache::RootRegions)->GetFunction()); NanSetPrototypeTemplate(cacheConstructorTemplate, "inspect", NanNew<FunctionTemplate>(Cache::Inspect)->GetFunction()); exports->Set(NanNew("Cache"), cacheConstructorTemplate->GetFunction()); }
/** * Class initialization and exports */ void Element::Init(v8::Handle<v8::Object> exports) { // create a constructor function v8::Local<v8::FunctionTemplate> tpl = NanNew<v8::FunctionTemplate>(New); tpl->SetClassName(NanNew<v8::String>("Element")); tpl->InstanceTemplate()->SetInternalFieldCount(1); // inherits from Node tpl->Inherit(NanNew(Node::constructor_template)); NanSetPrototypeTemplate(tpl, "getAttribute", FUNCTION_VALUE(GetAttribute)); tpl->PrototypeTemplate()->SetAccessor(NanNew<v8::String>("tagName"), TagName); // export it NanAssignPersistent(constructor, tpl->GetFunction()); exports->Set(NanNew<v8::String>("Element"), tpl->GetFunction()); }
void MyObject::Init(v8::Handle<v8::Object> exports) { NanScope(); // Prepare constructor template v8::Local<v8::FunctionTemplate> tpl = NanNew<v8::FunctionTemplate>(New); tpl->SetClassName(NanNew<v8::String>("MyObject")); tpl->InstanceTemplate()->SetInternalFieldCount(1); // Prototype NanSetPrototypeTemplate(tpl, "prototypeProp", NanNew<v8::String>("a prototype property")); // Instance NanSetInstanceTemplate(tpl, "instanceProp", NanNew<v8::String>("an instance property")); // PropertyAttributes NanSetInstanceTemplate(tpl, NanNew<v8::String>("none"), NanNew<v8::String>("none"), v8::None); NanSetInstanceTemplate(tpl, NanNew<v8::String>("readOnly"), NanNew<v8::String>("readOnly"), v8::ReadOnly); NanSetInstanceTemplate(tpl, NanNew<v8::String>("dontEnum"), NanNew<v8::String>("dontEnum"), v8::DontEnum); NanSetInstanceTemplate(tpl, NanNew<v8::String>("dontDelete"), NanNew<v8::String>("dontDelete"), v8::DontDelete); NanAssignPersistent<v8::Function>(constructor, tpl->GetFunction()); exports->Set(NanNew<v8::String>("MyObject"), tpl->GetFunction()); }