@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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#ifndef SRC_PERMISSION_INSPECTOR_PERMISSION_H_
|
|
2
|
+
#define SRC_PERMISSION_INSPECTOR_PERMISSION_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
#include "permission/permission_base.h"
|
|
8
|
+
|
|
9
|
+
namespace node {
|
|
10
|
+
|
|
11
|
+
namespace permission {
|
|
12
|
+
|
|
13
|
+
class InspectorPermission final : public PermissionBase {
|
|
14
|
+
public:
|
|
15
|
+
void Apply(Environment* env,
|
|
16
|
+
const std::vector<std::string>& allow,
|
|
17
|
+
PermissionScope scope) override;
|
|
18
|
+
bool is_granted(Environment* env,
|
|
19
|
+
PermissionScope perm,
|
|
20
|
+
const std::string_view& param = "") const override;
|
|
21
|
+
|
|
22
|
+
private:
|
|
23
|
+
bool deny_all_;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
} // namespace permission
|
|
27
|
+
|
|
28
|
+
} // namespace node
|
|
29
|
+
|
|
30
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
31
|
+
#endif // SRC_PERMISSION_INSPECTOR_PERMISSION_H_
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
#error("This header can only be used when inspector is enabled")
|
|
8
8
|
#endif
|
|
9
9
|
|
|
10
|
+
#include <optional>
|
|
10
11
|
#include <unordered_set>
|
|
11
12
|
#include "inspector_agent.h"
|
|
13
|
+
#include "simdjson.h"
|
|
12
14
|
|
|
13
15
|
namespace node {
|
|
14
16
|
// Forward declaration to break recursive dependency chain with src/env.h.
|
|
@@ -40,7 +42,7 @@ class V8ProfilerConnection {
|
|
|
40
42
|
// The optional `params` should be formatted in JSON.
|
|
41
43
|
// The strings should be in one byte characters - which is enough for
|
|
42
44
|
// the commands we use here.
|
|
43
|
-
|
|
45
|
+
uint64_t DispatchMessage(const char* method,
|
|
44
46
|
const char* params = nullptr,
|
|
45
47
|
bool is_profile_request = false);
|
|
46
48
|
|
|
@@ -59,23 +61,22 @@ class V8ProfilerConnection {
|
|
|
59
61
|
virtual std::string GetFilename() const = 0;
|
|
60
62
|
// Return the profile object parsed from `message.result`,
|
|
61
63
|
// which will be then written as a JSON.
|
|
62
|
-
virtual
|
|
63
|
-
|
|
64
|
-
virtual void WriteProfile(
|
|
64
|
+
virtual std::optional<std::string_view> GetProfile(
|
|
65
|
+
simdjson::ondemand::object* result);
|
|
66
|
+
virtual void WriteProfile(simdjson::ondemand::object* result);
|
|
65
67
|
|
|
66
|
-
bool HasProfileId(
|
|
67
|
-
return profile_ids_.find(id) != profile_ids_.end();
|
|
68
|
-
}
|
|
68
|
+
bool HasProfileId(uint64_t id) const { return profile_ids_.contains(id); }
|
|
69
69
|
|
|
70
|
-
void RemoveProfileId(
|
|
70
|
+
void RemoveProfileId(uint64_t id) { profile_ids_.erase(id); }
|
|
71
71
|
|
|
72
72
|
private:
|
|
73
|
-
|
|
73
|
+
uint64_t next_id() { return id_++; }
|
|
74
74
|
std::unique_ptr<inspector::InspectorSession> session_;
|
|
75
|
-
|
|
76
|
-
std::unordered_set<
|
|
75
|
+
uint64_t id_ = 1;
|
|
76
|
+
std::unordered_set<uint64_t> profile_ids_;
|
|
77
77
|
|
|
78
78
|
protected:
|
|
79
|
+
simdjson::ondemand::parser json_parser_;
|
|
79
80
|
Environment* env_ = nullptr;
|
|
80
81
|
};
|
|
81
82
|
|
|
@@ -91,8 +92,9 @@ class V8CoverageConnection : public V8ProfilerConnection {
|
|
|
91
92
|
|
|
92
93
|
std::string GetDirectory() const override;
|
|
93
94
|
std::string GetFilename() const override;
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
std::optional<std::string_view> GetProfile(
|
|
96
|
+
simdjson::ondemand::object* result) override;
|
|
97
|
+
void WriteProfile(simdjson::ondemand::object* result) override;
|
|
96
98
|
void WriteSourceMapCache();
|
|
97
99
|
void TakeCoverage();
|
|
98
100
|
void StopCoverage();
|
|
@@ -115,7 +117,6 @@ class V8CpuProfilerConnection : public V8ProfilerConnection {
|
|
|
115
117
|
|
|
116
118
|
std::string GetDirectory() const override;
|
|
117
119
|
std::string GetFilename() const override;
|
|
118
|
-
v8::MaybeLocal<v8::Object> GetProfile(v8::Local<v8::Object> result) override;
|
|
119
120
|
|
|
120
121
|
private:
|
|
121
122
|
std::unique_ptr<inspector::InspectorSession> session_;
|
|
@@ -135,7 +136,6 @@ class V8HeapProfilerConnection : public V8ProfilerConnection {
|
|
|
135
136
|
|
|
136
137
|
std::string GetDirectory() const override;
|
|
137
138
|
std::string GetFilename() const override;
|
|
138
|
-
v8::MaybeLocal<v8::Object> GetProfile(v8::Local<v8::Object> result) override;
|
|
139
139
|
|
|
140
140
|
private:
|
|
141
141
|
std::unique_ptr<inspector::InspectorSession> session_;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#ifndef SRC_INSPECTOR_IO_AGENT_H_
|
|
2
|
+
#define SRC_INSPECTOR_IO_AGENT_H_
|
|
3
|
+
|
|
4
|
+
#include <memory>
|
|
5
|
+
#include "inspector/network_resource_manager.h"
|
|
6
|
+
#include "node/inspector/protocol/IO.h"
|
|
7
|
+
|
|
8
|
+
namespace node::inspector::protocol {
|
|
9
|
+
|
|
10
|
+
class IoAgent : public IO::Backend {
|
|
11
|
+
public:
|
|
12
|
+
explicit IoAgent(
|
|
13
|
+
std::shared_ptr<NetworkResourceManager> network_resource_manager)
|
|
14
|
+
: network_resource_manager_(std::move(network_resource_manager)) {}
|
|
15
|
+
void Wire(UberDispatcher* dispatcher);
|
|
16
|
+
DispatchResponse read(const String& in_handle,
|
|
17
|
+
std::optional<int> in_offset,
|
|
18
|
+
std::optional<int> in_size,
|
|
19
|
+
String* out_data,
|
|
20
|
+
bool* out_eof) override;
|
|
21
|
+
DispatchResponse close(const String& in_handle) override;
|
|
22
|
+
|
|
23
|
+
private:
|
|
24
|
+
std::shared_ptr<IO::Frontend> frontend_;
|
|
25
|
+
std::unordered_map<std::string, int> offset_map_ =
|
|
26
|
+
{}; // Maps stream_id to offset
|
|
27
|
+
std::shared_ptr<NetworkResourceManager> network_resource_manager_;
|
|
28
|
+
};
|
|
29
|
+
} // namespace node::inspector::protocol
|
|
30
|
+
#endif // SRC_INSPECTOR_IO_AGENT_H_
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
#ifndef NAPI_EXTERN
|
|
29
29
|
#ifdef _WIN32
|
|
30
30
|
#define NAPI_EXTERN __declspec(dllexport)
|
|
31
|
-
#elif defined(
|
|
31
|
+
#elif defined(__wasm__)
|
|
32
32
|
#define NAPI_EXTERN \
|
|
33
33
|
__attribute__((visibility("default"))) \
|
|
34
34
|
__attribute__((__import_module__("napi")))
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
|
|
50
50
|
EXTERN_C_START
|
|
51
51
|
|
|
52
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
53
|
-
|
|
52
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
|
|
53
|
+
node_api_basic_env env, const napi_extended_error_info** result);
|
|
54
54
|
|
|
55
55
|
// Getters for defined singletons
|
|
56
56
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
|
|
@@ -92,16 +92,42 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
|
|
|
92
92
|
const char16_t* str,
|
|
93
93
|
size_t length,
|
|
94
94
|
napi_value* result);
|
|
95
|
+
#if NAPI_VERSION >= 10
|
|
96
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1(
|
|
97
|
+
napi_env env,
|
|
98
|
+
char* str,
|
|
99
|
+
size_t length,
|
|
100
|
+
node_api_basic_finalize finalize_callback,
|
|
101
|
+
void* finalize_hint,
|
|
102
|
+
napi_value* result,
|
|
103
|
+
bool* copied);
|
|
104
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
105
|
+
node_api_create_external_string_utf16(napi_env env,
|
|
106
|
+
char16_t* str,
|
|
107
|
+
size_t length,
|
|
108
|
+
node_api_basic_finalize finalize_callback,
|
|
109
|
+
void* finalize_hint,
|
|
110
|
+
napi_value* result,
|
|
111
|
+
bool* copied);
|
|
112
|
+
|
|
113
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_latin1(
|
|
114
|
+
napi_env env, const char* str, size_t length, napi_value* result);
|
|
115
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf8(
|
|
116
|
+
napi_env env, const char* str, size_t length, napi_value* result);
|
|
117
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16(
|
|
118
|
+
napi_env env, const char16_t* str, size_t length, napi_value* result);
|
|
119
|
+
#endif // NAPI_VERSION >= 10
|
|
120
|
+
|
|
95
121
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env,
|
|
96
122
|
napi_value description,
|
|
97
123
|
napi_value* result);
|
|
98
|
-
#
|
|
124
|
+
#if NAPI_VERSION >= 9
|
|
99
125
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
100
126
|
node_api_symbol_for(napi_env env,
|
|
101
127
|
const char* utf8description,
|
|
102
128
|
size_t length,
|
|
103
129
|
napi_value* result);
|
|
104
|
-
#endif //
|
|
130
|
+
#endif // NAPI_VERSION >= 9
|
|
105
131
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env,
|
|
106
132
|
const char* utf8name,
|
|
107
133
|
size_t length,
|
|
@@ -120,10 +146,10 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_range_error(napi_env env,
|
|
|
120
146
|
napi_value code,
|
|
121
147
|
napi_value msg,
|
|
122
148
|
napi_value* result);
|
|
123
|
-
#
|
|
149
|
+
#if NAPI_VERSION >= 9
|
|
124
150
|
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_syntax_error(
|
|
125
151
|
napi_env env, napi_value code, napi_value msg, napi_value* result);
|
|
126
|
-
#endif //
|
|
152
|
+
#endif // NAPI_VERSION >= 9
|
|
127
153
|
|
|
128
154
|
// Methods to get the native napi_value from Primitive type
|
|
129
155
|
NAPI_EXTERN napi_status NAPI_CDECL napi_typeof(napi_env env,
|
|
@@ -271,7 +297,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env,
|
|
|
271
297
|
|
|
272
298
|
// Gets all callback info in a single call. (Ugly, but faster.)
|
|
273
299
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info(
|
|
274
|
-
napi_env env, // [in]
|
|
300
|
+
napi_env env, // [in] Node-API environment handle
|
|
275
301
|
napi_callback_info cbinfo, // [in] Opaque callback-info handle
|
|
276
302
|
size_t* argc, // [in-out] Specifies the size of the provided argv array
|
|
277
303
|
// and receives the actual count of args.
|
|
@@ -292,12 +318,13 @@ napi_define_class(napi_env env,
|
|
|
292
318
|
napi_value* result);
|
|
293
319
|
|
|
294
320
|
// Methods to work with external data objects
|
|
295
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
321
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
322
|
+
napi_wrap(napi_env env,
|
|
323
|
+
napi_value js_object,
|
|
324
|
+
void* native_object,
|
|
325
|
+
node_api_basic_finalize finalize_cb,
|
|
326
|
+
void* finalize_hint,
|
|
327
|
+
napi_ref* result);
|
|
301
328
|
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
|
|
302
329
|
napi_value js_object,
|
|
303
330
|
void** result);
|
|
@@ -307,7 +334,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
|
|
|
307
334
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
308
335
|
napi_create_external(napi_env env,
|
|
309
336
|
void* data,
|
|
310
|
-
|
|
337
|
+
node_api_basic_finalize finalize_cb,
|
|
311
338
|
void* finalize_hint,
|
|
312
339
|
napi_value* result);
|
|
313
340
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
|
|
@@ -378,11 +405,11 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_throw_type_error(napi_env env,
|
|
|
378
405
|
NAPI_EXTERN napi_status NAPI_CDECL napi_throw_range_error(napi_env env,
|
|
379
406
|
const char* code,
|
|
380
407
|
const char* msg);
|
|
381
|
-
#
|
|
408
|
+
#if NAPI_VERSION >= 9
|
|
382
409
|
NAPI_EXTERN napi_status NAPI_CDECL node_api_throw_syntax_error(napi_env env,
|
|
383
410
|
const char* code,
|
|
384
411
|
const char* msg);
|
|
385
|
-
#endif //
|
|
412
|
+
#endif // NAPI_VERSION >= 9
|
|
386
413
|
NAPI_EXTERN napi_status NAPI_CDECL napi_is_error(napi_env env,
|
|
387
414
|
napi_value value,
|
|
388
415
|
bool* result);
|
|
@@ -401,13 +428,15 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_arraybuffer(napi_env env,
|
|
|
401
428
|
size_t byte_length,
|
|
402
429
|
void** data,
|
|
403
430
|
napi_value* result);
|
|
431
|
+
#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
404
432
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
405
433
|
napi_create_external_arraybuffer(napi_env env,
|
|
406
434
|
void* external_data,
|
|
407
435
|
size_t byte_length,
|
|
408
|
-
|
|
436
|
+
node_api_basic_finalize finalize_cb,
|
|
409
437
|
void* finalize_hint,
|
|
410
438
|
napi_value* result);
|
|
439
|
+
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
411
440
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_arraybuffer_info(
|
|
412
441
|
napi_env env, napi_value arraybuffer, void** data, size_t* byte_length);
|
|
413
442
|
NAPI_EXTERN napi_status NAPI_CDECL napi_is_typedarray(napi_env env,
|
|
@@ -446,7 +475,7 @@ napi_get_dataview_info(napi_env env,
|
|
|
446
475
|
size_t* byte_offset);
|
|
447
476
|
|
|
448
477
|
// version management
|
|
449
|
-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(
|
|
478
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
|
|
450
479
|
uint32_t* result);
|
|
451
480
|
|
|
452
481
|
// Promises
|
|
@@ -470,7 +499,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
|
|
|
470
499
|
|
|
471
500
|
// Memory management
|
|
472
501
|
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
|
|
473
|
-
|
|
502
|
+
node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
|
|
474
503
|
|
|
475
504
|
#if NAPI_VERSION >= 5
|
|
476
505
|
|
|
@@ -488,15 +517,27 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env,
|
|
|
488
517
|
double* result);
|
|
489
518
|
|
|
490
519
|
// Add finalizer for pointer
|
|
491
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
520
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
521
|
+
napi_add_finalizer(napi_env env,
|
|
522
|
+
napi_value js_object,
|
|
523
|
+
void* finalize_data,
|
|
524
|
+
node_api_basic_finalize finalize_cb,
|
|
525
|
+
void* finalize_hint,
|
|
526
|
+
napi_ref* result);
|
|
497
527
|
|
|
498
528
|
#endif // NAPI_VERSION >= 5
|
|
499
529
|
|
|
530
|
+
#ifdef NAPI_EXPERIMENTAL
|
|
531
|
+
#define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
|
|
532
|
+
|
|
533
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
534
|
+
node_api_post_finalizer(node_api_basic_env env,
|
|
535
|
+
napi_finalize finalize_cb,
|
|
536
|
+
void* finalize_data,
|
|
537
|
+
void* finalize_hint);
|
|
538
|
+
|
|
539
|
+
#endif // NAPI_EXPERIMENTAL
|
|
540
|
+
|
|
500
541
|
#if NAPI_VERSION >= 6
|
|
501
542
|
|
|
502
543
|
// BigInt
|
|
@@ -534,11 +575,14 @@ napi_get_all_property_names(napi_env env,
|
|
|
534
575
|
napi_value* result);
|
|
535
576
|
|
|
536
577
|
// Instance data
|
|
537
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
538
|
-
|
|
578
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
579
|
+
napi_set_instance_data(node_api_basic_env env,
|
|
580
|
+
void* data,
|
|
581
|
+
napi_finalize finalize_cb,
|
|
582
|
+
void* finalize_hint);
|
|
539
583
|
|
|
540
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
541
|
-
|
|
584
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
585
|
+
napi_get_instance_data(node_api_basic_env env, void** data);
|
|
542
586
|
#endif // NAPI_VERSION >= 6
|
|
543
587
|
|
|
544
588
|
#if NAPI_VERSION >= 7
|
|
@@ -8,12 +8,51 @@
|
|
|
8
8
|
#include <stdint.h> // NOLINT(modernize-deprecated-headers)
|
|
9
9
|
|
|
10
10
|
#if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900)
|
|
11
|
-
|
|
11
|
+
typedef uint16_t char16_t;
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef NAPI_CDECL
|
|
15
|
+
#ifdef _WIN32
|
|
16
|
+
#define NAPI_CDECL __cdecl
|
|
17
|
+
#else
|
|
18
|
+
#define NAPI_CDECL
|
|
19
|
+
#endif
|
|
12
20
|
#endif
|
|
13
21
|
|
|
14
22
|
// JSVM API types are all opaque pointers for ABI stability
|
|
15
23
|
// typedef undefined structs instead of void* for compile time type safety
|
|
16
24
|
typedef struct napi_env__* napi_env;
|
|
25
|
+
|
|
26
|
+
// We need to mark APIs which can be called during garbage collection (GC),
|
|
27
|
+
// meaning that they do not affect the state of the JS engine, and can
|
|
28
|
+
// therefore be called synchronously from a finalizer that itself runs
|
|
29
|
+
// synchronously during GC. Such APIs can receive either a `napi_env` or a
|
|
30
|
+
// `node_api_basic_env` as their first parameter, because we should be able to
|
|
31
|
+
// also call them during normal, non-garbage-collecting operations, whereas
|
|
32
|
+
// APIs that affect the state of the JS engine can only receive a `napi_env` as
|
|
33
|
+
// their first parameter, because we must not call them during GC. In lieu of
|
|
34
|
+
// inheritance, we use the properties of the const qualifier to accomplish
|
|
35
|
+
// this, because both a const and a non-const value can be passed to an API
|
|
36
|
+
// expecting a const value, but only a non-const value can be passed to an API
|
|
37
|
+
// expecting a non-const value.
|
|
38
|
+
//
|
|
39
|
+
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
|
|
40
|
+
// (basic) environment into an API that expects a non-const environment, and
|
|
41
|
+
// the definition of basic finalizer function pointer types below, which
|
|
42
|
+
// receive a basic environment as their first parameter, and can thus only call
|
|
43
|
+
// basic APIs (unless the user explicitly casts the environment), we achieve
|
|
44
|
+
// the ability to ensure at compile time that we do not call APIs that affect
|
|
45
|
+
// the state of the JS engine from a synchronous (basic) finalizer.
|
|
46
|
+
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
47
|
+
(defined(NAPI_EXPERIMENTAL) && \
|
|
48
|
+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
|
|
49
|
+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
|
|
50
|
+
typedef struct napi_env__* node_api_nogc_env;
|
|
51
|
+
#else
|
|
52
|
+
typedef const struct napi_env__* node_api_nogc_env;
|
|
53
|
+
#endif
|
|
54
|
+
typedef node_api_nogc_env node_api_basic_env;
|
|
55
|
+
|
|
17
56
|
typedef struct napi_value__* napi_value;
|
|
18
57
|
typedef struct napi_ref__* napi_ref;
|
|
19
58
|
typedef struct napi_handle_scope__* napi_handle_scope;
|
|
@@ -36,9 +75,7 @@ typedef enum {
|
|
|
36
75
|
napi_default_method = napi_writable | napi_configurable,
|
|
37
76
|
|
|
38
77
|
// Default for object properties, like in JS obj[prop].
|
|
39
|
-
napi_default_jsproperty = napi_writable |
|
|
40
|
-
napi_enumerable |
|
|
41
|
-
napi_configurable,
|
|
78
|
+
napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable,
|
|
42
79
|
#endif // NAPI_VERSION >= 8
|
|
43
80
|
} napi_property_attributes;
|
|
44
81
|
|
|
@@ -92,7 +129,9 @@ typedef enum {
|
|
|
92
129
|
napi_date_expected,
|
|
93
130
|
napi_arraybuffer_expected,
|
|
94
131
|
napi_detachable_arraybuffer_expected,
|
|
95
|
-
napi_would_deadlock // unused
|
|
132
|
+
napi_would_deadlock, // unused
|
|
133
|
+
napi_no_external_buffers_allowed,
|
|
134
|
+
napi_cannot_run_js,
|
|
96
135
|
} napi_status;
|
|
97
136
|
// Note: when adding a new enum value to `napi_status`, please also update
|
|
98
137
|
// * `const int last_status` in the definition of `napi_get_last_error_info()'
|
|
@@ -102,11 +141,23 @@ typedef enum {
|
|
|
102
141
|
// * the definition of `napi_status` in doc/api/n-api.md to reflect the newly
|
|
103
142
|
// added value(s).
|
|
104
143
|
|
|
105
|
-
typedef napi_value
|
|
106
|
-
|
|
107
|
-
typedef void
|
|
108
|
-
|
|
109
|
-
|
|
144
|
+
typedef napi_value(NAPI_CDECL* napi_callback)(napi_env env,
|
|
145
|
+
napi_callback_info info);
|
|
146
|
+
typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
|
|
147
|
+
void* finalize_data,
|
|
148
|
+
void* finalize_hint);
|
|
149
|
+
|
|
150
|
+
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
151
|
+
(defined(NAPI_EXPERIMENTAL) && \
|
|
152
|
+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
|
|
153
|
+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
|
|
154
|
+
typedef napi_finalize node_api_nogc_finalize;
|
|
155
|
+
#else
|
|
156
|
+
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
|
|
157
|
+
void* finalize_data,
|
|
158
|
+
void* finalize_hint);
|
|
159
|
+
#endif
|
|
160
|
+
typedef node_api_nogc_finalize node_api_basic_finalize;
|
|
110
161
|
|
|
111
162
|
typedef struct {
|
|
112
163
|
// One of utf8name or name should be NULL.
|