@scriptc/cli-darwin-arm64 0.2.0 → 0.2.1
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/dist/THIRD_PARTY_NOTICES +1 -1
- package/dist/bin/scriptc +0 -0
- package/dist/bin/scriptc.json +1 -1
- package/dist/lib/declarations/scriptc-node-fallback.d.ts +25 -15
- package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
- package/dist/lib/llvm/package.json +1 -1
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/licenses/v8-number-radix.txt +61 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/package.json +1 -1
- package/dist/lib/runtime-darwin-arm64/runtime-pack.json +529 -525
- package/dist/lib/runtime-sources/package.json +1 -1
- package/dist/lib/runtime-sources/src/scr_array.c +16 -0
- package/dist/lib/runtime-sources/src/scr_assert.c +1 -0
- package/dist/lib/runtime-sources/src/scr_async.c +26 -1
- package/dist/lib/runtime-sources/src/scr_async_dyn.c +90 -16
- package/dist/lib/runtime-sources/src/scr_bigint.c +8 -0
- package/dist/lib/runtime-sources/src/scr_bytes.c +205 -41
- package/dist/lib/runtime-sources/src/scr_bytes_io.c +581 -12
- package/dist/lib/runtime-sources/src/scr_child.c +544 -17
- package/dist/lib/runtime-sources/src/scr_console.c +1 -1
- package/dist/lib/runtime-sources/src/scr_dyn_invoke.c +164 -31
- package/dist/lib/runtime-sources/src/scr_error.c +52 -5
- package/dist/lib/runtime-sources/src/scr_exception.c +21 -5
- package/dist/lib/runtime-sources/src/scr_fetch.c +266 -2
- package/dist/lib/runtime-sources/src/scr_http.c +3 -0
- package/dist/lib/runtime-sources/src/scr_island.c +38 -13
- package/dist/lib/runtime-sources/src/scr_json.c +1149 -91
- package/dist/lib/runtime-sources/src/scr_map.c +47 -0
- package/dist/lib/runtime-sources/src/scr_node_builtin.c +10 -0
- package/dist/lib/runtime-sources/src/scr_object.c +11 -0
- package/dist/lib/runtime-sources/src/scr_regex.c +108 -69
- package/dist/lib/runtime-sources/src/scr_runtime.h +190 -33
- package/dist/lib/runtime-sources/src/scr_stream.c +197 -0
- package/dist/lib/runtime-sources/src/scr_string.c +16 -1
- package/dist/lib/runtime-sources/src/scr_symbol.c +5 -0
- package/dist/lib/runtime-sources/src/scr_text_decoder_labels.h +225 -0
- package/dist/lib/runtime-sources/src/scr_url.c +172 -3
- package/dist/lib/runtime-sources/vendor/v8-number-radix/LICENSE +61 -0
- package/package.json +1 -1
|
@@ -420,6 +420,7 @@ ScrArr *scr_arr_new(ScrElemKind elem, size_t initial_cap) {
|
|
|
420
420
|
a->props = NULL;
|
|
421
421
|
a->prop_len = 0;
|
|
422
422
|
a->prop_cap = 0;
|
|
423
|
+
a->metadata = NULL;
|
|
423
424
|
if (initial_cap > 0) scr_arr_grow_dense(a, initial_cap);
|
|
424
425
|
#ifdef SCR_RC_AUDIT
|
|
425
426
|
scr_live_arrays++;
|
|
@@ -433,6 +434,7 @@ ScrArr *scr_arr_new(ScrElemKind elem, size_t initial_cap) {
|
|
|
433
434
|
* below releases none — the complement contract in scr_runtime.h. */
|
|
434
435
|
void scr_arr_trace_v(void *a0, ScrTraceVisit visit, void *ctx) {
|
|
435
436
|
ScrArr *a = (ScrArr *)a0;
|
|
437
|
+
visit(a->metadata, ctx);
|
|
436
438
|
for (size_t i = 0; i < a->cap; i++) {
|
|
437
439
|
if (a->present[i] == SCR_ARR_VALUE) visit(scr_slot_to_ptr(a->data[i]), ctx);
|
|
438
440
|
}
|
|
@@ -486,6 +488,7 @@ ScrArr *scr_arr_new_ref(void *(*elem_retain)(void *),
|
|
|
486
488
|
a->props = NULL;
|
|
487
489
|
a->prop_len = 0;
|
|
488
490
|
a->prop_cap = 0;
|
|
491
|
+
a->metadata = NULL;
|
|
489
492
|
if (initial_cap > 0) scr_arr_grow_dense(a, initial_cap);
|
|
490
493
|
#ifdef SCR_RC_AUDIT
|
|
491
494
|
scr_live_arrays++;
|
|
@@ -497,6 +500,8 @@ void scr_arr_release(ScrArr *a) {
|
|
|
497
500
|
if (!a || a->rc == SIZE_MAX) return; /* NULL: an uninitialized `let` local */
|
|
498
501
|
if (--a->rc == 0) {
|
|
499
502
|
if (a->elem_trace) scr_cyc_on_dead(a);
|
|
503
|
+
scr_dyn_release(a->metadata);
|
|
504
|
+
a->metadata = NULL;
|
|
500
505
|
if (scr_elem_is_ref(a->elem)) {
|
|
501
506
|
for (size_t i = 0; i < a->cap; i++) {
|
|
502
507
|
if (a->present[i] != SCR_ARR_HOLE) {
|
|
@@ -534,6 +539,7 @@ void scr_arr_release(ScrArr *a) {
|
|
|
534
539
|
#ifdef SCR_RC_AUDIT
|
|
535
540
|
scr_live_arrays--;
|
|
536
541
|
#endif
|
|
542
|
+
scr_weak_dispose(a);
|
|
537
543
|
free(a);
|
|
538
544
|
}
|
|
539
545
|
} else if (a->elem_trace) {
|
|
@@ -1442,3 +1448,13 @@ ScrStr *scr_str_raw(ScrArr *raw, ScrArr *subs) {
|
|
|
1442
1448
|
free(buf);
|
|
1443
1449
|
return out;
|
|
1444
1450
|
}
|
|
1451
|
+
|
|
1452
|
+
void scr_arr_copy_metadata(ScrArr *a, ScrDyn *target) {
|
|
1453
|
+
if (!a->metadata) return;
|
|
1454
|
+
for (size_t i = 0; i < a->metadata->v.obj.len; i++) {
|
|
1455
|
+
ScrDynEntry *entry = &a->metadata->v.obj.entries[i];
|
|
1456
|
+
ScrStr *key = scr_str_new(entry->key, entry->key_len);
|
|
1457
|
+
scr_dyn_key_set(target, key, entry->value);
|
|
1458
|
+
scr_str_release(key);
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
@@ -134,6 +134,7 @@ void scr_assert_fail_msg(ScrStr *message) {
|
|
|
134
134
|
scr_str_release(message); /* scr_error_new retained its copy */
|
|
135
135
|
scr_str_release(e->name);
|
|
136
136
|
e->name = scr_str_new("AssertionError", 14);
|
|
137
|
+
e->name_present = true;
|
|
137
138
|
scr_error_set_code(e, "ERR_ASSERTION");
|
|
138
139
|
scr_throw_obj(e, &scr_error_retain_v, &scr_error_release_v, scr_error_trace_arg());
|
|
139
140
|
}
|
|
@@ -153,8 +153,11 @@ enum { SCR_PROM_PENDING = 0, SCR_PROM_FULFILLED = 1, SCR_PROM_REJECTED = 2 };
|
|
|
153
153
|
|
|
154
154
|
typedef struct ScrFiber ScrFiber;
|
|
155
155
|
|
|
156
|
+
typedef struct { size_t rc; } ScrPromiseIdentity;
|
|
157
|
+
|
|
156
158
|
struct ScrPromise {
|
|
157
|
-
size_t rc;
|
|
159
|
+
size_t rc; /* The cycle collector reads the reference count at offset zero. */
|
|
160
|
+
ScrPromiseIdentity *identity;
|
|
158
161
|
int state;
|
|
159
162
|
bool top_level_handled; /* uncaughtException handled entry evaluation */
|
|
160
163
|
/* Payload (fulfillment value or rejection reason), ScrExcCell-style.
|
|
@@ -257,6 +260,7 @@ static void scr_promise_gcfree(void *o) {
|
|
|
257
260
|
for (size_t i = 0; i < p->ncbs; i++) {
|
|
258
261
|
if (p->cbs[i].all) scr_promise_all_state_release(p->cbs[i].all);
|
|
259
262
|
}
|
|
263
|
+
if (--p->identity->rc == 0) free(p->identity);
|
|
260
264
|
free(p->waiters);
|
|
261
265
|
free(p->cbs);
|
|
262
266
|
#ifdef SCR_RC_AUDIT
|
|
@@ -268,12 +272,26 @@ static void scr_promise_gcfree(void *o) {
|
|
|
268
272
|
ScrPromise *scr_promise_new(void) {
|
|
269
273
|
ScrPromise *p = scr_cyc_alloc(sizeof *p, &scr_promise_trace, &scr_promise_gcfree);
|
|
270
274
|
p->rc = 1;
|
|
275
|
+
p->identity = malloc(sizeof *p->identity);
|
|
276
|
+
if (!p->identity) scr_oom();
|
|
277
|
+
p->identity->rc = 1;
|
|
271
278
|
#ifdef SCR_RC_AUDIT
|
|
272
279
|
scr_live_promises++;
|
|
273
280
|
#endif
|
|
274
281
|
return p;
|
|
275
282
|
}
|
|
276
283
|
|
|
284
|
+
void scr_promise_share_identity(ScrPromise *dst, ScrPromise *src) {
|
|
285
|
+
if (dst->identity == src->identity) return;
|
|
286
|
+
if (--dst->identity->rc == 0) free(dst->identity);
|
|
287
|
+
dst->identity = src->identity;
|
|
288
|
+
dst->identity->rc++;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
bool scr_promise_identity_equal(ScrPromise *a, ScrPromise *b) {
|
|
292
|
+
return a->identity == b->identity;
|
|
293
|
+
}
|
|
294
|
+
|
|
277
295
|
/* The 'rejectionHandled' hook (scr_async_dyn.c installs it at listener
|
|
278
296
|
* registration — the scr_urj_deliver_fn pattern, so listener-free
|
|
279
297
|
* binaries keep their size class): called when a promise the checkpoint
|
|
@@ -328,6 +346,7 @@ void scr_promise_release(ScrPromise *p) {
|
|
|
328
346
|
if (--p->rc == 0) {
|
|
329
347
|
scr_cyc_on_dead(p);
|
|
330
348
|
scr_promise_release_payload(p);
|
|
349
|
+
if (--p->identity->rc == 0) free(p->identity);
|
|
331
350
|
free(p->waiters);
|
|
332
351
|
for (size_t i = 0; i < p->ncbs; i++) {
|
|
333
352
|
scr_promise_release(p->cbs[i].dst);
|
|
@@ -3298,6 +3317,7 @@ static void scr_gen_exc_move(ScrExcCell *dst, ScrExcCell *src) {
|
|
|
3298
3317
|
|
|
3299
3318
|
struct ScrGen {
|
|
3300
3319
|
size_t rc;
|
|
3320
|
+
ScrDyn *receiver;
|
|
3301
3321
|
ScrFiber *fiber; /* NULL once torn down (done, or unstarted release) */
|
|
3302
3322
|
int state;
|
|
3303
3323
|
ScrGenSlot out; /* yielded value / completion value */
|
|
@@ -3322,6 +3342,7 @@ static ScrGen *scr_gen_new_common(void (*entry)(ScrFiber *, void *), void *argpa
|
|
|
3322
3342
|
ScrGen *g = calloc(1, sizeof *g);
|
|
3323
3343
|
if (!g) scr_oom();
|
|
3324
3344
|
g->rc = 1;
|
|
3345
|
+
g->receiver = scr_dyn_this_get();
|
|
3325
3346
|
g->state = SCR_GEN_UNSTARTED;
|
|
3326
3347
|
g->drop_args = drop_args;
|
|
3327
3348
|
g->is_async = settle_async != NULL;
|
|
@@ -3368,6 +3389,7 @@ ScrGen *scr_gen_retain(ScrGen *g) {
|
|
|
3368
3389
|
|
|
3369
3390
|
void scr_gen_release(ScrGen *g) {
|
|
3370
3391
|
if (!g || --g->rc != 0) return;
|
|
3392
|
+
scr_dyn_release(g->receiver);
|
|
3371
3393
|
scr_gen_slot_reset(&g->out);
|
|
3372
3394
|
scr_gen_slot_reset(&g->in);
|
|
3373
3395
|
scr_gen_slot_reset(&g->ret);
|
|
@@ -3399,6 +3421,9 @@ void scr_gen_release_v(void *g) { scr_gen_release((ScrGen *)g); }
|
|
|
3399
3421
|
|
|
3400
3422
|
bool scr_gen_done(ScrGen *g) { return g->state == SCR_GEN_DONE; }
|
|
3401
3423
|
ScrGen *scr_gen_of_fiber(ScrFiber *f) { return f->gen; }
|
|
3424
|
+
ScrDyn *scr_gen_receiver(void) {
|
|
3425
|
+
return scr_dyn_retain(scr_current && scr_current->gen ? scr_current->gen->receiver : scr_dyn_undefined());
|
|
3426
|
+
}
|
|
3402
3427
|
|
|
3403
3428
|
/* Slot setters (release the previous occupant; payloads MOVE in). */
|
|
3404
3429
|
static void scr_gen_slot_f64(ScrGenSlot *s, double v) {
|
|
@@ -496,6 +496,47 @@ ScrDyn *scr_dyn_promise_then(ScrPromise *src, ScrDyn *onf, ScrDyn *onr, ScrDyn *
|
|
|
496
496
|
scr_promise_release(waiter); /* the entry never rejects; nobody awaits it */
|
|
497
497
|
return boxed;
|
|
498
498
|
}
|
|
499
|
+
typedef struct {
|
|
500
|
+
ScrPromise *destination;
|
|
501
|
+
ScrDyn *value;
|
|
502
|
+
} ScrDynResolvePack;
|
|
503
|
+
|
|
504
|
+
static void scr_dyn_resolve_entry(ScrFiber *self, void *opaque) {
|
|
505
|
+
(void)self;
|
|
506
|
+
ScrDynResolvePack *pack = opaque;
|
|
507
|
+
/* Promise resolution schedules a job before attaching its reaction. */
|
|
508
|
+
scr_await_hop();
|
|
509
|
+
ScrDyn *value = scr_await_dyn(pack->value->v.promise);
|
|
510
|
+
if (scr_exc_pending()) scr_promise_reject_pending(pack->destination);
|
|
511
|
+
else scr_promise_resolve_dyn(pack->destination, value);
|
|
512
|
+
scr_dyn_release(pack->value);
|
|
513
|
+
scr_promise_release(pack->destination);
|
|
514
|
+
free(pack);
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/* The destination is borrowed; value moves in. An async function may
|
|
518
|
+
* return a native promise hidden behind any/unknown without an explicit
|
|
519
|
+
* await, so its completion must use resolution rather than fulfillment. */
|
|
520
|
+
void scr_promise_resolve_dyn(ScrPromise *destination, ScrDyn *value) {
|
|
521
|
+
if (value->kind != SCR_DYN_PROMISE) {
|
|
522
|
+
scr_promise_fulfill_ref(destination, value, scr_dyn_retain_v, scr_dyn_release_v, scr_dyn_trace_v);
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
if (value->v.promise == destination) {
|
|
526
|
+
static const char message[] = "Chaining cycle detected for promise #<Promise>";
|
|
527
|
+
scr_throw_error_msg(SCR_ERR_TYPE, message, sizeof message - 1);
|
|
528
|
+
scr_promise_reject_pending(destination);
|
|
529
|
+
scr_dyn_release(value);
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
ScrDynResolvePack *pack = malloc(sizeof *pack);
|
|
533
|
+
if (!pack) scr_ad_oom();
|
|
534
|
+
pack->destination = scr_promise_retain(destination);
|
|
535
|
+
pack->value = value;
|
|
536
|
+
ScrPromise *waiter = scr_async_spawn(scr_dyn_resolve_entry, pack);
|
|
537
|
+
scr_promise_release(waiter);
|
|
538
|
+
}
|
|
539
|
+
|
|
499
540
|
/* `await v` where v is a CHECKED-DYNAMIC value: a dyn promise adopts
|
|
500
541
|
* (the boxed promise awaits — rejections re-throw); every other kind is
|
|
501
542
|
* JS's await-of-a-non-thenable — one microtask hop, the value itself
|
|
@@ -597,6 +638,7 @@ void scr_emit_warning(const char *name, const char *code, ScrStr *message) {
|
|
|
597
638
|
ScrError *e = scr_error_new(SCR_ERR_ERROR, message);
|
|
598
639
|
scr_str_release(e->name);
|
|
599
640
|
e->name = scr_str_new(name ? name : "Warning", strlen(name ? name : "Warning"));
|
|
641
|
+
e->name_present = true;
|
|
600
642
|
if (code) e->code = scr_str_new(code, strlen(code));
|
|
601
643
|
ScrDyn *w = scr_dyn_from_error(e);
|
|
602
644
|
scr_error_release(e);
|
|
@@ -670,6 +712,7 @@ void scr_process_emit_warning(ScrDyn *args) {
|
|
|
670
712
|
ScrError *e = scr_error_new(SCR_ERR_ERROR, (ScrStr *)warning->v.str);
|
|
671
713
|
scr_str_release(e->name);
|
|
672
714
|
e->name = type ? scr_str_retain((ScrStr *)type) : scr_str_new("Warning", 7);
|
|
715
|
+
e->name_present = true;
|
|
673
716
|
if (code) e->code = scr_str_retain((ScrStr *)code);
|
|
674
717
|
ScrDyn *w = scr_dyn_from_error(e);
|
|
675
718
|
scr_error_release(e);
|
|
@@ -689,22 +732,6 @@ void scr_process_emit_warning(ScrDyn *args) {
|
|
|
689
732
|
* (SEMANTICS.md 67). Shared by the dc trace choreography, the checked-dynamic tree
|
|
690
733
|
* promise reactions, and the unhandled-rejection dispatch. Borrows the
|
|
691
734
|
* box; result +1. */
|
|
692
|
-
ScrDyn *scr_caught_to_dyn(const ScrCaught *c) {
|
|
693
|
-
switch (c->kind) {
|
|
694
|
-
case SCR_EXC_F64: return scr_dyn_new_num(c->f64);
|
|
695
|
-
case SCR_EXC_BOOL: return scr_dyn_new_bool(c->b);
|
|
696
|
-
case SCR_EXC_STR: return scr_dyn_new_str((ScrStr *)c->payload);
|
|
697
|
-
case SCR_EXC_REF:
|
|
698
|
-
case SCR_EXC_PRIMITIVE_REF:
|
|
699
|
-
if (c->retain_fn == scr_dyn_retain_v) return scr_dyn_retain((ScrDyn *)c->payload);
|
|
700
|
-
return scr_dyn_new_obj();
|
|
701
|
-
case SCR_EXC_OBJ:
|
|
702
|
-
if (scr_error_is(c->payload)) return scr_dyn_from_error((const ScrError *)c->payload);
|
|
703
|
-
return scr_dyn_new_obj();
|
|
704
|
-
default:
|
|
705
|
-
return scr_dyn_new_obj();
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
735
|
|
|
709
736
|
/* Await a dyn-CROSSING promise (SCR_DYN_PROMISE's boundary contract —
|
|
710
737
|
* dyn or void fulfillment): the payload as a dyn value (+1; a void
|
|
@@ -777,7 +804,10 @@ ScrDyn *scr_promise_reason_dyn(const ScrPromise *p) {
|
|
|
777
804
|
* promise<dyn> directly and every other inner type through the adapting
|
|
778
805
|
* constructor below. */
|
|
779
806
|
|
|
807
|
+
extern bool (*scr_dyn_promise_identity_fn)(ScrPromise *, ScrPromise *);
|
|
808
|
+
|
|
780
809
|
ScrDyn *scr_dyn_new_promise(ScrPromise *p) {
|
|
810
|
+
scr_dyn_promise_identity_fn = scr_promise_identity_equal;
|
|
781
811
|
ScrDyn *d = scr_dyn_alloc_promise(scr_promise_release);
|
|
782
812
|
d->v.promise = scr_promise_retain(p);
|
|
783
813
|
return d;
|
|
@@ -792,6 +822,8 @@ ScrDyn *scr_dyn_new_promise(ScrPromise *p) {
|
|
|
792
822
|
ScrDyn *scr_dyn_new_promise_adapting(ScrPromise *src,
|
|
793
823
|
void (*adapt)(ScrPromise *dst, ScrPromise *src)) {
|
|
794
824
|
ScrPromise *dst = scr_promise_new();
|
|
825
|
+
scr_promise_share_identity(dst, src);
|
|
826
|
+
scr_dyn_promise_identity_fn = scr_promise_identity_equal;
|
|
795
827
|
scr_promise_race_add(dst, src, adapt);
|
|
796
828
|
ScrDyn *d = scr_dyn_alloc_promise(scr_promise_release);
|
|
797
829
|
d->v.promise = dst; /* the constructor's +1 moves in */
|
|
@@ -801,3 +833,45 @@ ScrDyn *scr_dyn_new_promise_adapting(ScrPromise *src,
|
|
|
801
833
|
ScrPromise *scr_dyn_promise_of(const ScrDyn *d) {
|
|
802
834
|
return d->kind == SCR_DYN_PROMISE ? d->v.promise : NULL;
|
|
803
835
|
}
|
|
836
|
+
|
|
837
|
+
/* The checked native WebCrypto digest entry keeps promise and ArrayBuffer results native. */
|
|
838
|
+
static ScrDyn *scr_crypto_digest_call(ScrClosure *closure, ScrDyn *const *args, size_t argc) {
|
|
839
|
+
(void)closure;
|
|
840
|
+
ScrPromise *promise = scr_promise_new();
|
|
841
|
+
ScrDyn *algorithm = argc ? args[0] : scr_dyn_undefined();
|
|
842
|
+
ScrDyn *name = algorithm->kind == SCR_DYN_OBJ ? scr_dyn_obj_read(algorithm, "name", 4) : scr_dyn_retain(algorithm);
|
|
843
|
+
ScrStr *text = name ? scr_dyn_string_coerce_js(name) : NULL;
|
|
844
|
+
scr_dyn_release(name);
|
|
845
|
+
ScrBytes *bytes = argc > 1 && args[1]->kind == SCR_DYN_BYTES ? scr_dyn_bytes_unbox(args[1]) : NULL;
|
|
846
|
+
if (!bytes && argc > 1 && scr_array_buffer_is(args[1])) bytes = scr_array_buffer_view(SCR_BYTES_U8, args[1], scr_dyn_undefined(), scr_dyn_undefined());
|
|
847
|
+
const char *native = NULL;
|
|
848
|
+
if (text) {
|
|
849
|
+
if (text->len == 7 && strncasecmp(text->data, "SHA-256", 7) == 0) native = "sha256";
|
|
850
|
+
else if (text->len == 5 && strncasecmp(text->data, "SHA-1", 5) == 0) native = "sha1";
|
|
851
|
+
}
|
|
852
|
+
if (!text || !bytes || !native) {
|
|
853
|
+
static const char message[] = "Unsupported WebCrypto digest algorithm or BufferSource";
|
|
854
|
+
if (!scr_exc_pending()) scr_throw_error_msg_code(SCR_ERR_TYPE, message, sizeof message - 1, "SC2020");
|
|
855
|
+
scr_promise_reject_pending(promise);
|
|
856
|
+
} else {
|
|
857
|
+
ScrStr *alg = scr_str_new(native, strlen(native));
|
|
858
|
+
ScrCryptoHash *hash = scr_crypto_hash_new(alg);
|
|
859
|
+
scr_str_release(alg);
|
|
860
|
+
if (hash) {
|
|
861
|
+
scr_crypto_hash_update_bytes(hash, bytes);
|
|
862
|
+
ScrBytes *digest = scr_exc_pending() ? NULL : scr_crypto_hash_digest_buffer(hash);
|
|
863
|
+
scr_crypto_hash_release(hash);
|
|
864
|
+
if (digest) {
|
|
865
|
+
ScrDyn *buffer = scr_array_buffer_from_bytes(digest); scr_bytes_release(digest);
|
|
866
|
+
scr_promise_resolve_dyn(promise, buffer);
|
|
867
|
+
} else scr_promise_reject_pending(promise);
|
|
868
|
+
} else scr_promise_reject_pending(promise);
|
|
869
|
+
}
|
|
870
|
+
scr_str_release(text); scr_bytes_release(bytes);
|
|
871
|
+
ScrDyn *result = scr_dyn_new_promise(promise); scr_promise_release(promise); return result;
|
|
872
|
+
}
|
|
873
|
+
ScrDyn *scr_crypto_native(void) {
|
|
874
|
+
ScrDyn *subtle = scr_dyn_new_obj();
|
|
875
|
+
scr_dyn_obj_set(subtle, "digest", 6, scr_dyn_new_func(scr_closure_new(NULL, 0), scr_crypto_digest_call, 2, "crypto.subtle.digest", "digest"));
|
|
876
|
+
ScrDyn *result = scr_dyn_new_obj(); scr_dyn_obj_set(result, "subtle", 6, subtle); return result;
|
|
877
|
+
}
|
|
@@ -597,6 +597,14 @@ static ScrBigInt *bi_parse_string(ScrStr *s, bool report_error) {
|
|
|
597
597
|
|
|
598
598
|
ScrBigInt *scr_bigint_parse(ScrStr *s) { return bi_parse_string(s, true); }
|
|
599
599
|
|
|
600
|
+
double scr_bigint_cmp_string(ScrBigInt *a, ScrStr *b) {
|
|
601
|
+
ScrBigInt *parsed = bi_parse_string(b, false);
|
|
602
|
+
if (!parsed) return 2;
|
|
603
|
+
double result = scr_bigint_cmp_f64(a, parsed);
|
|
604
|
+
scr_bigint_release(parsed);
|
|
605
|
+
return result;
|
|
606
|
+
}
|
|
607
|
+
|
|
600
608
|
/* Abstract Equality's String/BigInt arm uses StringToBigInt without
|
|
601
609
|
* surfacing its parse failure: an invalid string compares false instead
|
|
602
610
|
* of throwing. BigInt(string) keeps the public throwing parser above. */
|