• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef SRC_NODE_API_INTERNALS_H_
2 #define SRC_NODE_API_INTERNALS_H_
3 
4 #include "v8.h"
5 #define NAPI_EXPERIMENTAL
6 #include "env-inl.h"
7 #include "js_native_api_v8.h"
8 #include "node_api.h"
9 #include "util-inl.h"
10 
11 struct node_napi_env__ : public napi_env__ {
12   node_napi_env__(v8::Local<v8::Context> context,
13                   const std::string& module_filename);
14 
15   bool can_call_into_js() const override;
16   v8::Maybe<bool> mark_arraybuffer_as_untransferable(
17       v8::Local<v8::ArrayBuffer> ab) const override;
18   void CallFinalizer(napi_finalize cb, void* data, void* hint) override;
19 
node_envnode_napi_env__20   inline node::Environment* node_env() const {
21     return node::Environment::GetCurrent(context());
22   }
GetFilenamenode_napi_env__23   inline const char* GetFilename() const { return filename.c_str(); }
24 
25   std::string filename;
26 };
27 
28 using node_napi_env = node_napi_env__*;
29 
30 #endif  // SRC_NODE_API_INTERNALS_H_
31