; To update this list, use:
;
; dumpbin /symbols .\src\deps\libuv.lib | Where-Object { $_.Contains('| uv_') } | foreach-object { (($_ -split "\|")[1] -split " ")[1] } | Where-Object { $_ -match 'uv_[a-z]' } | ForEach-Object { "  ${_}" } > out.txt; dumpbin /symbols .\build\CMakeFiles\bun-zig.o | Where-Object { $_.Contains('| napi_') } | foreach-object { (($_ -split "\|")[1] -split " ")[1] } | ForEach-Object { "  ${_}" } >> out.txt
; -> out.txt
;
; the above will include extra symbols that do not exist, remember
; to double check a local build
EXPORTS
  uv_fs_poll_init
  uv_fs_poll_start
  uv_fs_poll_stop
  uv_fs_poll_getpath
  uv_is_active
  uv_now
  uv_timer_init
  uv_fs_stat
  uv_fs_req_cleanup
  uv_close
  uv_timer_start
  uv_inet_ntop
  uv_inet_pton
  uv_random
  uv_barrier_init
  uv_barrier_wait
  uv_barrier_destroy
  uv_mutex_init
  uv_cond_init
  uv_mutex_destroy
  uv_mutex_lock
  uv_cond_wait
  uv_cond_broadcast
  uv_mutex_unlock
  uv_cond_destroy
  uv_queue_work
  uv_cancel
  uv_mutex_lock
  uv_cond_signal
  uv_mutex_unlock
  uv_thread_join
  uv_mutex_destroy
  uv_cond_destroy
  uv_once
  uv_cond_init
  uv_mutex_init
  uv_sem_init
  uv_thread_create_ex
  uv_sem_wait
  uv_sem_destroy
  uv_async_send
  uv_sem_post
  uv_cond_wait
  uv_timer_init
  uv_timer_start
  uv_timer_stop
  uv_timer_again
  uv_timer_set_repeat
  uv_timer_get_repeat
  uv_timer_get_due_in
  uv_replace_allocator
  uv_os_free_passwd
  uv_os_free_group
  uv_handle_size
  uv_req_size
  uv_loop_size
  uv_buf_init
  uv_err_name_r
  uv_err_name
  uv_strerror_r
  uv_strerror
  uv_ip4_addr
  uv_ip6_addr
  uv_ip4_name
  uv_ip6_name
  uv_ip_name
  uv_tcp_bind
  uv_udp_init_ex
  uv_udp_init
  uv_udp_bind
  uv_tcp_connect
  uv_udp_connect
  uv_udp_send
  uv_udp_try_send
  uv_udp_recv_start
  uv_udp_recv_stop
  uv_walk
  uv_print_all_handles
  uv_print_active_handles
  uv_ref
  uv_unref
  uv_has_ref
  uv_stop
  uv_now
  uv_recv_buffer_size
  uv_send_buffer_size
  uv_fs_event_getpath
  uv_fs_scandir_next
  uv_loop_configure
  uv_default_loop
  uv_loop_new
  uv_loop_close
  uv_loop_delete
  uv_read_start
  uv_os_free_environ
  uv_free_cpu_info
  uv_library_shutdown
  uv_metrics_info
  uv_metrics_idle_time
  uv_inet_pton
  uv_inet_ntop
  uv_udp_getpeername
  uv_loop_init
  uv_hrtime
  uv_mutex_lock
  uv_mutex_unlock
  uv_handle_type_name
  uv_handle_get_type
  uv_handle_get_data
  uv_handle_get_loop
  uv_handle_set_data
  uv_req_type_name
  uv_req_get_type
  uv_req_get_data
  uv_req_set_data
  uv_stream_get_write_queue_size
  uv_udp_get_send_queue_size
  uv_udp_get_send_queue_count
  uv_process_get_pid
  uv_fs_get_type
  uv_fs_get_result
  uv_fs_get_ptr
  uv_fs_get_path
  uv_fs_get_statbuf
  uv_loop_get_data
  uv_loop_set_data
  uv_version
  uv_version_string
  uv_async_init
  uv_async_send
  uv_fatal_error
  uv_loop_init
  uv_update_time
  uv_backend_fd
  uv_loop_fork
  uv_loop_alive
  uv_backend_timeout
  uv_run
  uv_fileno
  uv_cpumask_size
  uv_mutex_lock
  uv_mutex_unlock
  uv_once
  uv_mutex_init
  uv_async_init
  uv_mutex_destroy
  uv_translate_sys_error
  uv_fatal_error
  uv_is_closing
  uv_dlopen
  uv_dlclose
  uv_dlsym
  uv_dlerror
  uv_fatal_error
  uv_translate_sys_error
  uv_fs_req_cleanup
  uv_fs_open
  uv_fs_close
  uv_fs_read
  uv_fs_write
  uv_fs_unlink
  uv_fs_mkdir
  uv_fs_mkdtemp
  uv_fs_mkstemp
  uv_fs_rmdir
  uv_fs_scandir
  uv_fs_opendir
  uv_fs_readdir
  uv_fs_closedir
  uv_fs_link
  uv_fs_symlink
  uv_fs_readlink
  uv_fs_realpath
  uv_fs_chown
  uv_fs_fchown
  uv_fs_lchown
  uv_fs_stat
  uv_fs_lstat
  uv_fs_fstat
  uv_fs_rename
  uv_fs_fsync
  uv_fs_fdatasync
  uv_fs_ftruncate
  uv_fs_copyfile
  uv_fs_sendfile
  uv_fs_access
  uv_fs_chmod
  uv_fs_fchmod
  uv_fs_utime
  uv_fs_futime
  uv_fs_lutime
  uv_fs_statfs
  uv_fs_get_system_error
  uv_mutex_init
  uv_fatal_error
  uv_translate_sys_error
  uv_mutex_lock
  uv_mutex_unlock
  uv_guess_handle
  uv_fs_event_init
  uv_fs_event_start
  uv_fs_event_stop
  uv_translate_sys_error
  uv_fatal_error
  uv_directory_watcher_buffer_size
  uv_freeaddrinfo
  uv_getaddrinfo
  uv_if_indextoname
  uv_if_indextoiid
  uv_translate_sys_error
  uv_getnameinfo
  uv_translate_sys_error
  uv_guess_handle
  uv_is_active
  uv_close
  uv_is_closing
  uv_get_osfhandle
  uv_open_osfhandle
  uv_check_stop
  uv_idle_stop
  uv_prepare_stop
  uv_timer_stop
  uv_prepare_init
  uv_prepare_start
  uv_prepare_stop
  uv_check_init
  uv_check_start
  uv_check_stop
  uv_idle_init
  uv_idle_start
  uv_idle_stop
  uv_pipe_init
  uv_pipe
  uv_pipe_pending_instances
  uv_pipe_bind
  uv_pipe_bind2
  uv_pipe_connect
  uv_pipe_connect2
  uv_pipe_open
  uv_pipe_pending_count
  uv_pipe_getsockname
  uv_pipe_getpeername
  uv_pipe_pending_type
  uv_pipe_chmod
  uv_fatal_error
  uv_translate_sys_error
  uv_close
  uv_timer_start
  uv_buf_init
  uv_timer_stop
  uv_read_stop
  uv_timer_init
  uv_unref
  uv_once
  uv_thread_create
  uv_thread_create_ex
  uv_thread_setaffinity
  uv_thread_getaffinity
  uv_thread_getcpu
  uv_thread_self
  uv_key_get
  uv_key_set
  uv_thread_join
  uv_thread_equal
  uv_mutex_init
  uv_mutex_init_recursive
  uv_mutex_destroy
  uv_mutex_lock
  uv_mutex_trylock
  uv_mutex_unlock
  uv_rwlock_init
  uv_rwlock_destroy
  uv_rwlock_rdlock
  uv_rwlock_tryrdlock
  uv_rwlock_rdunlock
  uv_rwlock_wrlock
  uv_rwlock_trywrlock
  uv_rwlock_wrunlock
  uv_sem_init
  uv_sem_destroy
  uv_sem_post
  uv_sem_wait
  uv_sem_trywait
  uv_cond_init
  uv_cond_destroy
  uv_cond_signal
  uv_cond_broadcast
  uv_cond_wait
  uv_cond_timedwait
  uv_key_create
  uv_key_delete
  uv_fatal_error
  uv_cpumask_size
  uv_translate_sys_error
  uv_poll_init
  uv_poll_init_socket
  uv_poll_start
  uv_poll_stop
  uv_translate_sys_error
  uv_once
  uv_fatal_error
  uv_spawn
  uv_process_kill
  uv_kill
  uv_fatal_error
  uv_translate_sys_error
  uv_once
  uv_disable_stdio_inheritance
  uv_signal_init
  uv_signal_stop
  uv_signal_start
  uv_signal_start_oneshot
  uv_fatal_error
  uv_listen
  uv_accept
  uv_read_stop
  uv_write
  uv_write2
  uv_try_write
  uv_try_write2
  uv_shutdown
  uv_is_readable
  uv_is_writable
  uv_stream_set_blocking
  uv_translate_sys_error
  uv_tcp_init_ex
  uv_tcp_init
  uv_tcp_close_reset
  uv_tcp_getsockname
  uv_tcp_getpeername
  uv_tcp_nodelay
  uv_tcp_keepalive
  uv_tcp_simultaneous_accepts
  uv_tcp_open
  uv_socketpair
  uv_translate_sys_error
  uv_tcp_non_ifs_lsp_ipv6
  uv_tcp_non_ifs_lsp_ipv4
  uv_close
  uv_addr_ip4_any_
  uv_fatal_error
  uv_buf_init
  uv_read_stop
  uv_addr_ip6_any_
  uv_simultaneous_server_accepts
  uv_tty_init
  uv_tty_set_mode
  uv_tty_get_winsize
  uv_process_tty_read_raw_req
  uv_process_tty_read_line_req
  uv_tty_reset_mode
  uv_tty_set_vterm_state
  uv_tty_get_vterm_state
  uv_sem_init
  uv_mutex_init
  uv_sem_wait
  uv_sem_post
  uv_translate_sys_error
  uv_buf_init
  uv_mutex_lock
  uv_mutex_unlock
  uv_fatal_error
  uv_udp_getpeername
  uv_udp_getsockname
  uv_udp_using_recvmmsg
  uv_udp_set_membership
  uv_udp_set_source_membership
  uv_udp_set_multicast_interface
  uv_udp_set_broadcast
  uv_udp_open
  uv_udp_set_ttl
  uv_udp_set_multicast_ttl
  uv_udp_set_multicast_loop
  uv_translate_sys_error
  uv_udp_recv_stop
  uv_addr_ip4_any_
  uv_buf_init
  uv_addr_ip6_any_
  uv_ip6_addr
  uv_ip4_addr
  uv_inet_pton
  uv_exepath
  uv_cwd
  uv_chdir
  uv_loadavg
  uv_get_free_memory
  uv_get_total_memory
  uv_get_constrained_memory
  uv_get_available_memory
  uv_os_getpid
  uv_os_getppid
  uv_setup_args
  uv_set_process_title
  uv_get_process_title
  uv_clock_gettime
  uv_hrtime
  uv_resident_set_memory
  uv_uptime
  uv_available_parallelism
  uv_cpu_info
  uv_interface_addresses
  uv_free_interface_addresses
  uv_getrusage
  uv_os_homedir
  uv_os_getenv
  uv_os_get_passwd
  uv_os_tmpdir
  uv_os_get_passwd2
  uv_os_get_group
  uv_os_environ
  uv_os_setenv
  uv_os_unsetenv
  uv_os_gethostname
  uv_os_getpriority
  uv_os_setpriority
  uv_os_uname
  uv_gettimeofday
  uv_sleep
  uv_fatal_error
  uv_translate_sys_error
  uv_os_free_passwd
  uv_fatal_error
  uv_addr_ip4_any_
  uv_ip4_addr
  uv_addr_ip6_any_
  uv_ip6_addr
  uv_tcp_non_ifs_lsp_ipv4
  uv_tcp_non_ifs_lsp_ipv6
  uv_fatal_error
  napi_get_undefined
  napi_get_null
  napi_get_boolean
  napi_create_array
  napi_create_array_with_length
  napi_create_int32
  napi_create_uint32
  napi_create_int64
  napi_create_string_latin1
  napi_create_string_utf8
  napi_create_string_utf16
  napi_get_value_int32
  napi_get_value_uint32
  napi_get_value_int64
  napi_get_value_bool
  napi_get_value_string_latin1
  napi_get_value_string_utf16
  napi_coerce_to_bool
  napi_coerce_to_number
  napi_coerce_to_object
  napi_get_prototype
  napi_set_element
  napi_has_element
  napi_is_array
  napi_get_array_length
  napi_strict_equals
  napi_new_instance
  napi_instanceof
  napi_open_handle_scope
  napi_close_handle_scope
  napi_async_init
  napi_async_destroy
  napi_make_callback
  napi_open_escapable_handle_scope
  napi_close_escapable_handle_scope
  napi_escape_handle
  napi_type_tag_object
  napi_check_object_type_tag
  napi_open_callback_scope
  napi_close_callback_scope
  napi_is_error
  napi_is_arraybuffer
  napi_get_arraybuffer_info
  napi_is_typedarray
  napi_create_typedarray
  napi_get_typedarray_info
  napi_is_dataview
  napi_get_dataview_info
  napi_get_version
  napi_create_promise
  napi_resolve_deferred
  napi_reject_deferred
  napi_is_promise
  napi_create_date
  napi_is_date
  napi_create_bigint_int64
  napi_create_bigint_uint64
  napi_get_value_bigint_int64
  napi_get_value_bigint_uint64
  napi_fatal_error
  napi_create_buffer
  napi_create_buffer_copy
  napi_is_buffer
  napi_get_buffer_info
  napi_create_async_work
  napi_delete_async_work
  napi_queue_async_work
  napi_cancel_async_work
  napi_get_node_version
  napi_get_uv_event_loop
  napi_add_env_cleanup_hook
  napi_remove_env_cleanup_hook
  napi_create_threadsafe_function
  napi_get_threadsafe_function_context
  napi_call_threadsafe_function
  napi_acquire_threadsafe_function
  napi_release_threadsafe_function
  napi_unref_threadsafe_function
  napi_ref_threadsafe_function
  napi_add_async_cleanup_hook
  napi_remove_async_cleanup_hook
  napi_get_last_error_info
  napi_get_global
  napi_create_double
  napi_create_symbol
  napi_create_error
  napi_create_type_error
  napi_create_range_error
  napi_typeof
  napi_get_value_double
  napi_get_value_string_utf8
  napi_get_element
  napi_delete_element
  napi_define_properties
  napi_call_function
  napi_get_cb_info
  napi_get_new_target
  napi_define_class
  napi_wrap
  napi_unwrap
  napi_remove_wrap
  napi_create_object
  napi_create_external
  napi_get_value_external
  napi_create_reference
  napi_delete_reference
  napi_reference_ref
  napi_reference_unref
  napi_get_reference_value
  napi_throw
  napi_throw_error
  napi_throw_type_error
  napi_throw_range_error
  napi_is_exception_pending
  napi_get_and_clear_last_exception
  napi_create_arraybuffer
  napi_create_external_arraybuffer
  napi_create_dataview
  napi_run_script
  napi_adjust_external_memory
  napi_get_date_value
  napi_add_finalizer
  napi_create_bigint_words
  napi_get_value_bigint_words
  napi_get_all_property_names
  napi_set_instance_data
  napi_get_instance_data
  napi_detach_arraybuffer
  napi_is_detached_arraybuffer
  napi_create_external_buffer
  napi_fatal_exception
  node_api_create_buffer_from_arraybuffer
  node_api_get_module_file_name
  node_api_post_finalizer
  node_api_create_property_key_latin1
  node_api_create_property_key_utf16
  node_api_create_property_key_utf8
  dumpBtjsTrace
  ?TryGetCurrent@Isolate@v8@@SAPEAV12@XZ
  ?GetCurrent@Isolate@v8@@SAPEAV12@XZ
  ?GetCurrentContext@Isolate@v8@@QEAA?AV?$Local@VContext@v8@@@2@XZ
  ?AddEnvironmentCleanupHook@node@@YAXPEAVIsolate@v8@@P6AXPEAX@Z1@Z
  ?RemoveEnvironmentCleanupHook@node@@YAXPEAVIsolate@v8@@P6AXPEAX@Z1@Z
  ?New@Number@v8@@SA?AV?$Local@VNumber@v8@@@2@PEAVIsolate@2@N@Z
  ?Value@Number@v8@@QEBANXZ
  ?NewFromUtf8@String@v8@@SA?AV?$MaybeLocal@VString@v8@@@2@PEAVIsolate@2@PEBDW4NewStringType@2@H@Z
  ?WriteUtf8@String@v8@@QEBAHPEAVIsolate@2@PEADHPEAHH@Z
  ?ToLocalEmpty@api_internal@v8@@YAXXZ
  ?Length@String@v8@@QEBAHXZ
  ?New@External@v8@@SA?AV?$Local@VExternal@v8@@@2@PEAVIsolate@2@PEAX@Z
  ?Value@External@v8@@QEBAPEAXXZ
  ?New@Object@v8@@SA?AV?$Local@VObject@v8@@@2@PEAVIsolate@2@@Z
  ?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@1@Z
  ?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@IV?$Local@VValue@v8@@@2@@Z
  ?Get@Object@v8@@QEAA?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@I@Z
  ?Get@Object@v8@@QEAA?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@@Z
  ?SetInternalField@Object@v8@@QEAAXHV?$Local@VData@v8@@@2@@Z
  ?SlowGetInternalField@Object@v8@@AEAA?AV?$Local@VData@v8@@@2@H@Z
  ?CreateHandle@HandleScope@v8@@KAPEA_KPEAVIsolate@internal@2@_K@Z
  ??0HandleScope@v8@@QEAA@PEAVIsolate@1@@Z
  ??1HandleScope@v8@@QEAA@XZ
  ?GetFunction@FunctionTemplate@v8@@QEAA?AV?$MaybeLocal@VFunction@v8@@@2@V?$Local@VContext@v8@@@2@@Z
  ?New@FunctionTemplate@v8@@SA?AV?$Local@VFunctionTemplate@v8@@@2@PEAVIsolate@2@P6AXAEBV?$FunctionCallbackInfo@VValue@v8@@@2@@ZV?$Local@VValue@v8@@@2@V?$Local@VSignature@v8@@@2@HW4ConstructorBehavior@2@W4SideEffectType@2@PEBVCFunction@2@GGG@Z
  ?NewInstance@ObjectTemplate@v8@@QEAA?AV?$MaybeLocal@VObject@v8@@@2@V?$Local@VContext@v8@@@2@@Z
  ?SetInternalFieldCount@ObjectTemplate@v8@@QEAAXH@Z
  ?InternalFieldCount@ObjectTemplate@v8@@QEBAHXZ
  ?New@ObjectTemplate@v8@@SA?AV?$Local@VObjectTemplate@v8@@@2@PEAVIsolate@2@V?$Local@VFunctionTemplate@v8@@@2@@Z
  ?EscapeSlot@EscapableHandleScopeBase@v8@@IEAAPEA_KPEA_K@Z
  ??0EscapableHandleScopeBase@v8@@QEAA@PEAVIsolate@1@@Z
  ?IsolateFromNeverReadOnlySpaceObject@internal@v8@@YAPEAVIsolate@12@_K@Z
  ?New@Array@v8@@SA?AV?$Local@VArray@v8@@@2@PEAVIsolate@2@PEAV?$Local@VValue@v8@@@2@_K@Z
  ?Length@Array@v8@@QEBAIXZ
  ?New@Array@v8@@SA?AV?$Local@VArray@v8@@@2@PEAVIsolate@2@H@Z
  ?New@Array@v8@@SA?AV?$MaybeLocal@VArray@v8@@@2@V?$Local@VContext@v8@@@2@_KV?$function@$$A6A?AV?$MaybeLocal@VValue@v8@@@v8@@XZ@std@@@Z
  ?Iterate@Array@v8@@QEAA?AV?$Maybe@X@2@V?$Local@VContext@v8@@@2@P6A?AW4CallbackResult@12@IV?$Local@VValue@v8@@@2@PEAX@Z2@Z
  ?CheckCast@Array@v8@@CAXPEAVValue@2@@Z
  ?SetName@Function@v8@@QEAAXV?$Local@VString@v8@@@2@@Z
  ?IsBoolean@Value@v8@@QEBA_NXZ
  ?Value@Boolean@v8@@QEBA_NXZ
  ?FullIsTrue@Value@v8@@AEBA_NXZ
  ?FullIsFalse@Value@v8@@AEBA_NXZ
  ??1EscapableHandleScope@v8@@QEAA@XZ
  ??0EscapableHandleScope@v8@@QEAA@PEAVIsolate@1@@Z
  ?IsObject@Value@v8@@QEBA_NXZ
  ?IsNumber@Value@v8@@QEBA_NXZ
  ?IsUint32@Value@v8@@QEBA_NXZ
  ?Uint32Value@Value@v8@@QEBA?AV?$Maybe@I@2@V?$Local@VContext@v8@@@2@@Z
  ?IsUndefined@Value@v8@@QEBA_NXZ
  ?IsNull@Value@v8@@QEBA_NXZ
  ?IsNullOrUndefined@Value@v8@@QEBA_NXZ
  ?IsTrue@Value@v8@@QEBA_NXZ
  ?IsFalse@Value@v8@@QEBA_NXZ
  ?IsString@Value@v8@@QEBA_NXZ
  ?StrictEquals@Value@v8@@QEBA_NV?$Local@VValue@v8@@@2@@Z
  ?New@Boolean@v8@@SA?AV?$Local@VBoolean@v8@@@2@PEAVIsolate@2@_N@Z
  ?GetInternalField@Object@v8@@QEAA?AV?$Local@VData@v8@@@2@H@Z
  ?GetIsolate@Context@v8@@QEAAPEAVIsolate@2@XZ
  ?NewFromOneByte@String@v8@@SA?AV?$MaybeLocal@VString@v8@@@2@PEAVIsolate@2@PEBEW4NewStringType@2@H@Z
  ?IsExternal@String@v8@@QEBA_NXZ
  ?IsExternalOneByte@String@v8@@QEBA_NXZ
  ?IsExternalTwoByte@String@v8@@QEBA_NXZ
  ?IsOneByte@String@v8@@QEBA_NXZ
  ?Utf8Length@String@v8@@QEBAHPEAVIsolate@2@@Z
  ?ContainsOnlyOneByte@String@v8@@QEBA_NXZ
  ?GlobalizeReference@api_internal@v8@@YAPEA_KPEAVIsolate@internal@2@_K@Z
  ?DisposeGlobal@api_internal@v8@@YAXPEA_K@Z
  ?GetName@Function@v8@@QEBA?AV?$Local@VValue@v8@@@2@XZ
  ?IsFunction@Value@v8@@QEBA_NXZ
  ?FromJustIsNothing@api_internal@v8@@YAXXZ
  ?GetFunctionTemplateData@api_internal@v8@@YA?AV?$Local@VValue@v8@@@2@PEAVIsolate@2@V?$Local@VData@v8@@@2@@Z
