From 722db25e6cb6fd2e4e54e420594d54c332c3cc13 Mon Sep 17 00:00:00 2001 From: birme Date: Sat, 13 Jun 2020 00:57:57 +0200 Subject: [PATCH] Hello world --- .gitignore | 2 + binding.gyp | 19 ++ index.js | 6 + package-lock.json | 815 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 19 ++ src/binding.cc | 8 + src/node-srt.cc | 30 ++ src/node-srt.h | 11 + 8 files changed, 910 insertions(+) create mode 100644 .gitignore create mode 100644 binding.gyp create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/binding.cc create mode 100644 src/node-srt.cc create mode 100644 src/node-srt.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd87e2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +build diff --git a/binding.gyp b/binding.gyp new file mode 100644 index 0000000..21f0ae1 --- /dev/null +++ b/binding.gyp @@ -0,0 +1,19 @@ +{ + "targets": [{ + "target_name": "node_srt", + "cflags!": [ "-fno-exceptions" ], + "cflags_cc!": [ "-fno-exceptions" ], + "sources": [ + "src/binding.cc", + "src/node-srt.cc" + ], + 'include_dirs': [ + " +#include "node-srt.h" + +Napi::Object InitAll(Napi::Env env, Napi::Object exports) { + return NodeSRT::Init(env, exports); +} + +NODE_API_MODULE(NODE_GYP_MODULE_NAME, InitAll) \ No newline at end of file diff --git a/src/node-srt.cc b/src/node-srt.cc new file mode 100644 index 0000000..b49f1a3 --- /dev/null +++ b/src/node-srt.cc @@ -0,0 +1,30 @@ +#include "node-srt.h" + +Napi::FunctionReference NodeSRT::constructor; + +Napi::Object NodeSRT::Init(Napi::Env env, Napi::Object exports) { + Napi::HandleScope scope(env); + + Napi::Function func = DefineClass(env, "NodeSRT", { + InstanceMethod("hello", &NodeSRT::Hello) + }); + + constructor = Napi::Persistent(func); + constructor.SuppressDestruct(); + + exports.Set("NodeSRT", func); + return exports; +} + +NodeSRT::NodeSRT(const Napi::CallbackInfo& info) : Napi::ObjectWrap(info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); +} + +Napi::Value NodeSRT::Hello(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::HandleScope scope(env); + + Napi::String returnValue = Napi::String::New(env, "Hello World"); + return returnValue; +} \ No newline at end of file diff --git a/src/node-srt.h b/src/node-srt.h new file mode 100644 index 0000000..d53af28 --- /dev/null +++ b/src/node-srt.h @@ -0,0 +1,11 @@ +#include + +class NodeSRT : public Napi::ObjectWrap { + public: + static Napi::Object Init(Napi::Env env, Napi::Object exports); + NodeSRT(const Napi::CallbackInfo& info); + + private: + static Napi::FunctionReference constructor; + Napi::Value Hello(const Napi::CallbackInfo& info); +}; \ No newline at end of file