@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
|
@@ -86,13 +86,22 @@ template <typename NativeT, typename V8T>
|
|
|
86
86
|
void FillStatsArray(AliasedBufferBase<NativeT, V8T>* fields,
|
|
87
87
|
const uv_stat_t* s,
|
|
88
88
|
const size_t offset) {
|
|
89
|
-
#define SET_FIELD_WITH_STAT(stat_offset, stat)
|
|
90
|
-
fields->SetValue(offset + static_cast<size_t>(FsStatsOffset::stat_offset),
|
|
89
|
+
#define SET_FIELD_WITH_STAT(stat_offset, stat) \
|
|
90
|
+
fields->SetValue(offset + static_cast<size_t>(FsStatsOffset::stat_offset), \
|
|
91
91
|
static_cast<NativeT>(stat))
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
// On win32, time is stored in uint64_t and starts from 1601-01-01.
|
|
94
|
+
// libuv calculates tv_sec and tv_nsec from it and converts to signed long,
|
|
95
|
+
// which causes Y2038 overflow. On the other platforms it is safe to treat
|
|
96
|
+
// negative values as pre-epoch time.
|
|
97
|
+
#ifdef _WIN32
|
|
98
|
+
#define SET_FIELD_WITH_TIME_STAT(stat_offset, stat) \
|
|
99
|
+
/* NOLINTNEXTLINE(runtime/int) */ \
|
|
95
100
|
SET_FIELD_WITH_STAT(stat_offset, static_cast<unsigned long>(stat))
|
|
101
|
+
#else
|
|
102
|
+
#define SET_FIELD_WITH_TIME_STAT(stat_offset, stat) \
|
|
103
|
+
SET_FIELD_WITH_STAT(stat_offset, static_cast<double>(stat))
|
|
104
|
+
#endif // _WIN32
|
|
96
105
|
|
|
97
106
|
SET_FIELD_WITH_STAT(kDev, s->st_dev);
|
|
98
107
|
SET_FIELD_WITH_STAT(kMode, s->st_mode);
|
|
@@ -135,6 +144,38 @@ v8::Local<v8::Value> FillGlobalStatsArray(BindingData* binding_data,
|
|
|
135
144
|
}
|
|
136
145
|
}
|
|
137
146
|
|
|
147
|
+
template <typename NativeT, typename V8T>
|
|
148
|
+
void FillStatFsArray(AliasedBufferBase<NativeT, V8T>* fields,
|
|
149
|
+
const uv_statfs_t* s) {
|
|
150
|
+
#define SET_FIELD(field, stat) \
|
|
151
|
+
fields->SetValue(static_cast<size_t>(FsStatFsOffset::field), \
|
|
152
|
+
static_cast<NativeT>(stat))
|
|
153
|
+
|
|
154
|
+
SET_FIELD(kType, s->f_type);
|
|
155
|
+
SET_FIELD(kBSize, s->f_bsize);
|
|
156
|
+
SET_FIELD(kBlocks, s->f_blocks);
|
|
157
|
+
SET_FIELD(kBFree, s->f_bfree);
|
|
158
|
+
SET_FIELD(kBAvail, s->f_bavail);
|
|
159
|
+
SET_FIELD(kFiles, s->f_files);
|
|
160
|
+
SET_FIELD(kFFree, s->f_ffree);
|
|
161
|
+
|
|
162
|
+
#undef SET_FIELD
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
v8::Local<v8::Value> FillGlobalStatFsArray(BindingData* binding_data,
|
|
166
|
+
const bool use_bigint,
|
|
167
|
+
const uv_statfs_t* s) {
|
|
168
|
+
if (use_bigint) {
|
|
169
|
+
auto* const arr = &binding_data->statfs_field_bigint_array;
|
|
170
|
+
FillStatFsArray(arr, s);
|
|
171
|
+
return arr->GetJSArray();
|
|
172
|
+
} else {
|
|
173
|
+
auto* const arr = &binding_data->statfs_field_array;
|
|
174
|
+
FillStatFsArray(arr, s);
|
|
175
|
+
return arr->GetJSArray();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
138
179
|
template <typename AliasedBufferT>
|
|
139
180
|
FSReqPromise<AliasedBufferT>*
|
|
140
181
|
FSReqPromise<AliasedBufferT>::New(BindingData* binding_data,
|
|
@@ -156,31 +197,39 @@ FSReqPromise<AliasedBufferT>::New(BindingData* binding_data,
|
|
|
156
197
|
|
|
157
198
|
template <typename AliasedBufferT>
|
|
158
199
|
FSReqPromise<AliasedBufferT>::~FSReqPromise() {
|
|
159
|
-
// Validate that the promise was explicitly resolved or rejected
|
|
160
|
-
|
|
200
|
+
// Validate that the promise was explicitly resolved or rejected but only if
|
|
201
|
+
// the Isolate is not terminating because in this case the promise might have
|
|
202
|
+
// not finished.
|
|
203
|
+
CHECK_IMPLIES(!finished_, !env()->can_call_into_js());
|
|
161
204
|
}
|
|
162
205
|
|
|
163
206
|
template <typename AliasedBufferT>
|
|
164
|
-
FSReqPromise<AliasedBufferT>::FSReqPromise(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
207
|
+
FSReqPromise<AliasedBufferT>::FSReqPromise(BindingData* binding_data,
|
|
208
|
+
v8::Local<v8::Object> obj,
|
|
209
|
+
bool use_bigint)
|
|
210
|
+
: FSReqBase(
|
|
211
|
+
binding_data, obj, AsyncWrap::PROVIDER_FSREQPROMISE, use_bigint),
|
|
212
|
+
stats_field_array_(
|
|
213
|
+
env()->isolate(),
|
|
214
|
+
static_cast<size_t>(FsStatsOffset::kFsStatsFieldsNumber)),
|
|
215
|
+
statfs_field_array_(
|
|
216
|
+
env()->isolate(),
|
|
217
|
+
static_cast<size_t>(FsStatFsOffset::kFsStatFsFieldsNumber)) {}
|
|
175
218
|
|
|
176
219
|
template <typename AliasedBufferT>
|
|
177
220
|
void FSReqPromise<AliasedBufferT>::Reject(v8::Local<v8::Value> reject) {
|
|
178
221
|
finished_ = true;
|
|
179
222
|
v8::HandleScope scope(env()->isolate());
|
|
180
223
|
InternalCallbackScope callback_scope(this);
|
|
181
|
-
v8::Local<v8::Value> value
|
|
182
|
-
|
|
183
|
-
|
|
224
|
+
v8::Local<v8::Value> value;
|
|
225
|
+
if (!object()
|
|
226
|
+
->Get(env()->context(), env()->promise_string())
|
|
227
|
+
.ToLocal(&value)) {
|
|
228
|
+
// If we hit this, getting the value from the object failed and
|
|
229
|
+
// an error was likely scheduled. We could try to reject the promise
|
|
230
|
+
// but let's just allow the error to propagate.
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
184
233
|
v8::Local<v8::Promise::Resolver> resolver = value.As<v8::Promise::Resolver>();
|
|
185
234
|
USE(resolver->Reject(env()->context(), reject).FromJust());
|
|
186
235
|
}
|
|
@@ -190,9 +239,13 @@ void FSReqPromise<AliasedBufferT>::Resolve(v8::Local<v8::Value> value) {
|
|
|
190
239
|
finished_ = true;
|
|
191
240
|
v8::HandleScope scope(env()->isolate());
|
|
192
241
|
InternalCallbackScope callback_scope(this);
|
|
193
|
-
v8::Local<v8::Value> val
|
|
194
|
-
|
|
195
|
-
|
|
242
|
+
v8::Local<v8::Value> val;
|
|
243
|
+
if (!object()->Get(env()->context(), env()->promise_string()).ToLocal(&val)) {
|
|
244
|
+
// If we hit this, getting the value from the object failed and
|
|
245
|
+
// an error was likely scheduled. We could try to reject the promise
|
|
246
|
+
// but let's just allow the error to propagate.
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
196
249
|
v8::Local<v8::Promise::Resolver> resolver = val.As<v8::Promise::Resolver>();
|
|
197
250
|
USE(resolver->Resolve(env()->context(), value).FromJust());
|
|
198
251
|
}
|
|
@@ -203,12 +256,22 @@ void FSReqPromise<AliasedBufferT>::ResolveStat(const uv_stat_t* stat) {
|
|
|
203
256
|
Resolve(stats_field_array_.GetJSArray());
|
|
204
257
|
}
|
|
205
258
|
|
|
259
|
+
template <typename AliasedBufferT>
|
|
260
|
+
void FSReqPromise<AliasedBufferT>::ResolveStatFs(const uv_statfs_t* stat) {
|
|
261
|
+
FillStatFsArray(&statfs_field_array_, stat);
|
|
262
|
+
Resolve(statfs_field_array_.GetJSArray());
|
|
263
|
+
}
|
|
264
|
+
|
|
206
265
|
template <typename AliasedBufferT>
|
|
207
266
|
void FSReqPromise<AliasedBufferT>::SetReturnValue(
|
|
208
267
|
const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|
209
|
-
v8::Local<v8::Value> val
|
|
210
|
-
|
|
211
|
-
|
|
268
|
+
v8::Local<v8::Value> val;
|
|
269
|
+
if (!object()->Get(env()->context(), env()->promise_string()).ToLocal(&val)) {
|
|
270
|
+
// If we hit this, getting the value from the object failed and
|
|
271
|
+
// an error was likely scheduled. We could try to reject the promise
|
|
272
|
+
// but let's just allow the error to propagate.
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
212
275
|
v8::Local<v8::Promise::Resolver> resolver = val.As<v8::Promise::Resolver>();
|
|
213
276
|
args.GetReturnValue().Set(resolver->GetPromise());
|
|
214
277
|
}
|
|
@@ -217,26 +280,34 @@ template <typename AliasedBufferT>
|
|
|
217
280
|
void FSReqPromise<AliasedBufferT>::MemoryInfo(MemoryTracker* tracker) const {
|
|
218
281
|
FSReqBase::MemoryInfo(tracker);
|
|
219
282
|
tracker->TrackField("stats_field_array", stats_field_array_);
|
|
283
|
+
tracker->TrackField("statfs_field_array", statfs_field_array_);
|
|
220
284
|
}
|
|
221
285
|
|
|
222
286
|
FSReqBase* GetReqWrap(const v8::FunctionCallbackInfo<v8::Value>& args,
|
|
223
287
|
int index,
|
|
224
288
|
bool use_bigint) {
|
|
225
289
|
v8::Local<v8::Value> value = args[index];
|
|
290
|
+
FSReqBase* result = nullptr;
|
|
226
291
|
if (value->IsObject()) {
|
|
227
|
-
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
292
|
+
result = BaseObject::Unwrap<FSReqBase>(value.As<v8::Object>());
|
|
293
|
+
} else {
|
|
294
|
+
Realm* realm = Realm::GetCurrent(args);
|
|
295
|
+
BindingData* binding_data = realm->GetBindingData<BindingData>();
|
|
296
|
+
|
|
297
|
+
if (value->StrictEquals(realm->isolate_data()->fs_use_promises_symbol())) {
|
|
298
|
+
if (use_bigint) {
|
|
299
|
+
result =
|
|
300
|
+
FSReqPromise<AliasedBigInt64Array>::New(binding_data, use_bigint);
|
|
301
|
+
} else {
|
|
302
|
+
result =
|
|
303
|
+
FSReqPromise<AliasedFloat64Array>::New(binding_data, use_bigint);
|
|
304
|
+
}
|
|
237
305
|
}
|
|
238
306
|
}
|
|
239
|
-
|
|
307
|
+
if (result != nullptr) {
|
|
308
|
+
result->SetReturnValue(args);
|
|
309
|
+
}
|
|
310
|
+
return result;
|
|
240
311
|
}
|
|
241
312
|
|
|
242
313
|
// Returns nullptr if the operation fails from the start.
|
|
@@ -255,10 +326,7 @@ FSReqBase* AsyncDestCall(Environment* env, FSReqBase* req_wrap,
|
|
|
255
326
|
uv_req->path = nullptr;
|
|
256
327
|
after(uv_req); // after may delete req_wrap if there is an error
|
|
257
328
|
req_wrap = nullptr;
|
|
258
|
-
} else {
|
|
259
|
-
req_wrap->SetReturnValue(args);
|
|
260
329
|
}
|
|
261
|
-
|
|
262
330
|
return req_wrap;
|
|
263
331
|
}
|
|
264
332
|
|
|
@@ -279,23 +347,61 @@ FSReqBase* AsyncCall(Environment* env,
|
|
|
279
347
|
// creating an error in the C++ land.
|
|
280
348
|
// ctx must be checked using value->IsObject() before being passed.
|
|
281
349
|
template <typename Func, typename... Args>
|
|
282
|
-
int SyncCall(Environment* env,
|
|
283
|
-
|
|
284
|
-
|
|
350
|
+
v8::Maybe<int> SyncCall(Environment* env,
|
|
351
|
+
v8::Local<v8::Value> ctx,
|
|
352
|
+
FSReqWrapSync* req_wrap,
|
|
353
|
+
const char* syscall,
|
|
354
|
+
Func fn,
|
|
355
|
+
Args... args) {
|
|
285
356
|
env->PrintSyncTrace();
|
|
286
357
|
int err = fn(env->event_loop(), &(req_wrap->req), args..., nullptr);
|
|
287
358
|
if (err < 0) {
|
|
288
359
|
v8::Local<v8::Context> context = env->context();
|
|
289
360
|
v8::Local<v8::Object> ctx_obj = ctx.As<v8::Object>();
|
|
290
361
|
v8::Isolate* isolate = env->isolate();
|
|
291
|
-
ctx_obj
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
362
|
+
if (ctx_obj
|
|
363
|
+
->Set(context, env->errno_string(), v8::Integer::New(isolate, err))
|
|
364
|
+
.IsNothing() ||
|
|
365
|
+
ctx_obj
|
|
366
|
+
->Set(
|
|
367
|
+
context, env->syscall_string(), OneByteString(isolate, syscall))
|
|
368
|
+
.IsNothing()) {
|
|
369
|
+
return v8::Nothing<int>();
|
|
370
|
+
}
|
|
297
371
|
}
|
|
298
|
-
return err;
|
|
372
|
+
return v8::Just(err);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// Similar to SyncCall but throws immediately if there is an error.
|
|
376
|
+
template <typename Predicate, typename Func, typename... Args>
|
|
377
|
+
int SyncCallAndThrowIf(Predicate should_throw,
|
|
378
|
+
Environment* env,
|
|
379
|
+
FSReqWrapSync* req_wrap,
|
|
380
|
+
Func fn,
|
|
381
|
+
Args... args) {
|
|
382
|
+
env->PrintSyncTrace();
|
|
383
|
+
int result = fn(nullptr, &(req_wrap->req), args..., nullptr);
|
|
384
|
+
if (should_throw(result)) {
|
|
385
|
+
env->ThrowUVException(result,
|
|
386
|
+
req_wrap->syscall_p,
|
|
387
|
+
nullptr,
|
|
388
|
+
req_wrap->path_p,
|
|
389
|
+
req_wrap->dest_p);
|
|
390
|
+
}
|
|
391
|
+
return result;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
constexpr bool is_uv_error(int result) {
|
|
395
|
+
return result < 0;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// Similar to SyncCall but throws immediately if there is an error.
|
|
399
|
+
template <typename Func, typename... Args>
|
|
400
|
+
int SyncCallAndThrowOnError(Environment* env,
|
|
401
|
+
FSReqWrapSync* req_wrap,
|
|
402
|
+
Func fn,
|
|
403
|
+
Args... args) {
|
|
404
|
+
return SyncCallAndThrowIf(is_uv_error, env, req_wrap, fn, args...);
|
|
299
405
|
}
|
|
300
406
|
|
|
301
407
|
} // namespace fs
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
|
+
#include <optional>
|
|
6
7
|
#include "aliased_buffer.h"
|
|
7
8
|
#include "node_messaging.h"
|
|
8
9
|
#include "node_snapshotable.h"
|
|
@@ -13,24 +14,94 @@ namespace fs {
|
|
|
13
14
|
|
|
14
15
|
class FileHandleReadWrap;
|
|
15
16
|
|
|
17
|
+
enum class FsStatsOffset {
|
|
18
|
+
kDev = 0,
|
|
19
|
+
kMode,
|
|
20
|
+
kNlink,
|
|
21
|
+
kUid,
|
|
22
|
+
kGid,
|
|
23
|
+
kRdev,
|
|
24
|
+
kBlkSize,
|
|
25
|
+
kIno,
|
|
26
|
+
kSize,
|
|
27
|
+
kBlocks,
|
|
28
|
+
kATimeSec,
|
|
29
|
+
kATimeNsec,
|
|
30
|
+
kMTimeSec,
|
|
31
|
+
kMTimeNsec,
|
|
32
|
+
kCTimeSec,
|
|
33
|
+
kCTimeNsec,
|
|
34
|
+
kBirthTimeSec,
|
|
35
|
+
kBirthTimeNsec,
|
|
36
|
+
kFsStatsFieldsNumber
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Stat fields buffers contain twice the number of entries in an uv_stat_t
|
|
40
|
+
// because `fs.StatWatcher` needs room to store 2 `fs.Stats` instances.
|
|
41
|
+
constexpr size_t kFsStatsBufferLength =
|
|
42
|
+
static_cast<size_t>(FsStatsOffset::kFsStatsFieldsNumber) * 2;
|
|
43
|
+
|
|
44
|
+
enum class FsStatFsOffset {
|
|
45
|
+
kType = 0,
|
|
46
|
+
kBSize,
|
|
47
|
+
kBlocks,
|
|
48
|
+
kBFree,
|
|
49
|
+
kBAvail,
|
|
50
|
+
kFiles,
|
|
51
|
+
kFFree,
|
|
52
|
+
kFsStatFsFieldsNumber
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
constexpr size_t kFsStatFsBufferLength =
|
|
56
|
+
static_cast<size_t>(FsStatFsOffset::kFsStatFsFieldsNumber);
|
|
57
|
+
|
|
16
58
|
class BindingData : public SnapshotableObject {
|
|
17
59
|
public:
|
|
18
|
-
|
|
60
|
+
struct InternalFieldInfo : public node::InternalFieldInfoBase {
|
|
61
|
+
AliasedBufferIndex stats_field_array;
|
|
62
|
+
AliasedBufferIndex stats_field_bigint_array;
|
|
63
|
+
AliasedBufferIndex statfs_field_array;
|
|
64
|
+
AliasedBufferIndex statfs_field_bigint_array;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
enum class FilePathIsFileReturnType {
|
|
68
|
+
kIsFile = 0,
|
|
69
|
+
kIsNotFile,
|
|
70
|
+
kThrowInsufficientPermissions
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
explicit BindingData(Realm* realm,
|
|
74
|
+
v8::Local<v8::Object> wrap,
|
|
75
|
+
InternalFieldInfo* info = nullptr);
|
|
19
76
|
|
|
20
77
|
AliasedFloat64Array stats_field_array;
|
|
21
|
-
|
|
78
|
+
AliasedBigInt64Array stats_field_bigint_array;
|
|
79
|
+
|
|
80
|
+
AliasedFloat64Array statfs_field_array;
|
|
81
|
+
AliasedBigInt64Array statfs_field_bigint_array;
|
|
22
82
|
|
|
23
83
|
std::vector<BaseObjectPtr<FileHandleReadWrap>>
|
|
24
84
|
file_handle_read_wrap_freelist;
|
|
25
85
|
|
|
26
86
|
SERIALIZABLE_OBJECT_METHODS()
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
87
|
+
SET_BINDING_ID(fs_binding_data)
|
|
88
|
+
|
|
89
|
+
static void LegacyMainResolve(
|
|
90
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
91
|
+
|
|
92
|
+
static void CreatePerIsolateProperties(IsolateData* isolate_data,
|
|
93
|
+
v8::Local<v8::ObjectTemplate> ctor);
|
|
94
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
30
95
|
|
|
31
96
|
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
32
97
|
SET_SELF_SIZE(BindingData)
|
|
33
98
|
SET_MEMORY_INFO_NAME(BindingData)
|
|
99
|
+
|
|
100
|
+
private:
|
|
101
|
+
InternalFieldInfo* internal_field_info_ = nullptr;
|
|
102
|
+
|
|
103
|
+
static FilePathIsFileReturnType FilePathIsFile(Environment* env,
|
|
104
|
+
const std::string& file_path);
|
|
34
105
|
};
|
|
35
106
|
|
|
36
107
|
// structure used to store state during a complex operation, e.g., mkdirp.
|
|
@@ -81,6 +152,7 @@ class FSReqBase : public ReqWrap<uv_fs_t> {
|
|
|
81
152
|
virtual void Reject(v8::Local<v8::Value> reject) = 0;
|
|
82
153
|
virtual void Resolve(v8::Local<v8::Value> value) = 0;
|
|
83
154
|
virtual void ResolveStat(const uv_stat_t* stat) = 0;
|
|
155
|
+
virtual void ResolveStatFs(const uv_statfs_t* stat) = 0;
|
|
84
156
|
virtual void SetReturnValue(
|
|
85
157
|
const v8::FunctionCallbackInfo<v8::Value>& args) = 0;
|
|
86
158
|
|
|
@@ -89,8 +161,10 @@ class FSReqBase : public ReqWrap<uv_fs_t> {
|
|
|
89
161
|
enum encoding encoding() const { return encoding_; }
|
|
90
162
|
bool use_bigint() const { return use_bigint_; }
|
|
91
163
|
bool is_plain_open() const { return is_plain_open_; }
|
|
164
|
+
bool with_file_types() const { return with_file_types_; }
|
|
92
165
|
|
|
93
166
|
void set_is_plain_open(bool value) { is_plain_open_ = value; }
|
|
167
|
+
void set_with_file_types(bool value) { with_file_types_ = value; }
|
|
94
168
|
|
|
95
169
|
FSContinuationData* continuation_data() const {
|
|
96
170
|
return continuation_data_.get();
|
|
@@ -116,6 +190,7 @@ class FSReqBase : public ReqWrap<uv_fs_t> {
|
|
|
116
190
|
bool has_data_ = false;
|
|
117
191
|
bool use_bigint_ = false;
|
|
118
192
|
bool is_plain_open_ = false;
|
|
193
|
+
bool with_file_types_ = false;
|
|
119
194
|
const char* syscall_ = nullptr;
|
|
120
195
|
|
|
121
196
|
BaseObjectPtr<BindingData> binding_data_;
|
|
@@ -134,6 +209,7 @@ class FSReqCallback final : public FSReqBase {
|
|
|
134
209
|
void Reject(v8::Local<v8::Value> reject) override;
|
|
135
210
|
void Resolve(v8::Local<v8::Value> value) override;
|
|
136
211
|
void ResolveStat(const uv_stat_t* stat) override;
|
|
212
|
+
void ResolveStatFs(const uv_statfs_t* stat) override;
|
|
137
213
|
void SetReturnValue(const v8::FunctionCallbackInfo<v8::Value>& args) override;
|
|
138
214
|
|
|
139
215
|
SET_MEMORY_INFO_NAME(FSReqCallback)
|
|
@@ -153,6 +229,14 @@ inline v8::Local<v8::Value> FillGlobalStatsArray(BindingData* binding_data,
|
|
|
153
229
|
const uv_stat_t* s,
|
|
154
230
|
const bool second = false);
|
|
155
231
|
|
|
232
|
+
template <typename NativeT, typename V8T>
|
|
233
|
+
void FillStatFsArray(AliasedBufferBase<NativeT, V8T>* fields,
|
|
234
|
+
const uv_statfs_t* s);
|
|
235
|
+
|
|
236
|
+
inline v8::Local<v8::Value> FillGlobalStatFsArray(BindingData* binding_data,
|
|
237
|
+
const bool use_bigint,
|
|
238
|
+
const uv_statfs_t* s);
|
|
239
|
+
|
|
156
240
|
template <typename AliasedBufferT>
|
|
157
241
|
class FSReqPromise final : public FSReqBase {
|
|
158
242
|
public:
|
|
@@ -163,6 +247,7 @@ class FSReqPromise final : public FSReqBase {
|
|
|
163
247
|
inline void Reject(v8::Local<v8::Value> reject) override;
|
|
164
248
|
inline void Resolve(v8::Local<v8::Value> value) override;
|
|
165
249
|
inline void ResolveStat(const uv_stat_t* stat) override;
|
|
250
|
+
inline void ResolveStatFs(const uv_statfs_t* stat) override;
|
|
166
251
|
inline void SetReturnValue(
|
|
167
252
|
const v8::FunctionCallbackInfo<v8::Value>& args) override;
|
|
168
253
|
inline void MemoryInfo(MemoryTracker* tracker) const override;
|
|
@@ -182,6 +267,7 @@ class FSReqPromise final : public FSReqBase {
|
|
|
182
267
|
|
|
183
268
|
bool finished_ = false;
|
|
184
269
|
AliasedBufferT stats_field_array_;
|
|
270
|
+
AliasedBufferT statfs_field_array_;
|
|
185
271
|
};
|
|
186
272
|
|
|
187
273
|
class FSReqAfterScope final {
|
|
@@ -242,13 +328,17 @@ class FileHandle final : public AsyncWrap, public StreamBase {
|
|
|
242
328
|
|
|
243
329
|
static FileHandle* New(BindingData* binding_data,
|
|
244
330
|
int fd,
|
|
245
|
-
v8::Local<v8::Object> obj = v8::Local<v8::Object>()
|
|
331
|
+
v8::Local<v8::Object> obj = v8::Local<v8::Object>(),
|
|
332
|
+
std::optional<int64_t> maybeOffset = std::nullopt,
|
|
333
|
+
std::optional<int64_t> maybeLength = std::nullopt);
|
|
246
334
|
~FileHandle() override;
|
|
247
335
|
|
|
248
336
|
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
249
337
|
|
|
250
338
|
int GetFD() override { return fd_; }
|
|
251
339
|
|
|
340
|
+
int Release();
|
|
341
|
+
|
|
252
342
|
// Will asynchronously close the FD and return a Promise that will
|
|
253
343
|
// be resolved once closing is complete.
|
|
254
344
|
static void Close(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
@@ -283,7 +373,7 @@ class FileHandle final : public AsyncWrap, public StreamBase {
|
|
|
283
373
|
FileHandle(const FileHandle&&) = delete;
|
|
284
374
|
FileHandle& operator=(const FileHandle&&) = delete;
|
|
285
375
|
|
|
286
|
-
TransferMode GetTransferMode() const override;
|
|
376
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
287
377
|
std::unique_ptr<worker::TransferData> TransferForMessaging() override;
|
|
288
378
|
|
|
289
379
|
private:
|
|
@@ -367,10 +457,22 @@ int MKDirpSync(uv_loop_t* loop,
|
|
|
367
457
|
|
|
368
458
|
class FSReqWrapSync {
|
|
369
459
|
public:
|
|
370
|
-
FSReqWrapSync(
|
|
460
|
+
FSReqWrapSync(const char* syscall = nullptr,
|
|
461
|
+
const char* path = nullptr,
|
|
462
|
+
const char* dest = nullptr)
|
|
463
|
+
: syscall_p(syscall), path_p(path), dest_p(dest) {}
|
|
371
464
|
~FSReqWrapSync() { uv_fs_req_cleanup(&req); }
|
|
465
|
+
|
|
372
466
|
uv_fs_t req;
|
|
467
|
+
const char* syscall_p;
|
|
468
|
+
const char* path_p;
|
|
469
|
+
const char* dest_p;
|
|
470
|
+
|
|
471
|
+
FSReqWrapSync(const FSReqWrapSync&) = delete;
|
|
472
|
+
FSReqWrapSync& operator=(const FSReqWrapSync&) = delete;
|
|
373
473
|
|
|
474
|
+
// TODO(joyeecheung): move these out of FSReqWrapSync and into a special
|
|
475
|
+
// class for mkdirp
|
|
374
476
|
FSContinuationData* continuation_data() const {
|
|
375
477
|
return continuation_data_.get();
|
|
376
478
|
}
|
|
@@ -378,9 +480,6 @@ class FSReqWrapSync {
|
|
|
378
480
|
continuation_data_ = std::move(data);
|
|
379
481
|
}
|
|
380
482
|
|
|
381
|
-
FSReqWrapSync(const FSReqWrapSync&) = delete;
|
|
382
|
-
FSReqWrapSync& operator=(const FSReqWrapSync&) = delete;
|
|
383
|
-
|
|
384
483
|
private:
|
|
385
484
|
std::unique_ptr<FSContinuationData> continuation_data_;
|
|
386
485
|
};
|
|
@@ -413,10 +512,25 @@ inline FSReqBase* AsyncCall(Environment* env,
|
|
|
413
512
|
// creating an error in the C++ land.
|
|
414
513
|
// ctx must be checked using value->IsObject() before being passed.
|
|
415
514
|
template <typename Func, typename... Args>
|
|
416
|
-
inline int SyncCall(Environment* env,
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
515
|
+
inline v8::Maybe<int> SyncCall(Environment* env,
|
|
516
|
+
v8::Local<v8::Value> ctx,
|
|
517
|
+
FSReqWrapSync* req_wrap,
|
|
518
|
+
const char* syscall,
|
|
519
|
+
Func fn,
|
|
520
|
+
Args... args);
|
|
521
|
+
|
|
522
|
+
// Similar to SyncCall but throws immediately if there is an error.
|
|
523
|
+
template <typename Predicate, typename Func, typename... Args>
|
|
524
|
+
int SyncCallAndThrowIf(Predicate should_throw,
|
|
525
|
+
Environment* env,
|
|
526
|
+
FSReqWrapSync* req_wrap,
|
|
527
|
+
Func fn,
|
|
528
|
+
Args... args);
|
|
529
|
+
template <typename Func, typename... Args>
|
|
530
|
+
int SyncCallAndThrowOnError(Environment* env,
|
|
531
|
+
FSReqWrapSync* req_wrap,
|
|
532
|
+
Func fn,
|
|
533
|
+
Args... args);
|
|
420
534
|
} // namespace fs
|
|
421
535
|
|
|
422
536
|
} // namespace node
|