Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write new documentation #371

Merged
merged 35 commits into from
Jul 31, 2015
Merged

Write new documentation #371

merged 35 commits into from
Jul 31, 2015

Conversation

kkoopa
Copy link
Collaborator

@kkoopa kkoopa commented May 30, 2015

This is an open call for putting together the new documentation. The branch is located on this repository, so send pull requests directly here.

@rvagg
Copy link
Member

rvagg commented Jul 24, 2015

A checklist of everything I think could be documented after looking through everything. I'll need suggestions from others if I've missed something or you think that we should leave some of these undocumented.

  • NAN_INLINE
  • NAN_DEPRECATED
  • NAN_DISALLOW_ASSIGN(CLASS)
  • NAN_DISALLOW_COPY(CLASS)
  • NAN_DISALLOW_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY(CLASS)
  • NAN_DISALLOW_ASSIGN_MOVE(CLASS)
  • NAN_DISALLOW_COPY_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY_MOVE(CLASS)
  • NODE_0_10_MODULE_VERSION
  • NODE_0_12_MODULE_VERSION
  • ATOM_0_21_MODULE_VERSION
  • IOJS_1_0_MODULE_VERSION
  • IOJS_1_1_MODULE_VERSION
  • IOJS_2_0_MODULE_VERSION
  • IOJS_3_0_MODULE_VERSION
  • type Nan::UnboundScript
  • type Nan::BoundScript
  • type Nan::ExternalOneByteStringResource
  • class Nan::NonCopyablePersistentTraits
  • class Nan::CopyablePersistentTraits
  • class Nan::PersistentBase
  • template<typename T> v8::Local<T> New(v8::Handle<T>)
  • type Nan::WeakCallbackType
  • class Nan::WeakCallbackInfo
    Nan::WeakCallbackInfo(Nan::Persistent<v8::Value> *persistent, Nan::Callback callback, void *parameter, void *field1 = 0, void *field2 = 0) v8::Isolate *GetIsolate() T *GetParameter() void *GetInternalField(int index)`
  • void Nan::Persistent<T, M>::SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::Persistent
    Nan::Persistent()
    Nan::Persistent(v8::Local<S> that)
    Nan::Persistent(const v8::Persistent<S, M2> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
    void Copy(const Persistent<S, M2> &that)
  • class Nan::Global
    Nan::Global()
    Nan::Global(v8::Local<S> that)
    Nan::Global(const v8::PersistentBase<S> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::HandleScope
    Nan::HandleScope()
    int NumberOfHandles()
  • class Nan::EscapableHandleScope
    Nan::HandleScope()
    int NumberOfHandles()
    v8::Local<T> Escape(v8::Local<T> value)
  • class Nan::TryCatch
    Nan::TryCatch()
    bool HasCaught()
    bool CanContinue()
    v8::Local<v8::Value> ReThrow()
    v8::Local<v8::Value> Exception()
    Nan::MaybeLocal<v8::Value> StackTrace()
    v8::Local<v8::Message> Message()
    void Reset()
    void SetVerbose(bool value)
    void SetCaptureMessage(bool value)
  • void Nan::SetCounterFunction(v8::CounterLookupCallback cb)
  • void Nan::SetCreateHistogramFunction(v8::CreateHistogramCallback cb)
  • void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb)
  • bool Nan::IdleNotification(int idle_time_in_ms)
  • void Nan::LowMemoryNotification()
  • void Nan::ContextDisposedNotification()
  • v8::Local<v8::Primitive> Nan::Undefined()
  • v8::Local<v8::Primitive> Nan::Null()
  • v8::Local<v8::Boolean> Nan::True()
  • v8::Local<v8::Boolean> Nan::False()
  • v8::Local<v8::String> Nan::EmptyString()
  • int Nan::AdjustExternalMemory(int bc)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, const char *name, v8::Local<v8::Data> value)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, v8::Local<v8::String> name, v8::Local<v8::Data> value, v8::PropertyAttribute attributes)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • void* Nan::GetInternalFieldPointer(v8::Local<v8::Object> object, int index)
  • void Nan::SetInternalFieldPointer(v8::Local<v8::Object> object, int index, void* value)
  • NAN_GC_CALLBACK(name)
    different sig pre-isolates (below)
  • void Nan::AddGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback, v8::GCType gc_type_filter = v8::kGCTypeAll)
  • void Nan::RemoveGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback)
  • void Nan::AddGCPrologueCallback(v8::Isolate::GCPrologueCallback, v8::GCType gc_type_filter callback)
  • void Nan::RemoveGCPrologueCallback(v8::Isolate::GCPrologueCallback callback)
  • void Nan::GetHeapStatistics(v8::HeapStatistics *heap_statistics)
  • v8::Local<v8::Value> Nan::Error(const char *msg)
  • v8::Local<v8::Value> Nan::Error(v8::Local<v8::String> msg)
  • void Nan::ThrowError(const char *msg)
  • void Nan::ThrowError(v8::Local<v8::String> msg)
  • void Nan::ThrowError(v8::Local<v8::Value> error)
  • v8::Local<v8::Value> Nan::RangeError(const char*)
  • v8::Local<v8::Value> Nan::RangeError(v8::Local<v8::String> msg)
  • void Nan::ThrowRangeError(const char *msg)
  • void Nan::ThrowRangeError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::ReferenceError(const char *msg)
  • v8::Local<v8::Value> Nan::ReferenceError(v8::Local<v8::String> msg)
  • void Nan::ThrowReferenceError(const char *msg)
  • void Nan::ThrowReferenceError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::SyntaxError(const char *msg)
  • v8::Local<v8::Value> Nan::SyntaxError(v8::Local<v8::String> msg)
  • void Nan::ThrowSyntaxError(const char *msg)
  • void Nan::ThrowSyntaxError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::TypeError(const char *msg)
  • v8::Local<v8::Value> Nan::TypeError(v8::Local<v8::String> msg)
  • void Nan::ThrowTypeError(const char *msg)
  • void Nan::ThrowTypeError(v8::Local<v8::String> msg)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char *data, size_t length, node::Buffer::FreeCallback callback, void *hint)
    different sig for smalloc
  • Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char *data, uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char* data, uint32_t size)
  • Nan::MaybeLocal<v8::String> Nan::NewOneByteString(const uint8_t * value, int length = -1)
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s, const v8::ScriptOrigin& origin)
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::UnboundScript> script)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::BoundScript> script)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::Function> func, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::String> symbol, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, const char* method, int argc, v8::Handle<v8::Value>* argv)
  • void Nan::FatalException(const Nan::TryCatch& try_catch)
  • v8::Local<v8::Value> Nan::NanErrnoException(int errorno, const char* syscall = NULL, const char* message = NULL, const char* path = NULL)
  • void Nan::SetIsolateData(v8::Isolate *isolate, T *data)
  • T *Nan::GetIsolateData(v8::Isolate *isolate)
  • class Nan::Utf8String
    Nan::Utf8String(v8::Handle<v8::Value> from)
    int length()
    char* operator*()
  • class Nan::ReturnValue
    void Set(const v8::Local<S> &handle)
    void Set(const Global<S> &handle)
    void Set(bool value)
    void Set(bool value)
    void Set(double i)
    void Set(int32_t i)
    void Set(uint32_t i)
    void SetNull()
    void SetUndefined()
    void SetEmptyString()
  • class Nan::FunctionCallbackInfo
    Nan::ReturnValue<T> GetReturnValue()
    v8::Local<v8::Function> Callee()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> Holder()
    bool IsConstructCall()
    int Length()
    v8::Local<v8::Value> operator[](int i)
    v8::Local<v8::Object> This()
    v8::Isolate *GetIsolate()
  • class Nan::PropertyCallbackInfo
    v8::Isolate* GetIsolate()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> This()
    v8::Local<v8::Object> Holder()
    Nan::ReturnValue<T> GetReturnValue()
  • NAN_METHOD(name)
  • NAN_GETTER(name)
  • NAN_SETTER(name)
  • NAN_PROPERTY_GETTER(name)
  • NAN_PROPERTY_SETTER(name)
  • NAN_PROPERTY_ENUMERATOR(name)
  • NAN_PROPERTY_DELETER(name)
  • NAN_PROPERTY_QUERY(name)
  • NAN_INDEX_SETTER(name)
  • NAN_INDEX_ENUMERATOR(name)
  • NAN_INDEX_DELETER(name)
  • NAN_INDEX_QUERY(name)
  • type Nan::MaybeLocal
  • type Nan::Maybe
  • Nan::Maybe<T> Nan::Nothing()
  • Nan::Maybe<T> Nan::Just(const T& t)
  • Nan::MaybeLocal<v8::String> Nan::ToDetailString(v8::Local<v8::Value> val)
  • Nan::MaybeLocal<v8::Uint32> Nan::ToArrayIndex(v8::Local<v8::Value> val)
  • Nan::Maybe<bool> Nan::Equals(v8::Local<v8::Value> a, v8::Local<v8::Value>(b))
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::Function> h)
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::ObjectTemplate> h)
  • Nan::MaybeLocal<v8::Function> Nan::GetFunction(v8::Local<v8::FunctionTemplate> t)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, uint32_t index, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value, v8::PropertyAttribute attribs = v8::None)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, uint32_t index)
  • v8::PropertyAttribute GetPropertyAttributes(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::MaybeLocal<v8::Array> Nan::GetPropertyNames(v8::Local<v8::Object> obj)
  • Nan::MaybeLocal<v8::Array> Nan::GetOwnPropertyNames(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::SetPrototype(v8::Local<v8::Object> obj, v8::Local<v8::Value> prototype)
  • Nan::MaybeLocal<v8::String> Nan::ObjectProtoToString(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::HasOwnProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealIndexedProperty(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::HasRealNamedCallbackProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedPropertyInPrototypeChain(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::CallAsFunction(v8::Local<v8::Object> obj, v8::Local<v8::Object> recv, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::Value> Nan::CallAsConstructor(v8::Local<v8::Object> obj, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::String> GetSourceLine(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetLineNumber(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetStartColumn(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetEndColumn(v8::Local<v8::Message> msg)
  • Nan::MaybeLocal<v8::Object> Nan::CloneElementAt(v8::Local<v8::Array> array, uint32_t index)
  • Nan::MaybeLocal<T> To<T>(v8::Local<v8::Value> val)
  • v8::Local<T> Nan::New<T>()
  • v8::Local<T> Nan::New<T>(A0)
  • v8::Local<T> Nan::New<T>(A0, A1)
  • v8::Local<T> Nan::New<T>(A0, A1, A2)
  • v8::Local<T> Nan::New<T>(A0, A1, A2, A3)
  • v8::Local<v8::Boolean> Nan::New(bool value)
  • v8::Local<v8::Int32> Nan::New(int32_t value)
  • v8::Local<v8::Uint32> Nan::New(uint32_t value)
  • v8::Local<v8::Number> Nan::New(double value)
  • v8::Local<v8::String> Nan::New(std::string const& value)
  • v8::Local<v8::String> Nan::New(const char * value, int length)
  • v8::Local<v8::String> Nan::New(const char * value)
  • v8::Local<v8::String> Nan::New(const uint16_t * value)
  • v8::Local<v8::String> Nan::New(v8::String::ExternalStringResource * value)
  • v8::Local<v8::String> Nan::New(Nan::ExternalOneByteStringResource * value)
  • v8::Local<v8::RegExp> Nan::New(v8::Local<v8::String> pattern, v8::RegExp::Flags flags)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • class Nan::Callback
    Nan::Callback()
    Nan::Callback(const v8::Handle<v8::Function> &fn)
    operator()(v8::Handle<v8::Object> target, int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    operator()(int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    void SetFunction(const v8::Handle<v8::Function> &fn)
    v8::Local<v8::Function> GetFunction()
    bool IsEmpty()
    v8::Local<v8::Value>
    v8::Local<v8::Value> Call(v8::Handle<v8::Object> target, int argc, v8::Handle<v8::Value> argv[])
    v8::Local<v8::Value> Call(int argc, v8::Handle<v8::Value> argv[])
  • class Nan::AsyncWorker
    Nan::AsyncWorker(Nan::Callback *callback_)
    void WorkComplete()
    void SaveToPersistent(const char *key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(const v8::Handle<v8::String> &key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(uint32_t index, const v8::Local<v8::Value> &value)
    v8::Local<v8::Value> GetFromPersistent(const char *key)
    v8::Local<v8::Value> GetFromPersistent(const v8::Local<v8::String> &key)
    v8::Local<v8::Value> GetFromPersistent(uint32_t index)
    void Execute() = 0
    void Destroy()
    uv_work_t request
    protected void HandleOKCallback()
    protected void HandleErrorCallback()
    protected void SetErrorMessage(const char *msg)
    protected const char* ErrorMessage()
  • class Nan::AsyncProgressWorker
    Nan::AsyncProgressWorker(Nan::Callback *callback_)
    void WorkProgress()
    void Execute(const Nan::ExecutionProgress& progress) = 0
    void HandleProgressCallback(const char *data, size_t size) = 0
    void Destroy()
  • class Nan::AsyncProgressWorker
    Send(const char* data, size_t size)
  • void Nan::AsyncExecute (uv_work_t* req)
  • void Nan::AsyncExecuteComplete (uv_work_t* req)
  • void Nan::AsyncQueueWorker (Nan::AsyncWorker* worker) {
  • enum Nan::Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER}
  • v8::Local<v8::Value> Encode(const void *buf, size_t len, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeBytes(v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeWrite(char *buf, size_t len, v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetMethod(const T &recv, const char *name, Nan::FunctionCallback callback)
  • void Nan::SetPrototypeMethod(v8::Handle<v8::FunctionTemplate> recv, const char* name, Nan::FunctionCallback callback)
  • void SetAccessor(v8::Handle<v8::ObjectTemplate> tpl, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None, imp::Sig signature = imp::Sig())
  • bool SetAccessor(v8::Handle<v8::Object> obj, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None)
  • void SetNamedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::PropertyGetterCallback getter, Nan::PropertySetterCallback setter = 0, Nan::PropertyQueryCallback query = 0, Nan::PropertyDeleterCallback deleter = 0, Nan::PropertyEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • void SetIndexedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::IndexGetterCallback getter, Nan::IndexSetterCallback setter = 0, Nan::IndexQueryCallback query = 0, Nan::IndexDeleterCallback deleter = 0, Nan::IndexEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • class Nan::ObjectWrap : public node::ObjectWrap
    v8::Local<v8::Object> handle()
    Nan::Persistent<v8::Object> &persistent()
    Nan::Persistent<v8::Object> &persistent()
  • void Export(v8::Handle<v8::Object> target, const char *name, Nan::FunctionCallback f)
  • struct Tap
    Tap(v8::Handle<v8::Value> t)
    void plan(int i)
    void ok(bool isOk, const char *msg = NULL)
    void pass(const char * msg = NULL)
  • NAN_STRINGIZE2(x)
  • NAN_STRINGIZE(x)
  • NAN_TEST_EXPRESSION(expression)
  • NAN_EXPORT(target, function)
  • NAUV_UVVERSION
  • NAUV_WORK_CB(func)
  • type nauv_key_t
  • nauv_key_create(nauv_key_t* key)
  • nauv_key_delete(nauv_key_t* key)
  • nauv_key_get(nauv_key_t* key)
  • nauv_key_set(nauv_key_t* key)

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 24, 2015

Some are mostly internal but cannot be hidden, like certain macros. Some constructors are not exposed or should not be exposed, but it was easier to leave them exposed, e.g. CallbackInfo. And so on. I'll enumerate them next week.

On July 24, 2015 6:35:39 AM EEST, Rod Vagg [email protected] wrote:

A checklist of everything I think could be documented after looking
through everything. I'll need suggestions from others if I've missed
something or you think that we should leave some of these undocumented.

  • NAN_INLINE
  • NAN_DEPRECATED
  • NAN_DISALLOW_ASSIGN(CLASS)
  • NAN_DISALLOW_COPY(CLASS)
  • NAN_DISALLOW_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY(CLASS)
  • NAN_DISALLOW_ASSIGN_MOVE(CLASS)
  • NAN_DISALLOW_COPY_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY_MOVE(CLASS)
  • NODE_0_10_MODULE_VERSION
  • NODE_0_12_MODULE_VERSION
  • ATOM_0_21_MODULE_VERSION
  • IOJS_1_0_MODULE_VERSION
  • IOJS_1_1_MODULE_VERSION
  • IOJS_2_0_MODULE_VERSION
  • IOJS_3_0_MODULE_VERSION
  • type Nan::UnboundScript
  • type Nan::BoundScript
  • type Nan::ExternalOneByteStringResource
  • class Nan::NonCopyablePersistentTraits
  • class Nan::CopyablePersistentTraits
  • class Nan::PersistentBase
  • template<typename T> v8::Local<T> New(v8::Handle<T>)
  • type Nan::WeakCallbackType
  • class Nan::WeakCallbackInfo
    Nan::WeakCallbackInfo(Nan::Persistent<v8::Value> *persistent, Nan::Callback callback, void *parameter, void *field1 = 0, void *field2 = 0) v8::Isolate *GetIsolate() T *GetParameter() void *GetInternalField(int index)`
  • void Nan::Persistent<T, M>::SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::Persistent
    Nan::Persistent()
    Nan::Persistent(v8::Local<S> that)
    Nan::Persistent(const v8::Persistent<S, M2> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
    void Copy(const Persistent<S, M2> &that)
  • class Nan::Global
    Nan::Global()
    Nan::Global(v8::Local<S> that)
    Nan::Global(const v8::PersistentBase<S> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::HandleScope
    Nan::HandleScope()
    int NumberOfHandles()
  • class Nan::EscapableHandleScope
    Nan::HandleScope()
    int NumberOfHandles()
    v8::Local<T> Escape(v8::Local<T> value)
  • class Nan::TryCatch
    Nan::TryCatch()
    bool HasCaught()
    bool CanContinue()
    v8::Local<v8::Value> ReThrow()
    v8::Local<v8::Value> Exception()
    Nan::MaybeLocal<v8::Value> StackTrace()
    v8::Local<v8::Message> Message()
    void Reset()
    void SetVerbose(bool value)
    void SetCaptureMessage(bool value)
  • void Nan::SetCounterFunction(v8::CounterLookupCallback cb)
  • void Nan::SetCreateHistogramFunction(v8::CreateHistogramCallback cb)
  • void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb)
  • bool Nan::IdleNotification(int idle_time_in_ms)
  • void Nan::LowMemoryNotification()
  • void Nan::ContextDisposedNotification()
  • v8::Local<v8::Primitive> Nan::Undefined()
  • v8::Local<v8::Primitive> Nan::Null()
  • v8::Local<v8::Boolean> Nan::True()
  • v8::Local<v8::Boolean> Nan::False()
  • v8::Local<v8::String> Nan::EmptyString()
  • int Nan::AdjustExternalMemory(int bc)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, const char *name, v8::Local<v8::Data> value)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, v8::Local<v8::String> name, v8::Local<v8::Data> value, v8::PropertyAttribute attributes)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • void* Nan::GetInternalFieldPointer(v8::Local<v8::Object> object, int index)
  • void Nan::SetInternalFieldPointer(v8::Local<v8::Object> object, int index, void* value)
  • NAN_GC_CALLBACK(name)
    different sig pre-isolates (below)
  • void Nan::AddGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback, v8::GCType gc_type_filter = v8::kGCTypeAll)
  • void Nan::RemoveGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback)
  • void Nan::AddGCPrologueCallback(v8::Isolate::GCPrologueCallback, v8::GCType gc_type_filter callback)
  • void Nan::RemoveGCPrologueCallback(v8::Isolate::GCPrologueCallback callback)
  • void Nan::GetHeapStatistics(v8::HeapStatistics *heap_statistics)
  • v8::Local<v8::Value> Nan::Error(const char *msg)
  • v8::Local<v8::Value> Nan::Error(v8::Local<v8::String> msg)
  • void Nan::ThrowError(const char *msg)
  • void Nan::ThrowError(v8::Local<v8::String> msg)
  • void Nan::ThrowError(v8::Local<v8::Value> error)
  • v8::Local<v8::Value> Nan::RangeError(const char*)
  • v8::Local<v8::Value> Nan::RangeError(v8::Local<v8::String> msg)
  • void Nan::ThrowRangeError(const char *msg)
  • void Nan::ThrowRangeError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::ReferenceError(const char *msg)
  • v8::Local<v8::Value> Nan::ReferenceError(v8::Local<v8::String> msg)
  • void Nan::ThrowReferenceError(const char *msg)
  • void Nan::ThrowReferenceError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::SyntaxError(const char *msg)
  • v8::Local<v8::Value> Nan::SyntaxError(v8::Local<v8::String> msg)
  • void Nan::ThrowSyntaxError(const char *msg)
  • void Nan::ThrowSyntaxError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::TypeError(const char *msg)
  • v8::Local<v8::Value> Nan::TypeError(v8::Local<v8::String> msg)
  • void Nan::ThrowTypeError(const char *msg)
  • void Nan::ThrowTypeError(v8::Local<v8::String> msg)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char *data, size_t length, node::Buffer::FreeCallback callback, void *hint)
    different sig for smalloc
  • Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char *data, uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char* data, uint32_t size)
  • `Nan::MaybeLocalv8::String Nan::NewOneByteString(const uint8_t
  • value, int length = -1)`
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s, const v8::ScriptOrigin& origin)
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::UnboundScript> script)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::BoundScript> script)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::Function> func, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::String> symbol, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, const char* method, int argc, v8::Handle<v8::Value>* argv)
  • void Nan::FatalException(const Nan::TryCatch& try_catch)
  • v8::Local<v8::Value> Nan::NanErrnoException(int errorno, const char* syscall = NULL, const char* message = NULL, const char* path = NULL)
  • void Nan::SetIsolateData(v8::Isolate *isolate, T *data)
  • T *Nan::GetIsolateData(v8::Isolate *isolate)
  • class Nan::Utf8String
    Nan::Utf8String(v8::Handle<v8::Value> from)
    int length()
    char* operator*()
  • class Nan::ReturnValue
    void Set(const v8::Local<S> &handle)
    void Set(const Global<S> &handle)
    void Set(bool value)
    void Set(bool value)
    void Set(double i)
    void Set(int32_t i)
    void Set(uint32_t i)
    void SetNull()
    void SetUndefined()
    void SetEmptyString()
  • class Nan::FunctionCallbackInfo
    Nan::ReturnValue<T> GetReturnValue()
    v8::Local<v8::Function> Callee()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> Holder()
    bool IsConstructCall()
    int Length()
    v8::Local<v8::Value> operator[](int i)
    v8::Local<v8::Object> This()
    v8::Isolate *GetIsolate()
  • class Nan::PropertyCallbackInfo
    v8::Isolate* GetIsolate()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> This()
    v8::Local<v8::Object> Holder()
    Nan::ReturnValue<T> GetReturnValue()
  • NAN_METHOD(name)
  • NAN_GETTER(name)
  • NAN_SETTER(name)
  • NAN_PROPERTY_GETTER(name)
  • NAN_PROPERTY_SETTER(name)
  • NAN_PROPERTY_ENUMERATOR(name)
  • NAN_PROPERTY_DELETER(name)
  • NAN_PROPERTY_QUERY(name)
  • NAN_INDEX_SETTER(name)
  • NAN_INDEX_ENUMERATOR(name)
  • NAN_INDEX_DELETER(name)
  • NAN_INDEX_QUERY(name)
  • type Nan::MaybeLocal
  • type Nan::Maybe
  • Nan::Maybe<T> Nan::Nothing()
  • Nan::Maybe<T> Nan::Just(const T& t)
  • Nan::MaybeLocal<v8::String> Nan::ToDetailString(v8::Local<v8::Value> val)
  • Nan::MaybeLocal<v8::Uint32> Nan::ToArrayIndex(v8::Local<v8::Value> val)
  • Nan::Maybe<bool> Nan::Equals(v8::Local<v8::Value> a, v8::Local<v8::Value>(b))
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::Function> h)
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::ObjectTemplate> h)
  • Nan::MaybeLocal<v8::Function> Nan::GetFunction(v8::Local<v8::FunctionTemplate> t)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, uint32_t index, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value, v8::PropertyAttribute attribs = v8::None)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, uint32_t index)
  • v8::PropertyAttribute GetPropertyAttributes(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::MaybeLocal<v8::Array> Nan::GetPropertyNames(v8::Local<v8::Object> obj)
  • Nan::MaybeLocal<v8::Array> Nan::GetOwnPropertyNames(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::SetPrototype(v8::Local<v8::Object> obj, v8::Local<v8::Value> prototype)
  • Nan::MaybeLocal<v8::String> Nan::ObjectProtoToString(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::HasOwnProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealIndexedProperty(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::HasRealNamedCallbackProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedPropertyInPrototypeChain(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::CallAsFunction(v8::Local<v8::Object> obj, v8::Local<v8::Object> recv, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::Value> Nan::CallAsConstructor(v8::Local<v8::Object> obj, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::String> GetSourceLine(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetLineNumber(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetStartColumn(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetEndColumn(v8::Local<v8::Message> msg)
  • Nan::MaybeLocal<v8::Object> Nan::CloneElementAt(v8::Local<v8::Array> array, uint32_t index)
  • Nan::MaybeLocal<T> To<T>(v8::Local<v8::Value> val)
  • v8::Local<T> Nan::New<T>()
  • v8::Local<T> Nan::New<T>(A0)
  • v8::Local<T> Nan::New<T>(A0, A1)
  • v8::Local<T> Nan::New<T>(A0, A1, A2)
  • v8::Local<T> Nan::New<T>(A0, A1, A2, A3)
  • v8::Local<v8::Boolean> Nan::New(bool value)
  • v8::Local<v8::Int32> Nan::New(int32_t value)
  • v8::Local<v8::Uint32> Nan::New(uint32_t value)
  • v8::Local<v8::Number> Nan::New(double value)
  • v8::Local<v8::String> Nan::New(std::string const& value)
  • v8::Local<v8::String> Nan::New(const char * value, int length)
  • v8::Local<v8::String> Nan::New(const char * value)
  • v8::Local<v8::String> Nan::New(const uint16_t * value)
  • v8::Local<v8::String> Nan::New(v8::String::ExternalStringResource * value)
  • v8::Local<v8::String> Nan::New(Nan::ExternalOneByteStringResource * value)
  • v8::Local<v8::RegExp> Nan::New(v8::Local<v8::String> pattern, v8::RegExp::Flags flags)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • class Nan::Callback
    Nan::Callback()
    Nan::Callback(const v8::Handle<v8::Function> &fn)
    operator()(v8::Handle<v8::Object> target, int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    operator()(int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    void SetFunction(const v8::Handle<v8::Function> &fn)
    v8::Local<v8::Function> GetFunction()
    bool IsEmpty()
    v8::Local<v8::Value>
    v8::Local<v8::Value> Call(v8::Handle<v8::Object> target, int argc, v8::Handle<v8::Value> argv[])
    v8::Local<v8::Value> Call(int argc, v8::Handle<v8::Value> argv[])
  • class Nan::AsyncWorker
    Nan::AsyncWorker(Nan::Callback *callback_)
    void WorkComplete()
    void SaveToPersistent(const char *key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(const v8::Handle<v8::String> &key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(uint32_t index, const v8::Local<v8::Value> &value)
    v8::Local<v8::Value> GetFromPersistent(const char *key)
    v8::Local<v8::Value> GetFromPersistent(const v8::Local<v8::String> &key)
    v8::Local<v8::Value> GetFromPersistent(uint32_t index)
    void Execute() = 0
    void Destroy()
    uv_work_t request
    protected void HandleOKCallback()
    protected void HandleErrorCallback()
    protected void SetErrorMessage(const char *msg)
    protected const char* ErrorMessage()
  • class Nan::AsyncProgressWorker
    Nan::AsyncProgressWorker(Nan::Callback *callback_)
    void WorkProgress()
    void Execute(const Nan::ExecutionProgress& progress) = 0
    void HandleProgressCallback(const char *data, size_t size) = 0
    void Destroy()
  • class Nan::AsyncProgressWorker
    Send(const char* data, size_t size)
  • void Nan::AsyncExecute (uv_work_t* req)
  • void Nan::AsyncExecuteComplete (uv_work_t* req)
  • void Nan::AsyncQueueWorker (Nan::AsyncWorker* worker) {
  • enum Nan::Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER}
  • v8::Local<v8::Value> Encode(const void *buf, size_t len, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeBytes(v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeWrite(char *buf, size_t len, v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetMethod(const T &recv, const char *name, Nan::FunctionCallback callback)
  • void Nan::SetPrototypeMethod(v8::Handle<v8::FunctionTemplate> recv, const char* name, Nan::FunctionCallback callback)
  • void SetAccessor(v8::Handle<v8::ObjectTemplate> tpl, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None, imp::Sig signature = imp::Sig())
  • bool SetAccessor(v8::Handle<v8::Object> obj, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None)
  • void SetNamedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::PropertyGetterCallback getter, Nan::PropertySetterCallback setter = 0, Nan::PropertyQueryCallback query = 0, Nan::PropertyDeleterCallback deleter = 0, Nan::PropertyEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • void SetIndexedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::IndexGetterCallback getter, Nan::IndexSetterCallback setter = 0, Nan::IndexQueryCallback query = 0, Nan::IndexDeleterCallback deleter = 0, Nan::IndexEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • class Nan::ObjectWrap : public node::ObjectWrap
    v8::Local<v8::Object> handle()
    Nan::Persistent<v8::Object> &persistent()
    Nan::Persistent<v8::Object> &persistent()
  • void Export(v8::Handle<v8::Object> target, const char *name, Nan::FunctionCallback f)
  • struct Tap
    Tap(v8::Handle<v8::Value> t)
    void plan(int i)
    void ok(bool isOk, const char *msg = NULL)
    void pass(const char * msg = NULL)
  • NAN_STRINGIZE2(x)
  • NAN_STRINGIZE(x)
  • NAN_TEST_EXPRESSION(expression)
  • NAN_EXPORT(target, function)
  • NAUV_UVVERSION
  • NAUV_WORK_CB(func)
  • type nauv_key_t
  • nauv_key_create(nauv_key_t* key)
  • nauv_key_delete(nauv_key_t* key)
  • nauv_key_get(nauv_key_t* key)
  • nauv_key_set(nauv_key_t* key)

Reply to this email directly or view it on GitHub:
#371 (comment)

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 24, 2015

Oh, and anything accepting Handle now should just be for implementatiob reasons on versions before io.js 3.0 and should be documented as only taking Local, because they only take Local for new versions. Similarly, Local Nan::New(Handle) only exists for old versions and should only be internal, but it is still exposed.

On July 24, 2015 6:35:39 AM EEST, Rod Vagg [email protected] wrote:

A checklist of everything I think could be documented after looking
through everything. I'll need suggestions from others if I've missed
something or you think that we should leave some of these undocumented.

  • NAN_INLINE
  • NAN_DEPRECATED
  • NAN_DISALLOW_ASSIGN(CLASS)
  • NAN_DISALLOW_COPY(CLASS)
  • NAN_DISALLOW_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY(CLASS)
  • NAN_DISALLOW_ASSIGN_MOVE(CLASS)
  • NAN_DISALLOW_COPY_MOVE(CLASS)
  • NAN_DISALLOW_ASSIGN_COPY_MOVE(CLASS)
  • NODE_0_10_MODULE_VERSION
  • NODE_0_12_MODULE_VERSION
  • ATOM_0_21_MODULE_VERSION
  • IOJS_1_0_MODULE_VERSION
  • IOJS_1_1_MODULE_VERSION
  • IOJS_2_0_MODULE_VERSION
  • IOJS_3_0_MODULE_VERSION
  • type Nan::UnboundScript
  • type Nan::BoundScript
  • type Nan::ExternalOneByteStringResource
  • class Nan::NonCopyablePersistentTraits
  • class Nan::CopyablePersistentTraits
  • class Nan::PersistentBase
  • template<typename T> v8::Local<T> New(v8::Handle<T>)
  • type Nan::WeakCallbackType
  • class Nan::WeakCallbackInfo
    Nan::WeakCallbackInfo(Nan::Persistent<v8::Value> *persistent, Nan::Callback callback, void *parameter, void *field1 = 0, void *field2 = 0) v8::Isolate *GetIsolate() T *GetParameter() void *GetInternalField(int index)`
  • void Nan::Persistent<T, M>::SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::Persistent
    Nan::Persistent()
    Nan::Persistent(v8::Local<S> that)
    Nan::Persistent(const v8::Persistent<S, M2> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
    void Copy(const Persistent<S, M2> &that)
  • class Nan::Global
    Nan::Global()
    Nan::Global(v8::Local<S> that)
    Nan::Global(const v8::PersistentBase<S> &that)
    void Reset()
    void Reset(const v8::Local<S> &other)
    void Reset(const v8::PersistentBase<S> &other)
    void SetWeak(P *parameter, Nan::WeakCallbackInfo<P>::Callback callback, Nan::WeakCallbackType type)
  • class Nan::HandleScope
    Nan::HandleScope()
    int NumberOfHandles()
  • class Nan::EscapableHandleScope
    Nan::HandleScope()
    int NumberOfHandles()
    v8::Local<T> Escape(v8::Local<T> value)
  • class Nan::TryCatch
    Nan::TryCatch()
    bool HasCaught()
    bool CanContinue()
    v8::Local<v8::Value> ReThrow()
    v8::Local<v8::Value> Exception()
    Nan::MaybeLocal<v8::Value> StackTrace()
    v8::Local<v8::Message> Message()
    void Reset()
    void SetVerbose(bool value)
    void SetCaptureMessage(bool value)
  • void Nan::SetCounterFunction(v8::CounterLookupCallback cb)
  • void Nan::SetCreateHistogramFunction(v8::CreateHistogramCallback cb)
  • void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb)
  • bool Nan::IdleNotification(int idle_time_in_ms)
  • void Nan::LowMemoryNotification()
  • void Nan::ContextDisposedNotification()
  • v8::Local<v8::Primitive> Nan::Undefined()
  • v8::Local<v8::Primitive> Nan::Null()
  • v8::Local<v8::Boolean> Nan::True()
  • v8::Local<v8::Boolean> Nan::False()
  • v8::Local<v8::String> Nan::EmptyString()
  • int Nan::AdjustExternalMemory(int bc)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, const char *name, v8::Local<v8::Data> value)
  • void Nan::SetTemplate(v8::Local<v8::Template> templ, v8::Local<v8::String> name, v8::Local<v8::Data> value, v8::PropertyAttribute attributes)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • void* Nan::GetInternalFieldPointer(v8::Local<v8::Object> object, int index)
  • void Nan::SetInternalFieldPointer(v8::Local<v8::Object> object, int index, void* value)
  • NAN_GC_CALLBACK(name)
    different sig pre-isolates (below)
  • void Nan::AddGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback, v8::GCType gc_type_filter = v8::kGCTypeAll)
  • void Nan::RemoveGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback)
  • void Nan::AddGCPrologueCallback(v8::Isolate::GCPrologueCallback, v8::GCType gc_type_filter callback)
  • void Nan::RemoveGCPrologueCallback(v8::Isolate::GCPrologueCallback callback)
  • void Nan::GetHeapStatistics(v8::HeapStatistics *heap_statistics)
  • v8::Local<v8::Value> Nan::Error(const char *msg)
  • v8::Local<v8::Value> Nan::Error(v8::Local<v8::String> msg)
  • void Nan::ThrowError(const char *msg)
  • void Nan::ThrowError(v8::Local<v8::String> msg)
  • void Nan::ThrowError(v8::Local<v8::Value> error)
  • v8::Local<v8::Value> Nan::RangeError(const char*)
  • v8::Local<v8::Value> Nan::RangeError(v8::Local<v8::String> msg)
  • void Nan::ThrowRangeError(const char *msg)
  • void Nan::ThrowRangeError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::ReferenceError(const char *msg)
  • v8::Local<v8::Value> Nan::ReferenceError(v8::Local<v8::String> msg)
  • void Nan::ThrowReferenceError(const char *msg)
  • void Nan::ThrowReferenceError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::SyntaxError(const char *msg)
  • v8::Local<v8::Value> Nan::SyntaxError(v8::Local<v8::String> msg)
  • void Nan::ThrowSyntaxError(const char *msg)
  • void Nan::ThrowSyntaxError(v8::Local<v8::String> msg)
  • v8::Local<v8::Value> Nan::TypeError(const char *msg)
  • v8::Local<v8::Value> Nan::TypeError(v8::Local<v8::String> msg)
  • void Nan::ThrowTypeError(const char *msg)
  • void Nan::ThrowTypeError(v8::Local<v8::String> msg)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char *data, size_t length, node::Buffer::FreeCallback callback, void *hint)
    different sig for smalloc
  • Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char *data, uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(uint32_t size)
  • Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char* data, uint32_t size)
  • `Nan::MaybeLocalv8::String Nan::NewOneByteString(const uint8_t
  • value, int length = -1)`
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s, const v8::ScriptOrigin& origin)
  • Nan::MaybeLocal<Nan::BoundScript> Nan::CompileScript(v8::Local<v8::String> s)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::UnboundScript> script)
  • Nan::MaybeLocal<v8::Value> Nan::RunScript(v8::Handle<Nan::BoundScript> script)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::Function> func, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, v8::Handle<v8::String> symbol, int argc, v8::Handle<v8::Value>* argv)
  • v8::Local<v8::Value> Nan::MakeCallback(v8::Handle<v8::Object> target, const char* method, int argc, v8::Handle<v8::Value>* argv)
  • void Nan::FatalException(const Nan::TryCatch& try_catch)
  • v8::Local<v8::Value> Nan::NanErrnoException(int errorno, const char* syscall = NULL, const char* message = NULL, const char* path = NULL)
  • void Nan::SetIsolateData(v8::Isolate *isolate, T *data)
  • T *Nan::GetIsolateData(v8::Isolate *isolate)
  • class Nan::Utf8String
    Nan::Utf8String(v8::Handle<v8::Value> from)
    int length()
    char* operator*()
  • class Nan::ReturnValue
    void Set(const v8::Local<S> &handle)
    void Set(const Global<S> &handle)
    void Set(bool value)
    void Set(bool value)
    void Set(double i)
    void Set(int32_t i)
    void Set(uint32_t i)
    void SetNull()
    void SetUndefined()
    void SetEmptyString()
  • class Nan::FunctionCallbackInfo
    Nan::ReturnValue<T> GetReturnValue()
    v8::Local<v8::Function> Callee()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> Holder()
    bool IsConstructCall()
    int Length()
    v8::Local<v8::Value> operator[](int i)
    v8::Local<v8::Object> This()
    v8::Isolate *GetIsolate()
  • class Nan::PropertyCallbackInfo
    v8::Isolate* GetIsolate()
    v8::Local<v8::Value> Data()
    v8::Local<v8::Object> This()
    v8::Local<v8::Object> Holder()
    Nan::ReturnValue<T> GetReturnValue()
  • NAN_METHOD(name)
  • NAN_GETTER(name)
  • NAN_SETTER(name)
  • NAN_PROPERTY_GETTER(name)
  • NAN_PROPERTY_SETTER(name)
  • NAN_PROPERTY_ENUMERATOR(name)
  • NAN_PROPERTY_DELETER(name)
  • NAN_PROPERTY_QUERY(name)
  • NAN_INDEX_SETTER(name)
  • NAN_INDEX_ENUMERATOR(name)
  • NAN_INDEX_DELETER(name)
  • NAN_INDEX_QUERY(name)
  • type Nan::MaybeLocal
  • type Nan::Maybe
  • Nan::Maybe<T> Nan::Nothing()
  • Nan::Maybe<T> Nan::Just(const T& t)
  • Nan::MaybeLocal<v8::String> Nan::ToDetailString(v8::Local<v8::Value> val)
  • Nan::MaybeLocal<v8::Uint32> Nan::ToArrayIndex(v8::Local<v8::Value> val)
  • Nan::Maybe<bool> Nan::Equals(v8::Local<v8::Value> a, v8::Local<v8::Value>(b))
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::Function> h)
  • Nan::MaybeLocal<v8::Object> Nan::NewInstance(v8::Local<v8::ObjectTemplate> h)
  • Nan::MaybeLocal<v8::Function> Nan::GetFunction(v8::Local<v8::FunctionTemplate> t)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::Set(v8::Local<v8::Object> obj, uint32_t index, v8::Local<v8::Value> value)
  • Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object> obj, v8::Local<v8::Value> key, v8::Local<v8::Value> value, v8::PropertyAttribute attribs = v8::None)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::MaybeLocal<v8::Value> Nan::Get(v8::Local<v8::Object> obj, uint32_t index)
  • v8::PropertyAttribute GetPropertyAttributes(v8::Local<v8::Object> obj, v8::Local<v8::Value> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Has(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::Delete(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::MaybeLocal<v8::Array> Nan::GetPropertyNames(v8::Local<v8::Object> obj)
  • Nan::MaybeLocal<v8::Array> Nan::GetOwnPropertyNames(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::SetPrototype(v8::Local<v8::Object> obj, v8::Local<v8::Value> prototype)
  • Nan::MaybeLocal<v8::String> Nan::ObjectProtoToString(v8::Local<v8::Object> obj)
  • Nan::Maybe<bool> Nan::HasOwnProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::Maybe<bool> Nan::HasRealIndexedProperty(v8::Local<v8::Object> obj, uint32_t index)
  • Nan::Maybe<bool> Nan::HasRealNamedCallbackProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedPropertyInPrototypeChain(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::GetRealNamedProperty(v8::Local<v8::Object> obj, v8::Local<v8::String> key)
  • Nan::MaybeLocal<v8::Value> Nan::CallAsFunction(v8::Local<v8::Object> obj, v8::Local<v8::Object> recv, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::Value> Nan::CallAsConstructor(v8::Local<v8::Object> obj, int argc, v8::Local<v8::Value> argv[])
  • Nan::MaybeLocal<v8::String> GetSourceLine(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetLineNumber(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetStartColumn(v8::Local<v8::Message> msg)
  • Nan::Maybe<int> Nan::GetEndColumn(v8::Local<v8::Message> msg)
  • Nan::MaybeLocal<v8::Object> Nan::CloneElementAt(v8::Local<v8::Array> array, uint32_t index)
  • Nan::MaybeLocal<T> To<T>(v8::Local<v8::Value> val)
  • v8::Local<T> Nan::New<T>()
  • v8::Local<T> Nan::New<T>(A0)
  • v8::Local<T> Nan::New<T>(A0, A1)
  • v8::Local<T> Nan::New<T>(A0, A1, A2)
  • v8::Local<T> Nan::New<T>(A0, A1, A2, A3)
  • v8::Local<v8::Boolean> Nan::New(bool value)
  • v8::Local<v8::Int32> Nan::New(int32_t value)
  • v8::Local<v8::Uint32> Nan::New(uint32_t value)
  • v8::Local<v8::Number> Nan::New(double value)
  • v8::Local<v8::String> Nan::New(std::string const& value)
  • v8::Local<v8::String> Nan::New(const char * value, int length)
  • v8::Local<v8::String> Nan::New(const char * value)
  • v8::Local<v8::String> Nan::New(const uint16_t * value)
  • v8::Local<v8::String> Nan::New(v8::String::ExternalStringResource * value)
  • v8::Local<v8::String> Nan::New(Nan::ExternalOneByteStringResource * value)
  • v8::Local<v8::RegExp> Nan::New(v8::Local<v8::String> pattern, v8::RegExp::Flags flags)
  • v8::Local<v8::Context> Nan::GetCurrentContext()
  • class Nan::Callback
    Nan::Callback()
    Nan::Callback(const v8::Handle<v8::Function> &fn)
    operator()(v8::Handle<v8::Object> target, int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    operator()(int argc = 0, v8::Handle<v8::Value> argv[] = 0)
    void SetFunction(const v8::Handle<v8::Function> &fn)
    v8::Local<v8::Function> GetFunction()
    bool IsEmpty()
    v8::Local<v8::Value>
    v8::Local<v8::Value> Call(v8::Handle<v8::Object> target, int argc, v8::Handle<v8::Value> argv[])
    v8::Local<v8::Value> Call(int argc, v8::Handle<v8::Value> argv[])
  • class Nan::AsyncWorker
    Nan::AsyncWorker(Nan::Callback *callback_)
    void WorkComplete()
    void SaveToPersistent(const char *key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(const v8::Handle<v8::String> &key, const v8::Local<v8::Value> &value)
    void SaveToPersistent(uint32_t index, const v8::Local<v8::Value> &value)
    v8::Local<v8::Value> GetFromPersistent(const char *key)
    v8::Local<v8::Value> GetFromPersistent(const v8::Local<v8::String> &key)
    v8::Local<v8::Value> GetFromPersistent(uint32_t index)
    void Execute() = 0
    void Destroy()
    uv_work_t request
    protected void HandleOKCallback()
    protected void HandleErrorCallback()
    protected void SetErrorMessage(const char *msg)
    protected const char* ErrorMessage()
  • class Nan::AsyncProgressWorker
    Nan::AsyncProgressWorker(Nan::Callback *callback_)
    void WorkProgress()
    void Execute(const Nan::ExecutionProgress& progress) = 0
    void HandleProgressCallback(const char *data, size_t size) = 0
    void Destroy()
  • class Nan::AsyncProgressWorker
    Send(const char* data, size_t size)
  • void Nan::AsyncExecute (uv_work_t* req)
  • void Nan::AsyncExecuteComplete (uv_work_t* req)
  • void Nan::AsyncQueueWorker (Nan::AsyncWorker* worker) {
  • enum Nan::Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER}
  • v8::Local<v8::Value> Encode(const void *buf, size_t len, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeBytes(v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • ssize_t Nan::DecodeWrite(char *buf, size_t len, v8::Handle<v8::Value> val, enum Nan::Encoding encoding = BINARY)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetPrototypeTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, const char *name, v8::Handle<v8::Data> value)
  • void Nan::SetInstanceTemplate(v8::Local<v8::FunctionTemplate> templ, v8::Handle<v8::String> name, v8::Handle<v8::Data> value, v8::PropertyAttribute attributes)
  • void Nan::SetMethod(const T &recv, const char *name, Nan::FunctionCallback callback)
  • void Nan::SetPrototypeMethod(v8::Handle<v8::FunctionTemplate> recv, const char* name, Nan::FunctionCallback callback)
  • void SetAccessor(v8::Handle<v8::ObjectTemplate> tpl, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None, imp::Sig signature = imp::Sig())
  • bool SetAccessor(v8::Handle<v8::Object> obj, v8::Handle<v8::String> name, Nan::GetterCallback getter, Nan::SetterCallback setter = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>(), v8::AccessControl settings = v8::DEFAULT, v8::PropertyAttribute attribute = v8::None)
  • void SetNamedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::PropertyGetterCallback getter, Nan::PropertySetterCallback setter = 0, Nan::PropertyQueryCallback query = 0, Nan::PropertyDeleterCallback deleter = 0, Nan::PropertyEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • void SetIndexedPropertyHandler(v8::Handle<v8::ObjectTemplate> tpl, Nan::IndexGetterCallback getter, Nan::IndexSetterCallback setter = 0, Nan::IndexQueryCallback query = 0, Nan::IndexDeleterCallback deleter = 0, Nan::IndexEnumeratorCallback enumerator = 0, v8::Handle<v8::Value> data = v8::Handle<v8::Value>())
  • class Nan::ObjectWrap : public node::ObjectWrap
    v8::Local<v8::Object> handle()
    Nan::Persistent<v8::Object> &persistent()
    Nan::Persistent<v8::Object> &persistent()
  • void Export(v8::Handle<v8::Object> target, const char *name, Nan::FunctionCallback f)
  • struct Tap
    Tap(v8::Handle<v8::Value> t)
    void plan(int i)
    void ok(bool isOk, const char *msg = NULL)
    void pass(const char * msg = NULL)
  • NAN_STRINGIZE2(x)
  • NAN_STRINGIZE(x)
  • NAN_TEST_EXPRESSION(expression)
  • NAN_EXPORT(target, function)
  • NAUV_UVVERSION
  • NAUV_WORK_CB(func)
  • type nauv_key_t
  • nauv_key_create(nauv_key_t* key)
  • nauv_key_delete(nauv_key_t* key)
  • nauv_key_get(nauv_key_t* key)
  • nauv_key_set(nauv_key_t* key)

Reply to this email directly or view it on GitHub:
#371 (comment)

@rvagg
Copy link
Member

rvagg commented Jul 24, 2015

I think it only matters after 3.0 doesn't it? We're shipping 4.4 there and 4.5 will have to wait which is where they've ripped it out isn't it? The current nan#next works on my previous work on LevelDOWN with no changes needed for Handle -> Local compiling against 3.0 RC 5.

I'm fine with asserting that you need to move away from Handle though, we may as well get people to do it now rather than put it off till the next major.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 24, 2015

Exactly. Handles are dead.

On July 24, 2015 7:39:20 AM EEST, Rod Vagg [email protected] wrote:

I think it only matters after 3.0 doesn't it? We're shipping 4.4
there and 4.5 will have to wait which is where they've ripped it out
isn't it? The current nan#next works on my previous work on LevelDOWN
with no changes needed for Handle -> Local compiling against 3.0 RC
5.

I'm fine with asserting that you need to move away from Handle
though, we may as well get people to do it now rather than put it off
till the next major.


Reply to this email directly or view it on GitHub:
#371 (comment)

@rvagg
Copy link
Member

rvagg commented Jul 24, 2015

@kkoopa do we even need the method signature helpers any more? They might be useful to keep for backward-compat but perhaps we should start advising people to use void MethodName(const Nan::FunctionCallbackInfo<v8::Value>& info) etc. for these since that's all it is now?

@rvagg
Copy link
Member

rvagg commented Jul 24, 2015

https://v8docs.nodesource.com/io.js-3.0/ is available now for V8 doxygen docs

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 24, 2015

Both work, but macros are extremely convenient and efficient. They are totally legit.

On July 24, 2015 7:01:53 AM CEST, Rod Vagg [email protected] wrote:

@kkoopa do we even need the method signature helpers any more? They
might be useful to keep for backward-compat but perhaps we should start
advising people to use void MethodName(const Nan::FunctionCallbackInfo<v8::Value>& info) etc. for these since
that's all it is now?


Reply to this email directly or view it on GitHub:
#371 (comment)

@rvagg
Copy link
Member

rvagg commented Jul 29, 2015

Cleaned up maybe_types.md and converters.md, added a script @ docs/.build.sh which can be run as npm run docs and will insert a TOC into the README.md with links to the sections in each of the docs. See https://github.com/nodejs/nan/blob/newdocs/README.md (old TOC isn't fully removed yet and appears underneath).

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 29, 2015

Cool, having a script for that is very useful (despite it being Perl ;)). The Makefile should also get a docs target.

@rvagg
Copy link
Member

rvagg commented Jul 29, 2015

💥 done!

pretty much everything has been documented now, see the unticked items for the ones I decided to not include.

README has been trimmed and TOC generated along with a Makefile target and package.json script entry for doing it. The only thing I'm hesitant about here is using relative URLs from the TOC because I don't think npmjs.org rewrites them to point back to GitHub so we may have to do complete URLs; but we can fix that later if need be.

PTAL! I'm desperate to get io.js v3 out so we can move on to Node.js v4 and get it all done before the end of August. This is the primary blocker, v3 is ready to roll and I can push do a release proposal as soon as we have nan@2 in npm.

Next step for me is to write up a blog post describing what's changed at a high level and giving a conversion process that folks can follow. I'll ping back here when I have that drafted (I'll be working on it from tomorrow!) for feedback. But please don't let that hold up a release.

@kkoopa if you have a high enough level of comfort, could you merge next and newdocs and cut a release? I'm happy with the state of things. There's some rough edges in the README and probably the example needs updating but I'd really rather those things not hold up a release as we can fix all of those things up in patch releases after a 2.0.0.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 29, 2015

Sounds like a plan. I'm back from Berlin now. Will push out the overdue 1.9 as well. ETA before Saturday. The example in README is just copypasta from the included example, which I have updated some months ago. I'll make sure it builds.

If something is profoundly wrong, we'll release a minor update regardless of semver. The only way of finding out is by releasing.

Is that npm bug where index.js randomly isn't included fixed yet?

@rvagg
Copy link
Member

rvagg commented Jul 29, 2015

I haven't seen the npm bug again, I think it should be good to go. Can always patch release if it happens again!

Let me know if there's anything I can do to push this along and make sure it gets out into the wild ASAP.

Also, re perl, it wasn't the first tool for the job, I considered, in the following order:

  1. simple utils like head and tail, use-case is too complex, however
  2. bash + sed, but making it cross-platform is a PITA and it's also pretty complex for simple sed
  3. node .. but the script would end up too big to justify it
  4. awk but it's so easy to make ugly and unreadable AWK scripts
  5. bash + perl which turned out to be pretty compact for this use-case

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 29, 2015

I should have a couple hours free to start working on this in six hours or so, then some more during Thursday evening, and then all of Friday if need be. I'll post a message here if I discover something tonight. Missing documentation has been the only holdup for the last couple of months, and now the docs are good enough for an initial release. As you said, we can always add more documentation in retrospect.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 30, 2015

@rvagg It would be nice to embed some more information from the V8 Embedder's Guide

Such as https://developers.google.com/v8/get_started which has a part saying

  • An isolate is a VM instance with its own heap.
  • A local handle is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works.
  • A handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope.
  • A context is an execution environment that allows separate, unrelated, JavaScript code to run in a single instance of V8. You must explicitly specify the context in which you want any JavaScript code to be run.

Then there are
https://developers.google.com/v8/embed#handles
https://developers.google.com/v8/embed#contexts
https://developers.google.com/v8/embed#templates
https://developers.google.com/v8/embed#exceptions
https://developers.google.com/v8/embed#inherit
which are also relevant.

@rvagg
Copy link
Member

rvagg commented Jul 31, 2015

done @ 2a97753

@kkoopa kkoopa merged commit 2a97753 into next Jul 31, 2015
@kkoopa kkoopa deleted the newdocs branch July 31, 2015 22:26
@rvagg
Copy link
Member

rvagg commented Sep 25, 2015

https://nodesource.com/blog/cpp-addons-for-nodejs-v4 <-- migration guide

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants