Viewing file: module_wrap.h (3.1 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef SRC_MODULE_WRAP_H_ #define SRC_MODULE_WRAP_H_
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#include <unordered_map> #include <string> #include <vector> #include "base_object.h"
namespace node {
class Environment;
namespace loader {
enum ScriptType : int { kScript, kModule, kFunction, };
enum HostDefinedOptions : int { kType = 8, kID = 9, kLength = 10, };
class ModuleWrap : public BaseObject { public: static void Initialize(v8::Local<v8::Object> target, v8::Local<v8::Value> unused, v8::Local<v8::Context> context, void* priv); static void HostInitializeImportMetaObjectCallback( v8::Local<v8::Context> context, v8::Local<v8::Module> module, v8::Local<v8::Object> meta);
void MemoryInfo(MemoryTracker* tracker) const override { tracker->TrackField("url", url_); tracker->TrackField("resolve_cache", resolve_cache_); }
inline uint32_t id() { return id_; } static ModuleWrap* GetFromID(node::Environment*, uint32_t id);
SET_MEMORY_INFO_NAME(ModuleWrap) SET_SELF_SIZE(ModuleWrap)
private: ModuleWrap(Environment* env, v8::Local<v8::Object> object, v8::Local<v8::Module> module, v8::Local<v8::String> url); ~ModuleWrap() override;
static void New(const v8::FunctionCallbackInfo<v8::Value>& args); static void Link(const v8::FunctionCallbackInfo<v8::Value>& args); static void Instantiate(const v8::FunctionCallbackInfo<v8::Value>& args); static void Evaluate(const v8::FunctionCallbackInfo<v8::Value>& args); static void GetNamespace(const v8::FunctionCallbackInfo<v8::Value>& args); static void GetStatus(const v8::FunctionCallbackInfo<v8::Value>& args); static void GetError(const v8::FunctionCallbackInfo<v8::Value>& args); static void GetStaticDependencySpecifiers( const v8::FunctionCallbackInfo<v8::Value>& args);
static void SetImportModuleDynamicallyCallback( const v8::FunctionCallbackInfo<v8::Value>& args); static void SetInitializeImportMetaObjectCallback( const v8::FunctionCallbackInfo<v8::Value>& args); static v8::MaybeLocal<v8::Value> SyntheticModuleEvaluationStepsCallback( v8::Local<v8::Context> context, v8::Local<v8::Module> module); static void SetSyntheticExport( const v8::FunctionCallbackInfo<v8::Value>& args); static void CreateCachedData(const v8::FunctionCallbackInfo<v8::Value>& args);
static v8::MaybeLocal<v8::Module> ResolveCallback( v8::Local<v8::Context> context, v8::Local<v8::String> specifier, v8::Local<v8::Module> referrer); static ModuleWrap* GetFromModule(node::Environment*, v8::Local<v8::Module>);
v8::Global<v8::Function> synthetic_evaluation_steps_; bool synthetic_ = false; v8::Global<v8::Module> module_; v8::Global<v8::String> url_; bool linked_ = false; std::unordered_map<std::string, v8::Global<v8::Promise>> resolve_cache_; v8::Global<v8::Context> context_; uint32_t id_; };
} // namespace loader } // namespace node
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#endif // SRC_MODULE_WRAP_H_
|