diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2021-09-07 02:44:14 +0800 |
---|---|---|
committer | Beth Griggs <bgriggs@redhat.com> | 2021-09-22 00:27:06 +0100 |
commit | 31994fbf8e9e7c6f59a78c14d687e82c877ba660 (patch) | |
tree | f5e6dbd8dfe0effc448816957be0e06e492addb4 | |
parent | 81cb14bb589947e1e2e1de7459e549f7309734d4 (diff) | |
download | node-new-31994fbf8e9e7c6f59a78c14d687e82c877ba660.tar.gz |
src: register zlib external references for snapshot
PR-URL: https://github.com/nodejs/node/pull/40050
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Khaidi Chu <i@2333.moe>
-rw-r--r-- | src/node_external_reference.h | 1 | ||||
-rw-r--r-- | src/node_zlib.cc | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/node_external_reference.h b/src/node_external_reference.h index 4ebaa8d27f..f51999e996 100644 --- a/src/node_external_reference.h +++ b/src/node_external_reference.h @@ -81,6 +81,7 @@ class ExternalReferenceRegistry { V(types) \ V(uv) \ V(v8) \ + V(zlib) \ V(worker) #if NODE_HAVE_I18N_SUPPORT diff --git a/src/node_zlib.cc b/src/node_zlib.cc index b8733229b0..ec0a8e90f1 100644 --- a/src/node_zlib.cc +++ b/src/node_zlib.cc @@ -25,6 +25,7 @@ #include "async_wrap-inl.h" #include "env-inl.h" +#include "node_external_reference.h" #include "threadpoolwork-inl.h" #include "util-inl.h" @@ -1266,6 +1267,16 @@ struct MakeClass { env->SetConstructorFunction(target, name, z); } + + static void Make(ExternalReferenceRegistry* registry) { + registry->Register(Stream::New); + registry->Register(Stream::template Write<true>); + registry->Register(Stream::template Write<false>); + registry->Register(Stream::Close); + registry->Register(Stream::Init); + registry->Register(Stream::Params); + registry->Register(Stream::Reset); + } }; void Initialize(Local<Object> target, @@ -1283,6 +1294,12 @@ void Initialize(Local<Object> target, FIXED_ONE_BYTE_STRING(env->isolate(), ZLIB_VERSION)).Check(); } +void RegisterExternalReferences(ExternalReferenceRegistry* registry) { + MakeClass<ZlibStream>::Make(registry); + MakeClass<BrotliEncoderStream>::Make(registry); + MakeClass<BrotliDecoderStream>::Make(registry); +} + } // anonymous namespace void DefineZlibConstants(Local<Object> target) { @@ -1408,3 +1425,4 @@ void DefineZlibConstants(Local<Object> target) { } // namespace node NODE_MODULE_CONTEXT_AWARE_INTERNAL(zlib, node::Initialize) +NODE_MODULE_EXTERNAL_REFERENCE(zlib, node::RegisterExternalReferences) |