@encharm/cws 4.4.1 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +1 -1
- package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
- package/dist/bindings/cws_linux_arm64_node115.node +0 -0
- package/dist/bindings/cws_linux_arm64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node115.node +0 -0
- package/dist/bindings/cws_linux_x64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node137.node +0 -0
- package/dist/bindings/cws_win32_x64_node108.node +0 -0
- package/dist/bindings/cws_win32_x64_node115.node +0 -0
- package/dist/bindings/cws_win32_x64_node127.node +0 -0
- package/dist/bindings/cws_win32_x64_node83.node +0 -0
- package/dist/bindings/cws_win32_x64_node93.node +0 -0
- package/package.json +1 -1
- package/src/Addon.h +13 -23
- package/src/Socket.h +0 -1
- package/src/headers/22/acorn_version.h +6 -0
- package/src/headers/22/aliased_buffer-inl.h +243 -0
- package/src/headers/22/aliased_buffer.h +206 -0
- package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
- package/src/headers/{18 → 22}/async_wrap.h +65 -59
- package/src/headers/{18 → 22}/base_object-inl.h +57 -117
- package/src/headers/{18 → 22}/base_object.h +58 -30
- package/src/headers/22/base_object_types.h +74 -0
- package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/22/blob_serializer_deserializer.h +132 -0
- package/src/headers/{16 → 22}/callback_queue.h +1 -0
- package/src/headers/{16 → 22}/cares_wrap.h +27 -20
- package/src/headers/22/cjs_module_lexer_version.h +6 -0
- package/src/headers/22/cleanup_queue-inl.h +62 -0
- package/src/headers/22/cleanup_queue.h +85 -0
- package/src/headers/22/compile_cache.h +104 -0
- package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
- package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
- package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
- package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
- package/src/headers/22/crypto/ncrypto.h +752 -0
- package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
- package/src/headers/{18 → 22}/debug_utils.h +25 -19
- package/src/headers/22/encoding_binding.h +59 -0
- package/src/headers/{14 → 22}/env-inl.h +276 -409
- package/src/headers/22/env.h +1266 -0
- package/src/headers/22/env_properties.h +497 -0
- package/src/headers/{18 → 22}/handle_wrap.h +2 -0
- package/src/headers/{18 → 22}/histogram.h +88 -48
- package/src/headers/{16 → 22}/inspector_agent.h +17 -1
- package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
- package/src/headers/22/js_native_api.h +619 -0
- package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
- package/src/headers/22/js_native_api_v8.h +485 -0
- package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
- package/src/headers/22/json_parser.h +40 -0
- package/src/headers/{16 → 22}/json_utils.h +19 -8
- package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
- package/src/headers/{14 → 22}/memory_tracker.h +13 -8
- package/src/headers/{16 → 22}/module_wrap.h +49 -19
- package/src/headers/22/ncrypto/ncrypto.h +752 -0
- package/src/headers/{18 → 22}/node.h +465 -68
- package/src/headers/{18 → 22}/node_api.h +66 -81
- package/src/headers/{18 → 22}/node_api_internals.h +8 -4
- package/src/headers/{18 → 22}/node_api_types.h +5 -0
- package/src/headers/22/node_binding.h +154 -0
- package/src/headers/{18 → 22}/node_blob.h +46 -78
- package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
- package/src/headers/{18 → 22}/node_bob.h +2 -6
- package/src/headers/{18 → 22}/node_buffer.h +1 -1
- package/src/headers/22/node_builtins.h +220 -0
- package/src/headers/{18 → 22}/node_constants.h +3 -5
- package/src/headers/22/node_context_data.h +168 -0
- package/src/headers/22/node_contextify.h +199 -0
- package/src/headers/{16 → 22}/node_crypto.h +1 -2
- package/src/headers/22/node_dotenv.h +45 -0
- package/src/headers/{18 → 22}/node_errors.h +86 -27
- package/src/headers/22/node_exit_code.h +54 -0
- package/src/headers/22/node_external_reference.h +249 -0
- package/src/headers/{18 → 22}/node_file-inl.h +127 -30
- package/src/headers/{16 → 22}/node_file.h +122 -11
- package/src/headers/{18 → 22}/node_http2.h +28 -11
- package/src/headers/{16 → 22}/node_http2_state.h +34 -25
- package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
- package/src/headers/{18 → 22}/node_http_common.h +56 -55
- package/src/headers/{16 → 22}/node_i18n.h +5 -18
- package/src/headers/{18 → 22}/node_internals.h +121 -59
- package/src/headers/{18 → 22}/node_main_instance.h +4 -31
- package/src/headers/{18 → 22}/node_messaging.h +27 -10
- package/src/headers/{18 → 22}/node_metadata.h +23 -1
- package/src/headers/{18 → 22}/node_options-inl.h +24 -11
- package/src/headers/{18 → 22}/node_options.h +124 -39
- package/src/headers/{18 → 22}/node_perf.h +0 -2
- package/src/headers/{18 → 22}/node_perf_common.h +20 -9
- package/src/headers/{18 → 22}/node_platform.h +11 -5
- package/src/headers/{18 → 22}/node_process.h +26 -14
- package/src/headers/22/node_realm-inl.h +145 -0
- package/src/headers/22/node_realm.h +184 -0
- package/src/headers/{16 → 22}/node_report.h +13 -17
- package/src/headers/{16 → 22}/node_revert.h +3 -3
- package/src/headers/{16 → 22}/node_root_certs.h +902 -461
- package/src/headers/22/node_sea.h +64 -0
- package/src/headers/22/node_shadow_realm.h +46 -0
- package/src/headers/22/node_snapshot_builder.h +57 -0
- package/src/headers/22/node_snapshotable.h +174 -0
- package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
- package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
- package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/22/node_threadsafe_cow.h +105 -0
- package/src/headers/22/node_union_bytes.h +81 -0
- package/src/headers/22/node_url.h +96 -0
- package/src/headers/22/node_v8.h +77 -0
- package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
- package/src/headers/{16 → 22}/node_version.h +21 -9
- package/src/headers/22/node_wasi.h +185 -0
- package/src/headers/{14 → 22}/node_watchdog.h +2 -0
- package/src/headers/{18 → 22}/node_worker.h +7 -2
- package/src/headers/22/permission/child_process_permission.h +31 -0
- package/src/headers/22/permission/fs_permission.h +167 -0
- package/src/headers/22/permission/inspector_permission.h +31 -0
- package/src/headers/22/permission/permission.h +99 -0
- package/src/headers/22/permission/permission_base.h +60 -0
- package/src/headers/22/permission/wasi_permission.h +31 -0
- package/src/headers/22/permission/worker_permission.h +31 -0
- package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
- package/src/headers/{14 → 22}/spawn_sync.h +3 -3
- package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
- package/src/headers/{18 → 22}/stream_base.h +35 -16
- package/src/headers/{18 → 22}/stream_pipe.h +3 -4
- package/src/headers/{16 → 22}/stream_wrap.h +2 -1
- package/src/headers/{18 → 22}/string_bytes.h +5 -14
- package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
- package/src/headers/{16 → 22}/string_decoder.h +0 -1
- package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
- package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
- package/src/headers/22/timers.h +76 -0
- package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
- package/src/headers/{16 → 22}/udp_wrap.h +8 -5
- package/src/headers/22/undici_version.h +6 -0
- package/src/headers/{18 → 22}/util-inl.h +97 -127
- package/src/headers/{18 → 22}/util.h +293 -106
- package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
- package/src/headers/24/acorn_version.h +6 -0
- package/src/headers/24/addon_permission.h +31 -0
- package/src/headers/{16/tracing → 24}/agent.h +1 -1
- package/src/headers/24/aliased_buffer-inl.h +244 -0
- package/src/headers/24/aliased_buffer.h +206 -0
- package/src/headers/24/amaro_version.h +6 -0
- package/src/headers/24/application.h +165 -0
- package/src/headers/24/async_context_frame.h +33 -0
- package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
- package/src/headers/{16 → 24}/async_wrap.h +86 -88
- package/src/headers/{16 → 24}/base_object-inl.h +75 -119
- package/src/headers/{16 → 24}/base_object.h +84 -40
- package/src/headers/24/base_object_types.h +74 -0
- package/src/headers/24/bindingdata.h +272 -0
- package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/24/blob_serializer_deserializer.h +132 -0
- package/src/headers/{18 → 24}/callback_queue.h +1 -0
- package/src/headers/{18 → 24}/cares_wrap.h +68 -144
- package/src/headers/24/child_process_permission.h +31 -0
- package/src/headers/24/cid.h +127 -0
- package/src/headers/24/cjs_module_lexer_version.h +6 -0
- package/src/headers/24/cleanup_queue-inl.h +36 -0
- package/src/headers/24/cleanup_queue.h +79 -0
- package/src/headers/24/compile_cache.h +113 -0
- package/src/headers/24/cppgc_helpers-inl.h +65 -0
- package/src/headers/24/cppgc_helpers.h +162 -0
- package/src/headers/24/crypto/crypto_aes.h +97 -0
- package/src/headers/24/crypto/crypto_argon2.h +86 -0
- package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
- package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
- package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
- package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
- package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/24/crypto/crypto_common.h +48 -0
- package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
- package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
- package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
- package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
- package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
- package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
- package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
- package/src/headers/24/crypto/crypto_kem.h +113 -0
- package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
- package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
- package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
- package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
- package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
- package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
- package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
- package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
- package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
- package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
- package/src/headers/24/crypto/crypto_x509.h +140 -0
- package/src/headers/24/data.h +148 -0
- package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
- package/src/headers/{16 → 24}/debug_utils.h +31 -22
- package/src/headers/24/defs.h +254 -0
- package/src/headers/24/embedded_data.h +17 -0
- package/src/headers/24/encoding_binding.h +60 -0
- package/src/headers/24/endpoint.h +421 -0
- package/src/headers/{16 → 24}/env-inl.h +198 -540
- package/src/headers/24/env.h +1257 -0
- package/src/headers/24/env_properties.h +561 -0
- package/src/headers/24/fs_permission.h +167 -0
- package/src/headers/{16 → 24}/handle_wrap.h +4 -2
- package/src/headers/{16 → 24}/histogram-inl.h +34 -15
- package/src/headers/24/histogram.h +279 -0
- package/src/headers/24/http3.h +44 -0
- package/src/headers/{18 → 24}/inspector_agent.h +23 -2
- package/src/headers/24/inspector_permission.h +31 -0
- package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
- package/src/headers/24/io_agent.h +30 -0
- package/src/headers/{18 → 24}/js_native_api.h +74 -30
- package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
- package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
- package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
- package/src/headers/24/json_parser.h +40 -0
- package/src/headers/{18 → 24}/json_utils.h +19 -8
- package/src/headers/24/logstream.h +81 -0
- package/src/headers/24/main_thread_interface.h +116 -0
- package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
- package/src/headers/{16 → 24}/memory_tracker.h +58 -9
- package/src/headers/24/module_wrap.h +229 -0
- package/src/headers/24/ncrypto.h +1625 -0
- package/src/headers/24/network_agent.h +118 -0
- package/src/headers/24/network_inspector.h +45 -0
- package/src/headers/24/network_resource_manager.h +29 -0
- package/src/headers/{16 → 24}/node.h +560 -72
- package/src/headers/24/node_api.h +269 -0
- package/src/headers/24/node_api_internals.h +46 -0
- package/src/headers/{16 → 24}/node_api_types.h +13 -11
- package/src/headers/24/node_binding.h +163 -0
- package/src/headers/{16 → 24}/node_blob.h +46 -78
- package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
- package/src/headers/{16 → 24}/node_bob.h +2 -6
- package/src/headers/{14 → 24}/node_buffer.h +1 -1
- package/src/headers/24/node_builtins.h +223 -0
- package/src/headers/24/node_config_file.h +65 -0
- package/src/headers/{14 → 24}/node_constants.h +3 -5
- package/src/headers/24/node_context_data.h +168 -0
- package/src/headers/24/node_contextify.h +261 -0
- package/src/headers/{18 → 24}/node_crypto.h +7 -2
- package/src/headers/24/node_debug.h +25 -0
- package/src/headers/24/node_dotenv.h +45 -0
- package/src/headers/{16 → 24}/node_errors.h +146 -32
- package/src/headers/24/node_exit_code.h +54 -0
- package/src/headers/{18 → 24}/node_external_reference.h +44 -22
- package/src/headers/{16 → 24}/node_file-inl.h +156 -50
- package/src/headers/{18 → 24}/node_file.h +129 -15
- package/src/headers/{16 → 24}/node_http2.h +53 -18
- package/src/headers/{14 → 24}/node_http2_state.h +35 -25
- package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
- package/src/headers/{16 → 24}/node_http_common.h +63 -59
- package/src/headers/{18 → 24}/node_i18n.h +5 -18
- package/src/headers/{16 → 24}/node_internals.h +131 -76
- package/src/headers/24/node_json.h +24 -0
- package/src/headers/24/node_large_page.h +34 -0
- package/src/headers/24/node_locks.h +180 -0
- package/src/headers/{14 → 24}/node_main_instance.h +15 -44
- package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
- package/src/headers/{16 → 24}/node_messaging.h +27 -11
- package/src/headers/{16 → 24}/node_metadata.h +44 -2
- package/src/headers/24/node_modules.h +93 -0
- package/src/headers/{16 → 24}/node_options-inl.h +93 -46
- package/src/headers/{16 → 24}/node_options.h +251 -63
- package/src/headers/{16 → 24}/node_perf.h +6 -25
- package/src/headers/{16 → 24}/node_perf_common.h +23 -10
- package/src/headers/24/node_platform.h +286 -0
- package/src/headers/24/node_process.h +111 -0
- package/src/headers/24/node_realm-inl.h +153 -0
- package/src/headers/24/node_realm.h +236 -0
- package/src/headers/{18 → 24}/node_report.h +13 -17
- package/src/headers/{18 → 24}/node_revert.h +3 -3
- package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
- package/src/headers/24/node_sea.h +74 -0
- package/src/headers/24/node_shadow_realm.h +46 -0
- package/src/headers/24/node_snapshot_builder.h +57 -0
- package/src/headers/24/node_snapshotable.h +174 -0
- package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
- package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
- package/src/headers/24/node_sqlite.h +270 -0
- package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
- package/src/headers/24/node_string.h +101 -0
- package/src/headers/24/node_task_runner.h +92 -0
- package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/24/node_threadsafe_cow.h +105 -0
- package/src/headers/24/node_union_bytes.h +81 -0
- package/src/headers/24/node_url.h +101 -0
- package/src/headers/24/node_url_pattern.h +118 -0
- package/src/headers/24/node_v8.h +77 -0
- package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
- package/src/headers/{18 → 24}/node_version.h +18 -6
- package/src/headers/24/node_wasi.h +185 -0
- package/src/headers/24/node_wasm_web_api.h +55 -0
- package/src/headers/{18 → 24}/node_watchdog.h +2 -0
- package/src/headers/24/node_webstorage.h +60 -0
- package/src/headers/{16 → 24}/node_worker.h +24 -10
- package/src/headers/24/packet.h +155 -0
- package/src/headers/24/path.h +33 -0
- package/src/headers/24/permission/addon_permission.h +31 -0
- package/src/headers/24/permission/child_process_permission.h +31 -0
- package/src/headers/24/permission/fs_permission.h +167 -0
- package/src/headers/24/permission/inspector_permission.h +31 -0
- package/src/headers/24/permission/permission.h +100 -0
- package/src/headers/24/permission/permission_base.h +65 -0
- package/src/headers/24/permission/wasi_permission.h +31 -0
- package/src/headers/24/permission/worker_permission.h +31 -0
- package/src/headers/24/permission.h +100 -0
- package/src/headers/24/permission_base.h +65 -0
- package/src/headers/24/preferredaddress.h +72 -0
- package/src/headers/24/protocol_helper.h +27 -0
- package/src/headers/24/queue.h +306 -0
- package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
- package/src/headers/{16 → 24}/req_wrap.h +3 -1
- package/src/headers/24/runtime_agent.h +41 -0
- package/src/headers/24/session.h +528 -0
- package/src/headers/24/sessionticket.h +108 -0
- package/src/headers/{18 → 24}/spawn_sync.h +9 -8
- package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
- package/src/headers/{16 → 24}/stream_base.h +43 -19
- package/src/headers/{16 → 24}/stream_pipe.h +7 -4
- package/src/headers/{18 → 24}/stream_wrap.h +2 -3
- package/src/headers/24/streams.h +370 -0
- package/src/headers/{16 → 24}/string_bytes.h +8 -21
- package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
- package/src/headers/{18 → 24}/string_decoder.h +0 -1
- package/src/headers/24/target_agent.h +75 -0
- package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
- package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
- package/src/headers/24/timer_wrap-inl.h +32 -0
- package/src/headers/{16 → 24}/timer_wrap.h +7 -4
- package/src/headers/24/timers.h +75 -0
- package/src/headers/24/tlscontext.h +228 -0
- package/src/headers/24/tokens.h +256 -0
- package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
- package/src/headers/24/traced_value.h +129 -0
- package/src/headers/24/tracing_agent.h +43 -0
- package/src/headers/24/transportparams.h +166 -0
- package/src/headers/{16 → 24}/tty_wrap.h +0 -1
- package/src/headers/{18 → 24}/udp_wrap.h +8 -5
- package/src/headers/24/undici_version.h +6 -0
- package/src/headers/{16 → 24}/util-inl.h +267 -131
- package/src/headers/{16 → 24}/util.h +338 -146
- package/src/headers/24/v8-external-memory-accounter.h +60 -0
- package/src/headers/24/v8-fast-api-calls.h +819 -0
- package/src/headers/24/v8-inspector.h +426 -0
- package/src/headers/24/wasi_permission.h +31 -0
- package/src/headers/24/worker_agent.h +40 -0
- package/src/headers/24/worker_inspector.h +124 -0
- package/src/headers/24/worker_permission.h +31 -0
- package/src/headers/24/zlib_version.h +6 -0
- package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
- package/dist/bindings/cws_darwin_x64_node83.node +0 -0
- package/dist/bindings/cws_darwin_x64_node93.node +0 -0
- package/dist/bindings/cws_linux_arm64_node83.node +0 -0
- package/dist/bindings/cws_linux_arm64_node93.node +0 -0
- package/dist/bindings/cws_linux_x64_node83.node +0 -0
- package/dist/bindings/cws_linux_x64_node93.node +0 -0
- package/src/headers/14/aliased_buffer.h +0 -263
- package/src/headers/14/allocated_buffer-inl.h +0 -110
- package/src/headers/14/allocated_buffer.h +0 -73
- package/src/headers/14/async_wrap.h +0 -230
- package/src/headers/14/base64.h +0 -183
- package/src/headers/14/base_object-inl.h +0 -371
- package/src/headers/14/base_object.h +0 -281
- package/src/headers/14/callback_queue-inl.h +0 -97
- package/src/headers/14/callback_queue.h +0 -78
- package/src/headers/14/debug_utils.h +0 -181
- package/src/headers/14/env.h +0 -1388
- package/src/headers/14/handle_wrap.h +0 -117
- package/src/headers/14/histogram-inl.h +0 -83
- package/src/headers/14/histogram.h +0 -98
- package/src/headers/14/inspector_agent.h +0 -149
- package/src/headers/14/inspector_profiler.h +0 -137
- package/src/headers/14/js_native_api.h +0 -544
- package/src/headers/14/js_native_api_types.h +0 -143
- package/src/headers/14/js_native_api_v8.h +0 -301
- package/src/headers/14/js_native_api_v8_internals.h +0 -38
- package/src/headers/14/json_utils.h +0 -161
- package/src/headers/14/memory_tracker-inl.h +0 -355
- package/src/headers/14/module_wrap.h +0 -99
- package/src/headers/14/node.h +0 -1032
- package/src/headers/14/node_api.h +0 -255
- package/src/headers/14/node_api_types.h +0 -44
- package/src/headers/14/node_binding.h +0 -99
- package/src/headers/14/node_context_data.h +0 -44
- package/src/headers/14/node_contextify.h +0 -161
- package/src/headers/14/node_crypto.h +0 -865
- package/src/headers/14/node_crypto_bio.h +0 -195
- package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
- package/src/headers/14/node_crypto_clienthello.h +0 -132
- package/src/headers/14/node_crypto_common.h +0 -138
- package/src/headers/14/node_crypto_groups.h +0 -415
- package/src/headers/14/node_dtrace.h +0 -86
- package/src/headers/14/node_errors.h +0 -214
- package/src/headers/14/node_file-inl.h +0 -306
- package/src/headers/14/node_file.h +0 -417
- package/src/headers/14/node_http2.h +0 -1191
- package/src/headers/14/node_http_common-inl.h +0 -194
- package/src/headers/14/node_http_common.h +0 -529
- package/src/headers/14/node_i18n.h +0 -144
- package/src/headers/14/node_internals.h +0 -405
- package/src/headers/14/node_mem.h +0 -45
- package/src/headers/14/node_messaging.h +0 -303
- package/src/headers/14/node_metadata.h +0 -109
- package/src/headers/14/node_mutex.h +0 -247
- package/src/headers/14/node_native_module.h +0 -101
- package/src/headers/14/node_native_module_env.h +0 -66
- package/src/headers/14/node_options-inl.h +0 -451
- package/src/headers/14/node_options.h +0 -481
- package/src/headers/14/node_perf.h +0 -181
- package/src/headers/14/node_perf_common.h +0 -97
- package/src/headers/14/node_platform.h +0 -189
- package/src/headers/14/node_process.h +0 -40
- package/src/headers/14/node_report.h +0 -47
- package/src/headers/14/node_revert.h +0 -72
- package/src/headers/14/node_root_certs.h +0 -3458
- package/src/headers/14/node_sockaddr-inl.h +0 -170
- package/src/headers/14/node_sockaddr.h +0 -123
- package/src/headers/14/node_stat_watcher.h +0 -70
- package/src/headers/14/node_union_bytes.h +0 -103
- package/src/headers/14/node_url.h +0 -188
- package/src/headers/14/node_version.h +0 -98
- package/src/headers/14/node_wasi.h +0 -108
- package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/14/node_win32_etw_provider.h +0 -99
- package/src/headers/14/node_worker.h +0 -141
- package/src/headers/14/pipe_wrap.h +0 -78
- package/src/headers/14/req_wrap-inl.h +0 -170
- package/src/headers/14/req_wrap.h +0 -77
- package/src/headers/14/stream_base-inl.h +0 -275
- package/src/headers/14/stream_base.h +0 -434
- package/src/headers/14/stream_pipe.h +0 -73
- package/src/headers/14/stream_wrap.h +0 -130
- package/src/headers/14/string_bytes.h +0 -129
- package/src/headers/14/string_decoder.h +0 -50
- package/src/headers/14/string_search.h +0 -638
- package/src/headers/14/tcp_wrap.h +0 -101
- package/src/headers/14/tls_wrap.h +0 -222
- package/src/headers/14/tracing/agent.h +0 -195
- package/src/headers/14/tracing/traced_value.h +0 -70
- package/src/headers/14/tty_wrap.h +0 -64
- package/src/headers/14/udp_wrap.h +0 -227
- package/src/headers/14/util-inl.h +0 -566
- package/src/headers/14/util.h +0 -804
- package/src/headers/14/v8abbr.h +0 -124
- package/src/headers/16/aliased_buffer.h +0 -315
- package/src/headers/16/allocated_buffer-inl.h +0 -110
- package/src/headers/16/allocated_buffer.h +0 -73
- package/src/headers/16/async_wrap-inl.h +0 -94
- package/src/headers/16/base64-inl.h +0 -189
- package/src/headers/16/base64.h +0 -69
- package/src/headers/16/crypto/crypto_aes.h +0 -89
- package/src/headers/16/crypto/crypto_cipher.h +0 -286
- package/src/headers/16/crypto/crypto_common.h +0 -187
- package/src/headers/16/crypto/crypto_dh.h +0 -157
- package/src/headers/16/crypto/crypto_dsa.h +0 -76
- package/src/headers/16/crypto/crypto_ec.h +0 -169
- package/src/headers/16/crypto/crypto_groups.h +0 -415
- package/src/headers/16/crypto/crypto_hash.h +0 -89
- package/src/headers/16/crypto/crypto_hkdf.h +0 -66
- package/src/headers/16/crypto/crypto_hmac.h +0 -94
- package/src/headers/16/crypto/crypto_keygen.h +0 -301
- package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
- package/src/headers/16/crypto/crypto_random.h +0 -130
- package/src/headers/16/crypto/crypto_rsa.h +0 -141
- package/src/headers/16/crypto/crypto_scrypt.h +0 -87
- package/src/headers/16/crypto/crypto_sig.h +0 -167
- package/src/headers/16/crypto/crypto_spkac.h +0 -20
- package/src/headers/16/crypto/crypto_timing.h +0 -20
- package/src/headers/16/crypto/crypto_x509.h +0 -141
- package/src/headers/16/env.h +0 -1629
- package/src/headers/16/histogram.h +0 -216
- package/src/headers/16/js_native_api.h +0 -561
- package/src/headers/16/js_native_api_v8.h +0 -451
- package/src/headers/16/node.d +0 -315
- package/src/headers/16/node.stp +0 -146
- package/src/headers/16/node_api.h +0 -275
- package/src/headers/16/node_api_internals.h +0 -30
- package/src/headers/16/node_binding.h +0 -99
- package/src/headers/16/node_buffer.h +0 -92
- package/src/headers/16/node_constants.h +0 -84
- package/src/headers/16/node_context_data.h +0 -44
- package/src/headers/16/node_contextify.h +0 -196
- package/src/headers/16/node_dtrace.h +0 -86
- package/src/headers/16/node_external_reference.h +0 -129
- package/src/headers/16/node_main_instance.h +0 -103
- package/src/headers/16/node_native_module.h +0 -101
- package/src/headers/16/node_native_module_env.h +0 -68
- package/src/headers/16/node_platform.h +0 -192
- package/src/headers/16/node_process.h +0 -43
- package/src/headers/16/node_provider.d +0 -80
- package/src/headers/16/node_snapshotable.h +0 -137
- package/src/headers/16/node_union_bytes.h +0 -103
- package/src/headers/16/node_url.h +0 -205
- package/src/headers/16/node_v8.h +0 -41
- package/src/headers/16/node_v8_platform-inl.h +0 -194
- package/src/headers/16/node_wasi.h +0 -108
- package/src/headers/16/node_watchdog.h +0 -152
- package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/16/node_win32_etw_provider.h +0 -99
- package/src/headers/16/spawn_sync.h +0 -242
- package/src/headers/16/string_decoder-inl.h +0 -37
- package/src/headers/16/string_search.h +0 -638
- package/src/headers/16/threadpoolwork-inl.h +0 -57
- package/src/headers/16/tracing/node_trace_buffer.h +0 -83
- package/src/headers/16/tracing/node_trace_writer.h +0 -75
- package/src/headers/16/tracing/trace_event.h +0 -720
- package/src/headers/16/tracing/traced_value.h +0 -70
- package/src/headers/16/v8abbr.h +0 -123
- package/src/headers/16/v8ustack.d +0 -695
- package/src/headers/18/aliased_buffer.h +0 -315
- package/src/headers/18/aliased_struct-inl.h +0 -54
- package/src/headers/18/aliased_struct.h +0 -63
- package/src/headers/18/base64-inl.h +0 -189
- package/src/headers/18/base64.h +0 -69
- package/src/headers/18/connect_wrap.h +0 -26
- package/src/headers/18/connection_wrap.h +0 -30
- package/src/headers/18/crypto/crypto_aes.h +0 -89
- package/src/headers/18/crypto/crypto_bio.h +0 -194
- package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
- package/src/headers/18/crypto/crypto_common.h +0 -151
- package/src/headers/18/crypto/crypto_groups.h +0 -415
- package/src/headers/18/crypto/crypto_x509.h +0 -143
- package/src/headers/18/debug_utils-inl.h +0 -223
- package/src/headers/18/diagnosticfilename-inl.h +0 -33
- package/src/headers/18/env-inl.h +0 -1308
- package/src/headers/18/env.h +0 -1667
- package/src/headers/18/inspector_io.h +0 -78
- package/src/headers/18/inspector_socket.h +0 -60
- package/src/headers/18/inspector_socket_server.h +0 -110
- package/src/headers/18/js_stream.h +0 -52
- package/src/headers/18/memory_tracker.h +0 -284
- package/src/headers/18/module_wrap.h +0 -116
- package/src/headers/18/node_binding.h +0 -99
- package/src/headers/18/node_context_data.h +0 -44
- package/src/headers/18/node_contextify.h +0 -196
- package/src/headers/18/node_dir.h +0 -52
- package/src/headers/18/node_dtrace.h +0 -86
- package/src/headers/18/node_http2_state.h +0 -149
- package/src/headers/18/node_mem-inl.h +0 -112
- package/src/headers/18/node_native_module.h +0 -109
- package/src/headers/18/node_native_module_env.h +0 -71
- package/src/headers/18/node_object_wrap.h +0 -132
- package/src/headers/18/node_snapshot_builder.h +0 -43
- package/src/headers/18/node_snapshotable.h +0 -130
- package/src/headers/18/node_union_bytes.h +0 -103
- package/src/headers/18/node_url.h +0 -205
- package/src/headers/18/node_v8.h +0 -41
- package/src/headers/18/node_wasi.h +0 -108
- package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/18/node_win32_etw_provider.h +0 -99
- package/src/headers/18/string_search.h +0 -638
- package/src/headers/18/tracing/node_trace_buffer.h +0 -83
- package/src/headers/18/tracing/node_trace_writer.h +0 -75
- package/src/headers/18/tracing/trace_event_common.h +0 -1109
- package/src/headers/18/tracing/traced_value.h +0 -70
- package/src/headers/18/v8abbr.h +0 -123
- /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
- /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
- /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
- /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
- /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
- /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
- /package/src/headers/{14 → 22}/inspector_io.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
- /package/src/headers/{14 → 22}/js_stream.h +0 -0
- /package/src/headers/{14 → 22}/node_dir.h +0 -0
- /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
- /package/src/headers/{16 → 22}/node_mem.h +0 -0
- /package/src/headers/{16 → 22}/node_mutex.h +0 -0
- /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
- /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
- /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
- /package/src/headers/{18 → 22}/req_wrap.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
- /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
- /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
- /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
- /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
- /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
- /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
- /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{16 → 24}/inspector_io.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
- /package/src/headers/{16 → 24}/js_stream.h +0 -0
- /package/src/headers/{16 → 24}/node_dir.h +0 -0
- /package/src/headers/{18 → 24}/node_mem.h +0 -0
- /package/src/headers/{18 → 24}/node_mutex.h +0 -0
- /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
- /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
- /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
- /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
#ifndef SRC_NODE_BLOB_H_
|
|
2
2
|
#define SRC_NODE_BLOB_H_
|
|
3
3
|
|
|
4
|
+
#include "v8-function-callback.h"
|
|
5
|
+
#include "v8-template.h"
|
|
4
6
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
7
|
|
|
6
8
|
#include "async_wrap.h"
|
|
7
9
|
#include "base_object.h"
|
|
10
|
+
#include "dataqueue/queue.h"
|
|
8
11
|
#include "env.h"
|
|
9
12
|
#include "memory_tracker.h"
|
|
10
13
|
#include "node_internals.h"
|
|
@@ -18,62 +21,45 @@
|
|
|
18
21
|
|
|
19
22
|
namespace node {
|
|
20
23
|
|
|
21
|
-
struct BlobEntry {
|
|
22
|
-
std::shared_ptr<v8::BackingStore> store;
|
|
23
|
-
size_t length;
|
|
24
|
-
size_t offset;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
24
|
class Blob : public BaseObject {
|
|
28
25
|
public:
|
|
29
26
|
static void RegisterExternalReferences(
|
|
30
27
|
ExternalReferenceRegistry* registry);
|
|
31
28
|
|
|
32
|
-
static void
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
static void CreatePerIsolateProperties(IsolateData* isolate_data,
|
|
30
|
+
v8::Local<v8::ObjectTemplate> target);
|
|
31
|
+
static void CreatePerContextProperties(v8::Local<v8::Object> target,
|
|
32
|
+
v8::Local<v8::Value> unused,
|
|
33
|
+
v8::Local<v8::Context> context,
|
|
34
|
+
void* priv);
|
|
37
35
|
|
|
38
36
|
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
39
|
-
static void
|
|
37
|
+
static void GetReader(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
40
38
|
static void ToSlice(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
41
39
|
static void StoreDataObject(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
42
40
|
static void GetDataObject(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
43
|
-
static void
|
|
41
|
+
static void RevokeObjectURL(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
44
42
|
|
|
45
43
|
static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
|
|
46
44
|
Environment* env);
|
|
47
45
|
|
|
48
|
-
static BaseObjectPtr<Blob> Create(
|
|
49
|
-
|
|
50
|
-
const std::vector<BlobEntry> store,
|
|
51
|
-
size_t length);
|
|
46
|
+
static BaseObjectPtr<Blob> Create(Environment* env,
|
|
47
|
+
std::shared_ptr<DataQueue> data_queue);
|
|
52
48
|
|
|
53
49
|
static bool HasInstance(Environment* env, v8::Local<v8::Value> object);
|
|
54
50
|
|
|
55
|
-
const std::vector<BlobEntry> entries() const {
|
|
56
|
-
return store_;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
51
|
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
60
52
|
SET_MEMORY_INFO_NAME(Blob)
|
|
61
53
|
SET_SELF_SIZE(Blob)
|
|
62
54
|
|
|
63
|
-
// Copies the contents of the Blob into an ArrayBuffer.
|
|
64
|
-
v8::MaybeLocal<v8::Value> GetArrayBuffer(Environment* env);
|
|
65
|
-
|
|
66
55
|
BaseObjectPtr<Blob> Slice(Environment* env, size_t start, size_t end);
|
|
67
56
|
|
|
68
|
-
inline size_t length() const { return
|
|
57
|
+
inline size_t length() const { return this->data_queue_->size().value(); }
|
|
69
58
|
|
|
70
59
|
class BlobTransferData : public worker::TransferData {
|
|
71
60
|
public:
|
|
72
|
-
explicit BlobTransferData(
|
|
73
|
-
|
|
74
|
-
size_t length)
|
|
75
|
-
: store_(store),
|
|
76
|
-
length_(length) {}
|
|
61
|
+
explicit BlobTransferData(std::shared_ptr<DataQueue> data_queue)
|
|
62
|
+
: data_queue(data_queue) {}
|
|
77
63
|
|
|
78
64
|
BaseObjectPtr<BaseObject> Deserialize(
|
|
79
65
|
Environment* env,
|
|
@@ -85,72 +71,54 @@ class Blob : public BaseObject {
|
|
|
85
71
|
SET_NO_MEMORY_INFO()
|
|
86
72
|
|
|
87
73
|
private:
|
|
88
|
-
std::
|
|
89
|
-
size_t length_ = 0;
|
|
74
|
+
std::shared_ptr<DataQueue> data_queue;
|
|
90
75
|
};
|
|
91
76
|
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
class Reader final : public AsyncWrap {
|
|
78
|
+
public:
|
|
79
|
+
static bool HasInstance(Environment* env, v8::Local<v8::Value> value);
|
|
80
|
+
static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
|
|
81
|
+
Environment* env);
|
|
82
|
+
static BaseObjectPtr<Reader> Create(Environment* env,
|
|
83
|
+
BaseObjectPtr<Blob> blob);
|
|
84
|
+
static void Pull(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
94
85
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const std::vector<BlobEntry>& store,
|
|
99
|
-
size_t length);
|
|
86
|
+
explicit Reader(Environment* env,
|
|
87
|
+
v8::Local<v8::Object> obj,
|
|
88
|
+
BaseObjectPtr<Blob> strong_ptr);
|
|
100
89
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
90
|
+
SET_NO_MEMORY_INFO()
|
|
91
|
+
SET_MEMORY_INFO_NAME(Blob::Reader)
|
|
92
|
+
SET_SELF_SIZE(Reader)
|
|
105
93
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
ASYNC
|
|
94
|
+
private:
|
|
95
|
+
std::shared_ptr<DataQueue::Reader> inner_;
|
|
96
|
+
BaseObjectPtr<Blob> strong_ptr_;
|
|
97
|
+
bool eos_ = false;
|
|
111
98
|
};
|
|
112
99
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
static void Initialize(Environment* env, v8::Local<v8::Object> target);
|
|
116
|
-
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
117
|
-
static void Run(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
118
|
-
|
|
119
|
-
bool IsNotIndicativeOfMemoryLeakAtExit() const override {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
100
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
101
|
+
std::unique_ptr<worker::TransferData> CloneForMessaging() const override;
|
|
122
102
|
|
|
123
|
-
|
|
124
|
-
|
|
103
|
+
Blob(Environment* env,
|
|
104
|
+
v8::Local<v8::Object> obj,
|
|
105
|
+
std::shared_ptr<DataQueue> data_queue);
|
|
125
106
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
129
|
-
SET_MEMORY_INFO_NAME(FixedSizeBlobCopyJob)
|
|
130
|
-
SET_SELF_SIZE(FixedSizeBlobCopyJob)
|
|
107
|
+
DataQueue& getDataQueue() const { return *data_queue_; }
|
|
131
108
|
|
|
132
109
|
private:
|
|
133
|
-
|
|
134
|
-
Environment* env,
|
|
135
|
-
v8::Local<v8::Object> object,
|
|
136
|
-
Blob* blob,
|
|
137
|
-
Mode mode = Mode::ASYNC);
|
|
138
|
-
|
|
139
|
-
Mode mode_;
|
|
140
|
-
std::vector<BlobEntry> source_;
|
|
141
|
-
std::shared_ptr<v8::BackingStore> destination_;
|
|
142
|
-
size_t length_ = 0;
|
|
110
|
+
std::shared_ptr<DataQueue> data_queue_;
|
|
143
111
|
};
|
|
144
112
|
|
|
145
113
|
class BlobBindingData : public SnapshotableObject {
|
|
146
114
|
public:
|
|
147
|
-
explicit BlobBindingData(
|
|
115
|
+
explicit BlobBindingData(Realm* realm, v8::Local<v8::Object> wrap);
|
|
116
|
+
|
|
117
|
+
using InternalFieldInfo = InternalFieldInfoBase;
|
|
148
118
|
|
|
149
119
|
SERIALIZABLE_OBJECT_METHODS()
|
|
150
120
|
|
|
151
|
-
|
|
152
|
-
static constexpr EmbedderObjectType type_int =
|
|
153
|
-
EmbedderObjectType::k_blob_binding_data;
|
|
121
|
+
SET_BINDING_ID(blob_binding_data)
|
|
154
122
|
|
|
155
123
|
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
156
124
|
SET_SELF_SIZE(BlobBindingData)
|
|
@@ -11,12 +11,7 @@ constexpr size_t kMaxCountHint = 16;
|
|
|
11
11
|
// Negative status codes indicate error conditions.
|
|
12
12
|
enum Status : int {
|
|
13
13
|
// Indicates that an attempt was made to pull after end.
|
|
14
|
-
STATUS_EOS =
|
|
15
|
-
|
|
16
|
-
// Indicates the end of the stream. No additional
|
|
17
|
-
// data will be available and the consumer should stop
|
|
18
|
-
// pulling.
|
|
19
|
-
STATUS_END = 0,
|
|
14
|
+
STATUS_EOS = 0,
|
|
20
15
|
|
|
21
16
|
// Indicates that there is additional data available
|
|
22
17
|
// and the consumer may continue to pull.
|
|
@@ -72,6 +67,7 @@ using Next = std::function<void(int, const T*, size_t count, Done done)>;
|
|
|
72
67
|
template <typename T>
|
|
73
68
|
class Source {
|
|
74
69
|
public:
|
|
70
|
+
virtual ~Source() = default;
|
|
75
71
|
virtual int Pull(
|
|
76
72
|
Next<T> next,
|
|
77
73
|
int options,
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
#ifndef SRC_NODE_BUILTINS_H_
|
|
2
|
+
#define SRC_NODE_BUILTINS_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <list>
|
|
7
|
+
#include <map>
|
|
8
|
+
#include <memory>
|
|
9
|
+
#include <optional>
|
|
10
|
+
#include <ranges>
|
|
11
|
+
#include <string>
|
|
12
|
+
#include <unordered_set>
|
|
13
|
+
#include <vector>
|
|
14
|
+
#include "node_external_reference.h"
|
|
15
|
+
#include "node_mutex.h"
|
|
16
|
+
#include "node_threadsafe_cow.h"
|
|
17
|
+
#include "node_union_bytes.h"
|
|
18
|
+
#include "v8.h"
|
|
19
|
+
|
|
20
|
+
// Forward declare test fixture for `friend` declaration.
|
|
21
|
+
class PerProcessTest;
|
|
22
|
+
|
|
23
|
+
namespace node {
|
|
24
|
+
class SnapshotBuilder;
|
|
25
|
+
class ExternalReferenceRegistry;
|
|
26
|
+
class Realm;
|
|
27
|
+
|
|
28
|
+
namespace builtins {
|
|
29
|
+
|
|
30
|
+
class BuiltinCodeCacheData {
|
|
31
|
+
public:
|
|
32
|
+
BuiltinCodeCacheData() : data(nullptr), length(0), owning_ptr(nullptr) {}
|
|
33
|
+
|
|
34
|
+
explicit BuiltinCodeCacheData(
|
|
35
|
+
std::shared_ptr<v8::ScriptCompiler::CachedData> cached_data)
|
|
36
|
+
: data(cached_data->data),
|
|
37
|
+
length(cached_data->length),
|
|
38
|
+
owning_ptr(cached_data) {}
|
|
39
|
+
|
|
40
|
+
explicit BuiltinCodeCacheData(
|
|
41
|
+
std::shared_ptr<std::vector<uint8_t>> cached_data)
|
|
42
|
+
: data(cached_data->data()),
|
|
43
|
+
length(cached_data->size()),
|
|
44
|
+
owning_ptr(cached_data) {}
|
|
45
|
+
|
|
46
|
+
BuiltinCodeCacheData(const uint8_t* data, size_t length)
|
|
47
|
+
: data(data), length(length), owning_ptr(nullptr) {}
|
|
48
|
+
|
|
49
|
+
const uint8_t* data;
|
|
50
|
+
size_t length;
|
|
51
|
+
|
|
52
|
+
// Returns a v8::ScriptCompiler::CachedData corresponding to this
|
|
53
|
+
// BuiltinCodeCacheData. The lifetime of the returned
|
|
54
|
+
// v8::ScriptCompiler::CachedData must not outlive that of the data.
|
|
55
|
+
std::unique_ptr<v8::ScriptCompiler::CachedData> AsCachedData() {
|
|
56
|
+
return std::make_unique<v8::ScriptCompiler::CachedData>(
|
|
57
|
+
data, length, v8::ScriptCompiler::CachedData::BufferNotOwned);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private:
|
|
61
|
+
// If not null, represents a pointer which owns data. Otherwise indicates
|
|
62
|
+
// that data has static lifetime.
|
|
63
|
+
std::shared_ptr<void> owning_ptr;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
struct CodeCacheInfo {
|
|
67
|
+
std::string id;
|
|
68
|
+
BuiltinCodeCacheData data;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
using BuiltinSourceMap = std::map<std::string, UnionBytes>;
|
|
72
|
+
using BuiltinCodeCacheMap =
|
|
73
|
+
std::unordered_map<std::string, BuiltinCodeCacheData>;
|
|
74
|
+
|
|
75
|
+
// Generated by tools/js2c.cc as node_javascript.cc
|
|
76
|
+
void RegisterExternalReferencesForInternalizedBuiltinCode(
|
|
77
|
+
ExternalReferenceRegistry* registry);
|
|
78
|
+
|
|
79
|
+
// Handles compilation and caching of built-in JavaScript modules and
|
|
80
|
+
// bootstrap scripts, whose source are bundled into the binary as static data.
|
|
81
|
+
class NODE_EXTERN_PRIVATE BuiltinLoader {
|
|
82
|
+
public:
|
|
83
|
+
BuiltinLoader();
|
|
84
|
+
BuiltinLoader(const BuiltinLoader&) = delete;
|
|
85
|
+
BuiltinLoader& operator=(const BuiltinLoader&) = delete;
|
|
86
|
+
|
|
87
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
88
|
+
static void CreatePerIsolateProperties(IsolateData* isolate_data,
|
|
89
|
+
v8::Local<v8::ObjectTemplate> target);
|
|
90
|
+
static void CreatePerContextProperties(v8::Local<v8::Object> target,
|
|
91
|
+
v8::Local<v8::Value> unused,
|
|
92
|
+
v8::Local<v8::Context> context,
|
|
93
|
+
void* priv);
|
|
94
|
+
|
|
95
|
+
// The parameters used to compile the scripts are detected based on
|
|
96
|
+
// the pattern of the id.
|
|
97
|
+
v8::MaybeLocal<v8::Function> LookupAndCompile(v8::Local<v8::Context> context,
|
|
98
|
+
const char* id,
|
|
99
|
+
Realm* optional_realm);
|
|
100
|
+
|
|
101
|
+
v8::MaybeLocal<v8::Function> LookupAndCompile(
|
|
102
|
+
v8::Local<v8::Context> context,
|
|
103
|
+
const char* id,
|
|
104
|
+
v8::LocalVector<v8::String>* parameters,
|
|
105
|
+
Realm* optional_realm);
|
|
106
|
+
|
|
107
|
+
v8::MaybeLocal<v8::Value> CompileAndCall(v8::Local<v8::Context> context,
|
|
108
|
+
const char* id,
|
|
109
|
+
int argc,
|
|
110
|
+
v8::Local<v8::Value> argv[],
|
|
111
|
+
Realm* optional_realm);
|
|
112
|
+
|
|
113
|
+
v8::MaybeLocal<v8::Value> CompileAndCall(v8::Local<v8::Context> context,
|
|
114
|
+
const char* id,
|
|
115
|
+
Realm* realm);
|
|
116
|
+
|
|
117
|
+
// Returns config.gypi as a JSON string
|
|
118
|
+
v8::Local<v8::String> GetConfigString(v8::Isolate* isolate);
|
|
119
|
+
bool Exists(const char* id);
|
|
120
|
+
bool Add(const char* id, const UnionBytes& source);
|
|
121
|
+
|
|
122
|
+
bool CompileAllBuiltinsAndCopyCodeCache(
|
|
123
|
+
v8::Local<v8::Context> context,
|
|
124
|
+
const std::vector<std::string>& lazy_builtins,
|
|
125
|
+
std::vector<CodeCacheInfo>* out);
|
|
126
|
+
void RefreshCodeCache(const std::vector<CodeCacheInfo>& in);
|
|
127
|
+
|
|
128
|
+
void CopySourceAndCodeCacheReferenceFrom(const BuiltinLoader* other);
|
|
129
|
+
|
|
130
|
+
[[nodiscard]] std::ranges::keys_view<
|
|
131
|
+
std::ranges::ref_view<const BuiltinSourceMap>>
|
|
132
|
+
GetBuiltinIds() const;
|
|
133
|
+
|
|
134
|
+
void SetEagerCompile() { should_eager_compile_ = true; }
|
|
135
|
+
|
|
136
|
+
private:
|
|
137
|
+
// Only allow access from friends.
|
|
138
|
+
friend class CodeCacheBuilder;
|
|
139
|
+
|
|
140
|
+
// Generated by tools/js2c.cc as node_javascript.cc
|
|
141
|
+
void LoadJavaScriptSource(); // Loads data into source_
|
|
142
|
+
UnionBytes GetConfig(); // Return data for config.gypi
|
|
143
|
+
|
|
144
|
+
struct BuiltinCategories {
|
|
145
|
+
std::set<std::string> can_be_required;
|
|
146
|
+
std::set<std::string> cannot_be_required;
|
|
147
|
+
};
|
|
148
|
+
// This method builds `BuiltinCategories` from scratch every time,
|
|
149
|
+
// and is therefore somewhat expensive, but also currently only being
|
|
150
|
+
// used for testing, so that should not be an issue.
|
|
151
|
+
BuiltinCategories GetBuiltinCategories() const;
|
|
152
|
+
|
|
153
|
+
const v8::ScriptCompiler::CachedData* GetCodeCache(const char* id) const;
|
|
154
|
+
enum class Result { kWithCache, kWithoutCache };
|
|
155
|
+
v8::MaybeLocal<v8::String> LoadBuiltinSource(v8::Isolate* isolate,
|
|
156
|
+
const char* id) const;
|
|
157
|
+
// If an exception is encountered (e.g. source code contains
|
|
158
|
+
// syntax error), the returned value is empty.
|
|
159
|
+
v8::MaybeLocal<v8::Function> LookupAndCompileInternal(
|
|
160
|
+
v8::Local<v8::Context> context,
|
|
161
|
+
const char* id,
|
|
162
|
+
v8::LocalVector<v8::String>* parameters,
|
|
163
|
+
Realm* optional_realm);
|
|
164
|
+
void SaveCodeCache(const char* id, v8::Local<v8::Function> fn);
|
|
165
|
+
|
|
166
|
+
static void RecordResult(const char* id,
|
|
167
|
+
BuiltinLoader::Result result,
|
|
168
|
+
Realm* realm);
|
|
169
|
+
static void GetBuiltinCategories(
|
|
170
|
+
v8::Local<v8::Name> property,
|
|
171
|
+
const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
172
|
+
static void GetCacheUsage(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
173
|
+
// Passing ids of built-in source code into JS land as
|
|
174
|
+
// internalBinding('builtins').builtinIds
|
|
175
|
+
static void BuiltinIdsGetter(v8::Local<v8::Name> property,
|
|
176
|
+
const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
177
|
+
// Passing config.gypi into JS land as internalBinding('builtins').config
|
|
178
|
+
static void ConfigStringGetter(
|
|
179
|
+
v8::Local<v8::Name> property,
|
|
180
|
+
const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
181
|
+
// Compile a specific built-in as a function
|
|
182
|
+
static void CompileFunction(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
183
|
+
static void HasCachedBuiltins(
|
|
184
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
185
|
+
// For legacy process.binding('natives')
|
|
186
|
+
static void GetNatives(v8::Local<v8::Name> property,
|
|
187
|
+
const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
188
|
+
|
|
189
|
+
void AddExternalizedBuiltin(const char* id, const char* filename);
|
|
190
|
+
|
|
191
|
+
ThreadsafeCopyOnWrite<BuiltinSourceMap> source_;
|
|
192
|
+
|
|
193
|
+
const UnionBytes config_;
|
|
194
|
+
|
|
195
|
+
// If any bulitins should be eagerly compiled i.e. with inner functions
|
|
196
|
+
// compiled too, either use should_eager_compile_ to compile all builtins
|
|
197
|
+
// eagerly, or use to_eager_compile_ to compile specific builtins eagerly.
|
|
198
|
+
// Currently we set should_eager_compile_ to true when compiling primordials,
|
|
199
|
+
// and use to_eager_compile_ to compile code cache that complements the
|
|
200
|
+
// snapshot, where builtins already loaded in the snapshot and a few extras
|
|
201
|
+
// are compiled eagerly (other less-essential built-ins are compiled lazily to
|
|
202
|
+
// avoid bloating the binary size). At runtime any additional compilation is
|
|
203
|
+
// done lazily.
|
|
204
|
+
bool should_eager_compile_ = false;
|
|
205
|
+
std::unordered_set<std::string> to_eager_compile_;
|
|
206
|
+
|
|
207
|
+
struct BuiltinCodeCache {
|
|
208
|
+
RwLock mutex;
|
|
209
|
+
BuiltinCodeCacheMap map;
|
|
210
|
+
bool has_code_cache = false;
|
|
211
|
+
};
|
|
212
|
+
std::shared_ptr<BuiltinCodeCache> code_cache_;
|
|
213
|
+
|
|
214
|
+
friend class ::PerProcessTest;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
} // namespace builtins
|
|
218
|
+
|
|
219
|
+
} // namespace node
|
|
220
|
+
|
|
221
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
222
|
+
|
|
223
|
+
#endif // SRC_NODE_BUILTINS_H_
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#ifndef SRC_NODE_CONFIG_FILE_H_
|
|
2
|
+
#define SRC_NODE_CONFIG_FILE_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <map>
|
|
7
|
+
#include <string>
|
|
8
|
+
#include <unordered_map>
|
|
9
|
+
#include <unordered_set>
|
|
10
|
+
#include <variant>
|
|
11
|
+
#include <vector>
|
|
12
|
+
#include "node_internals.h"
|
|
13
|
+
#include "simdjson.h"
|
|
14
|
+
#include "util-inl.h"
|
|
15
|
+
|
|
16
|
+
namespace node {
|
|
17
|
+
|
|
18
|
+
// When trying to parse the configuration file, we can have three possible
|
|
19
|
+
// results:
|
|
20
|
+
// - Valid: The file was successfully parsed and the content is valid.
|
|
21
|
+
// - FileError: There was an error reading the file.
|
|
22
|
+
// - InvalidContent: The file was read, but the content is invalid.
|
|
23
|
+
enum ParseResult { Valid, FileError, InvalidContent };
|
|
24
|
+
|
|
25
|
+
// ConfigReader is the class that parses the configuration JSON file.
|
|
26
|
+
// It reads the file provided by --experimental-config-file and
|
|
27
|
+
// extracts the flags.
|
|
28
|
+
class ConfigReader {
|
|
29
|
+
public:
|
|
30
|
+
ParseResult ParseConfig(const std::string_view& config_path);
|
|
31
|
+
|
|
32
|
+
std::optional<std::string_view> GetDataFromArgs(
|
|
33
|
+
const std::vector<std::string>& args);
|
|
34
|
+
|
|
35
|
+
std::string GetNodeOptions();
|
|
36
|
+
const std::vector<std::string>& GetNamespaceFlags() const;
|
|
37
|
+
|
|
38
|
+
size_t GetFlagsSize();
|
|
39
|
+
|
|
40
|
+
private:
|
|
41
|
+
// Parse options for a specific namespace (including nodeOptions for backward
|
|
42
|
+
// compatibility)
|
|
43
|
+
ParseResult ParseOptions(simdjson::ondemand::object* options_object,
|
|
44
|
+
std::unordered_set<std::string>* unique_options,
|
|
45
|
+
const std::string& namespace_name);
|
|
46
|
+
|
|
47
|
+
// Process a single option value based on its type
|
|
48
|
+
ParseResult ProcessOptionValue(
|
|
49
|
+
const std::pair<std::string, options_parser::OptionType>& option_info,
|
|
50
|
+
simdjson::ondemand::value* option_value,
|
|
51
|
+
std::vector<std::string>* output);
|
|
52
|
+
|
|
53
|
+
std::vector<std::string> node_options_;
|
|
54
|
+
std::vector<std::string> namespace_options_;
|
|
55
|
+
|
|
56
|
+
// Cache for fast lookup of environment options
|
|
57
|
+
std::unordered_map<std::string, options_parser::OptionType> env_options_map_;
|
|
58
|
+
bool env_options_initialized_ = false;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
} // namespace node
|
|
62
|
+
|
|
63
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
64
|
+
|
|
65
|
+
#endif // SRC_NODE_CONFIG_FILE_H_
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
#include "node.h"
|
|
28
28
|
#include "v8.h"
|
|
29
29
|
|
|
30
|
+
#define EXTENSIONLESS_FORMAT_JAVASCRIPT (0)
|
|
31
|
+
#define EXTENSIONLESS_FORMAT_WASM (1)
|
|
32
|
+
|
|
30
33
|
#if HAVE_OPENSSL
|
|
31
34
|
|
|
32
35
|
#ifndef RSA_PSS_SALTLEN_DIGEST
|
|
@@ -74,11 +77,6 @@
|
|
|
74
77
|
#endif // NODE_OPENSSL_DEFAULT_CIPHER_LIST
|
|
75
78
|
#endif // HAVE_OPENSSL
|
|
76
79
|
|
|
77
|
-
namespace node {
|
|
78
|
-
|
|
79
|
-
void DefineConstants(v8::Isolate* isolate, v8::Local<v8::Object> target);
|
|
80
|
-
} // namespace node
|
|
81
|
-
|
|
82
80
|
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
83
81
|
|
|
84
82
|
#endif // SRC_NODE_CONSTANTS_H_
|