diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..d88ca20
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,140 @@
+# CI for hyperdag-protocol.
+#
+# This repository had no CI at all, and 98% of its tracked files were vendored
+# node_modules. The first thing an external reviewer does is clone and install,
+# and until now that failed — so the most valuable check here is the boring one:
+# `npm ci` from the committed lockfile has to work.
+#
+# DESIGN RULE: no vacuous green. Four of five packages have no tests. A single
+# green tick across the repo would claim coverage that does not exist, so the
+# `coverage-map` job prints the real per-package state and the contract tests
+# report their true tally rather than being hidden.
+name: CI
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ # The gate that actually regressed. Blocking on purpose: if a clean clone
+ # cannot install from the lockfile, nothing else in this file means anything.
+ install:
+ name: clean install from lockfile
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '22'
+ cache: npm
+ - name: npm ci (root workspace)
+ run: npm ci
+ - name: assert node_modules is not tracked
+ # The regression this repo actually had. Cheap to check, and it fails
+ # the moment someone commits a dependency tree again.
+ run: |
+ count=$(git ls-files | grep -c '^node_modules/' || true)
+ echo "tracked node_modules files: $count"
+ if [ "$count" -ne 0 ]; then
+ echo "::error::node_modules is tracked again ($count files). It is build output; the lockfile is the record."
+ exit 1
+ fi
+
+ # Marco's ERC-8004 contract tests. NON-BLOCKING and reported honestly:
+ # 26 of 61 currently fail on a drift between the tests and the contract ABI
+ # ("Event NewFeedback with argument count 11 not found in the contract ABI").
+ # That failure PRE-DATES this workflow — verified by running the suite against
+ # the original committed dependency tree, which produces the identical 35/26.
+ # It is surfaced, not fixed: packages/contracts is owned elsewhere.
+ contracts:
+ name: contracts tests (known 26/61 failing — reported, not gating)
+ runs-on: ubuntu-latest
+ continue-on-error: true
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '22'
+ cache: npm
+ - run: npm ci
+ - name: run contract tests
+ # hardhat.config.ts requires these to be present or the config itself is
+ # rejected (HHE15) before a single test runs. Public read-only endpoints:
+ # the suite under test is local, so this makes an ENV failure impossible
+ # to mistake for a TEST failure.
+ env:
+ SEPOLIA_RPC_URL: https://ethereum-sepolia-rpc.publicnode.com
+ MAINNET_RPC_URL: https://ethereum-rpc.publicnode.com
+ working-directory: packages/contracts
+ run: npm test 2>&1 | tee ../../contracts-test.log || true
+ - name: report the real tally
+ run: |
+ pass=$(grep -oP '^# pass \K\d+' contracts-test.log | head -1 || echo "?")
+ fail=$(grep -oP '^# fail \K\d+' contracts-test.log | head -1 || echo "?")
+ echo "### Contract tests: $pass passing, $fail failing" >> "$GITHUB_STEP_SUMMARY"
+ echo "Baseline at the time this workflow was added: 35 passing, 26 failing." >> "$GITHUB_STEP_SUMMARY"
+ if [ "$fail" != "?" ] && [ "$fail" -gt 26 ]; then
+ echo "::warning::contract failures increased beyond the 26 baseline (now $fail)"
+ fi
+
+ # Makes absence of tests VISIBLE. An unwired safeguard is worse than an absent
+ # one because it converts a known gap into false coverage; the same is true of
+ # a package that silently has no tests at all.
+ coverage-map:
+ name: per-package test coverage map
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: enumerate
+ run: |
+ {
+ echo "### Which packages actually have tests"
+ echo ""
+ echo "| package | test script | script matches files | test files |"
+ echo "|---|---|---|---|"
+ # Enumerate by MANIFEST, not by directory depth.
+ #
+ # The first version of this loop globbed `packages/*/` — one level —
+ # and so reported on circuits/contracts/defaults/interfaces/protocol
+ # while the only real packages live one level deeper at
+ # packages/defaults/*/. It also credited `packages/defaults` with a
+ # test-file count gathered by a `find` that DID recurse, so a
+ # directory with no manifest appeared to have tests. A job whose
+ # stated purpose is making absent tests visible was itself reporting
+ # a status it had no means to determine. Finding a package is now
+ # done the only way that cannot drift: locate its package.json.
+ git ls-files '*package.json' \
+ | grep -v node_modules \
+ | grep -v '^package.json$' \
+ | sort \
+ | while read -r manifest; do
+ dir=$(dirname "$manifest")
+ name=${dir#packages/}
+ script=$(node -e "try{const s=require('./$manifest').scripts||{};process.stdout.write(s.test||'')}catch(e){}" 2>/dev/null)
+ if [ -n "$script" ]; then
+ has="\`$script\`"
+ # A declared script proves nothing if its glob matches no file.
+ # hallucination-hal-local declares `node --test tests/*.test.ts`
+ # and ships only .mjs smoke files, so it greens over an empty set.
+ pattern=$(echo "$script" | grep -oE '[A-Za-z0-9_./*-]+\.(test|spec)\.[a-z]+' | head -1)
+ if [ -n "$pattern" ]; then
+ # shellcheck disable=SC2086
+ matched=$(ls $dir/$pattern 2>/dev/null | wc -l)
+ [ "$matched" -gt 0 ] && matches="$matched" || matches="**0 — greens over an empty set**"
+ else
+ matches="n/a"
+ fi
+ else
+ has="**none**"
+ matches="—"
+ fi
+ files=$(find "$dir" -path '*/node_modules' -prune -o \
+ \( -name '*.test.*' -o -name '*.spec.*' -o -path '*/tests/*' -o -path '*/test/*' \) -type f -print 2>/dev/null | wc -l)
+ echo "| $name | $has | $matches | $files |"
+ done
+ } >> "$GITHUB_STEP_SUMMARY"
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4590f72
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,44 @@
+# Dependencies — restored by `npm ci` from the committed lockfiles, never committed.
+# This file did not exist, which is why 4,526 vendored files (98% of the tracked
+# tree) were in git. The lockfiles are the reproducible record; node_modules is
+# build output.
+node_modules/
+
+# Build output
+dist/
+build/
+out/
+*.tsbuildinfo
+
+# Solidity / Hardhat toolchain artifacts (packages/contracts)
+artifacts/
+cache/
+typechain/
+typechain-types/
+
+# Nx
+.nx/cache
+.nx/workspace-data
+
+# Environment + secrets. Never commit a real one; .env.example is the template.
+.env
+.env.*
+!.env.example
+
+# Coverage + test output
+coverage/
+*.lcov
+.nyc_output/
+
+# Editor / OS noise
+.DS_Store
+Thumbs.db
+.idea/
+.vscode/*
+!.vscode/extensions.json
+*.swp
+
+# Logs
+*.log
+npm-debug.log*
+yarn-error.log*
diff --git a/node_modules/.bin/ejs b/node_modules/.bin/ejs
deleted file mode 100644
index ec3bd4c..0000000
--- a/node_modules/.bin/ejs
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../ejs/bin/cli.js" "$@"
-else
- exec node "$basedir/../ejs/bin/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/ejs.cmd b/node_modules/.bin/ejs.cmd
deleted file mode 100644
index 7cc2b56..0000000
--- a/node_modules/.bin/ejs.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\ejs\bin\cli.js" %*
diff --git a/node_modules/.bin/ejs.ps1 b/node_modules/.bin/ejs.ps1
deleted file mode 100644
index f31305e..0000000
--- a/node_modules/.bin/ejs.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../ejs/bin/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../ejs/bin/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../ejs/bin/cli.js" $args
- } else {
- & "node$exe" "$basedir/../ejs/bin/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
deleted file mode 100644
index 601762c..0000000
--- a/node_modules/.bin/esparse
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../esprima/bin/esparse.js" "$@"
-else
- exec node "$basedir/../esprima/bin/esparse.js" "$@"
-fi
diff --git a/node_modules/.bin/esparse.cmd b/node_modules/.bin/esparse.cmd
deleted file mode 100644
index 2ca6d50..0000000
--- a/node_modules/.bin/esparse.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esprima\bin\esparse.js" %*
diff --git a/node_modules/.bin/esparse.ps1 b/node_modules/.bin/esparse.ps1
deleted file mode 100644
index f19ed73..0000000
--- a/node_modules/.bin/esparse.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../esprima/bin/esparse.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../esprima/bin/esparse.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../esprima/bin/esparse.js" $args
- } else {
- & "node$exe" "$basedir/../esprima/bin/esparse.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
deleted file mode 100644
index e2fee1f..0000000
--- a/node_modules/.bin/esvalidate
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../esprima/bin/esvalidate.js" "$@"
-else
- exec node "$basedir/../esprima/bin/esvalidate.js" "$@"
-fi
diff --git a/node_modules/.bin/esvalidate.cmd b/node_modules/.bin/esvalidate.cmd
deleted file mode 100644
index 4c41643..0000000
--- a/node_modules/.bin/esvalidate.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esprima\bin\esvalidate.js" %*
diff --git a/node_modules/.bin/esvalidate.ps1 b/node_modules/.bin/esvalidate.ps1
deleted file mode 100644
index 23699d1..0000000
--- a/node_modules/.bin/esvalidate.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- } else {
- & "node$exe" "$basedir/../esprima/bin/esvalidate.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/flat b/node_modules/.bin/flat
deleted file mode 100644
index 8aee6fd..0000000
--- a/node_modules/.bin/flat
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../flat/cli.js" "$@"
-else
- exec node "$basedir/../flat/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/flat.cmd b/node_modules/.bin/flat.cmd
deleted file mode 100644
index bae8d2c..0000000
--- a/node_modules/.bin/flat.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\flat\cli.js" %*
diff --git a/node_modules/.bin/flat.ps1 b/node_modules/.bin/flat.ps1
deleted file mode 100644
index 92a76a9..0000000
--- a/node_modules/.bin/flat.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../flat/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../flat/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../flat/cli.js" $args
- } else {
- & "node$exe" "$basedir/../flat/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/is-docker b/node_modules/.bin/is-docker
deleted file mode 100644
index d18b999..0000000
--- a/node_modules/.bin/is-docker
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../is-docker/cli.js" "$@"
-else
- exec node "$basedir/../is-docker/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/is-docker.cmd b/node_modules/.bin/is-docker.cmd
deleted file mode 100644
index 79e76ca..0000000
--- a/node_modules/.bin/is-docker.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\is-docker\cli.js" %*
diff --git a/node_modules/.bin/is-docker.ps1 b/node_modules/.bin/is-docker.ps1
deleted file mode 100644
index 7427625..0000000
--- a/node_modules/.bin/is-docker.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../is-docker/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../is-docker/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../is-docker/cli.js" $args
- } else {
- & "node$exe" "$basedir/../is-docker/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/jake b/node_modules/.bin/jake
deleted file mode 100644
index b92bfba..0000000
--- a/node_modules/.bin/jake
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../jake/bin/cli.js" "$@"
-else
- exec node "$basedir/../jake/bin/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/jake.cmd b/node_modules/.bin/jake.cmd
deleted file mode 100644
index 1ccccef..0000000
--- a/node_modules/.bin/jake.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jake\bin\cli.js" %*
diff --git a/node_modules/.bin/jake.ps1 b/node_modules/.bin/jake.ps1
deleted file mode 100644
index d86e1bd..0000000
--- a/node_modules/.bin/jake.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../jake/bin/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../jake/bin/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../jake/bin/cli.js" $args
- } else {
- & "node$exe" "$basedir/../jake/bin/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
deleted file mode 100644
index dcddb2f..0000000
--- a/node_modules/.bin/js-yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" "$@"
-else
- exec node "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" "$@"
-fi
diff --git a/node_modules/.bin/js-yaml.cmd b/node_modules/.bin/js-yaml.cmd
deleted file mode 100644
index 349c889..0000000
--- a/node_modules/.bin/js-yaml.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@zkochan\js-yaml\bin\js-yaml.js" %*
diff --git a/node_modules/.bin/js-yaml.ps1 b/node_modules/.bin/js-yaml.ps1
deleted file mode 100644
index 692b263..0000000
--- a/node_modules/.bin/js-yaml.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" $args
- } else {
- & "node$exe" "$basedir/../@zkochan/js-yaml/bin/js-yaml.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/json5 b/node_modules/.bin/json5
deleted file mode 100644
index abf72a4..0000000
--- a/node_modules/.bin/json5
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
-else
- exec node "$basedir/../json5/lib/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/json5.cmd b/node_modules/.bin/json5.cmd
deleted file mode 100644
index 95c137f..0000000
--- a/node_modules/.bin/json5.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %*
diff --git a/node_modules/.bin/json5.ps1 b/node_modules/.bin/json5.ps1
deleted file mode 100644
index 8700ddb..0000000
--- a/node_modules/.bin/json5.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../json5/lib/cli.js" $args
- } else {
- & "node$exe" "$basedir/../json5/lib/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/nx b/node_modules/.bin/nx
deleted file mode 100644
index 4980513..0000000
--- a/node_modules/.bin/nx
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../nx/bin/nx.js" "$@"
-else
- exec node "$basedir/../nx/bin/nx.js" "$@"
-fi
diff --git a/node_modules/.bin/nx-cloud b/node_modules/.bin/nx-cloud
deleted file mode 100644
index cff4efe..0000000
--- a/node_modules/.bin/nx-cloud
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../nx/bin/nx-cloud.js" "$@"
-else
- exec node "$basedir/../nx/bin/nx-cloud.js" "$@"
-fi
diff --git a/node_modules/.bin/nx-cloud.cmd b/node_modules/.bin/nx-cloud.cmd
deleted file mode 100644
index 98e195c..0000000
--- a/node_modules/.bin/nx-cloud.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nx\bin\nx-cloud.js" %*
diff --git a/node_modules/.bin/nx-cloud.ps1 b/node_modules/.bin/nx-cloud.ps1
deleted file mode 100644
index 21b12b0..0000000
--- a/node_modules/.bin/nx-cloud.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../nx/bin/nx-cloud.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../nx/bin/nx-cloud.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../nx/bin/nx-cloud.js" $args
- } else {
- & "node$exe" "$basedir/../nx/bin/nx-cloud.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/nx.cmd b/node_modules/.bin/nx.cmd
deleted file mode 100644
index b2f699b..0000000
--- a/node_modules/.bin/nx.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nx\bin\nx.js" %*
diff --git a/node_modules/.bin/nx.ps1 b/node_modules/.bin/nx.ps1
deleted file mode 100644
index 2d17672..0000000
--- a/node_modules/.bin/nx.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../nx/bin/nx.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../nx/bin/nx.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../nx/bin/nx.js" $args
- } else {
- & "node$exe" "$basedir/../nx/bin/nx.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
deleted file mode 100644
index 97c5327..0000000
--- a/node_modules/.bin/semver
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
-else
- exec node "$basedir/../semver/bin/semver.js" "$@"
-fi
diff --git a/node_modules/.bin/semver.cmd b/node_modules/.bin/semver.cmd
deleted file mode 100644
index 9913fa9..0000000
--- a/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %*
diff --git a/node_modules/.bin/semver.ps1 b/node_modules/.bin/semver.ps1
deleted file mode 100644
index 314717a..0000000
--- a/node_modules/.bin/semver.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args
- } else {
- & "node$exe" "$basedir/../semver/bin/semver.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/tree-kill b/node_modules/.bin/tree-kill
deleted file mode 100644
index 6bcf984..0000000
--- a/node_modules/.bin/tree-kill
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../tree-kill/cli.js" "$@"
-else
- exec node "$basedir/../tree-kill/cli.js" "$@"
-fi
diff --git a/node_modules/.bin/tree-kill.cmd b/node_modules/.bin/tree-kill.cmd
deleted file mode 100644
index dcb9aa6..0000000
--- a/node_modules/.bin/tree-kill.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\tree-kill\cli.js" %*
diff --git a/node_modules/.bin/tree-kill.ps1 b/node_modules/.bin/tree-kill.ps1
deleted file mode 100644
index 61d62dd..0000000
--- a/node_modules/.bin/tree-kill.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../tree-kill/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../tree-kill/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../tree-kill/cli.js" $args
- } else {
- & "node$exe" "$basedir/../tree-kill/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.bin/yaml b/node_modules/.bin/yaml
deleted file mode 100644
index c68b081..0000000
--- a/node_modules/.bin/yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*)
- if command -v cygpath > /dev/null 2>&1; then
- basedir=`cygpath -w "$basedir"`
- fi
- ;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../yaml/bin.mjs" "$@"
-else
- exec node "$basedir/../yaml/bin.mjs" "$@"
-fi
diff --git a/node_modules/.bin/yaml.cmd b/node_modules/.bin/yaml.cmd
deleted file mode 100644
index f76090f..0000000
--- a/node_modules/.bin/yaml.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\yaml\bin.mjs" %*
diff --git a/node_modules/.bin/yaml.ps1 b/node_modules/.bin/yaml.ps1
deleted file mode 100644
index 6820582..0000000
--- a/node_modules/.bin/yaml.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../yaml/bin.mjs" $args
- } else {
- & "$basedir/node$exe" "$basedir/../yaml/bin.mjs" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../yaml/bin.mjs" $args
- } else {
- & "node$exe" "$basedir/../yaml/bin.mjs" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
deleted file mode 100644
index dddf81d..0000000
--- a/node_modules/.package-lock.json
+++ /dev/null
@@ -1,1673 +0,0 @@
-{
- "name": "hyperdag-protocol",
- "version": "0.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "node_modules/@emnapi/core": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
- "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/runtime": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
- "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
- "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@isaacs/balanced-match": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@isaacs/brace-expansion": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
- "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@isaacs/balanced-match": "^4.0.1"
- },
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@jest/diff-sequences": {
- "version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
- "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/@jest/get-type": {
- "version": "30.1.0",
- "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz",
- "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/@jest/schemas": {
- "version": "30.0.5",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
- "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sinclair/typebox": "^0.34.0"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz",
- "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emnapi/core": "^1.1.0",
- "@emnapi/runtime": "^1.1.0",
- "@tybys/wasm-util": "^0.9.0"
- }
- },
- "node_modules/@nx/nx-win32-x64-msvc": {
- "version": "22.5.1",
- "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.5.1.tgz",
- "integrity": "sha512-4e5LduuhpBx96JgD1J3fHUGCwC+/lL+tvXp3UVtjh/AOdINGsyI+scinT3uaI9vcB5GKBcybTxbBZzwcH50w9g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@sinclair/typebox": {
- "version": "0.34.48",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
- "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tybys/wasm-util": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
- "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@yarnpkg/lockfile": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
- "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/@yarnpkg/parsers": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz",
- "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "js-yaml": "^3.10.0",
- "tslib": "^2.4.0"
- },
- "engines": {
- "node": ">=18.12.0"
- }
- },
- "node_modules/@zkochan/js-yaml": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz",
- "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/async": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/axios": {
- "version": "1.13.5",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz",
- "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "follow-redirects": "^1.15.11",
- "form-data": "^4.0.5",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "restore-cursor": "^3.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cli-spinners": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
- "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/defaults": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clone": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/dotenv": {
- "version": "16.4.7",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
- "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://dotenvx.com"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "11.0.7",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
- "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "dotenv": "^16.4.5"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://dotenvx.com"
- }
- },
- "node_modules/dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/ejs": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
- "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "jake": "^10.8.5"
- },
- "bin": {
- "ejs": "bin/cli.js"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/end-of-stream": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
- "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^1.0.5"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/filelist": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
- "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "minimatch": "^5.0.1"
- }
- },
- "node_modules/filelist/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.11",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
- "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/form-data": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
- "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/front-matter": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
- "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "js-yaml": "^3.13.1"
- }
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jake": {
- "version": "10.9.4",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
- "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "async": "^3.2.6",
- "filelist": "^1.0.4",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "jake": "bin/cli.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/jest-diff": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz",
- "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/diff-sequences": "30.0.1",
- "@jest/get-type": "30.1.0",
- "chalk": "^4.1.2",
- "pretty-format": "30.2.0"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/js-yaml": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
- "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/js-yaml/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lines-and-columns": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
- "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/minimatch": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
- "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/node-machine-id": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
- "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nx": {
- "version": "22.5.1",
- "resolved": "https://registry.npmjs.org/nx/-/nx-22.5.1.tgz",
- "integrity": "sha512-KIQqOSdoshkav9JuoH/+Vp42niA5MTRtACupe+q8CaB7bHiLsWr5nctQVC7ul3NauAmsoqNWH7t5CIi8KgrPIQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "@napi-rs/wasm-runtime": "0.2.4",
- "@yarnpkg/lockfile": "^1.1.0",
- "@yarnpkg/parsers": "3.0.2",
- "@zkochan/js-yaml": "0.0.7",
- "axios": "^1.12.0",
- "cli-cursor": "3.1.0",
- "cli-spinners": "2.6.1",
- "cliui": "^8.0.1",
- "dotenv": "~16.4.5",
- "dotenv-expand": "~11.0.6",
- "ejs": "^3.1.7",
- "enquirer": "~2.3.6",
- "figures": "3.2.0",
- "flat": "^5.0.2",
- "front-matter": "^4.0.2",
- "ignore": "^7.0.5",
- "jest-diff": "^30.0.2",
- "jsonc-parser": "3.2.0",
- "lines-and-columns": "2.0.3",
- "minimatch": "10.1.1",
- "node-machine-id": "1.1.12",
- "npm-run-path": "^4.0.1",
- "open": "^8.4.0",
- "ora": "5.3.0",
- "picocolors": "^1.1.0",
- "resolve.exports": "2.0.3",
- "semver": "^7.6.3",
- "string-width": "^4.2.3",
- "tar-stream": "~2.2.0",
- "tmp": "~0.2.1",
- "tree-kill": "^1.2.2",
- "tsconfig-paths": "^4.1.2",
- "tslib": "^2.3.0",
- "yaml": "^2.6.0",
- "yargs": "^17.6.2",
- "yargs-parser": "21.1.1"
- },
- "bin": {
- "nx": "bin/nx.js",
- "nx-cloud": "bin/nx-cloud.js"
- },
- "optionalDependencies": {
- "@nx/nx-darwin-arm64": "22.5.1",
- "@nx/nx-darwin-x64": "22.5.1",
- "@nx/nx-freebsd-x64": "22.5.1",
- "@nx/nx-linux-arm-gnueabihf": "22.5.1",
- "@nx/nx-linux-arm64-gnu": "22.5.1",
- "@nx/nx-linux-arm64-musl": "22.5.1",
- "@nx/nx-linux-x64-gnu": "22.5.1",
- "@nx/nx-linux-x64-musl": "22.5.1",
- "@nx/nx-win32-arm64-msvc": "22.5.1",
- "@nx/nx-win32-x64-msvc": "22.5.1"
- },
- "peerDependencies": {
- "@swc-node/register": "1.11.1",
- "@swc/core": "1.15.8"
- },
- "peerDependenciesMeta": {
- "@swc-node/register": {
- "optional": true
- },
- "@swc/core": {
- "optional": true
- }
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/open": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ora": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
- "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bl": "^4.0.3",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "log-symbols": "^4.0.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/pretty-format": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz",
- "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "30.0.5",
- "ansi-styles": "^5.2.0",
- "react-is": "^18.3.1"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/react-is": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve.exports": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
- "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tmp": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
- "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tree-kill": "cli.js"
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- }
- }
-}
diff --git a/node_modules/@emnapi/core/LICENSE b/node_modules/@emnapi/core/LICENSE
deleted file mode 100644
index 05a5944..0000000
--- a/node_modules/@emnapi/core/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021-present Toyobayashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/@emnapi/core/README.md b/node_modules/@emnapi/core/README.md
deleted file mode 100644
index c98dddc..0000000
--- a/node_modules/@emnapi/core/README.md
+++ /dev/null
@@ -1 +0,0 @@
-See [https://github.com/toyobayashi/emnapi](https://github.com/toyobayashi/emnapi)
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.cjs.js b/node_modules/@emnapi/core/dist/emnapi-core.cjs.js
deleted file mode 100644
index a7cad69..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.cjs.js
+++ /dev/null
@@ -1,6850 +0,0 @@
-var wasiThreads = require('@emnapi/wasi-threads');
-
-const _WebAssembly = typeof WebAssembly !== 'undefined'
- ? WebAssembly
- : typeof WXWebAssembly !== 'undefined'
- ? WXWebAssembly
- : undefined;
-function validateImports(imports) {
- if (imports && typeof imports !== 'object') {
- throw new TypeError('imports must be an object or undefined');
- }
- return true;
-}
-function load(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- try {
- const then = typeof wasmInput === 'object' && wasmInput !== null && 'then' in wasmInput ? wasmInput.then : undefined;
- if (typeof then === 'function') {
- return then.call(wasmInput, (input) => load(input, imports));
- }
- }
- catch (_) { }
- if (wasmInput instanceof ArrayBuffer || ArrayBuffer.isView(wasmInput)) {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- if (wasmInput instanceof _WebAssembly.Module) {
- return _WebAssembly.instantiate(wasmInput, imports).then((instance) => {
- return { instance, module: wasmInput };
- });
- }
- if (typeof Response !== 'undefined' && wasmInput instanceof Response) {
- return wasmInput.arrayBuffer().then(buffer => {
- return _WebAssembly.instantiate(buffer, imports);
- });
- }
- const inputIsString = typeof wasmInput === 'string';
- if (inputIsString || (typeof URL !== 'undefined' && wasmInput instanceof URL)) {
- if (inputIsString && typeof wx !== 'undefined' && typeof __wxConfig !== 'undefined') {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- if (typeof fetch !== 'function') {
- throw new TypeError('wasm source can not be a string or URL in this environment');
- }
- if (typeof _WebAssembly.instantiateStreaming === 'function') {
- try {
- return _WebAssembly.instantiateStreaming(fetch(wasmInput), imports).catch(() => {
- return load(fetch(wasmInput), imports);
- });
- }
- catch (_) {
- return load(fetch(wasmInput), imports);
- }
- }
- else {
- return load(fetch(wasmInput), imports);
- }
- }
- throw new TypeError('Invalid wasm source');
-}
-function loadSync(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- let module;
- if ((wasmInput instanceof ArrayBuffer) || ArrayBuffer.isView(wasmInput)) {
- module = new _WebAssembly.Module(wasmInput);
- }
- else if (wasmInput instanceof WebAssembly.Module) {
- module = wasmInput;
- }
- else {
- throw new TypeError('Invalid wasm source');
- }
- const instance = new _WebAssembly.Instance(module, imports);
- const source = { instance, module };
- return source;
-}
-
-function createNapiModule(options) {
- var napiModule = (function () {
- var ENVIRONMENT_IS_NODE = typeof process === 'object' && process !== null && typeof process.versions === 'object' && process.versions !== null && typeof process.versions.node === 'string';
- var ENVIRONMENT_IS_PTHREAD = Boolean(options.childThread);
- var waitThreadStart = typeof options.waitThreadStart === 'number' ? options.waitThreadStart : Boolean(options.waitThreadStart);
- var wasmInstance;
- var wasmMemory;
- var wasmTable;
- var _malloc;
- var _free;
- function abort(msg) {
- if (typeof _WebAssembly.RuntimeError === 'function') {
- throw new _WebAssembly.RuntimeError(msg);
- }
- throw Error(msg);
- }
- var napiModule = {
- imports: {
- env: {},
- napi: {},
- emnapi: {}
- },
- exports: {},
- emnapi: {},
- loaded: false,
- filename: '',
- childThread: ENVIRONMENT_IS_PTHREAD,
- initWorker: undefined,
- executeAsyncWork: undefined,
- waitThreadStart: waitThreadStart,
- PThread: undefined,
- init: function (options) {
- if (napiModule.loaded)
- return napiModule.exports;
- if (!options)
- throw new TypeError('Invalid napi init options');
- var instance = options.instance;
- if (!(instance === null || instance === void 0 ? void 0 : instance.exports))
- throw new TypeError('Invalid wasm instance');
- wasmInstance = instance;
- var exports$1 = instance.exports;
- var module = options.module;
- var memory = options.memory || exports$1.memory;
- var table = options.table || exports$1.__indirect_function_table;
- if (!(module instanceof _WebAssembly.Module))
- throw new TypeError('Invalid wasm module');
- if (!(memory instanceof _WebAssembly.Memory))
- throw new TypeError('Invalid wasm memory');
- if (!(table instanceof _WebAssembly.Table))
- throw new TypeError('Invalid wasm table');
- wasmMemory = memory;
- wasmTable = table;
- if (typeof exports$1.malloc !== 'function')
- throw new TypeError('malloc is not exported');
- if (typeof exports$1.free !== 'function')
- throw new TypeError('free is not exported');
- _malloc = exports$1.malloc;
- _free = exports$1.free;
- if (!napiModule.childThread) {
- var moduleApiVersion = 8;
- var node_api_module_get_api_version_v1 = instance.exports.node_api_module_get_api_version_v1;
- if (typeof node_api_module_get_api_version_v1 === 'function') {
- moduleApiVersion = node_api_module_get_api_version_v1();
- }
- var envObject = napiModule.envObject || (napiModule.envObject = emnapiCtx.createEnv(napiModule.filename, moduleApiVersion, function (cb) { return (wasmTable.get(cb)); }, function (cb) { return (wasmTable.get(cb)); }, abort, emnapiNodeBinding));
- var scope_1 = emnapiCtx.openScope(envObject);
- try {
- envObject.callIntoModule(function (_envObject) {
- var exports$1 = napiModule.exports;
- var exportsHandle = scope_1.add(exports$1);
- var napi_register_wasm_v1 = instance.exports.napi_register_wasm_v1;
- var napiValue = napi_register_wasm_v1(_envObject.id, exportsHandle.id);
- napiModule.exports = (!napiValue) ? exports$1 : emnapiCtx.handleStore.get(napiValue).value;
- });
- }
- catch (e) {
- if (e !== 'unwind') {
- throw e;
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope_1);
- }
- napiModule.loaded = true;
- delete napiModule.envObject;
- return napiModule.exports;
- }
- }
- };
- var emnapiCtx;
- var emnapiNodeBinding;
- var onCreateWorker = undefined;
- var err;
- if (!ENVIRONMENT_IS_PTHREAD) {
- var context = options.context;
- if (typeof context !== 'object' || context === null) {
- throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");
- }
- emnapiCtx = context;
- }
- else {
- emnapiCtx = options === null || options === void 0 ? void 0 : options.context;
- var postMsg = typeof options.postMessage === 'function'
- ? options.postMessage
- : typeof postMessage === 'function'
- ? postMessage
- : undefined;
- if (typeof postMsg !== 'function') {
- throw new TypeError('No postMessage found');
- }
- napiModule.postMessage = postMsg;
- }
- if (typeof options.filename === 'string') {
- napiModule.filename = options.filename;
- }
- if (typeof options.onCreateWorker === 'function') {
- onCreateWorker = options.onCreateWorker;
- }
- if (typeof options.print === 'function') {
- options.print;
- }
- else {
- console.log.bind(console);
- }
- if (typeof options.printErr === 'function') {
- err = options.printErr;
- }
- else {
- err = console.warn.bind(console);
- }
- if ('nodeBinding' in options) {
- var nodeBinding = options.nodeBinding;
- if (typeof nodeBinding !== 'object' || nodeBinding === null) {
- throw new TypeError('Invalid `options.nodeBinding`. Use @emnapi/node-binding package');
- }
- emnapiNodeBinding = nodeBinding;
- }
- var emnapiAsyncWorkPoolSize = 0;
- if ('asyncWorkPoolSize' in options) {
- if (typeof options.asyncWorkPoolSize !== 'number') {
- throw new TypeError('options.asyncWorkPoolSize must be a integer');
- }
- emnapiAsyncWorkPoolSize = options.asyncWorkPoolSize >> 0;
- if (emnapiAsyncWorkPoolSize > 1024) {
- emnapiAsyncWorkPoolSize = 1024;
- }
- else if (emnapiAsyncWorkPoolSize < -1024) {
- emnapiAsyncWorkPoolSize = -1024;
- }
- }
- var singleThreadAsyncWork = ENVIRONMENT_IS_PTHREAD ? false : (emnapiAsyncWorkPoolSize <= 0);
- function _emnapi_async_work_pool_size() {
- return Math.abs(emnapiAsyncWorkPoolSize);
- }
- napiModule.imports.env._emnapi_async_work_pool_size = _emnapi_async_work_pool_size;
- function emnapiAddSendListener(worker) {
- if (!worker)
- return false;
- if (worker._emnapiSendListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-send') {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({ __emnapi__: __emnapi__ });
- }
- else {
- var callback = __emnapi__.payload.callback;
- (wasmTable.get(callback))(__emnapi__.payload.data);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiSendListener;
- };
- worker._emnapiSendListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- }
- napiModule.emnapi.addSendListener = emnapiAddSendListener;
- var PThread = new wasiThreads.ThreadManager(ENVIRONMENT_IS_PTHREAD
- ? {
- printErr: err,
- childThread: true
- }
- : {
- printErr: err,
- beforeLoad: function (worker) {
- emnapiAddSendListener(worker);
- },
- reuseWorker: options.reuseWorker,
- onCreateWorker: onCreateWorker
- });
- napiModule.PThread = PThread;
- function napi_set_last_error(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.setLastError(error_code, engine_error_code, engine_reserved);
- }
- function napi_clear_last_error(env) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.clearLastError();
- }
- function _emnapi_get_node_version(major, minor, patch) {
- var versions = (typeof process === 'object' && process !== null &&
- typeof process.versions === 'object' && process.versions !== null &&
- typeof process.versions.node === 'string')
- ? process.versions.node.split('.').map(function (n) { return Number(n); })
- : [0, 0, 0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(major, versions[0], true);
- HEAP_DATA_VIEW.setUint32(minor, versions[1], true);
- HEAP_DATA_VIEW.setUint32(patch, versions[2], true);
- }
- function _emnapi_runtime_keepalive_push() {
- }
- function _emnapi_runtime_keepalive_pop() {
- }
- function _emnapi_set_immediate(callback, data) {
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(callback))(data);
- });
- }
- function _emnapi_next_tick(callback, data) {
- Promise.resolve().then(function () {
- (wasmTable.get(callback))(data);
- });
- }
- function _emnapi_callback_into_module(forceUncaught, env, callback, data, close_scope_if_throw) {
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(Boolean(forceUncaught), function () {
- (wasmTable.get(callback))(env, data);
- });
- }
- catch (err) {
- emnapiCtx.closeScope(envObject, scope);
- if (close_scope_if_throw) {
- emnapiCtx.closeScope(envObject);
- }
- throw err;
- }
- emnapiCtx.closeScope(envObject, scope);
- }
- function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
- }
- function _emnapi_ctx_increase_waiting_request_counter() {
- emnapiCtx.increaseWaitingRequestCounter();
- }
- function _emnapi_ctx_decrease_waiting_request_counter() {
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- function _emnapi_is_main_runtime_thread() {
- return ENVIRONMENT_IS_PTHREAD ? 0 : 1;
- }
- function _emnapi_is_main_browser_thread() {
- return (typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE) ? 1 : 0;
- }
- function _emnapi_unwind() {
- throw 'unwind';
- }
- function _emnapi_get_now() {
- return performance.timeOrigin + performance.now();
- }
- function $emnapiSetValueI64(result, numberValue) {
- var tempDouble;
- var tempI64 = [
- numberValue >>> 0,
- (tempDouble = numberValue, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
- ];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, tempI64[0], true);
- HEAP_DATA_VIEW.setInt32(result + 4, tempI64[1], true);
- }
- function _emnapi_open_handle_scope() {
- return emnapiCtx.openScope().id;
- }
- function _emnapi_close_handle_scope(_scope) {
- return emnapiCtx.closeScope();
- }
- var utilMod = Object.freeze({
- __proto__: null,
- $emnapiSetValueI64: $emnapiSetValueI64,
- _emnapi_call_finalizer: _emnapi_call_finalizer,
- _emnapi_callback_into_module: _emnapi_callback_into_module,
- _emnapi_close_handle_scope: _emnapi_close_handle_scope,
- _emnapi_ctx_decrease_waiting_request_counter: _emnapi_ctx_decrease_waiting_request_counter,
- _emnapi_ctx_increase_waiting_request_counter: _emnapi_ctx_increase_waiting_request_counter,
- _emnapi_get_node_version: _emnapi_get_node_version,
- _emnapi_get_now: _emnapi_get_now,
- _emnapi_is_main_browser_thread: _emnapi_is_main_browser_thread,
- _emnapi_is_main_runtime_thread: _emnapi_is_main_runtime_thread,
- _emnapi_next_tick: _emnapi_next_tick,
- _emnapi_open_handle_scope: _emnapi_open_handle_scope,
- _emnapi_runtime_keepalive_pop: _emnapi_runtime_keepalive_pop,
- _emnapi_runtime_keepalive_push: _emnapi_runtime_keepalive_push,
- _emnapi_set_immediate: _emnapi_set_immediate,
- _emnapi_unwind: _emnapi_unwind,
- napi_clear_last_error: napi_clear_last_error,
- napi_set_last_error: napi_set_last_error
- });
- function emnapiGetWorkerByPthreadPtr(pthreadPtr) {
- var view = new DataView(wasmMemory.buffer);
- var tidOffset = 20;
- var tid = view.getInt32(pthreadPtr + tidOffset, true);
- var worker = PThread.pthreads[tid];
- return worker;
- }
- function _emnapi_worker_unref(pthreadPtr) {
- if (ENVIRONMENT_IS_PTHREAD)
- return;
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- }
- function _emnapi_async_send_js(type, callback, data) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-send',
- payload: {
- callback: callback,
- data: data
- }
- }
- });
- }
- else {
- switch (type) {
- case 0:
- _emnapi_set_immediate(callback, data);
- break;
- case 1:
- _emnapi_next_tick(callback, data);
- break;
- }
- }
- }
- var uvThreadpoolReadyResolve;
- var uvThreadpoolReady = new Promise(function (resolve) {
- uvThreadpoolReadyResolve = function () {
- uvThreadpoolReady.ready = true;
- resolve();
- };
- });
- uvThreadpoolReady.ready = false;
- function _emnapi_after_uvthreadpool_ready(callback, q, type) {
- if (uvThreadpoolReady.ready) {
- (wasmTable.get(callback))(q, type);
- }
- else {
- uvThreadpoolReady.then(function () {
- (wasmTable.get(callback))(q, type);
- });
- }
- }
- function _emnapi_tell_js_uvthreadpool(threads, size) {
- var p = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var _loop_1 = function (i) {
- var pthreadPtr = HEAP_DATA_VIEW.getUint32(threads + i * 4, true);
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- p.push(new Promise(function (resolve) {
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-thread-ready') {
- resolve();
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler);
- }
- }
- };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler);
- }
- }));
- };
- for (var i = 0; i < size; i++) {
- _loop_1(i);
- }
- Promise.all(p).then(uvThreadpoolReadyResolve);
- }
- function _emnapi_emit_async_thread_ready() {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-thread-ready',
- payload: {}
- }
- });
- }
- var asyncMod = Object.freeze({
- __proto__: null,
- _emnapi_after_uvthreadpool_ready: _emnapi_after_uvthreadpool_ready,
- _emnapi_async_send_js: _emnapi_async_send_js,
- _emnapi_emit_async_thread_ready: _emnapi_emit_async_thread_ready,
- _emnapi_tell_js_uvthreadpool: _emnapi_tell_js_uvthreadpool,
- _emnapi_worker_unref: _emnapi_worker_unref
- });
- function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!adjusted_value)
- return envObject.setLastError(1);
- var change_in_bytes_number = Number(change_in_bytes);
- if (change_in_bytes_number < 0) {
- return envObject.setLastError(1);
- }
- var old_size = wasmMemory.buffer.byteLength;
- var new_size = old_size + change_in_bytes_number;
- new_size = new_size + ((65536 - new_size % 65536) % 65536);
- if (wasmMemory.grow((new_size - old_size + 65535) >> 16) === -1) {
- return envObject.setLastError(9);
- }
- if (emnapiCtx.feature.supportBigInt) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(wasmMemory.buffer.byteLength), true);
- }
- else {
- $emnapiSetValueI64(adjusted_value, wasmMemory.buffer.byteLength);
- }
- return envObject.clearLastError();
- }
- var memoryMod = Object.freeze({
- __proto__: null,
- napi_adjust_external_memory: napi_adjust_external_memory
- });
- var emnapiAWST = {
- idGen: {},
- values: [undefined],
- queued: new Set(),
- pending: [],
- init: function () {
- var idGen = {
- nextId: 1,
- list: [],
- generate: function () {
- var id;
- if (idGen.list.length) {
- id = idGen.list.shift();
- }
- else {
- id = idGen.nextId;
- idGen.nextId++;
- }
- return id;
- },
- reuse: function (id) {
- idGen.list.push(id);
- }
- };
- emnapiAWST.idGen = idGen;
- emnapiAWST.values = [undefined];
- emnapiAWST.queued = new Set();
- emnapiAWST.pending = [];
- },
- create: function (env, resource, resourceName, execute, complete, data) {
- var asyncId = 0;
- var triggerAsyncId = 0;
- if (emnapiNodeBinding) {
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resourceName, -1);
- asyncId = asyncContext.asyncId;
- triggerAsyncId = asyncContext.triggerAsyncId;
- }
- var id = emnapiAWST.idGen.generate();
- emnapiAWST.values[id] = {
- env: env,
- id: id,
- resource: resource,
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId,
- status: 0,
- execute: execute,
- complete: complete,
- data: data
- };
- return id;
- },
- callComplete: function (work, status) {
- var complete = work.complete;
- var env = work.env;
- var data = work.data;
- var callback = function () {
- if (!complete)
- return;
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- };
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.makeCallback(work.resource, callback, [], {
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- else {
- callback();
- }
- },
- queue: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (work.status === 0) {
- work.status = 1;
- if (emnapiAWST.queued.size >= (Math.abs(emnapiAsyncWorkPoolSize) || 4)) {
- emnapiAWST.pending.push(id);
- return;
- }
- emnapiAWST.queued.add(id);
- var env_1 = work.env;
- var data_1 = work.data;
- var execute = work.execute;
- work.status = 2;
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(execute))(env_1, data_1);
- emnapiAWST.queued.delete(id);
- work.status = 3;
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work, 0);
- });
- if (emnapiAWST.pending.length > 0) {
- var nextWorkId = emnapiAWST.pending.shift();
- emnapiAWST.values[nextWorkId].status = 0;
- emnapiAWST.queue(nextWorkId);
- }
- });
- }
- },
- cancel: function (id) {
- var index = emnapiAWST.pending.indexOf(id);
- if (index !== -1) {
- var work_1 = emnapiAWST.values[id];
- if (work_1 && (work_1.status === 1)) {
- work_1.status = 4;
- emnapiAWST.pending.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work_1, 11);
- });
- return 0;
- }
- else {
- return 9;
- }
- }
- return 9;
- },
- remove: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- emnapiAWST.values[id] = undefined;
- emnapiAWST.idGen.reuse(id);
- }
- };
- function _emnapi_node_emit_async_init(async_resource, async_resource_name, trigger_async_id, result) {
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var resource_name = emnapiCtx.handleStore.get(async_resource_name).value;
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resource_name, trigger_async_id);
- var asyncId = asyncContext.asyncId;
- var triggerAsyncId = asyncContext.triggerAsyncId;
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
- HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
- }
- }
- function _emnapi_node_emit_async_destroy(async_id, trigger_async_id) {
- if (!emnapiNodeBinding)
- return;
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- }
- function _emnapi_node_make_callback(env, async_resource, cb, argv, size, async_id, trigger_async_id, result) {
- var i = 0;
- var v;
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var callback = emnapiCtx.handleStore.get(cb).value;
- size = size >>> 0;
- var arr = Array(size);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < size; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.node.makeCallback(resource, callback, arr, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- if (result) {
- var envObject = emnapiCtx.envStore.get(env);
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- }
- function _emnapi_async_init_js(async_resource, async_resource_name, result) {
- if (!emnapiNodeBinding) {
- return 9;
- }
- var resource;
- if (async_resource) {
- resource = Object(emnapiCtx.handleStore.get(async_resource).value);
- }
- var name = emnapiCtx.handleStore.get(async_resource_name).value;
- var ret = emnapiNodeBinding.napi.asyncInit(resource, name);
- if (ret.status !== 0)
- return ret.status;
- var numberValue = ret.value;
- if (!((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63))))) {
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return 0;
- }
- function _emnapi_async_destroy_js(async_context) {
- if (!emnapiNodeBinding) {
- return 9;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var pointer = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- var ret = emnapiNodeBinding.napi.asyncDestroy(pointer);
- if (ret.status !== 0)
- return ret.status;
- return 0;
- }
- function napi_open_callback_scope(env, ignored, async_context_handle, result) {
- throw new Error('napi_open_callback_scope has not been implemented yet');
- }
- function napi_close_callback_scope(env, scope) {
- throw new Error('napi_close_callback_scope has not been implemented yet');
- }
- function napi_make_callback(env, async_context, recv, func, argc, argv, result) {
- var i = 0;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiNodeBinding) {
- return envObject.setLastError(9);
- }
- if (!recv)
- return envObject.setLastError(1);
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- var v8recv = Object(emnapiCtx.handleStore.get(recv).value);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function') {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var ctx = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- argc = argc >>> 0;
- var arr = Array(argc);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.napi.makeCallback(ctx, v8recv, v8func, arr);
- if (ret.error) {
- throw ret.error;
- }
- if (ret.status !== 0)
- return envObject.setLastError(ret.status);
- if (result) {
- v = envObject.ensureHandleId(ret.value);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function _emnapi_env_check_gc_access(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- }
- var nodeMod = Object.freeze({
- __proto__: null,
- _emnapi_async_destroy_js: _emnapi_async_destroy_js,
- _emnapi_async_init_js: _emnapi_async_init_js,
- _emnapi_env_check_gc_access: _emnapi_env_check_gc_access,
- _emnapi_node_emit_async_destroy: _emnapi_node_emit_async_destroy,
- _emnapi_node_emit_async_init: _emnapi_node_emit_async_init,
- _emnapi_node_make_callback: _emnapi_node_make_callback,
- napi_close_callback_scope: napi_close_callback_scope,
- napi_make_callback: napi_make_callback,
- napi_open_callback_scope: napi_open_callback_scope
- });
- var emnapiTSFN = {
- offset: {
- resource: 0,
- async_id: 8,
- trigger_async_id: 16,
- queue_size: 24,
- queue: 1 * 4 + 24,
- thread_count: 2 * 4 + 24,
- is_closing: 3 * 4 + 24,
- dispatch_state: 3 * 4 + 28,
- context: 3 * 4 + 32,
- max_queue_size: 4 * 4 + 32,
- ref: 5 * 4 + 32,
- env: 6 * 4 + 32,
- finalize_data: 7 * 4 + 32,
- finalize_cb: 8 * 4 + 32,
- call_js_cb: 9 * 4 + 32,
- handles_closing: 10 * 4 + 32,
- async_ref: 10 * 4 + 36,
- mutex: 10 * 4 + 40,
- cond: 10 * 4 + 44,
- end: 10 * 4 + 48
- },
- init: function () {
- if (typeof PThread !== 'undefined') {
- PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
- PThread.runningWorkers.forEach(emnapiTSFN.addListener);
- var __original_getNewWorker_1 = PThread.getNewWorker;
- PThread.getNewWorker = function () {
- var r = __original_getNewWorker_1.apply(this, arguments);
- emnapiTSFN.addListener(r);
- return r;
- };
- }
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiTSFNListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'tsfn-send') {
- emnapiTSFN.dispatch(payload.tsfn);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiTSFNListener;
- };
- worker._emnapiTSFNListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initQueue: function (func) {
- var size = 2 * 4;
- var queue = _malloc(size);
- if (!queue)
- return false;
- new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
- emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
- return true;
- },
- destroyQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- if (queue) {
- _free(queue);
- }
- },
- pushQueue: function (func, data) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- var tail = emnapiTSFN.loadSizeTypeValue(queue + 4, false);
- var size = 2 * 4;
- var node = _malloc(size);
- if (!node)
- throw new Error('OOM');
- emnapiTSFN.storeSizeTypeValue(node, data, false);
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- if (head === 0 && tail === 0) {
- emnapiTSFN.storeSizeTypeValue(queue, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- else {
- emnapiTSFN.storeSizeTypeValue(tail + 4, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- emnapiTSFN.addQueueSize(func);
- },
- shiftQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- if (head === 0)
- return 0;
- var node = head;
- var next = emnapiTSFN.loadSizeTypeValue(head + 4, false);
- emnapiTSFN.storeSizeTypeValue(queue, next, false);
- if (next === 0) {
- emnapiTSFN.storeSizeTypeValue(queue + 4, 0, false);
- }
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- var value = emnapiTSFN.loadSizeTypeValue(node, false);
- _free(node);
- emnapiTSFN.subQueueSize(func);
- return value;
- },
- push: function (func, data, mode) {
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- var waitCondition = function () {
- var queueSize = emnapiTSFN.getQueueSize(func);
- var maxSize = emnapiTSFN.getMaxQueueSize(func);
- var isClosing = emnapiTSFN.getIsClosing(func);
- return queueSize >= maxSize && maxSize > 0 && !isClosing;
- };
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- return mutex.execute(function () {
- while (waitCondition()) {
- if (mode === 0) {
- return 15;
- }
- if (isBrowserMain) {
- return 21;
- }
- cond.wait();
- }
- if (emnapiTSFN.getIsClosing(func)) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1;
- }
- else {
- emnapiTSFN.subThreadCount(func);
- return 16;
- }
- }
- else {
- emnapiTSFN.pushQueue(func, data);
- emnapiTSFN.send(func);
- return 0;
- }
- });
- },
- getMutex: function (func) {
- var index = func + emnapiTSFN.offset.mutex;
- var mutex = {
- lock: function () {
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- if (isBrowserMain) {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- }
- }
- else {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- Atomics.wait(i32a, 0, 1);
- }
- }
- },
- unlock: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var oldValue = Atomics.compareExchange(i32a, 0, 1, 0);
- if (oldValue !== 1) {
- throw new Error('Tried to unlock while not holding the mutex');
- }
- Atomics.notify(i32a, 0, 1);
- },
- execute: function (fn) {
- mutex.lock();
- try {
- return fn();
- }
- finally {
- mutex.unlock();
- }
- }
- };
- return mutex;
- },
- getCond: function (func) {
- var index = func + emnapiTSFN.offset.cond;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = {
- wait: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var value = Atomics.load(i32a, 0);
- mutex.unlock();
- Atomics.wait(i32a, 0, value);
- mutex.lock();
- },
- signal: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- Atomics.add(i32a, 0, 1);
- Atomics.notify(i32a, 0, 1);
- }
- };
- return cond;
- },
- getQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue_size, true);
- },
- addQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getThreadCount: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.thread_count, true);
- },
- addThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getIsClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2);
- },
- setIsClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2, value);
- },
- getHandlesClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2);
- },
- setHandlesClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2, value);
- },
- getDispatchState: function (func) {
- return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2);
- },
- getContext: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
- },
- getMaxQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.max_queue_size, true);
- },
- getEnv: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.env, false);
- },
- getCallJSCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.call_js_cb, false);
- },
- getRef: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.ref, false);
- },
- getResource: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.resource, false);
- },
- getFinalizeCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_cb, false);
- },
- getFinalizeData: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_data, false);
- },
- loadSizeTypeValue: function (offset, unsigned) {
- var ret;
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- },
- storeSizeTypeValue: function (offset, value, unsigned) {
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value);
- return undefined;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value >>> 0);
- return undefined;
- }
- },
- destroy: function (func) {
- emnapiTSFN.destroyQueue(func);
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- var ref = emnapiTSFN.getRef(func);
- if (ref) {
- emnapiCtx.refStore.get(ref).dispose();
- }
- emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
- envObject.unref();
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- var resource = emnapiTSFN.getResource(func);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(func);
- },
- emptyQueueAndDelete: function (func) {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var context = emnapiTSFN.getContext(func);
- var data;
- while (emnapiTSFN.getQueueSize(func) > 0) {
- data = emnapiTSFN.shiftQueue(func);
- if (callJsCb) {
- (wasmTable.get(callJsCb))(0, 0, context, data);
- }
- }
- emnapiTSFN.destroy(func);
- },
- finalize: function (func) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- var finalize = emnapiTSFN.getFinalizeCb(func);
- var data = emnapiTSFN.getFinalizeData(func);
- var context = emnapiTSFN.getContext(func);
- var f = function () {
- envObject.callFinalizerInternal(0, finalize, data, context);
- };
- try {
- if (finalize) {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- f();
- }
- }
- emnapiTSFN.emptyQueueAndDelete(func);
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- cleanup: function (func) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 1);
- },
- closeHandlesAndMaybeDelete: function (func, set_closing) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- try {
- if (set_closing) {
- emnapiTSFN.getMutex(func).execute(function () {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- emnapiTSFN.getCond(func).signal();
- }
- });
- }
- if (emnapiTSFN.getHandlesClosing(func)) {
- return;
- }
- emnapiTSFN.setHandlesClosing(func, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.finalize(func);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- dispatchOne: function (func) {
- var data = 0;
- var popped_value = false;
- var has_more = false;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- else {
- var size = emnapiTSFN.getQueueSize(func);
- if (size > 0) {
- data = emnapiTSFN.shiftQueue(func);
- popped_value = true;
- var maxQueueSize = emnapiTSFN.getMaxQueueSize(func);
- if (size === maxQueueSize && maxQueueSize > 0) {
- cond.signal();
- }
- size--;
- }
- if (size === 0) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- }
- else {
- has_more = true;
- }
- }
- });
- if (popped_value) {
- var env = emnapiTSFN.getEnv(func);
- var envObject_1 = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject_1);
- var f = function () {
- envObject_1.callbackIntoModule(false, function () {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var ref = emnapiTSFN.getRef(func);
- var js_callback = ref ? emnapiCtx.refStore.get(ref).get() : 0;
- if (callJsCb) {
- var context = emnapiTSFN.getContext(func);
- (wasmTable.get(callJsCb))(env, js_callback, context, data);
- }
- else {
- var jsCallback = js_callback ? emnapiCtx.handleStore.get(js_callback).value : null;
- if (typeof jsCallback === 'function') {
- jsCallback();
- }
- }
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: view.getFloat64(func + emnapiTSFN.offset.async_id, true),
- triggerAsyncId: view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true)
- });
- }
- else {
- f();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject_1);
- }
- }
- return has_more;
- },
- dispatch: function (func) {
- var has_more = true;
- var iterations_left = 1000;
- var ui32a = new Uint32Array(wasmMemory.buffer);
- var index = (func + emnapiTSFN.offset.dispatch_state) >> 2;
- while (has_more && --iterations_left !== 0) {
- Atomics.store(ui32a, index, 1);
- has_more = emnapiTSFN.dispatchOne(func);
- if (Atomics.exchange(ui32a, index, 0) !== 1) {
- has_more = true;
- }
- }
- if (has_more) {
- emnapiTSFN.send(func);
- }
- },
- send: function (func) {
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2, 1 << 1);
- if ((current_state & 1) === 1) {
- return;
- }
- if ((typeof ENVIRONMENT_IS_PTHREAD !== 'undefined') && ENVIRONMENT_IS_PTHREAD) {
- postMessage({
- __emnapi__: {
- type: 'tsfn-send',
- payload: {
- tsfn: func
- }
- }
- });
- }
- else {
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.dispatch(func);
- });
- }
- }
- };
- function napi_create_threadsafe_function(env, func, async_resource, async_resource_name, max_queue_size, initial_thread_count, thread_finalize_data, thread_finalize_cb, context, call_js_cb, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!async_resource_name)
- return envObject.setLastError(1);
- max_queue_size = max_queue_size >>> 0;
- initial_thread_count = initial_thread_count >>> 0;
- if (initial_thread_count === 0) {
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- var ref = 0;
- if (!func) {
- if (!call_js_cb)
- return envObject.setLastError(1);
- }
- else {
- var funcValue = emnapiCtx.handleStore.get(func).value;
- if (typeof funcValue !== 'function') {
- return envObject.setLastError(1);
- }
- ref = emnapiCtx.createReference(envObject, func, 1, 1).id;
- }
- var asyncResourceObject;
- if (async_resource) {
- asyncResourceObject = emnapiCtx.handleStore.get(async_resource).value;
- if (asyncResourceObject == null) {
- return envObject.setLastError(2);
- }
- asyncResourceObject = Object(asyncResourceObject);
- }
- else {
- asyncResourceObject = {};
- }
- var resource = envObject.ensureHandleId(asyncResourceObject);
- var asyncResourceName = emnapiCtx.handleStore.get(async_resource_name).value;
- if (typeof asyncResourceName === 'symbol') {
- return envObject.setLastError(3);
- }
- asyncResourceName = String(asyncResourceName);
- var resource_name = envObject.ensureHandleId(asyncResourceName);
- var sizeofTSFN = emnapiTSFN.offset.end;
- var tsfn = _malloc(sizeofTSFN);
- if (!tsfn)
- return envObject.setLastError(9);
- new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
- var resourceRef = emnapiCtx.createReference(envObject, resource, 1, 1);
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
- if (!emnapiTSFN.initQueue(tsfn)) {
- _free(tsfn);
- resourceRef.dispose();
- return envObject.setLastError(9);
- }
- _emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.ref, ref, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_data, thread_finalize_data, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_cb, thread_finalize_cb, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.call_js_cb, call_js_cb, true);
- emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
- envObject.ref();
- emnapiCtx.increaseWaitingRequestCounter();
- HEAP_DATA_VIEW.setInt32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
- HEAP_DATA_VIEW.setUint32(result, tsfn, true);
- return envObject.clearLastError();
- }
- function napi_get_threadsafe_function_context(func, result) {
- if (!func || !result) {
- abort();
- return 1;
- }
- var context = emnapiTSFN.getContext(func);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, context, true);
- return 0;
- }
- function napi_call_threadsafe_function(func, data, mode) {
- if (!func) {
- abort();
- return 1;
- }
- return emnapiTSFN.push(func, data, mode);
- }
- function napi_acquire_threadsafe_function(func) {
- if (!func) {
- abort();
- return 1;
- }
- var mutex = emnapiTSFN.getMutex(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- return 16;
- }
- emnapiTSFN.addThreadCount(func);
- return 0;
- });
- }
- function napi_release_threadsafe_function(func, mode) {
- if (!func) {
- abort();
- return 1;
- }
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1;
- }
- emnapiTSFN.subThreadCount(func);
- if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1) {
- var isClosing = emnapiTSFN.getIsClosing(func);
- if (!isClosing) {
- var isClosingValue = (mode === 1) ? 1 : 0;
- emnapiTSFN.setIsClosing(func, isClosingValue);
- if (isClosingValue && emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.send(func);
- }
- }
- return 0;
- });
- }
- function napi_unref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- return 0;
- }
- function napi_ref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (!Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 1);
- emnapiCtx.increaseWaitingRequestCounter();
- }
- return 0;
- }
- var emnapiAWMT = {
- unusedWorkers: [],
- runningWorkers: [],
- workQueue: [],
- workerReady: null,
- offset: {
- resource: 0,
- async_id: 8,
- trigger_async_id: 16,
- env: 24,
- data: 1 * 4 + 24,
- execute: 2 * 4 + 24,
- complete: 3 * 4 + 24,
- end: 4 * 4 + 24
- },
- init: function () {
- emnapiAWMT.unusedWorkers = [];
- emnapiAWMT.runningWorkers = [];
- emnapiAWMT.workQueue = [];
- emnapiAWMT.workerReady = null;
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiAWMTListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'async-work-complete') {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
- emnapiAWMT.unusedWorkers.push(worker);
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(payload.work, 0);
- }
- else if (type === 'async-work-queue') {
- emnapiAWMT.scheduleWork(payload.work);
- }
- else if (type === 'async-work-cancel') {
- emnapiAWMT.cancelWork(payload.work);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiAWMTListener;
- };
- worker._emnapiAWMTListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initWorkers: function (n) {
- if (ENVIRONMENT_IS_PTHREAD) {
- return emnapiAWMT.workerReady || (emnapiAWMT.workerReady = Promise.resolve());
- }
- if (emnapiAWMT.workerReady)
- return emnapiAWMT.workerReady;
- if (typeof onCreateWorker !== 'function') {
- throw new TypeError('`options.onCreateWorker` is not a function');
- }
- var promises = [];
- var args = [];
- if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
- throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
- }
- for (var i = 0; i < n; ++i) {
- args.push(wasmInstance.exports.emnapi_async_worker_create());
- }
- try {
- var _loop_1 = function (i) {
- var worker = onCreateWorker({ type: 'async-work', name: 'emnapi-async-worker' });
- var p = PThread.loadWasmModuleToWorker(worker);
- emnapiAWMT.addListener(worker);
- promises.push(p.then(function () {
- if (typeof worker.unref === 'function') {
- worker.unref();
- }
- }));
- emnapiAWMT.unusedWorkers.push(worker);
- var arg = args[i];
- worker.threadBlockBase = arg;
- worker.postMessage({
- __emnapi__: {
- type: 'async-worker-init',
- payload: { arg: arg }
- }
- });
- };
- for (var i = 0; i < n; ++i) {
- _loop_1(i);
- }
- }
- catch (err) {
- for (var i = 0; i < n; ++i) {
- var arg = args[i];
- _free(arg);
- }
- throw err;
- }
- emnapiAWMT.workerReady = Promise.all(promises);
- return emnapiAWMT.workerReady;
- },
- checkIdleWorker: function () {
- if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
- var worker = emnapiAWMT.unusedWorkers.shift();
- var work = emnapiAWMT.workQueue.shift();
- emnapiAWMT.runningWorkers.push(worker);
- worker.postMessage({
- __emnapi__: {
- type: 'async-work-execute',
- payload: { work: work }
- }
- });
- }
- },
- getResource: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.resource, false);
- },
- getExecute: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.execute, false);
- },
- getComplete: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.complete, false);
- },
- getEnv: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.env, false);
- },
- getData: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.data, false);
- },
- scheduleWork: function (work) {
- var _a;
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-work-queue',
- payload: { work: work }
- }
- });
- return;
- }
- emnapiCtx.increaseWaitingRequestCounter();
- emnapiAWMT.workQueue.push(work);
- if ((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready) {
- emnapiAWMT.checkIdleWorker();
- }
- else {
- var fail = function (err) {
- emnapiCtx.decreaseWaitingRequestCounter();
- throw err;
- };
- try {
- emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
- emnapiAWMT.workerReady.ready = true;
- emnapiAWMT.checkIdleWorker();
- }, fail);
- }
- catch (err) {
- fail(err);
- }
- }
- },
- cancelWork: function (work) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_2 = napiModule.postMessage;
- postMessage_2({
- __emnapi__: {
- type: 'async-work-cancel',
- payload: { work: work }
- }
- });
- return 0;
- }
- var index = emnapiAWMT.workQueue.indexOf(work);
- if (index !== -1) {
- emnapiAWMT.workQueue.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(work, 11);
- });
- return 0;
- }
- return 9;
- },
- callComplete: function (work, status) {
- var complete = emnapiAWMT.getComplete(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- var callback = function () {
- if (!complete)
- return;
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiAWMT.getResource(work);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, callback, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- callback();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- }
- };
- var napi_create_async_work = singleThreadAsyncWork
- ? function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1);
- var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
- var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, id, true);
- return envObject.clearLastError();
- }
- : function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1);
- var sizeofAW = emnapiAWMT.offset.end;
- var aw = _malloc(sizeofAW);
- if (!aw)
- return envObject.setLastError(9);
- new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
- var s = envObject.ensureHandleId(resourceObject);
- var resourceRef = emnapiCtx.createReference(envObject, s, 1, 1);
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(aw, resource_, true);
- _emnapi_node_emit_async_init(s, resource_name, -1, aw + emnapiAWMT.offset.async_id);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
- HEAP_DATA_VIEW.setUint32(result, aw, true);
- return envObject.clearLastError();
- };
- var napi_delete_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1);
- emnapiAWST.remove(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1);
- var resource = emnapiAWMT.getResource(work);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(work);
- return envObject.clearLastError();
- };
- var napi_queue_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- emnapiAWST.queue(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- emnapiAWMT.scheduleWork(work);
- return envObject.clearLastError();
- };
- var napi_cancel_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- var status = emnapiAWST.cancel(work);
- if (status === 0)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- var status = emnapiAWMT.cancelWork(work);
- if (status === 0)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- };
- function initWorker(startArg) {
- if (napiModule.childThread) {
- if (typeof wasmInstance.exports.emnapi_async_worker_init !== 'function') {
- throw new TypeError('`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags');
- }
- wasmInstance.exports.emnapi_async_worker_init(startArg);
- }
- else {
- throw new Error('startThread is only available in child threads');
- }
- }
- function executeAsyncWork(work) {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var execute = emnapiAWMT.getExecute(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- (wasmTable.get(execute))(env, data);
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-work-complete',
- payload: { work: work }
- }
- });
- }
- napiModule.initWorker = initWorker;
- napiModule.executeAsyncWork = executeAsyncWork;
- var asyncWorkMod = Object.freeze({
- __proto__: null,
- napi_cancel_async_work: napi_cancel_async_work,
- napi_create_async_work: napi_create_async_work,
- napi_delete_async_work: napi_delete_async_work,
- napi_queue_async_work: napi_queue_async_work
- });
- var emnapiExternalMemory = {
- registry: typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined,
- table: new WeakMap(),
- wasmMemoryViewTable: new WeakMap(),
- init: function () {
- emnapiExternalMemory.registry = typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined;
- emnapiExternalMemory.table = new WeakMap();
- emnapiExternalMemory.wasmMemoryViewTable = new WeakMap();
- },
- isSharedArrayBuffer: function (value) {
- return ((typeof SharedArrayBuffer === 'function' && value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(value) === '[object SharedArrayBuffer]'));
- },
- isDetachedArrayBuffer: function (arrayBuffer) {
- if (arrayBuffer.byteLength === 0) {
- try {
- new Uint8Array(arrayBuffer);
- }
- catch (_) {
- return true;
- }
- }
- return false;
- },
- getArrayBufferPointer: function (arrayBuffer, shouldCopy) {
- var _a;
- var info = {
- address: 0,
- ownership: 0,
- runtimeAllocated: 0
- };
- if (arrayBuffer === wasmMemory.buffer) {
- return info;
- }
- var isDetached = emnapiExternalMemory.isDetachedArrayBuffer(arrayBuffer);
- if (emnapiExternalMemory.table.has(arrayBuffer)) {
- var cachedInfo = emnapiExternalMemory.table.get(arrayBuffer);
- if (isDetached) {
- cachedInfo.address = 0;
- return cachedInfo;
- }
- if (shouldCopy && cachedInfo.ownership === 0 && cachedInfo.runtimeAllocated === 1) {
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), cachedInfo.address);
- }
- return cachedInfo;
- }
- if (isDetached || (arrayBuffer.byteLength === 0)) {
- return info;
- }
- if (!shouldCopy) {
- return info;
- }
- var pointer = _malloc(arrayBuffer.byteLength);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
- info.address = pointer;
- info.ownership = emnapiExternalMemory.registry ? 0 : 1;
- info.runtimeAllocated = 1;
- emnapiExternalMemory.table.set(arrayBuffer, info);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(arrayBuffer, pointer);
- return info;
- },
- getOrUpdateMemoryView: function (view) {
- if (view.buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(view, {
- Ctor: view.constructor,
- address: view.byteOffset,
- length: view instanceof DataView ? view.byteLength : view.length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- return view;
- }
- var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) ||
- ((typeof SharedArrayBuffer === 'function') && (view.buffer instanceof SharedArrayBuffer));
- if (maybeOldWasmMemory && emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var info = emnapiExternalMemory.wasmMemoryViewTable.get(view);
- var Ctor = info.Ctor;
- var newView = void 0;
- var Buffer_1 = emnapiCtx.feature.Buffer;
- if (typeof Buffer_1 === 'function' && Ctor === Buffer_1) {
- newView = Buffer_1.from(wasmMemory.buffer, info.address, info.length);
- }
- else {
- newView = new Ctor(wasmMemory.buffer, info.address, info.length);
- }
- emnapiExternalMemory.wasmMemoryViewTable.set(newView, info);
- return newView;
- }
- return view;
- },
- getViewPointer: function (view, shouldCopy) {
- view = emnapiExternalMemory.getOrUpdateMemoryView(view);
- if (view.buffer === wasmMemory.buffer) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var _a = emnapiExternalMemory.wasmMemoryViewTable.get(view), address_1 = _a.address, ownership_1 = _a.ownership, runtimeAllocated_1 = _a.runtimeAllocated;
- return { address: address_1, ownership: ownership_1, runtimeAllocated: runtimeAllocated_1, view: view };
- }
- return { address: view.byteOffset, ownership: 1, runtimeAllocated: 0, view: view };
- }
- var _b = emnapiExternalMemory.getArrayBufferPointer(view.buffer, shouldCopy), address = _b.address, ownership = _b.ownership, runtimeAllocated = _b.runtimeAllocated;
- return { address: address === 0 ? 0 : (address + view.byteOffset), ownership: ownership, runtimeAllocated: runtimeAllocated, view: view };
- }
- };
- var emnapiString = {
- utf8Decoder: undefined,
- utf16Decoder: undefined,
- init: function () {
- var fallbackDecoder = {
- decode: function (bytes) {
- var inputIndex = 0;
- var pendingSize = Math.min(0x1000, bytes.length + 1);
- var pending = new Uint16Array(pendingSize);
- var chunks = [];
- var pendingIndex = 0;
- for (;;) {
- var more = inputIndex < bytes.length;
- if (!more || (pendingIndex >= pendingSize - 1)) {
- var subarray = pending.subarray(0, pendingIndex);
- var arraylike = subarray;
- chunks.push(String.fromCharCode.apply(null, arraylike));
- if (!more) {
- return chunks.join('');
- }
- bytes = bytes.subarray(inputIndex);
- inputIndex = 0;
- pendingIndex = 0;
- }
- var byte1 = bytes[inputIndex++];
- if ((byte1 & 0x80) === 0) {
- pending[pendingIndex++] = byte1;
- }
- else if ((byte1 & 0xe0) === 0xc0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 6) | byte2;
- }
- else if ((byte1 & 0xf0) === 0xe0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
- }
- else if ((byte1 & 0xf8) === 0xf0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- var byte4 = bytes[inputIndex++] & 0x3f;
- var codepoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
- if (codepoint > 0xffff) {
- codepoint -= 0x10000;
- pending[pendingIndex++] = (codepoint >>> 10) & 0x3ff | 0xd800;
- codepoint = 0xdc00 | codepoint & 0x3ff;
- }
- pending[pendingIndex++] = codepoint;
- }
- else ;
- }
- }
- };
- var utf8Decoder;
- utf8Decoder = typeof TextDecoder === 'function' ? new TextDecoder() : fallbackDecoder;
- emnapiString.utf8Decoder = utf8Decoder;
- var fallbackDecoder2 = {
- decode: function (input) {
- var bytes = new Uint16Array(input.buffer, input.byteOffset, input.byteLength / 2);
- if (bytes.length <= 0x1000) {
- return String.fromCharCode.apply(null, bytes);
- }
- var chunks = [];
- var i = 0;
- var len = 0;
- for (; i < bytes.length; i += len) {
- len = Math.min(0x1000, bytes.length - i);
- chunks.push(String.fromCharCode.apply(null, bytes.subarray(i, i + len)));
- }
- return chunks.join('');
- }
- };
- var utf16Decoder;
- utf16Decoder = typeof TextDecoder === 'function' ? new TextDecoder('utf-16le') : fallbackDecoder2;
- emnapiString.utf16Decoder = utf16Decoder;
- },
- lengthBytesUTF8: function (str) {
- var c;
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- c = str.charCodeAt(i);
- if (c <= 0x7F) {
- len++;
- }
- else if (c <= 0x7FF) {
- len += 2;
- }
- else if (c >= 0xD800 && c <= 0xDFFF) {
- len += 4;
- ++i;
- }
- else {
- len += 3;
- }
- }
- return len;
- },
- UTF8ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var end = ptr;
- if (length === -1) {
- for (; HEAPU8[end];)
- ++end;
- }
- else {
- end = ptr + (length >>> 0);
- }
- length = end - ptr;
- if (length <= 16) {
- var idx = ptr;
- var str = '';
- while (idx < end) {
- var u0 = HEAPU8[idx++];
- if (!(u0 & 0x80)) {
- str += String.fromCharCode(u0);
- continue;
- }
- var u1 = HEAPU8[idx++] & 63;
- if ((u0 & 0xE0) === 0xC0) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- var u2 = HEAPU8[idx++] & 63;
- if ((u0 & 0xF0) === 0xE0) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- }
- else {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (HEAPU8[idx++] & 63);
- }
- if (u0 < 0x10000) {
- str += String.fromCharCode(u0);
- }
- else {
- var ch = u0 - 0x10000;
- str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
- }
- }
- return str;
- }
- return emnapiString.utf8Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF8: function (str, outPtr, maxBytesToWrite) {
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var outIdx = outPtr;
- outIdx >>>= 0;
- if (!(maxBytesToWrite > 0)) {
- return 0;
- }
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 0xD800 && u <= 0xDFFF) {
- var u1 = str.charCodeAt(++i);
- u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
- }
- if (u <= 0x7F) {
- if (outIdx >= endIdx)
- break;
- HEAPU8[outIdx++] = u;
- }
- else if (u <= 0x7FF) {
- if (outIdx + 1 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xC0 | (u >> 6);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else if (u <= 0xFFFF) {
- if (outIdx + 2 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xE0 | (u >> 12);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else {
- if (outIdx + 3 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xF0 | (u >> 18);
- HEAPU8[outIdx++] = 0x80 | ((u >> 12) & 63);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- }
- HEAPU8[outIdx] = 0;
- return outIdx - startIdx;
- },
- UTF16ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var end = ptr;
- if (length === -1) {
- var idx = end >> 1;
- var HEAPU16 = new Uint16Array(wasmMemory.buffer);
- while (HEAPU16[idx])
- ++idx;
- end = idx << 1;
- }
- else {
- end = ptr + (length >>> 0) * 2;
- }
- length = end - ptr;
- if (length <= 32) {
- return String.fromCharCode.apply(null, new Uint16Array(wasmMemory.buffer, ptr, length / 2));
- }
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- return emnapiString.utf16Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF16: function (str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === undefined) {
- maxBytesToWrite = 0x7FFFFFFF;
- }
- if (maxBytesToWrite < 2)
- return 0;
- maxBytesToWrite -= 2;
- var startPtr = outPtr;
- var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < numCharsToWrite; ++i) {
- var codeUnit = str.charCodeAt(i);
- HEAP_DATA_VIEW.setInt16(outPtr, codeUnit, true);
- outPtr += 2;
- }
- HEAP_DATA_VIEW.setInt16(outPtr, 0, true);
- return outPtr - startPtr;
- },
- newString: function (env, str, length, result, stringMaker) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1);
- var strValue = stringMaker(str, autoLength, sizelength);
- var value = emnapiCtx.addToCurrentScope(strValue).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- },
- newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1);
- var status = createApi(env, str, length, result);
- if (status === 0) {
- if (copied) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(copied, 1, true);
- }
- if (finalize_callback) {
- envObject.callFinalizer(finalize_callback, str, finalize_hint);
- }
- }
- return status;
- }
- };
- function napi_get_array_length(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isArray()) {
- return envObject.setLastError(8);
- }
- var v = handle.value.length >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_arraybuffer_info(env, arraybuffer, data, byte_length) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (data) {
- var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
- }
- return envObject.clearLastError();
- }
- function node_api_set_prototype(env, object, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- var obj = emnapiCtx.handleStore.get(object).value;
- if (obj == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var type = typeof obj;
- var v = void 0;
- try {
- v = (type === 'object' && obj !== null) || type === 'function' ? obj : Object(obj);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var val = emnapiCtx.handleStore.get(value).value;
- Object.setPrototypeOf(v, val);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_prototype(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = handle.isObject() || handle.isFunction() ? handle.value : Object(handle.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_typedarray_info(env, typedarray, type, length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!typedarray)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(typedarray);
- if (!handle.isTypedArray()) {
- return envObject.setLastError(1);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (type) {
- var t = void 0;
- if (v instanceof Int8Array) {
- t = 0;
- }
- else if (v instanceof Uint8Array) {
- t = 1;
- }
- else if (v instanceof Uint8ClampedArray) {
- t = 2;
- }
- else if (v instanceof Int16Array) {
- t = 3;
- }
- else if (v instanceof Uint16Array) {
- t = 4;
- }
- else if (v instanceof Int32Array) {
- t = 5;
- }
- else if (v instanceof Uint32Array) {
- t = 6;
- }
- else if (typeof Float16Array === 'function' && v instanceof Float16Array) {
- t = 11;
- }
- else if (v instanceof Float32Array) {
- t = 7;
- }
- else if (v instanceof Float64Array) {
- t = 8;
- }
- else if (v instanceof BigInt64Array) {
- t = 9;
- }
- else if (v instanceof BigUint64Array) {
- t = 10;
- }
- else {
- return envObject.setLastError(9);
- }
- HEAP_DATA_VIEW.setInt32(type, t, true);
- }
- if (length) {
- HEAP_DATA_VIEW.setUint32(length, v.length, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_buffer_info(env, buffer, data, length) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!buffer)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(buffer);
- if (!handle.isBuffer(emnapiCtx.feature.Buffer))
- return envObject.setLastError(1);
- if (handle.isDataView()) {
- return napi_get_dataview_info(env, buffer, length, data, 0, 0);
- }
- return napi_get_typedarray_info(env, buffer, 0, length, data, 0, 0);
- }
- function napi_get_dataview_info(env, dataview, byte_length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!dataview)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(dataview);
- if (!handle.isDataView()) {
- return envObject.setLastError(1);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_date_value(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isDate()) {
- return envObject.setLastError(1);
- }
- v = handle.value.valueOf();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_value_bool(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'boolean') {
- return envObject.setLastError(7);
- }
- var r = handle.value ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_get_value_double(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var r = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, r, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_int64(env, value, result, lossless) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!lossless)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_uint64(env, value, result, lossless) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!lossless)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= BigInt(0)) && (numberValue < (BigInt(1) << BigInt(64)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(result, low, true);
- HEAP_DATA_VIEW.setUint32(result + 4, high, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_words(env, value, sign_bit, word_count, words) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!word_count)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isBigInt()) {
- return envObject.setLastError(17);
- }
- var isMinus = handle.value < BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
- var wordCount = 0;
- var bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- while (bigintValue !== BigInt(0)) {
- wordCount++;
- bigintValue = bigintValue >> BigInt(64);
- }
- bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- if (!sign_bit && !words) {
- word_count_int = wordCount;
- HEAP_DATA_VIEW.setUint32(word_count, word_count_int, true);
- }
- else {
- if (!sign_bit)
- return envObject.setLastError(1);
- if (!words)
- return envObject.setLastError(1);
- var wordsArr = [];
- while (bigintValue !== BigInt(0)) {
- var uint64 = bigintValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- wordsArr.push(uint64);
- bigintValue = bigintValue >> BigInt(64);
- }
- var len = Math.min(word_count_int, wordsArr.length);
- for (var i = 0; i < len; i++) {
- var low = Number(wordsArr[i] & BigInt(0xffffffff));
- var high = Number(wordsArr[i] >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(words + i * 8, low, true);
- HEAP_DATA_VIEW.setUint32(words + (i * 8 + 4), high, true);
- }
- HEAP_DATA_VIEW.setInt32(sign_bit, isMinus ? 1 : 0, true);
- HEAP_DATA_VIEW.setUint32(word_count, len, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_external(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isExternal()) {
- return envObject.setLastError(1);
- }
- var p = handle.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.clearLastError();
- }
- function napi_get_value_int32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var v = new Int32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_get_value_int64(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var numberValue = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 0, true);
- }
- else if (numberValue < -9223372036854776e3) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 2147483648, true);
- }
- else if (numberValue >= 9223372036854776000) {
- HEAP_DATA_VIEW.setUint32(result, 4294967295, true);
- HEAP_DATA_VIEW.setUint32(result + 4, 2147483647, true);
- }
- else {
- $emnapiSetValueI64(result, Math.trunc(numberValue));
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_latin1(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = 0;
- var v = void 0;
- for (var i = 0; i < buf_size - 1; ++i) {
- v = handle.value.charCodeAt(i) & 0xff;
- HEAP_DATA_VIEW.setUint8(buf + i, v, true);
- copied++;
- }
- HEAP_DATA_VIEW.setUint8(buf + copied, 0, true);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_utf8(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- var strLength = emnapiString.lengthBytesUTF8(handle.value);
- HEAP_DATA_VIEW.setUint32(result, strLength, true);
- }
- else if (buf_size !== 0) {
- var copied = emnapiString.stringToUTF8(handle.value, buf, buf_size);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_utf16(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = emnapiString.stringToUTF16(handle.value, buf, buf_size * 2);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied / 2, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_uint32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var v = new Uint32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- var convert2cMod = Object.freeze({
- __proto__: null,
- napi_get_array_length: napi_get_array_length,
- napi_get_arraybuffer_info: napi_get_arraybuffer_info,
- napi_get_buffer_info: napi_get_buffer_info,
- napi_get_dataview_info: napi_get_dataview_info,
- napi_get_date_value: napi_get_date_value,
- napi_get_prototype: napi_get_prototype,
- napi_get_typedarray_info: napi_get_typedarray_info,
- napi_get_value_bigint_int64: napi_get_value_bigint_int64,
- napi_get_value_bigint_uint64: napi_get_value_bigint_uint64,
- napi_get_value_bigint_words: napi_get_value_bigint_words,
- napi_get_value_bool: napi_get_value_bool,
- napi_get_value_double: napi_get_value_double,
- napi_get_value_external: napi_get_value_external,
- napi_get_value_int32: napi_get_value_int32,
- napi_get_value_int64: napi_get_value_int64,
- napi_get_value_string_latin1: napi_get_value_string_latin1,
- napi_get_value_string_utf16: napi_get_value_string_utf16,
- napi_get_value_string_utf8: napi_get_value_string_utf8,
- napi_get_value_uint32: napi_get_value_uint32,
- node_api_set_prototype: node_api_set_prototype
- });
- function napi_create_int32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_uint32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_int64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = Number(low);
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_double(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_string_latin1(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str, autoLength, sizeLength) {
- var latin1String = '';
- var len = 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (autoLength) {
- while (true) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- str++;
- }
- }
- else {
- while (len < sizeLength) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- len++;
- str++;
- }
- }
- return latin1String;
- });
- }
- function napi_create_string_utf16(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF16ToString(str, length);
- });
- }
- function napi_create_string_utf8(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF8ToString(str, length);
- });
- }
- function node_api_create_external_string_latin1(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_latin1, undefined);
- }
- function node_api_create_external_string_utf16(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_utf16, undefined);
- }
- function node_api_create_property_key_latin1(env, str, length, result) {
- return napi_create_string_latin1(env, str, length, result);
- }
- function node_api_create_property_key_utf8(env, str, length, result) {
- return napi_create_string_utf8(env, str, length, result);
- }
- function node_api_create_property_key_utf16(env, str, length, result) {
- return napi_create_string_utf16(env, str, length, result);
- }
- function napi_create_bigint_int64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = low;
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_bigint_uint64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = low & ((BigInt(1) << BigInt(64)) - BigInt(1));
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
- var v, i;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!result)
- return envObject.setLastError(1);
- word_count = word_count >>> 0;
- if (word_count > 2147483647) {
- return envObject.setLastError(1);
- }
- if (word_count > (1024 * 1024 / (4 * 8) / 2)) {
- throw new RangeError('Maximum BigInt size exceeded');
- }
- var value = BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (i = 0; i < word_count; i++) {
- var low = HEAP_DATA_VIEW.getUint32(words + i * 8, true);
- var high = HEAP_DATA_VIEW.getUint32(words + (i * 8 + 4), true);
- var wordi = BigInt(low) | (BigInt(high) << BigInt(32));
- value += wordi << BigInt(64 * i);
- }
- value *= ((BigInt(sign_bit) % BigInt(2) === BigInt(0)) ? BigInt(1) : BigInt(-1));
- v = emnapiCtx.addToCurrentScope(value).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var convert2napiMod = Object.freeze({
- __proto__: null,
- napi_create_bigint_int64: napi_create_bigint_int64,
- napi_create_bigint_uint64: napi_create_bigint_uint64,
- napi_create_bigint_words: napi_create_bigint_words,
- napi_create_double: napi_create_double,
- napi_create_int32: napi_create_int32,
- napi_create_int64: napi_create_int64,
- napi_create_string_latin1: napi_create_string_latin1,
- napi_create_string_utf16: napi_create_string_utf16,
- napi_create_string_utf8: napi_create_string_utf8,
- napi_create_uint32: napi_create_uint32,
- node_api_create_external_string_latin1: node_api_create_external_string_latin1,
- node_api_create_external_string_utf16: node_api_create_external_string_utf16,
- node_api_create_property_key_latin1: node_api_create_property_key_latin1,
- node_api_create_property_key_utf16: node_api_create_property_key_utf16,
- node_api_create_property_key_utf8: node_api_create_property_key_utf8
- });
- function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
- var functionName = (!utf8name || !length) ? '' : (emnapiString.UTF8ToString(utf8name, length));
- var f;
- var napiCallback = (wasmTable.get(cb));
- var callback = function (envObject) {
- return napiCallback(envObject.id, envObject.ctx.scopeStore.currentScope.id);
- };
- var makeFunction = function (envObject, callback) {
- return function () {
- var scope = envObject.ctx.openScope(envObject);
- var callbackInfo = scope.callbackInfo;
- callbackInfo.data = data;
- callbackInfo.args = arguments;
- callbackInfo.thiz = this;
- callbackInfo.fn = f;
- try {
- var napiValue = envObject.callIntoModule(callback);
- return (!napiValue) ? undefined : envObject.ctx.handleStore.get(napiValue).value;
- }
- finally {
- callbackInfo.data = 0;
- callbackInfo.args = undefined;
- callbackInfo.thiz = undefined;
- callbackInfo.fn = undefined;
- envObject.ctx.closeScope(envObject, scope);
- }
- };
- };
- if (functionName === '') {
- f = makeFunction(envObject, callback);
- return { status: 0, f: f };
- }
- if (!(/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(functionName))) {
- return { status: 1, f: undefined };
- }
- if (emnapiCtx.feature.supportNewFunction) {
- var _ = makeFunction(envObject, callback);
- try {
- f = (new Function('_', 'return function ' + functionName + '(){' +
- '"use strict";' +
- 'return _.apply(this,arguments);' +
- '};'))(_);
- }
- catch (_err) {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- }
- else {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- return { status: 0, f: f };
- }
- function emnapiDefineProperty(envObject, obj, propertyName, method, getter, setter, value, attributes, data) {
- if (getter || setter) {
- var localGetter = void 0;
- var localSetter = void 0;
- if (getter) {
- localGetter = emnapiCreateFunction(envObject, 0, 0, getter, data).f;
- }
- if (setter) {
- localSetter = emnapiCreateFunction(envObject, 0, 0, setter, data).f;
- }
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- get: localGetter,
- set: localSetter
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else if (method) {
- var localMethod = emnapiCreateFunction(envObject, 0, 0, method, data).f;
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- writable: (attributes & 1) !== 0,
- value: localMethod
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else {
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- writable: (attributes & 1) !== 0,
- value: emnapiCtx.handleStore.get(value).value
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- }
- function emnapiGetHandle(js_object) {
- var handle = emnapiCtx.handleStore.get(js_object);
- if (!(handle.isObject() || handle.isFunction())) {
- return { status: 1 };
- }
- if (typeof emnapiExternalMemory !== 'undefined' && ArrayBuffer.isView(handle.value)) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(handle.value)) {
- handle = emnapiCtx.addToCurrentScope(emnapiExternalMemory.wasmMemoryViewTable.get(handle.value));
- }
- }
- return { status: 0, handle: handle };
- }
- function emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- var referenceId;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportFinalizer) {
- if (finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- if (result) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "result" must be 0(NULL)');
- }
- }
- if (!js_object)
- return envObject.setLastError(1);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- if (envObject.getObjectBinding(handle.value).wrapped !== 0) {
- return envObject.setLastError(1);
- }
- var reference = void 0;
- if (result) {
- if (!finalize_cb)
- return envObject.setLastError(1);
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1, finalize_cb, native_object, finalize_hint);
- referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- else {
- if (finalize_cb) {
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 0, finalize_cb, native_object, finalize_hint);
- }
- else {
- reference = emnapiCtx.createReferenceWithData(envObject, handle.id, 0, 0, native_object);
- }
- }
- envObject.getObjectBinding(handle.value).wrapped = reference.id;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapiUnwrap(env, js_object, result, action) {
- var data;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!js_object)
- return envObject.setLastError(1);
- if (action === 0) {
- if (!result)
- return envObject.setLastError(1);
- }
- var value = emnapiCtx.handleStore.get(js_object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(1);
- }
- var binding = envObject.getObjectBinding(value.value);
- var referenceId = binding.wrapped;
- var ref = emnapiCtx.refStore.get(referenceId);
- if (!ref)
- return envObject.setLastError(1);
- if (result) {
- data = ref.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, data, true);
- }
- if (action === 1) {
- binding.wrapped = 0;
- if (ref.ownership() === 1) {
- ref.resetFinalizer();
- }
- else {
- ref.dispose();
- }
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_define_class(env, utf8name, length, constructor, callback_data, property_count, properties, result) {
- var propPtr, valueHandleId, attributes;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!constructor)
- return envObject.setLastError(1);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1);
- }
- if ((length < -1) || (length > 2147483647) || (!utf8name)) {
- return envObject.setLastError(1);
- }
- var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
- if (fresult.status !== 0)
- return envObject.setLastError(fresult.status);
- var F = fresult.f;
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_1 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_1) {
- return envObject.setLastError(4);
- }
- propertyName = emnapiCtx.handleStore.get(name_1).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4);
- }
- }
- if ((attributes & 1024) !== 0) {
- emnapiDefineProperty(envObject, F, propertyName, method, getter, setter, value, attributes, data);
- continue;
- }
- emnapiDefineProperty(envObject, F.prototype, propertyName, method, getter, setter, value, attributes, data);
- }
- var valueHandle = emnapiCtx.addToCurrentScope(F);
- valueHandleId = valueHandle.id;
- HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_wrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- return emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result);
- }
- function napi_unwrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 0);
- }
- function napi_remove_wrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 1);
- }
- function napi_type_tag_object(env, object, type_tag) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 2);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var tag = new Uint8Array(16);
- tag.set(new Uint8Array(wasmMemory.buffer, type_tag, 16));
- binding.tag = new Uint32Array(tag.buffer);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_check_object_type_tag(env, object, type_tag, result) {
- var ret = true;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 2);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- if (!result) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- var tag = binding.tag;
- var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
- ret = (tag[0] === typeTag[0] &&
- tag[1] === typeTag[1] &&
- tag[2] === typeTag[2] &&
- tag[3] === typeTag[3]);
- }
- else {
- ret = false;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finalize_hint, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportFinalizer) {
- return envObject.setLastError(9);
- }
- if (!js_object)
- return envObject.setLastError(1);
- if (!finalize_cb)
- return envObject.setLastError(1);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- var ownership = !result ? 0 : 1;
- var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
- if (result) {
- var referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- return envObject.clearLastError();
- }
- function node_api_post_finalizer(env, finalize_cb, finalize_data, finalize_hint) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.enqueueFinalizer(emnapiCtx.createTrackedFinalizer(envObject, finalize_cb, finalize_data, finalize_hint));
- return envObject.clearLastError();
- }
- var wrapMod = Object.freeze({
- __proto__: null,
- napi_add_finalizer: napi_add_finalizer,
- napi_check_object_type_tag: napi_check_object_type_tag,
- napi_define_class: napi_define_class,
- napi_remove_wrap: napi_remove_wrap,
- napi_type_tag_object: napi_type_tag_object,
- napi_unwrap: napi_unwrap,
- napi_wrap: napi_wrap,
- node_api_post_finalizer: node_api_post_finalizer
- });
- function emnapi_create_memory_view(env, typedarray_type, external_data, byte_length, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if (byte_length > 2147483647) {
- throw new RangeError('Cannot create a memory view larger than 2147483647 bytes');
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('emnapi_create_memory_view', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var viewDescriptor = void 0;
- switch (typedarray_type) {
- case 0:
- viewDescriptor = { Ctor: Int8Array, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 1:
- viewDescriptor = { Ctor: Uint8Array, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 2:
- viewDescriptor = { Ctor: Uint8ClampedArray, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 3:
- viewDescriptor = { Ctor: Int16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case 4:
- viewDescriptor = { Ctor: Uint16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case 5:
- viewDescriptor = { Ctor: Int32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 6:
- viewDescriptor = { Ctor: Uint32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 7:
- viewDescriptor = { Ctor: Float32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 8:
- viewDescriptor = { Ctor: Float64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case 9:
- viewDescriptor = { Ctor: BigInt64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case 10:
- viewDescriptor = { Ctor: BigUint64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case -1:
- viewDescriptor = { Ctor: DataView, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 11:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1);
- }
- viewDescriptor = { Ctor: Float16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case -2: {
- if (!emnapiCtx.feature.Buffer) {
- throw emnapiCtx.createNotSupportBufferError('emnapi_create_memory_view', '');
- }
- viewDescriptor = { Ctor: emnapiCtx.feature.Buffer, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- }
- default: return envObject.setLastError(1);
- }
- var Ctor = viewDescriptor.Ctor;
- var typedArray = typedarray_type === -2
- ? emnapiCtx.feature.Buffer.from(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length)
- : new Ctor(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length);
- var handle = emnapiCtx.addToCurrentScope(typedArray);
- emnapiExternalMemory.wasmMemoryViewTable.set(typedArray, viewDescriptor);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, 0);
- if (status_1 === 10) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapi_is_support_weakref() {
- return emnapiCtx.feature.supportFinalizer ? 1 : 0;
- }
- function emnapi_is_support_bigint() {
- return emnapiCtx.feature.supportBigInt ? 1 : 0;
- }
- function emnapi_is_node_binding_available() {
- return emnapiNodeBinding ? 1 : 0;
- }
- function $emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
- offset = offset !== null && offset !== void 0 ? offset : 0;
- offset = offset >>> 0;
- var view;
- if (arrayBufferOrView instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = arrayBufferOrView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return arrayBufferOrView;
- view = new Uint8Array(arrayBufferOrView, offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return arrayBufferOrView;
- }
- if (ArrayBuffer.isView(arrayBufferOrView)) {
- var viewPointerInfo = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- var latestView = viewPointerInfo.view;
- var pointer = viewPointerInfo.address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = latestView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return latestView;
- view = new Uint8Array(latestView.buffer, latestView.byteOffset + offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return latestView;
- }
- throw new TypeError('emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- function emnapi_sync_memory(env, js_to_wasm, arraybuffer_or_view, offset, len) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
- var handle = envObject.ctx.handleStore.get(handleId);
- if (!handle.isArrayBuffer() && !handle.isTypedArray() && !handle.isDataView() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1);
- }
- var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
- if (handle.value !== ret) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function $emnapiGetMemoryAddress(arrayBufferOrView) {
- var isArrayBuffer = arrayBufferOrView instanceof ArrayBuffer;
- var isDataView = arrayBufferOrView instanceof DataView;
- var isTypedArray = ArrayBuffer.isView(arrayBufferOrView) && !isDataView;
- if (!isArrayBuffer && !isTypedArray && !isDataView && !emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- throw new TypeError('emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- var info;
- if (isArrayBuffer) {
- info = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false);
- }
- else {
- info = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- }
- return {
- address: info.address,
- ownership: info.ownership,
- runtimeAllocated: info.runtimeAllocated
- };
- }
- function emnapi_get_memory_address(env, arraybuffer_or_view, address, ownership, runtime_allocated) {
- var p, runtimeAllocated, ownershipOut;
- var info;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1);
- if (!address && !ownership && !runtime_allocated) {
- return envObject.setLastError(1);
- }
- var handle = envObject.ctx.handleStore.get(arraybuffer_or_view);
- info = $emnapiGetMemoryAddress(handle.value);
- p = info.address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (address) {
- HEAP_DATA_VIEW.setUint32(address, p, true);
- }
- if (ownership) {
- ownershipOut = info.ownership;
- HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
- }
- if (runtime_allocated) {
- runtimeAllocated = info.runtimeAllocated;
- HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapi_get_runtime_version(env, version) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!version)
- return envObject.setLastError(1);
- var runtimeVersion;
- try {
- runtimeVersion = emnapiCtx.getRuntimeVersions().version;
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- var versions = runtimeVersion.split('.')
- .map(function (n) { return Number(n); });
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(version, versions[0], true);
- HEAP_DATA_VIEW.setUint32(version + 4, versions[1], true);
- HEAP_DATA_VIEW.setUint32(version + 8, versions[2], true);
- return envObject.clearLastError();
- }
- var emnapiMod = Object.freeze({
- __proto__: null,
- $emnapiGetMemoryAddress: $emnapiGetMemoryAddress,
- $emnapiSyncMemory: $emnapiSyncMemory,
- emnapi_create_memory_view: emnapi_create_memory_view,
- emnapi_get_memory_address: emnapi_get_memory_address,
- emnapi_get_runtime_version: emnapi_get_runtime_version,
- emnapi_is_node_binding_available: emnapi_is_node_binding_available,
- emnapi_is_support_bigint: emnapi_is_support_bigint,
- emnapi_is_support_weakref: emnapi_is_support_weakref,
- emnapi_sync_memory: emnapi_sync_memory
- });
- function napi_create_array(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = emnapiCtx.addToCurrentScope([]).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_array_with_length(env, length, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- length = length >>> 0;
- var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function emnapiCreateArrayBuffer(byte_length, data, shared) {
- byte_length = byte_length >>> 0;
- var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
- if (data) {
- var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- return arrayBuffer;
- }
- function napi_create_arraybuffer(env, byte_length, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_create_sharedarraybuffer(env, byte_length, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_date(env, time, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- value = emnapiCtx.addToCurrentScope(new Date(time)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external(env, data, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var externalHandle = emnapiCtx.getCurrentScope().addExternal(data);
- if (finalize_cb) {
- emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0, finalize_cb, data, finalize_hint);
- }
- value = externalHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external_arraybuffer(env, external_data, byte_length, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external_arraybuffer', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var arrayBuffer = new ArrayBuffer(byte_length);
- if (byte_length === 0) {
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(arrayBuffer, [arrayBuffer]);
- }
- catch (_) { }
- }
- else {
- var u8arr = new Uint8Array(arrayBuffer);
- u8arr.set(new Uint8Array(wasmMemory.buffer).subarray(external_data, external_data + byte_length));
- emnapiExternalMemory.table.set(arrayBuffer, {
- address: external_data,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- var handle = emnapiCtx.addToCurrentScope(arrayBuffer);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, 0);
- if (status_1 === 10) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_object(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = emnapiCtx.addToCurrentScope({}).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!property_names)
- return envObject.setLastError(1);
- if (!property_values)
- return envObject.setLastError(1);
- }
- var v8_prototype_or_null = prototype_or_null
- ? emnapiCtx.handleStore.get(prototype_or_null).value
- : null;
- var properties = {};
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
- if (!(typeof name_value === "string" || typeof name_value === "symbol"))
- return envObject.setLastError(4);
- properties[name_value] = {
- value: emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_values + i * 4, true)).value,
- writable: true,
- enumerable: true,
- configurable: true
- };
- }
- var obj;
- try {
- obj = Object.defineProperties(Object.create(v8_prototype_or_null), properties);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- var value = emnapiCtx.addToCurrentScope(obj).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_symbol(env, description, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!description) {
- var value = emnapiCtx.addToCurrentScope(Symbol()).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- var handle = emnapiCtx.handleStore.get(description);
- var desc = handle.value;
- if (typeof desc !== 'string') {
- return envObject.setLastError(3);
- }
- var v = emnapiCtx.addToCurrentScope(Symbol(desc)).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- function napi_create_typedarray(env, type, length, arraybuffer, byte_offset, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1);
- }
- var buffer = handle.value;
- var createTypedArray = function (envObject, Type, size_of_element, buffer, byte_offset, length) {
- var _a;
- byte_offset = byte_offset >>> 0;
- length = length >>> 0;
- if (size_of_element > 1) {
- if ((byte_offset) % (size_of_element) !== 0) {
- var err = new RangeError("start offset of ".concat((_a = Type.name) !== null && _a !== void 0 ? _a : '', " should be a multiple of ").concat(size_of_element));
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9);
- }
- }
- if (((length * size_of_element) + byte_offset) > buffer.byteLength) {
- var err = new RangeError('Invalid typed array length');
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_LENGTH';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9);
- }
- var out = new Type(buffer, byte_offset, length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Type,
- address: byte_offset,
- length: length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- };
- switch (type) {
- case 0:
- return createTypedArray(envObject, Int8Array, 1, buffer, byte_offset, length);
- case 1:
- return createTypedArray(envObject, Uint8Array, 1, buffer, byte_offset, length);
- case 2:
- return createTypedArray(envObject, Uint8ClampedArray, 1, buffer, byte_offset, length);
- case 3:
- return createTypedArray(envObject, Int16Array, 2, buffer, byte_offset, length);
- case 4:
- return createTypedArray(envObject, Uint16Array, 2, buffer, byte_offset, length);
- case 5:
- return createTypedArray(envObject, Int32Array, 4, buffer, byte_offset, length);
- case 6:
- return createTypedArray(envObject, Uint32Array, 4, buffer, byte_offset, length);
- case 7:
- return createTypedArray(envObject, Float32Array, 4, buffer, byte_offset, length);
- case 8:
- return createTypedArray(envObject, Float64Array, 8, buffer, byte_offset, length);
- case 9:
- return createTypedArray(envObject, BigInt64Array, 8, buffer, byte_offset, length);
- case 10:
- return createTypedArray(envObject, BigUint64Array, 8, buffer, byte_offset, length);
- case 11:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1);
- }
- return createTypedArray(envObject, Float16Array, 2, buffer, byte_offset, length);
- default:
- return envObject.setLastError(1);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_buffer(env, size, data, result) {
- var _a;
- var value, pointer;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer', '');
- }
- var buffer = void 0;
- size = size >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!data || (size === 0)) {
- buffer = Buffer.alloc(size);
- value = emnapiCtx.addToCurrentScope(buffer).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- pointer = _malloc(size);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
- var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
- var viewDescriptor = {
- Ctor: Buffer,
- address: pointer,
- length: size,
- ownership: emnapiExternalMemory.registry ? 0 : 1,
- runtimeAllocated: 1
- };
- emnapiExternalMemory.wasmMemoryViewTable.set(buffer_1, viewDescriptor);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
- value = emnapiCtx.addToCurrentScope(buffer_1).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- HEAP_DATA_VIEW.setUint32(data, pointer, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_buffer_copy(env, length, data, result_data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer_copy', '');
- }
- var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
- var buffer = Buffer.from(arrayBuffer);
- buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
- value = emnapiCtx.addToCurrentScope(buffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external_buffer(env, length, data, finalize_cb, finalize_hint, result) {
- return emnapi_create_memory_view(env, -2, data, length, finalize_cb, finalize_hint, result);
- }
- function node_api_create_buffer_from_arraybuffer(env, arraybuffer, byte_offset, byte_length, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- byte_offset = byte_offset >>> 0;
- byte_length = byte_length >>> 0;
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1);
- }
- var buffer = handle.value;
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('The byte offset + length is out of range');
- err.code = 'ERR_OUT_OF_RANGE';
- throw err;
- }
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('node_api_create_buffer_from_arraybuffer', '');
- }
- var out = Buffer.from(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Buffer,
- address: byte_offset,
- length: byte_length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- byte_offset = byte_offset >>> 0;
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- var createDataview = function (buffer) {
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in');
- err.code = 'ERR_NAPI_INVALID_DATAVIEW_ARGS';
- throw err;
- }
- var dataview = new DataView(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(dataview)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(dataview, {
- Ctor: DataView,
- address: byte_offset,
- length: byte_length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- var v = emnapiCtx.addToCurrentScope(dataview).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- };
- if (value instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(value)) {
- return createDataview(value);
- }
- else {
- return envObject.setLastError(1);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_symbol_for(env, utf8description, length, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!utf8description)
- return envObject.setLastError(1);
- }
- if (!(autoLength || (sizelength <= 2147483647))) {
- return envObject.setLastError(1);
- }
- var descriptionString = emnapiString.UTF8ToString(utf8description, length);
- var value = emnapiCtx.addToCurrentScope(Symbol.for(descriptionString)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var createMod = Object.freeze({
- __proto__: null,
- napi_create_array: napi_create_array,
- napi_create_array_with_length: napi_create_array_with_length,
- napi_create_arraybuffer: napi_create_arraybuffer,
- napi_create_buffer: napi_create_buffer,
- napi_create_buffer_copy: napi_create_buffer_copy,
- napi_create_dataview: napi_create_dataview,
- napi_create_date: napi_create_date,
- napi_create_external: napi_create_external,
- napi_create_external_arraybuffer: napi_create_external_arraybuffer,
- napi_create_external_buffer: napi_create_external_buffer,
- napi_create_object: napi_create_object,
- napi_create_object_with_properties: napi_create_object_with_properties,
- napi_create_symbol: napi_create_symbol,
- napi_create_typedarray: napi_create_typedarray,
- node_api_create_buffer_from_arraybuffer: node_api_create_buffer_from_arraybuffer,
- node_api_create_sharedarraybuffer: node_api_create_sharedarraybuffer,
- node_api_symbol_for: node_api_symbol_for
- });
- function napi_get_boolean(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = value === 0 ? 3 : 4;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_get_global(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 5;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_null(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 2;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_undefined(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 1;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var globalMod = Object.freeze({
- __proto__: null,
- napi_get_boolean: napi_get_boolean,
- napi_get_global: napi_get_global,
- napi_get_null: napi_get_null,
- napi_get_undefined: napi_get_undefined
- });
- function napi_set_instance_data(env, data, finalize_cb, finalize_hint) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.setInstanceData(data, finalize_cb, finalize_hint);
- return envObject.clearLastError();
- }
- function napi_get_instance_data(env, data) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!data)
- return envObject.setLastError(1);
- var value = envObject.getInstanceData();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, value, true);
- return envObject.clearLastError();
- }
- var envMod = Object.freeze({
- __proto__: null,
- napi_get_instance_data: napi_get_instance_data,
- napi_set_instance_data: napi_set_instance_data
- });
- function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- var lastError = envObject.lastError;
- var errorCode = lastError.errorCode;
- var engineErrorCode = lastError.engineErrorCode >>> 0;
- var engineReserved = lastError.engineReserved;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_reserved, engineReserved, true);
- }
- function napi_throw(env, error) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!error)
- return envObject.setLastError(1);
- envObject.tryCatch.setError(emnapiCtx.handleStore.get(error).value);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new Error(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_type_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_range_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_throw_syntax_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_exception_pending(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var r = envObject.tryCatch.hasCaught();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.clearLastError();
- }
- function napi_create_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new Error(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_type_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new TypeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_range_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new RangeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function node_api_create_syntax_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new SyntaxError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_and_clear_last_exception(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!envObject.tryCatch.hasCaught()) {
- HEAP_DATA_VIEW.setUint32(result, 1, true);
- return envObject.clearLastError();
- }
- else {
- var err = envObject.tryCatch.exception();
- var value = envObject.ensureHandleId(err);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- envObject.tryCatch.reset();
- }
- return envObject.clearLastError();
- }
- function napi_fatal_error(location, location_len, message, message_len) {
- var locationStr = emnapiString.UTF8ToString(location, location_len);
- var messageStr = emnapiString.UTF8ToString(message, message_len);
- if (emnapiNodeBinding) {
- emnapiNodeBinding.napi.fatalError(locationStr, messageStr);
- }
- else {
- abort('FATAL ERROR: ' + locationStr + ' ' + messageStr);
- }
- }
- function napi_fatal_exception(env, err) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!err)
- return envObject.setLastError(1);
- var error = envObject.ctx.handleStore.get(err);
- try {
- envObject.triggerFatalException(error.value);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var errorMod = Object.freeze({
- __proto__: null,
- _emnapi_get_last_error_info: _emnapi_get_last_error_info,
- napi_create_error: napi_create_error,
- napi_create_range_error: napi_create_range_error,
- napi_create_type_error: napi_create_type_error,
- napi_fatal_error: napi_fatal_error,
- napi_fatal_exception: napi_fatal_exception,
- napi_get_and_clear_last_exception: napi_get_and_clear_last_exception,
- napi_is_exception_pending: napi_is_exception_pending,
- napi_throw: napi_throw,
- napi_throw_error: napi_throw_error,
- napi_throw_range_error: napi_throw_range_error,
- napi_throw_type_error: napi_throw_type_error,
- node_api_create_syntax_error: node_api_create_syntax_error,
- node_api_throw_syntax_error: node_api_throw_syntax_error
- });
- function napi_create_function(env, utf8name, length, cb, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!cb)
- return envObject.setLastError(1);
- var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
- if (fresult.status !== 0)
- return envObject.setLastError(fresult.status);
- var f = fresult.f;
- var valueHandle = emnapiCtx.addToCurrentScope(f);
- value = valueHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_cb_info(env, cbinfo, argc, argv, this_arg, data) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!cbinfo)
- return envObject.setLastError(1);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (argv) {
- if (!argc)
- return envObject.setLastError(1);
- var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
- var len = cbinfoValue.args.length;
- var arrlen = argcValue < len ? argcValue : len;
- var i = 0;
- for (; i < arrlen; i++) {
- var argVal = envObject.ensureHandleId(cbinfoValue.args[i]);
- HEAP_DATA_VIEW.setUint32(argv + i * 4, argVal, true);
- }
- if (i < argcValue) {
- for (; i < argcValue; i++) {
- HEAP_DATA_VIEW.setUint32(argv + i * 4, 1, true);
- }
- }
- }
- if (argc) {
- HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
- }
- if (this_arg) {
- var v = envObject.ensureHandleId(cbinfoValue.thiz);
- HEAP_DATA_VIEW.setUint32(this_arg, v, true);
- }
- if (data) {
- HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
- }
- return envObject.clearLastError();
- }
- function napi_call_function(env, recv, func, argc, argv, result) {
- var i = 0;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!recv)
- return envObject.setLastError(1);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- var v8recv = emnapiCtx.handleStore.get(recv).value;
- if (!func)
- return envObject.setLastError(1);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function')
- return envObject.setLastError(1);
- var args = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args.push(emnapiCtx.handleStore.get(argVal).value);
- }
- var ret = v8func.apply(v8recv, args);
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_new_instance(env, constructor, argc, argv, result) {
- var i;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!constructor)
- return envObject.setLastError(1);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- var Ctor = emnapiCtx.handleStore.get(constructor).value;
- if (typeof Ctor !== 'function')
- return envObject.setLastError(1);
- var ret = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (emnapiCtx.feature.supportReflect) {
- var argList = Array(argc);
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- argList[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- ret = Reflect.construct(Ctor, argList, Ctor);
- }
- else {
- var args = Array(argc + 1);
- args[0] = undefined;
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args[i + 1] = emnapiCtx.handleStore.get(argVal).value;
- }
- var BoundCtor = Ctor.bind.apply(Ctor, args);
- ret = new BoundCtor();
- }
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_new_target(env, cbinfo, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!cbinfo)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
- var value = thiz == null || thiz.constructor == null
- ? 0
- : thiz instanceof fn
- ? envObject.ensureHandleId(thiz.constructor)
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var functionMod = Object.freeze({
- __proto__: null,
- napi_call_function: napi_call_function,
- napi_create_function: napi_create_function,
- napi_get_cb_info: napi_get_cb_info,
- napi_get_new_target: napi_get_new_target,
- napi_new_instance: napi_new_instance
- });
- function napi_open_handle_scope(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- function napi_close_handle_scope(env, scope) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if ((envObject.openHandleScopes === 0)) {
- return 13;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- function napi_open_escapable_handle_scope(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- function napi_close_escapable_handle_scope(env, scope) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if ((envObject.openHandleScopes === 0)) {
- return 13;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- function napi_escape_handle(env, scope, escapee, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if (!escapee)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var scopeObject = emnapiCtx.scopeStore.get(scope);
- if (!scopeObject.escapeCalled()) {
- var newHandle = scopeObject.escape(escapee);
- var value = newHandle ? newHandle.id : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- return envObject.setLastError(12);
- }
- function napi_create_reference(env, value, initial_refcount, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (envObject.moduleApiVersion < 10) {
- if (!(handle.isObject() || handle.isFunction() || handle.isSymbol())) {
- return envObject.setLastError(1);
- }
- }
- var ref = emnapiCtx.createReference(envObject, handle.id, initial_refcount >>> 0, 1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, ref.id, true);
- return envObject.clearLastError();
- }
- function napi_delete_reference(env, ref) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!ref)
- return envObject.setLastError(1);
- emnapiCtx.refStore.get(ref).dispose();
- return envObject.clearLastError();
- }
- function napi_reference_ref(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- var count = emnapiCtx.refStore.get(ref).ref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- function napi_reference_unref(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- var reference = emnapiCtx.refStore.get(ref);
- var refcount = reference.refcount();
- if (refcount === 0) {
- return envObject.setLastError(9);
- }
- var count = reference.unref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_reference_value(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var reference = emnapiCtx.refStore.get(ref);
- var handleId = reference.get(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, handleId, true);
- return envObject.clearLastError();
- }
- function napi_add_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1);
- emnapiCtx.addCleanupHook(envObject, fun, arg);
- return 0;
- }
- function napi_remove_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1);
- emnapiCtx.removeCleanupHook(envObject, fun, arg);
- return 0;
- }
- function _emnapi_env_ref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.ref();
- }
- function _emnapi_env_unref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.unref();
- }
- var lifeMod = Object.freeze({
- __proto__: null,
- _emnapi_env_ref: _emnapi_env_ref,
- _emnapi_env_unref: _emnapi_env_unref,
- napi_add_env_cleanup_hook: napi_add_env_cleanup_hook,
- napi_close_escapable_handle_scope: napi_close_escapable_handle_scope,
- napi_close_handle_scope: napi_close_handle_scope,
- napi_create_reference: napi_create_reference,
- napi_delete_reference: napi_delete_reference,
- napi_escape_handle: napi_escape_handle,
- napi_get_reference_value: napi_get_reference_value,
- napi_open_escapable_handle_scope: napi_open_escapable_handle_scope,
- napi_open_handle_scope: napi_open_handle_scope,
- napi_reference_ref: napi_reference_ref,
- napi_reference_unref: napi_reference_unref,
- napi_remove_env_cleanup_hook: napi_remove_env_cleanup_hook
- });
- function _emnapi_get_filename(env, buf, len) {
- var envObject = emnapiCtx.envStore.get(env);
- var filename = envObject.filename;
- if (!buf) {
- return emnapiString.lengthBytesUTF8(filename);
- }
- return emnapiString.stringToUTF8(filename, buf, len);
- }
- var miscellaneousMod = Object.freeze({
- __proto__: null,
- _emnapi_get_filename: _emnapi_get_filename
- });
- function napi_create_promise(env, deferred, promise) {
- var deferredObjectId, value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!promise)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var p = new Promise(function (resolve, reject) {
- var deferredObject = emnapiCtx.createDeferred({ resolve: resolve, reject: reject });
- deferredObjectId = deferredObject.id;
- HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
- });
- value = emnapiCtx.addToCurrentScope(p).id;
- HEAP_DATA_VIEW.setUint32(promise, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_resolve_deferred(env, deferred, resolution) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!resolution)
- return envObject.setLastError(1);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.resolve(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_reject_deferred(env, deferred, resolution) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!resolution)
- return envObject.setLastError(1);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.reject(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_promise(env, value, is_promise) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!is_promise)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isPromise() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(is_promise, r, true);
- return envObject.clearLastError();
- }
- var promiseMod = Object.freeze({
- __proto__: null,
- napi_create_promise: napi_create_promise,
- napi_is_promise: napi_is_promise,
- napi_reject_deferred: napi_reject_deferred,
- napi_resolve_deferred: napi_resolve_deferred
- });
- function napi_get_all_property_names(env, object, key_mode, key_filter, key_conversion, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var obj = void 0;
- try {
- obj = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- if (key_mode !== 0 && key_mode !== 1) {
- return envObject.setLastError(1);
- }
- if (key_conversion !== 0 && key_conversion !== 1) {
- return envObject.setLastError(1);
- }
- var props = [];
- var names = void 0;
- var symbols = void 0;
- var i = void 0;
- var own = true;
- var integerIndiceRegex = /^(0|[1-9][0-9]*)$/;
- do {
- names = Object.getOwnPropertyNames(obj);
- symbols = Object.getOwnPropertySymbols(obj);
- for (i = 0; i < names.length; i++) {
- props.push({
- name: integerIndiceRegex.test(names[i]) ? Number(names[i]) : names[i],
- desc: Object.getOwnPropertyDescriptor(obj, names[i]),
- own: own
- });
- }
- for (i = 0; i < symbols.length; i++) {
- props.push({
- name: symbols[i],
- desc: Object.getOwnPropertyDescriptor(obj, symbols[i]),
- own: own
- });
- }
- if (key_mode === 1) {
- break;
- }
- obj = Object.getPrototypeOf(obj);
- own = false;
- } while (obj);
- var ret = [];
- var addName = function (ret, name, key_filter, conversion_mode) {
- if (ret.indexOf(name) !== -1)
- return;
- if (conversion_mode === 0) {
- ret.push(name);
- }
- else if (conversion_mode === 1) {
- var realName = typeof name === 'number' ? String(name) : name;
- if (typeof realName === 'string') {
- if (!(key_filter & 8)) {
- ret.push(realName);
- }
- }
- else {
- ret.push(realName);
- }
- }
- };
- for (i = 0; i < props.length; i++) {
- var prop = props[i];
- var name_1 = prop.name;
- var desc = prop.desc;
- if (key_filter === 0) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- else {
- if (key_filter & 8 && typeof name_1 === 'string') {
- continue;
- }
- if (key_filter & 16 && typeof name_1 === 'symbol') {
- continue;
- }
- var shouldAdd = true;
- switch (key_filter & 7) {
- case 1: {
- shouldAdd = Boolean(desc.writable);
- break;
- }
- case 2: {
- shouldAdd = Boolean(desc.enumerable);
- break;
- }
- case (1 | 2): {
- shouldAdd = Boolean(desc.writable && desc.enumerable);
- break;
- }
- case 4: {
- shouldAdd = Boolean(desc.configurable);
- break;
- }
- case (4 | 1): {
- shouldAdd = Boolean(desc.configurable && desc.writable);
- break;
- }
- case (4 | 2): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable);
- break;
- }
- case (4 | 2 | 1): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable && desc.writable);
- break;
- }
- }
- if (shouldAdd) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- }
- }
- value = emnapiCtx.addToCurrentScope(ret).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_property_names(env, object, result) {
- return napi_get_all_property_names(env, object, 0, 2 | 16, 1, result);
- }
- function napi_set_property(env, object, key, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- h.value[emnapiCtx.handleStore.get(key).value] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = (emnapiCtx.handleStore.get(key).value in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_property(env, object, key, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_delete_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- var propertyKey = emnapiCtx.handleStore.get(key).value;
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, propertyKey);
- }
- else {
- try {
- r = delete h.value[propertyKey];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_own_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var prop = emnapiCtx.handleStore.get(key).value;
- if (typeof prop !== 'string' && typeof prop !== 'symbol') {
- return envObject.setLastError(4);
- }
- r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_set_named_property(env, object, cname, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- if (!cname) {
- return envObject.setLastError(1);
- }
- emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_named_property(env, object, utf8name, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- if (!utf8name) {
- return envObject.setLastError(1);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = emnapiString.UTF8ToString(utf8name, -1) in v;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_named_property(env, object, utf8name, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- if (!utf8name) {
- return envObject.setLastError(1);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_set_element(env, object, index, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- h.value[index >>> 0] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_element(env, object, index, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = ((index >>> 0) in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_element(env, object, index, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[index >>> 0]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_delete_element(env, object, index, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, index >>> 0);
- }
- else {
- try {
- r = delete h.value[index >>> 0];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_define_properties(env, object, property_count, properties) {
- var propPtr, attributes;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1);
- }
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_2 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_2) {
- return envObject.setLastError(4);
- }
- propertyName = emnapiCtx.handleStore.get(name_2).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4);
- }
- }
- emnapiDefineProperty(envObject, maybeObject, propertyName, method, getter, setter, value, attributes, data);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_object_freeze(env, object) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- Object.freeze(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_object_seal(env, object) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- Object.seal(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var propertyMod = Object.freeze({
- __proto__: null,
- napi_define_properties: napi_define_properties,
- napi_delete_element: napi_delete_element,
- napi_delete_property: napi_delete_property,
- napi_get_all_property_names: napi_get_all_property_names,
- napi_get_element: napi_get_element,
- napi_get_named_property: napi_get_named_property,
- napi_get_property: napi_get_property,
- napi_get_property_names: napi_get_property_names,
- napi_has_element: napi_has_element,
- napi_has_named_property: napi_has_named_property,
- napi_has_own_property: napi_has_own_property,
- napi_has_property: napi_has_property,
- napi_object_freeze: napi_object_freeze,
- napi_object_seal: napi_object_seal,
- napi_set_element: napi_set_element,
- napi_set_named_property: napi_set_named_property,
- napi_set_property: napi_set_property
- });
- function napi_run_script(env, script, result) {
- var status;
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!script)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var v8Script = emnapiCtx.handleStore.get(script);
- if (!v8Script.isString()) {
- return envObject.setLastError(3);
- }
- var g = emnapiCtx.handleStore.get(5).value;
- var ret = g.eval(v8Script.value);
- value = envObject.ensureHandleId(ret);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- status = envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- return status;
- }
- var scriptMod = Object.freeze({
- __proto__: null,
- napi_run_script: napi_run_script
- });
- function napi_typeof(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.handleStore.get(value);
- var r;
- if (v.isNumber()) {
- r = 3;
- }
- else if (v.isBigInt()) {
- r = 9;
- }
- else if (v.isString()) {
- r = 4;
- }
- else if (v.isFunction()) {
- r = 7;
- }
- else if (v.isExternal()) {
- r = 8;
- }
- else if (v.isObject()) {
- r = 6;
- }
- else if (v.isBoolean()) {
- r = 2;
- }
- else if (v.isUndefined()) {
- r = 0;
- }
- else if (v.isSymbol()) {
- r = 5;
- }
- else if (v.isNull()) {
- r = 1;
- }
- else {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, r, true);
- return envObject.clearLastError();
- }
- function napi_coerce_to_bool(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- v = handle.value ? 4 : 3;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_number(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isBigInt()) {
- throw new TypeError('Cannot convert a BigInt value to a number');
- }
- v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_object(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- v = envObject.ensureHandleId(Object(handle.value));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_string(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isSymbol()) {
- throw new TypeError('Cannot convert a Symbol value to a string');
- }
- v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_instanceof(env, object, constructor, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!constructor)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- var ctor = emnapiCtx.handleStore.get(constructor);
- if (!ctor.isFunction()) {
- return envObject.setLastError(5);
- }
- var val = emnapiCtx.handleStore.get(object).value;
- var ret = val instanceof ctor.value;
- r = ret ? 1 : 0;
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_array(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_arraybuffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isArrayBuffer() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function node_api_is_sharedarraybuffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = ((typeof SharedArrayBuffer === 'function' && h.value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(h.value) === '[object SharedArrayBuffer]'))
- ? 1
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_date(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isDate() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_error(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var val = emnapiCtx.handleStore.get(value).value;
- var r = (val instanceof Error) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_typedarray(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isTypedArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_buffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_dataview(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isDataView() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_strict_equals(env, lhs, rhs, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!lhs)
- return envObject.setLastError(1);
- if (!rhs)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var lv = emnapiCtx.handleStore.get(lhs).value;
- var rv = emnapiCtx.handleStore.get(rhs).value;
- r = (lv === rv) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_detach_arraybuffer(env, arraybuffer) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1);
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- if (!(value instanceof ArrayBuffer)) {
- if (typeof SharedArrayBuffer === 'function' && (value instanceof SharedArrayBuffer)) {
- return envObject.setLastError(20);
- }
- return envObject.setLastError(19);
- }
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(value, [value]);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- return envObject.clearLastError();
- }
- function napi_is_detached_arraybuffer(env, arraybuffer, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(arraybuffer);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (h.isArrayBuffer() && h.value.byteLength === 0) {
- try {
- new Uint8Array(h.value);
- }
- catch (_) {
- HEAP_DATA_VIEW.setInt8(result, 1, true);
- return envObject.getReturnStatus();
- }
- }
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var valueOperationMod = Object.freeze({
- __proto__: null,
- napi_coerce_to_bool: napi_coerce_to_bool,
- napi_coerce_to_number: napi_coerce_to_number,
- napi_coerce_to_object: napi_coerce_to_object,
- napi_coerce_to_string: napi_coerce_to_string,
- napi_detach_arraybuffer: napi_detach_arraybuffer,
- napi_instanceof: napi_instanceof,
- napi_is_array: napi_is_array,
- napi_is_arraybuffer: napi_is_arraybuffer,
- napi_is_buffer: napi_is_buffer,
- napi_is_dataview: napi_is_dataview,
- napi_is_date: napi_is_date,
- napi_is_detached_arraybuffer: napi_is_detached_arraybuffer,
- napi_is_error: napi_is_error,
- napi_is_typedarray: napi_is_typedarray,
- napi_strict_equals: napi_strict_equals,
- napi_typeof: napi_typeof,
- node_api_is_sharedarraybuffer: node_api_is_sharedarraybuffer
- });
- function napi_get_version(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!result)
- return envObject.setLastError(1);
- var NODE_API_SUPPORTED_VERSION_MAX = 10;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, NODE_API_SUPPORTED_VERSION_MAX, true);
- return envObject.clearLastError();
- }
- var versionMod = Object.freeze({
- __proto__: null,
- napi_get_version: napi_get_version
- });
- emnapiAWST.init();
- emnapiExternalMemory.init();
- emnapiString.init();
- emnapiTSFN.init();
- PThread.init();
- napiModule.emnapi.syncMemory = $emnapiSyncMemory;
- napiModule.emnapi.getMemoryAddress = $emnapiGetMemoryAddress;
- function addImports(mod) {
- var keys = Object.keys(mod);
- for (var i = 0; i < keys.length; ++i) {
- var k = keys[i];
- if (k.indexOf('$') === 0)
- continue;
- if (k.indexOf('emnapi_') === 0) {
- napiModule.imports.emnapi[k] = mod[k];
- }
- else if (k.indexOf('_emnapi_') === 0 || k === 'napi_set_last_error' || k === 'napi_clear_last_error') {
- napiModule.imports.env[k] = mod[k];
- }
- else {
- napiModule.imports.napi[k] = mod[k];
- }
- }
- }
- addImports(asyncMod);
- addImports(memoryMod);
- addImports(asyncWorkMod);
- addImports(utilMod);
- addImports(convert2cMod);
- addImports(convert2napiMod);
- addImports(createMod);
- addImports(globalMod);
- addImports(wrapMod);
- addImports(envMod);
- addImports(emnapiMod);
- addImports(errorMod);
- addImports(functionMod);
- addImports(lifeMod);
- addImports(miscellaneousMod);
- addImports(nodeMod);
- addImports(promiseMod);
- addImports(propertyMod);
- addImports(scriptMod);
- addImports(valueOperationMod);
- addImports(versionMod);
- napiModule.imports.napi.napi_create_threadsafe_function = napi_create_threadsafe_function;
- napiModule.imports.napi.napi_get_threadsafe_function_context = napi_get_threadsafe_function_context;
- napiModule.imports.napi.napi_call_threadsafe_function = napi_call_threadsafe_function;
- napiModule.imports.napi.napi_acquire_threadsafe_function = napi_acquire_threadsafe_function;
- napiModule.imports.napi.napi_release_threadsafe_function = napi_release_threadsafe_function;
- napiModule.imports.napi.napi_unref_threadsafe_function = napi_unref_threadsafe_function;
- napiModule.imports.napi.napi_ref_threadsafe_function = napi_ref_threadsafe_function;
- return napiModule;
- })();
- return napiModule;
-}
-
-function loadNapiModuleImpl(loadFn, userNapiModule, wasmInput, options) {
- options = options !== null && options !== void 0 ? options : {};
- const getMemory = options.getMemory;
- const getTable = options.getTable;
- const beforeInit = options.beforeInit;
- if (getMemory != null && typeof getMemory !== 'function') {
- throw new TypeError('options.getMemory is not a function');
- }
- if (getTable != null && typeof getTable !== 'function') {
- throw new TypeError('options.getTable is not a function');
- }
- if (beforeInit != null && typeof beforeInit !== 'function') {
- throw new TypeError('options.beforeInit is not a function');
- }
- let napiModule;
- const isLoad = typeof userNapiModule === 'object' && userNapiModule !== null;
- if (isLoad) {
- if (userNapiModule.loaded) {
- throw new Error('napiModule has already loaded');
- }
- napiModule = userNapiModule;
- }
- else {
- napiModule = createNapiModule(options);
- }
- const wasi = options.wasi;
- let wasiThreads$1;
- let importObject = {
- env: napiModule.imports.env,
- napi: napiModule.imports.napi,
- emnapi: napiModule.imports.emnapi
- };
- if (wasi) {
- wasiThreads$1 = new wasiThreads.WASIThreads(napiModule.childThread
- ? {
- wasi,
- childThread: true,
- postMessage: napiModule.postMessage
- }
- : {
- wasi,
- threadManager: napiModule.PThread,
- waitThreadStart: napiModule.waitThreadStart
- });
- Object.assign(importObject, typeof wasi.getImportObject === 'function'
- ? wasi.getImportObject()
- : { wasi_snapshot_preview1: wasi.wasiImport });
- Object.assign(importObject, wasiThreads$1.getImportObject());
- }
- const overwriteImports = options.overwriteImports;
- if (typeof overwriteImports === 'function') {
- const newImportObject = overwriteImports(importObject);
- if (typeof newImportObject === 'object' && newImportObject !== null) {
- importObject = newImportObject;
- }
- }
- return loadFn(wasmInput, importObject, (err, source) => {
- if (err) {
- throw err;
- }
- const originalInstance = source.instance;
- let instance = originalInstance;
- const originalExports = originalInstance.exports;
- const exportMemory = 'memory' in originalExports;
- const importMemory = 'memory' in importObject.env;
- const memory = getMemory
- ? getMemory(originalExports)
- : exportMemory
- ? originalExports.memory
- : importMemory
- ? importObject.env.memory
- : undefined;
- if (!memory) {
- throw new Error('memory is neither exported nor imported');
- }
- const table = getTable ? getTable(originalExports) : originalExports.__indirect_function_table;
- if (wasi && !exportMemory) {
- const exports$1 = Object.create(null);
- Object.assign(exports$1, originalExports, { memory });
- instance = { exports: exports$1 };
- }
- const module = source.module;
- if (wasi) {
- instance = wasiThreads$1.initialize(instance, module, memory);
- }
- else {
- napiModule.PThread.setup(module, memory);
- }
- const emnapiInit = () => {
- if (beforeInit) {
- beforeInit({
- instance: originalInstance,
- module
- });
- }
- napiModule.init({
- instance,
- module,
- memory,
- table
- });
- const ret = {
- instance: originalInstance,
- module,
- usedInstance: instance
- };
- if (!isLoad) {
- ret.napiModule = napiModule;
- }
- return ret;
- };
- if (napiModule.PThread.shouldPreloadWorkers()) {
- const poolReady = napiModule.PThread.loadWasmModuleToAllWorkers();
- if (loadFn === loadCallback) {
- return poolReady.then(emnapiInit);
- }
- else {
- throw new Error('Synchronous loading is not supported with worker pool (reuseWorker.size > 0)');
- }
- }
- return emnapiInit();
- });
-}
-function loadCallback(wasmInput, importObject, callback) {
- return load(wasmInput, importObject).then((source) => {
- return callback(null, source);
- }, err => {
- return callback(err);
- });
-}
-function loadSyncCallback(wasmInput, importObject, callback) {
- let source;
- try {
- source = loadSync(wasmInput, importObject);
- }
- catch (err) {
- return callback(err);
- }
- return callback(null, source);
-}
-function loadNapiModule(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadCallback, napiModule, wasmInput, options);
-}
-function loadNapiModuleSync(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadSyncCallback, napiModule, wasmInput, options);
-}
-function instantiateNapiModule(wasmInput, options) {
- return loadNapiModuleImpl(loadCallback, undefined, wasmInput, options);
-}
-function instantiateNapiModuleSync(wasmInput, options) {
- return loadNapiModuleImpl(loadSyncCallback, undefined, wasmInput, options);
-}
-
-class MessageHandler extends wasiThreads.ThreadMessageHandler {
- constructor(options) {
- if (typeof options.onLoad !== 'function') {
- throw new TypeError('options.onLoad is not a function');
- }
- const userOnError = options.onError;
- super({
- ...options,
- onError: (err, type) => {
- var _a;
- const emnapi_thread_crashed = (_a = this.instance) === null || _a === void 0 ? void 0 : _a.exports.emnapi_thread_crashed;
- if (typeof emnapi_thread_crashed === 'function') {
- emnapi_thread_crashed();
- }
- if (typeof userOnError === 'function') {
- userOnError(err, type);
- }
- else {
- throw err;
- }
- }
- });
- this.napiModule = undefined;
- }
- instantiate(data) {
- const source = this.onLoad(data);
- const then = source.then;
- if (typeof then === 'function') {
- return source.then((result) => {
- this.napiModule = result.napiModule;
- return result;
- });
- }
- this.napiModule = source.napiModule;
- return source;
- }
- handle(e) {
- var _a;
- super.handle(e);
- if ((_a = e === null || e === void 0 ? void 0 : e.data) === null || _a === void 0 ? void 0 : _a.__emnapi__) {
- const type = e.data.__emnapi__.type;
- const payload = e.data.__emnapi__.payload;
- try {
- if (type === 'async-worker-init') {
- this.handleAfterLoad(e, () => {
- this.napiModule.initWorker(payload.arg);
- });
- }
- else if (type === 'async-work-execute') {
- this.handleAfterLoad(e, () => {
- this.napiModule.executeAsyncWork(payload.work);
- });
- }
- }
- catch (err) {
- this.onError(err, type);
- }
- }
- }
-}
-
-const version = "1.8.1";
-
-exports.MessageHandler = MessageHandler;
-exports.createNapiModule = createNapiModule;
-exports.instantiateNapiModule = instantiateNapiModule;
-exports.instantiateNapiModuleSync = instantiateNapiModuleSync;
-exports.loadNapiModule = loadNapiModule;
-exports.loadNapiModuleSync = loadNapiModuleSync;
-exports.version = version;
-Object.keys(wasiThreads).forEach(function (k) {
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
- enumerable: true,
- get: function () { return wasiThreads[k]; }
- });
-});
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts b/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts
deleted file mode 100644
index 2fce234..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts
+++ /dev/null
@@ -1,419 +0,0 @@
-///
-
-import type { Context } from '@emnapi/runtime';
-import type { ReferenceOwnership } from '@emnapi/runtime';
-import type { Worker as Worker_2 } from 'worker_threads';
-
-/** @public */
-export declare type BaseCreateOptions = {
- filename?: string
- nodeBinding?: NodeBinding
- reuseWorker?: ThreadManagerOptionsMain['reuseWorker']
- asyncWorkPoolSize?: number
- waitThreadStart?: MainThreadBaseOptions['waitThreadStart']
- onCreateWorker?: (info: CreateWorkerInfo) => any
- print?: (str: string) => void
- printErr?: (str: string) => void
- postMessage?: (msg: any) => any
-}
-
-/** @public */
-export declare interface BaseOptions {
- wasi: WASIInstance;
- version?: 'preview1';
- wasm64?: boolean;
-}
-
-/** @public */
-export declare interface ChildThreadOptions extends BaseOptions {
- childThread: true;
- postMessage?: (data: any) => void;
-}
-
-/** @public */
-export declare interface CleanupThreadPayload {
- tid: number;
-}
-
-/** @public */
-export declare interface CommandInfo {
- type: T;
- payload: CommandPayloadMap[T];
-}
-
-/** @public */
-export declare interface CommandPayloadMap {
- load: LoadPayload;
- loaded: LoadedPayload;
- start: StartPayload;
- 'cleanup-thread': CleanupThreadPayload;
- 'terminate-all-threads': TerminateAllThreadsPayload;
- 'spawn-thread': SpawnThreadPayload;
-}
-
-/** @public */
-export declare type CommandType = keyof CommandPayloadMap;
-
-/** @public */
-export declare function createInstanceProxy(instance: WebAssembly.Instance, memory?: WebAssembly.Memory | (() => WebAssembly.Memory)): WebAssembly.Instance;
-
-/** @public */
-export declare function createNapiModule (
-options: CreateOptions
-): NapiModule
-
-/** @public */
-export declare type CreateOptions = BaseCreateOptions & ({
- context: Context
- childThread?: boolean
-} | {
- context?: Context
- childThread: true
-})
-
-/** @public */
-export declare interface CreateWorkerInfo {
- type: 'thread' | 'async-work'
- name: string
-}
-
-/** @public */
-export declare interface InitOptions {
- instance: WebAssembly.Instance
- module: WebAssembly.Module
- memory?: WebAssembly.Memory
- table?: WebAssembly.Table
-}
-
-export declare type InputType = string | URL | Response | BufferSource | WebAssembly.Module;
-
-/** @public */
-export declare interface InstantiatedSource extends LoadedSource {
- napiModule: NapiModule;
-}
-
-/** @public */
-export declare function instantiateNapiModule(
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options: InstantiateOptions): Promise;
-
-/** @public */
-export declare function instantiateNapiModuleSync(wasmInput: BufferSource | WebAssembly.Module, options: InstantiateOptions): InstantiatedSource;
-
-/** @public */
-export declare type InstantiateOptions = CreateOptions & LoadOptions;
-
-/** @public */
-export declare function isSharedArrayBuffer(value: any): value is SharedArrayBuffer;
-
-/** @public */
-export declare function isTrapError(e: Error): e is WebAssembly.RuntimeError;
-
-/** @public */
-export declare interface LoadedPayload {
-}
-
-/** @public */
-export declare interface LoadedSource extends WebAssembly.WebAssemblyInstantiatedSource {
- usedInstance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare function loadNapiModule(napiModule: NapiModule,
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options?: LoadOptions): Promise;
-
-/** @public */
-export declare function loadNapiModuleSync(napiModule: NapiModule, wasmInput: BufferSource | WebAssembly.Module, options?: LoadOptions): LoadedSource;
-
-/** @public */
-export declare interface LoadOptions {
- wasi?: WASIInstance;
- overwriteImports?: (importObject: WebAssembly.Imports) => WebAssembly.Imports;
- beforeInit?: (source: WebAssembly.WebAssemblyInstantiatedSource) => void;
- getMemory?: (exports: WebAssembly.Exports) => WebAssembly.Memory;
- getTable?: (exports: WebAssembly.Exports) => WebAssembly.Table;
-}
-
-/** @public */
-export declare interface LoadPayload {
- wasmModule: WebAssembly.Module;
- wasmMemory: WebAssembly.Memory;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface MainThreadBaseOptions extends BaseOptions {
- waitThreadStart?: boolean | number;
-}
-
-/** @public */
-export declare type MainThreadOptions = MainThreadOptionsWithThreadManager | MainThreadOptionsCreateThreadManager;
-
-/** @public */
-export declare interface MainThreadOptionsCreateThreadManager extends MainThreadBaseOptions, ThreadManagerOptionsMain {
-}
-
-/** @public */
-export declare interface MainThreadOptionsWithThreadManager extends MainThreadBaseOptions {
- threadManager?: ThreadManager | (() => ThreadManager);
-}
-
-/** @public */
-export declare interface MessageEventData {
- __emnapi__: CommandInfo;
-}
-
-/** @public */
-export declare class MessageHandler extends ThreadMessageHandler {
- napiModule: NapiModule | undefined;
- constructor(options: MessageHandlerOptions);
- instantiate(data: LoadPayload): InstantiatedSource | PromiseLike;
- handle(e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare interface MessageHandlerOptions extends ThreadMessageHandlerOptions {
- onLoad: (data: LoadPayload) => InstantiatedSource | PromiseLike;
-}
-
-/** @public */
-export declare interface NapiModule {
- imports: {
- env: any
- napi: any
- emnapi: any
- }
- exports: any
- loaded: boolean
- filename: string
- childThread: boolean
- emnapi: {
- syncMemory (
- js_to_wasm: boolean,
- arrayBufferOrView: T,
- offset?: number,
- len?: number
- ): T
- getMemoryAddress (arrayBufferOrView: ArrayBuffer | ArrayBufferView): PointerInfo
- addSendListener (worker: any): boolean
- }
-
- init (options: InitOptions): any
- initWorker (arg: number): void
- executeAsyncWork (work: number): void
- postMessage?: (msg: any) => any
-
- waitThreadStart: boolean | number
- /* Excluded from this release type: PThread */}
-
-/** @public */
-export declare interface NodeBinding {
- node: {
- emitAsyncInit: Function
- emitAsyncDestroy: Function
- makeCallback: Function
- }
- napi: {
- asyncInit: Function
- asyncDestroy: Function
- makeCallback: Function
- }
-}
-
-/** @public */
-export declare interface PointerInfo {
- address: number
- ownership: ReferenceOwnership
- runtimeAllocated: 0 | 1
-}
-
-/** @public */
-export declare interface ReuseWorkerOptions {
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size | PTHREAD_POOL_SIZE}
- */
- size: number;
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size-strict | PTHREAD_POOL_SIZE_STRICT}
- */
- strict?: boolean;
-}
-
-/** @public */
-export declare interface SpawnThreadPayload {
- startArg: number;
- errorOrTid: number;
-}
-
-/** @public */
-export declare interface StartPayload {
- tid: number;
- arg: number;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface StartResult {
- exitCode: number;
- instance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare interface TerminateAllThreadsPayload {
-}
-
-/** @public */
-export declare class ThreadManager {
- unusedWorkers: WorkerLike[];
- runningWorkers: WorkerLike[];
- pthreads: Record;
- get nextWorkerID(): number;
- wasmModule: WebAssembly.Module | null;
- wasmMemory: WebAssembly.Memory | null;
- private readonly messageEvents;
- private readonly _childThread;
- private readonly _onCreateWorker;
- private readonly _reuseWorker;
- private readonly _beforeLoad?;
- /* Excluded from this release type: printErr */
- constructor(options: ThreadManagerOptions);
- init(): void;
- initMainThread(): void;
- private preparePool;
- shouldPreloadWorkers(): boolean;
- loadWasmModuleToAllWorkers(): Promise;
- preloadWorkers(): Promise;
- setup(wasmModule: WebAssembly.Module, wasmMemory: WebAssembly.Memory): void;
- markId(worker: WorkerLike): number;
- returnWorkerToPool(worker: WorkerLike): void;
- loadWasmModuleToWorker(worker: WorkerLike, sab?: Int32Array): Promise;
- allocateUnusedWorker(): WorkerLike;
- getNewWorker(sab?: Int32Array): WorkerLike | undefined;
- cleanThread(worker: WorkerLike, tid: number, force?: boolean): void;
- terminateWorker(worker: WorkerLike): void;
- terminateAllThreads(): void;
- addMessageEventListener(worker: WorkerLike, onMessage: (e: WorkerMessageEvent) => void): () => void;
- fireMessageEvent(worker: WorkerLike, e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare type ThreadManagerOptions = ThreadManagerOptionsMain | ThreadManagerOptionsChild;
-
-/** @public */
-export declare interface ThreadManagerOptionsBase {
- printErr?: (message: string) => void;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsChild extends ThreadManagerOptionsBase {
- childThread: true;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsMain extends ThreadManagerOptionsBase {
- beforeLoad?: (worker: WorkerLike) => any;
- reuseWorker?: boolean | number | ReuseWorkerOptions;
- onCreateWorker: WorkerFactory;
- childThread?: false;
-}
-
-/** @public */
-export declare class ThreadMessageHandler {
- protected instance: WebAssembly.Instance | undefined;
- private messagesBeforeLoad;
- protected postMessage: (message: any) => void;
- protected onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- protected onError: (error: Error, type: WorkerMessageType) => void;
- constructor(options?: ThreadMessageHandlerOptions);
- /** @virtual */
- instantiate(data: LoadPayload): WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- /** @virtual */
- handle(e: WorkerMessageEvent>): void;
- private _load;
- private _start;
- protected _loaded(err: Error | null, source: WebAssembly.WebAssemblyInstantiatedSource | null, payload: LoadPayload): void;
- protected handleAfterLoad(e: E, f: (e: E) => void): void;
-}
-
-/** @public */
-export declare interface ThreadMessageHandlerOptions {
- onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- onError?: (error: Error, type: WorkerMessageType) => void;
- postMessage?: (message: any) => void;
-}
-
-export declare const version: string;
-
-/** @public */
-export declare interface WASIInstance {
- readonly wasiImport?: Record;
- initialize(instance: object): void;
- start(instance: object): number;
- getImportObject?(): any;
-}
-
-/** @public */
-export declare class WASIThreads {
- PThread: ThreadManager | undefined;
- private wasmMemory;
- private wasmInstance;
- private readonly threadSpawn;
- readonly childThread: boolean;
- private readonly postMessage;
- readonly wasi: WASIInstance;
- constructor(options: WASIThreadsOptions);
- getImportObject(): {
- wasi: WASIThreadsImports;
- };
- setup(wasmInstance: WebAssembly.Instance, wasmModule: WebAssembly.Module, wasmMemory?: WebAssembly.Memory): void;
- preloadWorkers(): Promise;
- /**
- * It's ok to call this method to a WASI command module.
- *
- * in child thread, must call this method instead of {@link WASIThreads.start} even if it's a WASI command module
- *
- * @returns A proxied WebAssembly instance if in child thread, other wise the original instance
- */
- initialize(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): WebAssembly.Instance;
- /**
- * Equivalent to calling {@link WASIThreads.initialize} and then calling {@link WASIInstance.start}
- * ```js
- * this.initialize(instance, module, memory)
- * this.wasi.start(instance)
- * ```
- */
- start(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): StartResult;
- terminateAllThreads(): void;
-}
-
-/** @public */
-export declare interface WASIThreadsImports {
- 'thread-spawn': (startArg: number, errorOrTid?: number) => number;
-}
-
-/** @public */
-export declare type WASIThreadsOptions = MainThreadOptions | ChildThreadOptions;
-
-/** @public */
-export declare type WorkerFactory = (ctx: {
- type: string;
- name: string;
-}) => WorkerLike;
-
-/** @public */
-export declare type WorkerLike = (Worker | Worker_2) & {
- whenLoaded?: Promise;
- loaded?: boolean;
- __emnapi_tid?: number;
-};
-
-/** @public */
-export declare interface WorkerMessageEvent {
- data: T;
-}
-
-/** @public */
-export declare type WorkerMessageType = 'load' | 'start';
-
-export { }
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js b/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js
deleted file mode 100644
index e92a9be..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js
+++ /dev/null
@@ -1 +0,0 @@
-var r=require("@emnapi/wasi-threads");const e="undefined"!=typeof WebAssembly?WebAssembly:"undefined"!=typeof WXWebAssembly?WXWebAssembly:void 0;function t(r){if(r&&"object"!=typeof r)throw new TypeError("imports must be an object or undefined");return!0}function n(r,a){if(!r)throw new TypeError("Invalid wasm source");t(a),a=null!=a?a:{};try{const e="object"==typeof r&&null!==r&&"then"in r?r.then:void 0;if("function"==typeof e)return e.call(r,r=>n(r,a))}catch(r){}if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return e.instantiate(r,a);if(r instanceof e.Module)return e.instantiate(r,a).then(e=>({instance:e,module:r}));if("undefined"!=typeof Response&&r instanceof Response)return r.arrayBuffer().then(r=>e.instantiate(r,a));const o="string"==typeof r;if(o||"undefined"!=typeof URL&&r instanceof URL){if(o&&"undefined"!=typeof wx&&"undefined"!=typeof __wxConfig)return e.instantiate(r,a);if("function"!=typeof fetch)throw new TypeError("wasm source can not be a string or URL in this environment");if("function"!=typeof e.instantiateStreaming)return n(fetch(r),a);try{return e.instantiateStreaming(fetch(r),a).catch(()=>n(fetch(r),a))}catch(e){return n(fetch(r),a)}}throw new TypeError("Invalid wasm source")}function a(t){var n=function(){var n,a,o,s,i,u="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node,f=Boolean(t.childThread),c="number"==typeof t.waitThreadStart?t.waitThreadStart:Boolean(t.waitThreadStart);function l(r){if("function"==typeof e.RuntimeError)throw new e.RuntimeError(r);throw Error(r)}var d,p,v,g={imports:{env:{},napi:{},emnapi:{}},exports:{},emnapi:{},loaded:!1,filename:"",childThread:f,initWorker:void 0,executeAsyncWork:void 0,waitThreadStart:c,PThread:void 0,init:function(r){if(g.loaded)return g.exports;if(!r)throw new TypeError("Invalid napi init options");var t=r.instance;if(!(null==t?void 0:t.exports))throw new TypeError("Invalid wasm instance");n=t;var u=t.exports,f=r.module,c=r.memory||u.memory,v=r.table||u.__indirect_function_table;if(!(f instanceof e.Module))throw new TypeError("Invalid wasm module");if(!(c instanceof e.Memory))throw new TypeError("Invalid wasm memory");if(!(v instanceof e.Table))throw new TypeError("Invalid wasm table");if(a=c,o=v,"function"!=typeof u.malloc)throw new TypeError("malloc is not exported");if("function"!=typeof u.free)throw new TypeError("free is not exported");if(s=u.malloc,i=u.free,!g.childThread){var y=8,h=t.exports.node_api_module_get_api_version_v1;"function"==typeof h&&(y=h());var E=g.envObject||(g.envObject=d.createEnv(g.filename,y,function(r){return o.get(r)},function(r){return o.get(r)},l,p)),_=d.openScope(E);try{E.callIntoModule(function(r){var e=g.exports,n=_.add(e),a=(0,t.exports.napi_register_wasm_v1)(r.id,n.id);g.exports=a?d.handleStore.get(a).value:e})}catch(r){if("unwind"!==r)throw r}finally{d.closeScope(E,_)}return g.loaded=!0,delete g.envObject,g.exports}}},y=void 0;if(f){d=null==t?void 0:t.context;var h="function"==typeof t.postMessage?t.postMessage:"function"==typeof postMessage?postMessage:void 0;if("function"!=typeof h)throw new TypeError("No postMessage found");g.postMessage=h}else{var E=t.context;if("object"!=typeof E||null===E)throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");d=E}if("string"==typeof t.filename&&(g.filename=t.filename),"function"==typeof t.onCreateWorker&&(y=t.onCreateWorker),"function"==typeof t.print?t.print:console.log.bind(console),v="function"==typeof t.printErr?t.printErr:console.warn.bind(console),"nodeBinding"in t){var _=t.nodeBinding;if("object"!=typeof _||null===_)throw new TypeError("Invalid `options.nodeBinding`. Use @emnapi/node-binding package");p=_}var w=0;if("asyncWorkPoolSize"in t){if("number"!=typeof t.asyncWorkPoolSize)throw new TypeError("options.asyncWorkPoolSize must be a integer");(w=t.asyncWorkPoolSize|0)>1024?w=1024:w<-1024&&(w=-1024)}var L=!f&&w<=0;function m(){return Math.abs(w)}function b(r){if(!r)return!1;if(r._emnapiSendListener)return!0;var e=function(r){var e=(u?r:r.data).__emnapi__;if(e&&"async-send"===e.type)if(f){(0,g.postMessage)({__emnapi__:e})}else{var t=e.payload.callback;o.get(t)(e.payload.data)}};return r._emnapiSendListener={handler:e,dispose:function(){u?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiSendListener}},u?r.on("message",e):r.addEventListener("message",e,!1),!0}g.imports.env._emnapi_async_work_pool_size=m,g.emnapi.addSendListener=b;var S=new r.ThreadManager(f?{printErr:v,childThread:!0}:{printErr:v,beforeLoad:function(r){b(r)},reuseWorker:t.reuseWorker,onCreateWorker:y});function C(r,e){d.feature.setImmediate(function(){o.get(r)(e)})}function A(r,e){Promise.resolve().then(function(){o.get(r)(e)})}function I(r,e){var t,n=[e>>>0,(t=e,+Math.abs(t)>=1?t>0?(0|Math.min(+Math.floor(t/4294967296),4294967295))>>>0:~~+Math.ceil((t-+(~~t>>>0))/4294967296)>>>0:0)],o=new DataView(a.buffer);o.setInt32(r,n[0],!0),o.setInt32(r+4,n[1],!0)}g.PThread=S;var k,V=Object.freeze({__proto__:null,$emnapiSetValueI64:I,_emnapi_call_finalizer:function(r,e,t,n,a){d.envStore.get(e).callFinalizerInternal(r,t,n,a)},_emnapi_callback_into_module:function(r,e,t,n,a){var s=d.envStore.get(e),i=d.openScope(s);try{s.callbackIntoModule(Boolean(r),function(){o.get(t)(e,n)})}catch(r){throw d.closeScope(s,i),a&&d.closeScope(s),r}d.closeScope(s,i)},_emnapi_close_handle_scope:function(r){return d.closeScope()},_emnapi_ctx_decrease_waiting_request_counter:function(){d.decreaseWaitingRequestCounter()},_emnapi_ctx_increase_waiting_request_counter:function(){d.increaseWaitingRequestCounter()},_emnapi_get_node_version:function(r,e,t){var n="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node?process.versions.node.split(".").map(function(r){return Number(r)}):[0,0,0],o=new DataView(a.buffer);o.setUint32(r,n[0],!0),o.setUint32(e,n[1],!0),o.setUint32(t,n[2],!0)},_emnapi_get_now:function(){return performance.timeOrigin+performance.now()},_emnapi_is_main_browser_thread:function(){return"undefined"==typeof window||"undefined"==typeof document||u?0:1},_emnapi_is_main_runtime_thread:function(){return f?0:1},_emnapi_next_tick:A,_emnapi_open_handle_scope:function(){return d.openScope().id},_emnapi_runtime_keepalive_pop:function(){},_emnapi_runtime_keepalive_push:function(){},_emnapi_set_immediate:C,_emnapi_unwind:function(){throw"unwind"},napi_clear_last_error:function(r){return d.envStore.get(r).clearLastError()},napi_set_last_error:function(r,e,t,n){return d.envStore.get(r).setLastError(e,t,n)}});function U(r){var e=new DataView(a.buffer).getInt32(r+20,!0);return S.pthreads[e]}var T=new Promise(function(r){k=function(){T.ready=!0,r()}});T.ready=!1;var B=Object.freeze({__proto__:null,_emnapi_after_uvthreadpool_ready:function(r,e,t){T.ready?o.get(r)(e,t):T.then(function(){o.get(r)(e,t)})},_emnapi_async_send_js:function(r,e,t){if(f)(0,g.postMessage)({__emnapi__:{type:"async-send",payload:{callback:e,data:t}}});else switch(r){case 0:C(e,t);break;case 1:A(e,t)}},_emnapi_emit_async_thread_ready:function(){f&&(0,g.postMessage)({__emnapi__:{type:"async-thread-ready",payload:{}}})},_emnapi_tell_js_uvthreadpool:function(r,e){for(var t=[],n=new DataView(a.buffer),o=function(e){var a=U(n.getUint32(r+4*e,!0));t.push(new Promise(function(r){var e=function(t){var n=(u?t:t.data).__emnapi__;n&&"async-thread-ready"===n.type&&(r(),a&&"function"==typeof a.unref&&a.unref(),u?a.off("message",e):a.removeEventListener("message",e))};u?a.on("message",e):a.addEventListener("message",e)}))},s=0;s>16)?n.setLastError(9):(d.feature.supportBigInt?new DataView(a.buffer).setBigInt64(t,BigInt(a.buffer.byteLength),!0):I(t,a.buffer.byteLength),n.clearLastError())}}),j={idGen:{},values:[void 0],queued:new Set,pending:[],init:function(){var r={nextId:1,list:[],generate:function(){var e;return r.list.length?e=r.list.shift():(e=r.nextId,r.nextId++),e},reuse:function(e){r.list.push(e)}};j.idGen=r,j.values=[void 0],j.queued=new Set,j.pending=[]},create:function(r,e,t,n,a,o){var s=0,i=0;if(p){var u=p.node.emitAsyncInit(e,t,-1);s=u.asyncId,i=u.triggerAsyncId}var f=j.idGen.generate();return j.values[f]={env:r,id:f,resource:e,asyncId:s,triggerAsyncId:i,status:0,execute:n,complete:a,data:o},f},callComplete:function(r,e){var t=r.complete,n=r.env,a=r.data,s=function(){if(t){var r=d.envStore.get(n),s=d.openScope(r);try{r.callbackIntoModule(!0,function(){o.get(t)(n,e,a)})}finally{d.closeScope(r,s)}}};p?p.node.makeCallback(r.resource,s,[],{asyncId:r.asyncId,triggerAsyncId:r.triggerAsyncId}):s()},queue:function(r){var e=j.values[r];if(e&&0===e.status){if(e.status=1,j.queued.size>=(Math.abs(w)||4))return void j.pending.push(r);j.queued.add(r);var t=e.env,n=e.data,a=e.execute;e.status=2,d.feature.setImmediate(function(){if(o.get(a)(t,n),j.queued.delete(r),e.status=3,d.feature.setImmediate(function(){j.callComplete(e,0)}),j.pending.length>0){var s=j.pending.shift();j.values[s].status=0,j.queue(s)}})}},cancel:function(r){var e=j.pending.indexOf(r);if(-1!==e){var t=j.values[r];return t&&1===t.status?(t.status=4,j.pending.splice(e,1),d.feature.setImmediate(function(){j.callComplete(t,11)}),0):9}return 9},remove:function(r){var e=j.values[r];e&&(p&&p.node.emitAsyncDestroy({asyncId:e.asyncId,triggerAsyncId:e.triggerAsyncId}),j.values[r]=void 0,j.idGen.reuse(r))}};function x(r,e,t,n){if(p){var o=d.handleStore.get(r).value,s=d.handleStore.get(e).value,i=p.node.emitAsyncInit(o,s,t),u=i.asyncId,f=i.triggerAsyncId;if(n){var c=new DataView(a.buffer);c.setFloat64(n,u,!0),c.setFloat64(n+8,f,!0)}}}function R(r,e){p&&p.node.emitAsyncDestroy({asyncId:r,triggerAsyncId:e})}var G=Object.freeze({__proto__:null,_emnapi_async_destroy_js:function(r){if(!p)return 9;var e=new DataView(a.buffer),t=e.getInt32(r,!0),n=e.getInt32(r+4,!0),o=BigInt(t>>>0)|BigInt(n)<=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32)),c=new DataView(a.buffer);return c.setInt32(t,u,!0),c.setInt32(t+4,f,!0),0},_emnapi_env_check_gc_access:function(r){d.envStore.get(r).checkGCAccess()},_emnapi_node_emit_async_destroy:R,_emnapi_node_emit_async_init:x,_emnapi_node_make_callback:function(r,e,t,n,o,s,i,u){var f,c=0;if(p){var l=d.handleStore.get(e).value,v=d.handleStore.get(t).value;o>>>=0;for(var g=Array(o),y=new DataView(a.buffer);c=10?23:10);c.clearLastError();try{if(!p)return c.setLastError(9);if(!t)return c.setLastError(1);if(o>0&&!s)return c.setLastError(1);var l=Object(d.handleStore.get(t).value),v=d.handleStore.get(n).value;if("function"!=typeof v)return c.setLastError(1);var g=new DataView(a.buffer),y=g.getInt32(e,!0),h=g.getInt32(e+4,!0),E=BigInt(y>>>0)|BigInt(h)<>>=0;for(var _=Array(o);f=t&&t>0&&!n},s="undefined"!=typeof window&&"undefined"!=typeof document&&!u;return n.execute(function(){for(;o();){if(0===t)return 15;if(s)return 21;a.wait()}return O.getIsClosing(r)?0===O.getThreadCount(r)?1:(O.subThreadCount(r),16):(O.pushQueue(r,e),O.send(r),0)})},getMutex:function(r){var e=r+O.offset.mutex,t={lock:function(){var r="undefined"!=typeof window&&"undefined"!=typeof document&&!u,t=new Int32Array(a.buffer,e,1);if(r)for(;;){if(0===Atomics.compareExchange(t,0,0,1))return}else for(;;){if(0===Atomics.compareExchange(t,0,0,1))return;Atomics.wait(t,0,1)}},unlock:function(){var r=new Int32Array(a.buffer,e,1);if(1!==Atomics.compareExchange(r,0,1,0))throw new Error("Tried to unlock while not holding the mutex");Atomics.notify(r,0,1)},execute:function(r){t.lock();try{return r()}finally{t.unlock()}}};return t},getCond:function(r){var e=r+O.offset.cond,t=O.getMutex(r);return{wait:function(){var r=new Int32Array(a.buffer,e,1),n=Atomics.load(r,0);t.unlock(),Atomics.wait(r,0,n),t.lock()},signal:function(){var r=new Int32Array(a.buffer,e,1);Atomics.add(r,0,1),Atomics.notify(r,0,1)}}},getQueueSize:function(r){return O.loadSizeTypeValue(r+O.offset.queue_size,!0)},addQueueSize:function(r){var e,t,n=O.offset.queue_size;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.add(e,t,1)},subQueueSize:function(r){var e,t,n=O.offset.queue_size;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.sub(e,t,1)},getThreadCount:function(r){return O.loadSizeTypeValue(r+O.offset.thread_count,!0)},addThreadCount:function(r){var e,t,n=O.offset.thread_count;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.add(e,t,1)},subThreadCount:function(r){var e,t,n=O.offset.thread_count;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.sub(e,t,1)},getIsClosing:function(r){return Atomics.load(new Int32Array(a.buffer),r+O.offset.is_closing>>2)},setIsClosing:function(r,e){Atomics.store(new Int32Array(a.buffer),r+O.offset.is_closing>>2,e)},getHandlesClosing:function(r){return Atomics.load(new Int32Array(a.buffer),r+O.offset.handles_closing>>2)},setHandlesClosing:function(r,e){Atomics.store(new Int32Array(a.buffer),r+O.offset.handles_closing>>2,e)},getDispatchState:function(r){return Atomics.load(new Uint32Array(a.buffer),r+O.offset.dispatch_state>>2)},getContext:function(r){return O.loadSizeTypeValue(r+O.offset.context,!1)},getMaxQueueSize:function(r){return O.loadSizeTypeValue(r+O.offset.max_queue_size,!0)},getEnv:function(r){return O.loadSizeTypeValue(r+O.offset.env,!1)},getCallJSCb:function(r){return O.loadSizeTypeValue(r+O.offset.call_js_cb,!1)},getRef:function(r){return O.loadSizeTypeValue(r+O.offset.ref,!1)},getResource:function(r){return O.loadSizeTypeValue(r+O.offset.resource,!1)},getFinalizeCb:function(r){return O.loadSizeTypeValue(r+O.offset.finalize_cb,!1)},getFinalizeData:function(r){return O.loadSizeTypeValue(r+O.offset.finalize_data,!1)},loadSizeTypeValue:function(r,e){var t;return e?(t=new Uint32Array(a.buffer),Atomics.load(t,r>>2)):(t=new Int32Array(a.buffer),Atomics.load(t,r>>2))},storeSizeTypeValue:function(r,e,t){var n;return t?(n=new Uint32Array(a.buffer),void Atomics.store(n,r>>2,e)):(n=new Int32Array(a.buffer),void Atomics.store(n,r>>2,e>>>0))},destroy:function(r){O.destroyQueue(r);var e=O.getEnv(r),t=d.envStore.get(e),n=O.getRef(r);n&&d.refStore.get(n).dispose(),d.removeCleanupHook(t,O.cleanup,r),t.unref();var o=r+O.offset.async_ref>>2,s=new Int32Array(a.buffer);Atomics.load(s,o)&&(Atomics.store(s,o,0),d.decreaseWaitingRequestCounter());var u=O.getResource(r);if(d.refStore.get(u).dispose(),p){var f=new DataView(a.buffer);R(f.getFloat64(r+O.offset.async_id,!0),f.getFloat64(r+O.offset.trigger_async_id,!0))}i(r)},emptyQueueAndDelete:function(r){for(var e,t=O.getCallJSCb(r),n=O.getContext(r);O.getQueueSize(r)>0;)e=O.shiftQueue(r),t&&o.get(t)(0,0,n,e);O.destroy(r)},finalize:function(r){var e=O.getEnv(r),t=d.envStore.get(e);d.openScope(t);var n=O.getFinalizeCb(r),o=O.getFinalizeData(r),s=O.getContext(r),i=function(){t.callFinalizerInternal(0,n,o,s)};try{if(n)if(p){var u=O.getResource(r),f=d.refStore.get(u).get(),c=d.handleStore.get(f).value,l=new DataView(a.buffer),v=l.getFloat64(r+O.offset.async_id,!0),g=l.getFloat64(r+O.offset.trigger_async_id,!0);p.node.makeCallback(c,i,[],{asyncId:v,triggerAsyncId:g})}else i();O.emptyQueueAndDelete(r)}finally{d.closeScope(t)}},cleanup:function(r){O.closeHandlesAndMaybeDelete(r,1)},closeHandlesAndMaybeDelete:function(r,e){var t=O.getEnv(r),n=d.envStore.get(t);d.openScope(n);try{if(e&&O.getMutex(r).execute(function(){O.setIsClosing(r,1),O.getMaxQueueSize(r)>0&&O.getCond(r).signal()}),O.getHandlesClosing(r))return;O.setHandlesClosing(r,1),d.feature.setImmediate(function(){O.finalize(r)})}finally{d.closeScope(n)}},dispatchOne:function(r){var e=0,t=!1,n=!1,s=O.getMutex(r),i=O.getCond(r);if(s.execute(function(){if(O.getIsClosing(r))O.closeHandlesAndMaybeDelete(r,0);else{var a=O.getQueueSize(r);if(a>0){e=O.shiftQueue(r),t=!0;var o=O.getMaxQueueSize(r);a===o&&o>0&&i.signal(),a--}0===a?0===O.getThreadCount(r)&&(O.setIsClosing(r,1),O.getMaxQueueSize(r)>0&&i.signal(),O.closeHandlesAndMaybeDelete(r,0)):n=!0}}),t){var u=O.getEnv(r),f=d.envStore.get(u);d.openScope(f);var c=function(){f.callbackIntoModule(!1,function(){var t=O.getCallJSCb(r),n=O.getRef(r),a=n?d.refStore.get(n).get():0;if(t){var s=O.getContext(r);o.get(t)(u,a,s,e)}else{var i=a?d.handleStore.get(a).value:null;"function"==typeof i&&i()}})};try{if(p){var l=O.getResource(r),v=d.refStore.get(l).get(),g=d.handleStore.get(v).value,y=new DataView(a.buffer);p.node.makeCallback(g,c,[],{asyncId:y.getFloat64(r+O.offset.async_id,!0),triggerAsyncId:y.getFloat64(r+O.offset.trigger_async_id,!0)})}else c()}finally{d.closeScope(f)}}return n},dispatch:function(r){for(var e=!0,t=1e3,n=new Uint32Array(a.buffer),o=r+O.offset.dispatch_state>>2;e&&0!==--t;)Atomics.store(n,o,1),e=O.dispatchOne(r),1!==Atomics.exchange(n,o,0)&&(e=!0);e&&O.send(r)},send:function(r){1&~Atomics.or(new Uint32Array(a.buffer),r+O.offset.dispatch_state>>2,2)&&(void 0!==f&&f?postMessage({__emnapi__:{type:"tsfn-send",payload:{tsfn:r}}}):d.feature.setImmediate(function(){O.dispatch(r)}))}};var z={unusedWorkers:[],runningWorkers:[],workQueue:[],workerReady:null,offset:{resource:0,async_id:8,trigger_async_id:16,env:24,data:28,execute:32,complete:36,end:40},init:function(){z.unusedWorkers=[],z.runningWorkers=[],z.workQueue=[],z.workerReady=null},addListener:function(r){if(!r)return!1;if(r._emnapiAWMTListener)return!0;var e=function(e){var t=(u?e:e.data).__emnapi__;if(t){var n=t.type,a=t.payload;"async-work-complete"===n?(d.decreaseWaitingRequestCounter(),z.runningWorkers.splice(z.runningWorkers.indexOf(r),1),z.unusedWorkers.push(r),z.checkIdleWorker(),z.callComplete(a.work,0)):"async-work-queue"===n?z.scheduleWork(a.work):"async-work-cancel"===n&&z.cancelWork(a.work)}};return r._emnapiAWMTListener={handler:e,dispose:function(){u?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiAWMTListener}},u?r.on("message",e):r.addEventListener("message",e,!1),!0},initWorkers:function(r){if(f)return z.workerReady||(z.workerReady=Promise.resolve());if(z.workerReady)return z.workerReady;if("function"!=typeof y)throw new TypeError("`options.onCreateWorker` is not a function");var e=[],t=[];if(!("emnapi_async_worker_create"in n.exports))throw new TypeError("`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags");for(var a=0;a0&&z.workQueue.length>0){var r=z.unusedWorkers.shift(),e=z.workQueue.shift();z.runningWorkers.push(r),r.postMessage({__emnapi__:{type:"async-work-execute",payload:{work:e}}})}},getResource:function(r){return O.loadSizeTypeValue(r+z.offset.resource,!1)},getExecute:function(r){return O.loadSizeTypeValue(r+z.offset.execute,!1)},getComplete:function(r){return O.loadSizeTypeValue(r+z.offset.complete,!1)},getEnv:function(r){return O.loadSizeTypeValue(r+z.offset.env,!1)},getData:function(r){return O.loadSizeTypeValue(r+z.offset.data,!1)},scheduleWork:function(r){var e;if(f)(0,g.postMessage)({__emnapi__:{type:"async-work-queue",payload:{work:r}}});else if(d.increaseWaitingRequestCounter(),z.workQueue.push(r),null===(e=z.workerReady)||void 0===e?void 0:e.ready)z.checkIdleWorker();else{var t=function(r){throw d.decreaseWaitingRequestCounter(),r};try{z.initWorkers(m()).then(function(){z.workerReady.ready=!0,z.checkIdleWorker()},t)}catch(r){t(r)}}},cancelWork:function(r){if(f)return(0,g.postMessage)({__emnapi__:{type:"async-work-cancel",payload:{work:r}}}),0;var e=z.workQueue.indexOf(r);return-1!==e?(z.workQueue.splice(e,1),d.feature.setImmediate(function(){d.decreaseWaitingRequestCounter(),z.checkIdleWorker(),z.callComplete(r,11)}),0):9},callComplete:function(r,e){var t=z.getComplete(r),n=z.getEnv(r),s=z.getData(r),i=d.envStore.get(n),u=d.openScope(i),f=function(){t&&i.callbackIntoModule(!0,function(){o.get(t)(n,e,s)})};try{if(p){var c=z.getResource(r),l=d.refStore.get(c).get(),v=d.handleStore.get(l).value,g=new DataView(a.buffer),y=g.getFloat64(r+z.offset.async_id,!0),h=g.getFloat64(r+z.offset.trigger_async_id,!0);p.node.makeCallback(v,f,[],{asyncId:y,triggerAsyncId:h})}else f()}finally{d.closeScope(i,u)}}},M=L?function(r,e,t,n,o,s,i){if(!r)return 1;var u,f=d.envStore.get(r);if(f.checkGCAccess(),!n)return f.setLastError(1);if(!i)return f.setLastError(1);if(u=e?Object(d.handleStore.get(e).value):{},!t)return f.setLastError(1);var c=String(d.handleStore.get(t).value),l=j.create(r,u,c,n,o,s);return new DataView(a.buffer).setUint32(i,l,!0),f.clearLastError()}:function(r,e,t,n,o,i,u){if(!r)return 1;var f,c=d.envStore.get(r);if(c.checkGCAccess(),!n)return c.setLastError(1);if(!u)return c.setLastError(1);if(f=e?Object(d.handleStore.get(e).value):{},!t)return c.setLastError(1);var l=z.offset.end,p=s(l);if(!p)return c.setLastError(9);new Uint8Array(a.buffer).subarray(p,p+l).fill(0);var v=c.ensureHandleId(f),g=d.createReference(c,v,1,1).id,y=new DataView(a.buffer);return y.setUint32(p,g,!0),x(v,t,-1,p+z.offset.async_id),y.setUint32(p+z.offset.env,r,!0),y.setUint32(p+z.offset.execute,n,!0),y.setUint32(p+z.offset.complete,o,!0),y.setUint32(p+z.offset.data,i,!0),y.setUint32(u,p,!0),c.clearLastError()},F=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(j.remove(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=z.getResource(e);if(d.refStore.get(n).dispose(),p){var o=new DataView(a.buffer);R(o.getFloat64(e+z.offset.async_id,!0),o.getFloat64(e+z.offset.trigger_async_id,!0))}return i(e),t.clearLastError()},W=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(j.queue(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(z.scheduleWork(e),t.clearLastError()):t.setLastError(1)},N=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=j.cancel(e);return 0===n?t.clearLastError():t.setLastError(n)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=z.cancelWork(e);return 0===n?t.clearLastError():t.setLastError(n)};g.initWorker=function(r){if(!g.childThread)throw new Error("startThread is only available in child threads");if("function"!=typeof n.exports.emnapi_async_worker_init)throw new TypeError("`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags");n.exports.emnapi_async_worker_init(r)},g.executeAsyncWork=function(r){if(f){var e=z.getExecute(r),t=z.getEnv(r),n=z.getData(r);o.get(e)(t,n),(0,g.postMessage)({__emnapi__:{type:"async-work-complete",payload:{work:r}}})}};var J=Object.freeze({__proto__:null,napi_cancel_async_work:N,napi_create_async_work:M,napi_delete_async_work:F,napi_queue_async_work:W}),P={registry:"function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,table:new WeakMap,wasmMemoryViewTable:new WeakMap,init:function(){P.registry="function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,P.table=new WeakMap,P.wasmMemoryViewTable=new WeakMap},isSharedArrayBuffer:function(r){return"function"==typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(r)},isDetachedArrayBuffer:function(r){if(0===r.byteLength)try{new Uint8Array(r)}catch(r){return!0}return!1},getArrayBufferPointer:function(r,e){var t,n={address:0,ownership:0,runtimeAllocated:0};if(r===a.buffer)return n;var o=P.isDetachedArrayBuffer(r);if(P.table.has(r)){var i=P.table.get(r);return o?(i.address=0,i):(e&&0===i.ownership&&1===i.runtimeAllocated&&new Uint8Array(a.buffer).set(new Uint8Array(r),i.address),i)}if(o||0===r.byteLength)return n;if(!e)return n;var u=s(r.byteLength);if(!u)throw new Error("Out of memory");return new Uint8Array(a.buffer).set(new Uint8Array(r),u),n.address=u,n.ownership=P.registry?0:1,n.runtimeAllocated=1,P.table.set(r,n),null===(t=P.registry)||void 0===t||t.register(r,u),n},getOrUpdateMemoryView:function(r){if(r.buffer===a.buffer)return P.wasmMemoryViewTable.has(r)||P.wasmMemoryViewTable.set(r,{Ctor:r.constructor,address:r.byteOffset,length:r instanceof DataView?r.byteLength:r.length,ownership:1,runtimeAllocated:0}),r;if((P.isDetachedArrayBuffer(r.buffer)||"function"==typeof SharedArrayBuffer&&r.buffer instanceof SharedArrayBuffer)&&P.wasmMemoryViewTable.has(r)){var e=P.wasmMemoryViewTable.get(r),t=e.Ctor,n=void 0,o=d.feature.Buffer;return n="function"==typeof o&&t===o?o.from(a.buffer,e.address,e.length):new t(a.buffer,e.address,e.length),P.wasmMemoryViewTable.set(n,e),n}return r},getViewPointer:function(r,e){if((r=P.getOrUpdateMemoryView(r)).buffer===a.buffer){if(P.wasmMemoryViewTable.has(r)){var t=P.wasmMemoryViewTable.get(r);return{address:t.address,ownership:t.ownership,runtimeAllocated:t.runtimeAllocated,view:r}}return{address:r.byteOffset,ownership:1,runtimeAllocated:0,view:r}}var n=P.getArrayBufferPointer(r.buffer,e),o=n.address,s=n.ownership,i=n.runtimeAllocated;return{address:0===o?0:o+r.byteOffset,ownership:s,runtimeAllocated:i,view:r}}},q={utf8Decoder:void 0,utf16Decoder:void 0,init:function(){var r,e={decode:function(r){for(var e=0,t=Math.min(4096,r.length+1),n=new Uint16Array(t),a=[],o=0;;){var s=e=t-1){var i=n.subarray(0,o);if(a.push(String.fromCharCode.apply(null,i)),!s)return a.join("");r=r.subarray(e),e=0,o=0}var u=r[e++];if(128&u){if(192==(224&u)){var f=63&r[e++];n[o++]=(31&u)<<6|f}else if(224==(240&u)){f=63&r[e++];var c=63&r[e++];n[o++]=(31&u)<<12|f<<6|c}else if(240==(248&u)){var l=(7&u)<<18|(f=63&r[e++])<<12|(c=63&r[e++])<<6|63&r[e++];l>65535&&(l-=65536,n[o++]=l>>>10&1023|55296,l=56320|1023&l),n[o++]=l}}else n[o++]=u}}};r="function"==typeof TextDecoder?new TextDecoder:e,q.utf8Decoder=r;var t,n={decode:function(r){var e=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(e.length<=4096)return String.fromCharCode.apply(null,e);for(var t=[],n=0,a=0;n=55296&&e<=57343?(t+=4,++n):t+=3;return t},UTF8ToString:function(r,e){if(!r||!e)return"";r>>>=0;var t=new Uint8Array(a.buffer),n=r;if(-1===e)for(;t[n];)++n;else n=r+(e>>>0);if((e=n-r)<=16){for(var o=r,s="";o>10,56320|1023&c)}}else s+=String.fromCharCode((31&i)<<6|u)}else s+=String.fromCharCode(i)}return s}return q.utf8Decoder.decode("function"==typeof SharedArrayBuffer&&t.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(t.buffer)?t.slice(r,n):t.subarray(r,n))},stringToUTF8:function(r,e,t){var n=new Uint8Array(a.buffer),o=e;if(!(t>0))return 0;for(var s=o>>>=0,i=o+t-1,u=0;u=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&r.charCodeAt(++u);if(f<=127){if(o>=i)break;n[o++]=f}else if(f<=2047){if(o+1>=i)break;n[o++]=192|f>>6,n[o++]=128|63&f}else if(f<=65535){if(o+2>=i)break;n[o++]=224|f>>12,n[o++]=128|f>>6&63,n[o++]=128|63&f}else{if(o+3>=i)break;n[o++]=240|f>>18,n[o++]=128|f>>12&63,n[o++]=128|f>>6&63,n[o++]=128|63&f}}return n[o]=0,o-s},UTF16ToString:function(r,e){if(!r||!e)return"";var t=r>>>=0;if(-1===e){for(var n=t>>1,o=new Uint16Array(a.buffer);o[n];)++n;t=n<<1}else t=r+2*(e>>>0);if((e=t-r)<=32)return String.fromCharCode.apply(null,new Uint16Array(a.buffer,r,e/2));var s=new Uint8Array(a.buffer);return q.utf16Decoder.decode("function"==typeof SharedArrayBuffer&&s.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(s.buffer)?s.slice(r,t):s.subarray(r,t))},stringToUTF16:function(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,s=new DataView(a.buffer),i=0;i>>0;if(0!==t&&!e)return s.setLastError(1);if(!n)return s.setLastError(1);if(!(i||u<=2147483647))return s.setLastError(1);var f=o(e,i,u),c=d.addToCurrentScope(f).id;return new DataView(a.buffer).setUint32(n,c,!0),s.clearLastError()},newExternalString:function(r,e,t,n,o,s,i,u,f){if(!r)return 1;var c=d.envStore.get(r);c.checkGCAccess();var l=-1===t,p=t>>>0;if(0!==t&&!e)return c.setLastError(1);if(!s)return c.setLastError(1);if(!(l||p<=2147483647))return c.setLastError(1);var v=u(r,e,t,s);if(0===v){if(i)new DataView(a.buffer).setInt8(i,1,!0);n&&c.callFinalizer(n,e,o)}return v}};function H(r,e,t,n,o,s,i){if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!e)return u.setLastError(1);var f=d.handleStore.get(e);if(!f.isTypedArray())return u.setLastError(1);var c,l=f.value,p=new DataView(a.buffer);if(t){var v=void 0;if(l instanceof Int8Array)v=0;else if(l instanceof Uint8Array)v=1;else if(l instanceof Uint8ClampedArray)v=2;else if(l instanceof Int16Array)v=3;else if(l instanceof Uint16Array)v=4;else if(l instanceof Int32Array)v=5;else if(l instanceof Uint32Array)v=6;else if("function"==typeof Float16Array&&l instanceof Float16Array)v=11;else if(l instanceof Float32Array)v=7;else if(l instanceof Float64Array)v=8;else if(l instanceof BigInt64Array)v=9;else{if(!(l instanceof BigUint64Array))return u.setLastError(9);v=10}p.setInt32(t,v,!0)}if(n&&p.setUint32(n,l.length,!0),o||s){if(c=l.buffer,o){var g=P.getViewPointer(l,!0).address;p.setUint32(o,g,!0)}if(s){var y=u.ensureHandleId(c);p.setUint32(s,y,!0)}}return i&&p.setUint32(i,l.byteOffset,!0),u.clearLastError()}function Q(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!e)return i.setLastError(1);var u=d.handleStore.get(e);if(!u.isDataView())return i.setLastError(1);var f,c=u.value,l=new DataView(a.buffer);if(t&&l.setUint32(t,c.byteLength,!0),n||o){if(f=c.buffer,n){var p=P.getViewPointer(c,!0).address;l.setUint32(n,p,!0)}if(o){var v=i.ensureHandleId(f);l.setUint32(o,v,!0)}}return s&&l.setUint32(s,c.byteOffset,!0),i.clearLastError()}var $=Object.freeze({__proto__:null,napi_get_array_length:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(!o.isArray())return n.setLastError(8);var s=o.value.length>>>0;return new DataView(a.buffer).setUint32(t,s,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_get_arraybuffer_info:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);var s=d.handleStore.get(e);if(!s.isArrayBuffer()&&!P.isSharedArrayBuffer(s.value))return o.setLastError(1);var i=new DataView(a.buffer);if(t){var u=P.getArrayBufferPointer(s.value,!0).address;i.setUint32(t,u,!0)}return n&&i.setUint32(n,s.value.byteLength,!0),o.clearLastError()},napi_get_buffer_info:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isBuffer(d.feature.Buffer)?o.isDataView()?Q(r,e,n,t,0,0):H(r,e,0,n,t,0,0):a.setLastError(1)},napi_get_dataview_info:Q,napi_get_date_value:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);return s.isDate()?(n=s.value.valueOf(),new DataView(a.buffer).setFloat64(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_get_prototype:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(null==o.value)throw new TypeError("Cannot convert undefined or null to object");var s=void 0;try{s=o.isObject()||o.isFunction()?o.value:Object(o.value)}catch(r){return n.setLastError(2)}var i=n.ensureHandleId(Object.getPrototypeOf(s));return new DataView(a.buffer).setUint32(t,i,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_get_typedarray_info:H,napi_get_value_bigint_int64:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!d.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(e).value;if("bigint"!=typeof s)return o.setLastError(6);var i=new DataView(a.buffer);s>=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32));return i.setInt32(t,u,!0),i.setInt32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_uint64:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!d.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(e).value;if("bigint"!=typeof s)return o.setLastError(6);var i=new DataView(a.buffer);s>=BigInt(0)&&s>BigInt(32));return i.setUint32(t,u,!0),i.setUint32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_words:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!d.feature.supportBigInt)return s.setLastError(9);if(!e)return s.setLastError(1);if(!n)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isBigInt())return s.setLastError(17);for(var u=i.value>=BigInt(64);if(p=u?i.value*BigInt(-1):i.value,t||o){if(!t)return s.setLastError(1);if(!o)return s.setLastError(1);for(var v=[];p!==BigInt(0);){var g=p&(BigInt(1)<>=BigInt(64)}for(var y=Math.min(c,v.length),h=0;h>BigInt(32));f.setUint32(o+8*h,E,!0),f.setUint32(o+(8*h+4),_,!0)}f.setInt32(t,u?1:0,!0),f.setUint32(n,y,!0)}else c=l,f.setUint32(n,c,!0);return s.clearLastError()},napi_get_value_bool:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("boolean"!=typeof o.value)return n.setLastError(7);var s=o.value?1:0;return new DataView(a.buffer).setInt8(t,s,!0),n.clearLastError()},napi_get_value_double:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=o.value;return new DataView(a.buffer).setFloat64(t,s,!0),n.clearLastError()},napi_get_value_external:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(!o.isExternal())return n.setLastError(1);var s=o.data();return new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},napi_get_value_int32:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=new Int32Array([o.value])[0];return new DataView(a.buffer).setInt32(t,s,!0),n.clearLastError()},napi_get_value_int64:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=o.value,i=new DataView(a.buffer);return s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY||isNaN(s)?(i.setInt32(t,0,!0),i.setInt32(t+4,0,!0)):s<-0x8000000000000000?(i.setInt32(t,0,!0),i.setInt32(t+4,2147483648,!0)):s>=0x8000000000000000?(i.setUint32(t,4294967295,!0),i.setUint32(t+4,2147483647,!0)):I(t,Math.trunc(s)),n.clearLastError()},napi_get_value_string_latin1:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!e)return s.setLastError(1);n>>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){for(var f=0,c=void 0,l=0;l>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){var f=q.stringToUTF16(i.value,t,2*n);o&&u.setUint32(o,f/2,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return s.setLastError(1);u.setUint32(o,i.value.length,!0)}return s.clearLastError()},napi_get_value_string_utf8:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!e)return s.setLastError(1);n>>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){var f=q.stringToUTF8(i.value,t,n);o&&u.setUint32(o,f,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return s.setLastError(1);var c=q.lengthBytesUTF8(i.value);u.setUint32(o,c,!0)}return s.clearLastError()},napi_get_value_uint32:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=new Uint32Array([o.value])[0];return new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},node_api_set_prototype:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=d.handleStore.get(e).value;if(null==a)throw new TypeError("Cannot convert undefined or null to object");var o=typeof a,s=void 0;try{s="object"===o&&null!==a||"function"===o?a:Object(a)}catch(r){return n.setLastError(2)}var i=d.handleStore.get(t).value;return Object.setPrototypeOf(s,i),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function Y(r,e,t,n){return q.newString(r,e,t,n,function(r,e,t){var n="",o=0,s=new DataView(a.buffer);if(e)for(;;){if(!(i=s.getUint8(r,!0)))break;n+=String.fromCharCode(i),r++}else for(;o=10?23:10);u.clearLastError();try{if(!d.feature.supportBigInt)return u.setLastError(9);if(!o)return u.setLastError(1);if((t>>>=0)>2147483647)return u.setLastError(1);if(t>16384)throw new RangeError("Maximum BigInt size exceeded");var f=BigInt(0),c=new DataView(a.buffer);for(i=0;i>>0).id;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},node_api_create_external_string_latin1:function(r,e,t,n,a,o,s){return q.newExternalString(r,e,t,n,a,o,s,Y,void 0)},node_api_create_external_string_utf16:function(r,e,t,n,a,o,s){return q.newExternalString(r,e,t,n,a,o,s,X,void 0)},node_api_create_property_key_latin1:function(r,e,t,n){return Y(r,e,t,n)},node_api_create_property_key_utf16:function(r,e,t,n){return X(r,e,t,n)},node_api_create_property_key_utf8:function(r,e,t,n){return Z(r,e,t,n)}});function rr(r,e,t,n,a){var s,i=e&&t?q.UTF8ToString(e,t):"",u=o.get(n),f=function(r){return u(r.id,r.ctx.scopeStore.currentScope.id)},c=function(r,e){return function(){var t=r.ctx.openScope(r),n=t.callbackInfo;n.data=a,n.args=arguments,n.thiz=this,n.fn=s;try{var o=r.callIntoModule(e);return o?r.ctx.handleStore.get(o).value:void 0}finally{n.data=0,n.args=void 0,n.thiz=void 0,n.fn=void 0,r.ctx.closeScope(r,t)}}};if(""===i)return{status:0,f:s=c(r,f)};if(!/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(i))return{status:1,f:void 0};if(d.feature.supportNewFunction){var l=c(r,f);try{s=new Function("_","return function "+i+'(){"use strict";return _.apply(this,arguments);};')(l)}catch(e){s=c(r,f),d.feature.canSetFunctionName&&Object.defineProperty(s,"name",{value:i})}}else s=c(r,f),d.feature.canSetFunctionName&&Object.defineProperty(s,"name",{value:i});return{status:0,f:s}}function er(r,e,t,n,a,o,s,i,u){if(a||o){var f=void 0,c=void 0;a&&(f=rr(r,0,0,a,u).f),o&&(c=rr(r,0,0,o,u).f);var l={configurable:!!(4&i),enumerable:!!(2&i),get:f,set:c};Object.defineProperty(e,t,l)}else if(n){l={configurable:!!(4&i),enumerable:!!(2&i),writable:!!(1&i),value:rr(r,0,0,n,u).f};Object.defineProperty(e,t,l)}else{l={configurable:!!(4&i),enumerable:!!(2&i),writable:!!(1&i),value:d.handleStore.get(s).value};Object.defineProperty(e,t,l)}}function tr(r){var e=d.handleStore.get(r);return e.isObject()||e.isFunction()?(void 0!==P&&ArrayBuffer.isView(e.value)&&P.wasmMemoryViewTable.has(e.value)&&(e=d.addToCurrentScope(P.wasmMemoryViewTable.get(e.value))),{status:0,handle:e}):{status:1}}function nr(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(0===n&&!t)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(1);var u=s.getObjectBinding(i.value),f=u.wrapped,c=d.refStore.get(f);if(!c)return s.setLastError(1);if(t)o=c.data(),new DataView(a.buffer).setUint32(t,o,!0);return 1===n&&(u.wrapped=0,1===c.ownership()?c.resetFinalizer():c.dispose()),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}}function ar(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!d.feature.supportFinalizer)return i.setLastError(9);if(!e)return i.setLastError(1);if(!n)return i.setLastError(1);var u=tr(e);if(0!==u.status)return i.setLastError(u.status);var f=u.handle,c=s?1:0,l=d.createReferenceWithFinalizer(i,f.id,0,c,n,t,o);if(s){var p=l.id;new DataView(a.buffer).setUint32(s,p,!0)}return i.clearLastError()}var or=Object.freeze({__proto__:null,napi_add_finalizer:ar,napi_check_object_type_tag:function(r,e,t,n){var o=!0;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(s.tryCatch.hasCaught()?10:1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(s.tryCatch.hasCaught()?10:2);if(!t)return s.setLastError(s.tryCatch.hasCaught()?10:1);if(!n)return s.setLastError(s.tryCatch.hasCaught()?10:1);var u=s.getObjectBinding(i.value);if(null!==u.tag){var f=u.tag,c=new Uint32Array(a.buffer,t,4);o=f[0]===c[0]&&f[1]===c[1]&&f[2]===c[2]&&f[3]===c[3]}else o=!1;return new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_define_class:function(r,e,t,n,o,s,i,u){var f,c,l;if(!r)return 1;var p=d.envStore.get(r);if(p.checkGCAccess(),!p.tryCatch.isEmpty())return p.setLastError(10);if(!p.canCallIntoJs())return p.setLastError(p.moduleApiVersion>=10?23:10);p.clearLastError();try{if(!u)return p.setLastError(1);if(!n)return p.setLastError(1);if((s>>>=0)>0&&!i)return p.setLastError(1);if(t<-1||t>2147483647||!e)return p.setLastError(1);var v=rr(p,e,t,n,o);if(0!==v.status)return p.setLastError(v.status);for(var g=v.f,y=void 0,h=new DataView(a.buffer),E=0;E=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(n.tryCatch.hasCaught()?10:1);var o=d.handleStore.get(e);if(!o.isObject()&&!o.isFunction())return n.setLastError(n.tryCatch.hasCaught()?10:2);if(!t)return n.setLastError(n.tryCatch.hasCaught()?10:1);var s=n.getObjectBinding(o.value);if(null!==s.tag)return n.setLastError(n.tryCatch.hasCaught()?10:1);var i=new Uint8Array(16);return i.set(new Uint8Array(a.buffer,t,16)),s.tag=new Uint32Array(i.buffer),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_unwrap:function(r,e,t){return nr(r,e,t,0)},napi_wrap:function(r,e,t,n,o,s){return function(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!d.feature.supportFinalizer){if(n)throw d.createNotSupportWeakRefError("napi_wrap",'Parameter "finalize_cb" must be 0(NULL)');if(s)throw d.createNotSupportWeakRefError("napi_wrap",'Parameter "result" must be 0(NULL)')}if(!e)return u.setLastError(1);var f=tr(e);if(0!==f.status)return u.setLastError(f.status);var c=f.handle;if(0!==u.getObjectBinding(c.value).wrapped)return u.setLastError(1);var l=void 0;if(s){if(!n)return u.setLastError(1);i=(l=d.createReferenceWithFinalizer(u,c.id,0,1,n,t,o)).id,new DataView(a.buffer).setUint32(s,i,!0)}else l=n?d.createReferenceWithFinalizer(u,c.id,0,0,n,t,o):d.createReferenceWithData(u,c.id,0,0,t);return u.getObjectBinding(c.value).wrapped=l.id,u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}}(r,e,t,n,o,s)},node_api_post_finalizer:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);return a.enqueueFinalizer(d.createTrackedFinalizer(a,e,t,n)),a.clearLastError()}});function sr(r,e,t,n,o,s,i){var u;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!i)return f.setLastError(1);if(n>>>=0,t||(n=0),n>2147483647)throw new RangeError("Cannot create a memory view larger than 2147483647 bytes");if(t+n>a.buffer.byteLength)throw new RangeError("Memory out of range");if(!d.feature.supportFinalizer&&o)throw d.createNotSupportWeakRefError("emnapi_create_memory_view",'Parameter "finalize_cb" must be 0(NULL)');var c=void 0;switch(e){case 0:c={Ctor:Int8Array,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 1:c={Ctor:Uint8Array,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 2:c={Ctor:Uint8ClampedArray,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 3:c={Ctor:Int16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case 4:c={Ctor:Uint16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case 5:c={Ctor:Int32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 6:c={Ctor:Uint32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 7:c={Ctor:Float32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 8:c={Ctor:Float64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case 9:c={Ctor:BigInt64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case 10:c={Ctor:BigUint64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case-1:c={Ctor:DataView,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 11:if("function"!=typeof Float16Array)return f.setLastError(1);c={Ctor:Float16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case-2:if(!d.feature.Buffer)throw d.createNotSupportBufferError("emnapi_create_memory_view","");c={Ctor:d.feature.Buffer,address:t,length:n,ownership:1,runtimeAllocated:0};break;default:return f.setLastError(1)}var l=c.Ctor,p=-2===e?d.feature.Buffer.from(a.buffer,c.address,c.length):new l(a.buffer,c.address,c.length),v=d.addToCurrentScope(p);if(P.wasmMemoryViewTable.set(p,c),o){var g=ar(r,v.id,t,o,s,0);if(10===g){var y=f.tryCatch.extractException();throw f.clearLastError(),y}if(0!==g)return f.setLastError(g)}return u=v.id,new DataView(a.buffer).setUint32(i,u,!0),f.getReturnStatus()}catch(y){return f.tryCatch.setError(y),f.setLastError(10)}}function ir(r,e,t,n){var o;if(t=null!=t?t:0,t>>>=0,e instanceof ArrayBuffer||P.isSharedArrayBuffer(e)){if(!(i=P.getArrayBufferPointer(e,!1).address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof n&&-1!==n||(n=e.byteLength-t),0===(n>>>=0))return e;o=new Uint8Array(e,t,n);var s=new Uint8Array(a.buffer);return r?s.set(o,i):o.set(s.subarray(i,i+n)),e}if(ArrayBuffer.isView(e)){var i,u=P.getViewPointer(e,!1),f=u.view;if(!(i=u.address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof n&&-1!==n||(n=f.byteLength-t),0===(n>>>=0))return f;o=new Uint8Array(f.buffer,f.byteOffset+t,n);s=new Uint8Array(a.buffer);return r?s.set(o,i):o.set(s.subarray(i,i+n)),f}throw new TypeError("emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter")}function ur(r){var e,t=r instanceof ArrayBuffer,n=r instanceof DataView,a=ArrayBuffer.isView(r)&&!n;if(!(t||a||n||P.isSharedArrayBuffer(r)))throw new TypeError("emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter");return{address:(e=t?P.getArrayBufferPointer(r,!1):P.getViewPointer(r,!1)).address,ownership:e.ownership,runtimeAllocated:e.runtimeAllocated}}var fr=Object.freeze({__proto__:null,$emnapiGetMemoryAddress:ur,$emnapiSyncMemory:ir,emnapi_create_memory_view:sr,emnapi_get_memory_address:function(r,e,t,n,o){var s,i,u,f;if(!r)return 1;var c=d.envStore.get(r);if(c.checkGCAccess(),!c.tryCatch.isEmpty())return c.setLastError(10);if(!c.canCallIntoJs())return c.setLastError(c.moduleApiVersion>=10?23:10);c.clearLastError();try{if(!e)return c.setLastError(1);if(!t&&!n&&!o)return c.setLastError(1);s=(f=ur(c.ctx.handleStore.get(e).value)).address;var l=new DataView(a.buffer);return t&&l.setUint32(t,s,!0),n&&(u=f.ownership,l.setInt32(n,u,!0)),o&&(i=f.runtimeAllocated,l.setInt8(o,i,!0)),c.getReturnStatus()}catch(r){return c.tryCatch.setError(r),c.setLastError(10)}},emnapi_get_runtime_version:function(r,e){if(!r)return 1;var t,n=d.envStore.get(r);if(!e)return n.setLastError(1);try{t=d.getRuntimeVersions().version}catch(r){return n.setLastError(9)}var o=t.split(".").map(function(r){return Number(r)}),s=new DataView(a.buffer);return s.setUint32(e,o[0],!0),s.setUint32(e+4,o[1],!0),s.setUint32(e+8,o[2],!0),n.clearLastError()},emnapi_is_node_binding_available:function(){return p?1:0},emnapi_is_support_bigint:function(){return d.feature.supportBigInt?1:0},emnapi_is_support_weakref:function(){return d.feature.supportFinalizer?1:0},emnapi_sync_memory:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);var u=new DataView(a.buffer),f=u.getUint32(t,!0),c=i.ctx.handleStore.get(f);if(!(c.isArrayBuffer()||c.isTypedArray()||c.isDataView()||P.isSharedArrayBuffer(c.value)))return i.setLastError(1);var l=ir(Boolean(e),c.value,n,o);return c.value!==l&&(s=i.ensureHandleId(l),u.setUint32(t,s,!0)),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}}});function cr(r,e,t){r>>>=0;var n=t?new SharedArrayBuffer(r):new ArrayBuffer(r);if(e){var o=P.getArrayBufferPointer(n,!0).address;new DataView(a.buffer).setUint32(e,o,!0)}return n}var lr=Object.freeze({__proto__:null,napi_create_array:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.addToCurrentScope([]).id;return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_create_array_with_length:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!t)return n.setLastError(1);e>>>=0;var o=d.addToCurrentScope(new Array(e)).id;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_create_arraybuffer:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);var i=cr(e,t,!1);return o=d.addToCurrentScope(i).id,new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_buffer:function(r,e,t,n){var o,i,u;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!n)return f.setLastError(1);var c=d.feature.Buffer;if(!c)throw d.createNotSupportBufferError("napi_create_buffer","");var l=void 0;e>>>=0;var p=new DataView(a.buffer);if(t&&0!==e){if(!(u=s(e)))throw new Error("Out of memory");new Uint8Array(a.buffer).subarray(u,u+e).fill(0);var v=c.from(a.buffer,u,e),g={Ctor:c,address:u,length:e,ownership:P.registry?0:1,runtimeAllocated:1};P.wasmMemoryViewTable.set(v,g),null===(o=P.registry)||void 0===o||o.register(g,u),i=d.addToCurrentScope(v).id,p.setUint32(n,i,!0),p.setUint32(t,u,!0)}else l=c.alloc(e),i=d.addToCurrentScope(l).id,p.setUint32(n,i,!0);return f.getReturnStatus()}catch(r){return f.tryCatch.setError(r),f.setLastError(10)}},napi_create_buffer_copy:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!o)return i.setLastError(1);var u=d.feature.Buffer;if(!u)throw d.createNotSupportBufferError("napi_create_buffer_copy","");var f=cr(e,n,!1),c=u.from(f);return c.set(new Uint8Array(a.buffer).subarray(t,t+e)),s=d.addToCurrentScope(c).id,new DataView(a.buffer).setUint32(o,s,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_dataview:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!o)return s.setLastError(1);e>>>=0,n>>>=0;var i=d.handleStore.get(t).value;return i instanceof ArrayBuffer||P.isSharedArrayBuffer(i)?function(r){if(e+n>r.byteLength){var t=new RangeError("byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in");throw t.code="ERR_NAPI_INVALID_DATAVIEW_ARGS",t}var i=new DataView(r,n,e);r===a.buffer&&(P.wasmMemoryViewTable.has(i)||P.wasmMemoryViewTable.set(i,{Ctor:DataView,address:n,length:e,ownership:1,runtimeAllocated:0}));var u=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(o,u,!0),s.getReturnStatus()}(i):s.setLastError(1)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_date:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return t?(n=d.addToCurrentScope(new Date(e)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_create_external:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!o)return i.setLastError(1);if(!d.feature.supportFinalizer&&t)throw d.createNotSupportWeakRefError("napi_create_external",'Parameter "finalize_cb" must be 0(NULL)');var u=d.getCurrentScope().addExternal(e);return t&&d.createReferenceWithFinalizer(i,u.id,0,0,t,e,n),s=u.id,new DataView(a.buffer).setUint32(o,s,!0),i.clearLastError()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_external_arraybuffer:function(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(t>>>=0,e||(t=0),e+t>a.buffer.byteLength)throw new RangeError("Memory out of range");if(!d.feature.supportFinalizer&&n)throw d.createNotSupportWeakRefError("napi_create_external_arraybuffer",'Parameter "finalize_cb" must be 0(NULL)');var f=new ArrayBuffer(t);if(0===t)try{(new(0,d.feature.MessageChannel)).port1.postMessage(f,[f])}catch(r){}else new Uint8Array(f).set(new Uint8Array(a.buffer).subarray(e,e+t)),P.table.set(f,{address:e,ownership:1,runtimeAllocated:0});var c=d.addToCurrentScope(f);if(n){var l=ar(r,c.id,e,n,o,0);if(10===l){var p=u.tryCatch.extractException();throw u.clearLastError(),p}if(0!==l)return u.setLastError(l)}return i=c.id,new DataView(a.buffer).setUint32(s,i,!0),u.getReturnStatus()}catch(p){return u.tryCatch.setError(p),u.setLastError(10)}},napi_create_external_buffer:function(r,e,t,n,a,o){return sr(r,-2,t,e,n,a,o)},napi_create_object:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.addToCurrentScope({}).id;return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_create_object_with_properties:function(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!s)return i.setLastError(1);if((o>>>=0)>0){if(!t)return i.setLastError(1);if(!n)return i.setLastError(1)}for(var u,f=e?d.handleStore.get(e).value:null,c={},l=new DataView(a.buffer),p=0;p=10?23:10);u.clearLastError();try{if(!n)return u.setLastError(1);if(!s)return u.setLastError(1);var f=d.handleStore.get(n);if(!f.isArrayBuffer())return u.setLastError(1);var c=f.value,l=function(r,e,t,n,o,u){var f,c;if((o>>>=0,u>>>=0,t>1)&&o%t!==0)return(c=new RangeError("start offset of ".concat(null!==(f=e.name)&&void 0!==f?f:""," should be a multiple of ").concat(t))).code="ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT",r.tryCatch.setError(c),r.setLastError(9);if(u*t+o>n.byteLength)return(c=new RangeError("Invalid typed array length")).code="ERR_NAPI_INVALID_TYPEDARRAY_LENGTH",r.tryCatch.setError(c),r.setLastError(9);var l=new e(n,o,u);return n===a.buffer&&(P.wasmMemoryViewTable.has(l)||P.wasmMemoryViewTable.set(l,{Ctor:e,address:o,length:u,ownership:1,runtimeAllocated:0})),i=d.addToCurrentScope(l).id,new DataView(a.buffer).setUint32(s,i,!0),r.getReturnStatus()};switch(e){case 0:return l(u,Int8Array,1,c,o,t);case 1:return l(u,Uint8Array,1,c,o,t);case 2:return l(u,Uint8ClampedArray,1,c,o,t);case 3:return l(u,Int16Array,2,c,o,t);case 4:return l(u,Uint16Array,2,c,o,t);case 5:return l(u,Int32Array,4,c,o,t);case 6:return l(u,Uint32Array,4,c,o,t);case 7:return l(u,Float32Array,4,c,o,t);case 8:return l(u,Float64Array,8,c,o,t);case 9:return l(u,BigInt64Array,8,c,o,t);case 10:return l(u,BigUint64Array,8,c,o,t);case 11:return"function"!=typeof Float16Array?u.setLastError(1):l(u,Float16Array,2,c,o,t);default:return u.setLastError(1)}}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},node_api_create_buffer_from_arraybuffer:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(!o)return i.setLastError(1);t>>>=0,n>>>=0;var u=d.handleStore.get(e);if(!u.isArrayBuffer())return i.setLastError(1);var f=u.value;if(n+t>f.byteLength){var c=new RangeError("The byte offset + length is out of range");throw c.code="ERR_OUT_OF_RANGE",c}var l=d.feature.Buffer;if(!l)throw d.createNotSupportBufferError("node_api_create_buffer_from_arraybuffer","");var p=l.from(f,t,n);return f===a.buffer&&(P.wasmMemoryViewTable.has(p)||P.wasmMemoryViewTable.set(p,{Ctor:l,address:t,length:n,ownership:1,runtimeAllocated:0})),s=d.addToCurrentScope(p).id,new DataView(a.buffer).setUint32(o,s,!0),i.getReturnStatus()}catch(c){return i.tryCatch.setError(c),i.setLastError(10)}},node_api_create_sharedarraybuffer:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);var i=cr(e,t,!0);return o=d.addToCurrentScope(i).id,new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},node_api_symbol_for:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!n)return o.setLastError(1);var s=-1===t,i=t>>>0;if(0!==t&&!e)return o.setLastError(1);if(!(s||i<=2147483647))return o.setLastError(1);var u=q.UTF8ToString(e,t),f=d.addToCurrentScope(Symbol.for(u)).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()}});var dr=Object.freeze({__proto__:null,napi_get_boolean:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!t)return n.setLastError(1);var o=0===e?3:4;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_get_global:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,5,!0),t.clearLastError()):t.setLastError(1)},napi_get_null:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,2,!0),t.clearLastError()):t.setLastError(1)},napi_get_undefined:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,1,!0),t.clearLastError()):t.setLastError(1)}});var pr=Object.freeze({__proto__:null,napi_get_instance_data:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=t.getInstanceData();return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_set_instance_data:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);return a.setInstanceData(e,t,n),a.clearLastError()}});var vr=Object.freeze({__proto__:null,_emnapi_get_last_error_info:function(r,e,t,n){var o=d.envStore.get(r).lastError,s=o.errorCode,i=o.engineErrorCode>>>0,u=o.engineReserved,f=new DataView(a.buffer);f.setInt32(e,s,!0),f.setUint32(t,i,!0),f.setUint32(n,u,!0)},napi_create_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new Error(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_create_range_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new RangeError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_create_type_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new TypeError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_fatal_error:function(r,e,t,n){var a=q.UTF8ToString(r,e),o=q.UTF8ToString(t,n);p?p.napi.fatalError(a,o):l("FATAL ERROR: "+a+" "+o)},napi_fatal_exception:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=t.ctx.handleStore.get(e);try{t.triggerFatalException(n.value)}catch(r){return t.setLastError(9)}return t.clearLastError()}catch(e){return t.tryCatch.setError(e),t.setLastError(10)}},napi_get_and_clear_last_exception:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=new DataView(a.buffer);if(!t.tryCatch.hasCaught())return n.setUint32(e,1,!0),t.clearLastError();var o=t.tryCatch.exception(),s=t.ensureHandleId(o);return n.setUint32(e,s,!0),t.tryCatch.reset(),t.clearLastError()},napi_is_exception_pending:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=t.tryCatch.hasCaught();return new DataView(a.buffer).setInt8(e,n?1:0,!0),t.clearLastError()},napi_throw:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{return e?(t.tryCatch.setError(d.handleStore.get(e).value),t.clearLastError()):t.setLastError(1)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_throw_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new Error(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_range_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new RangeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_type_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new TypeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},node_api_create_syntax_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new SyntaxError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},node_api_throw_syntax_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new SyntaxError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});var gr=Object.freeze({__proto__:null,napi_call_function:function(r,e,t,n,o,s){var i,u=0;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!e)return f.setLastError(1);if((n>>>=0)>0&&!o)return f.setLastError(1);var c=d.handleStore.get(e).value;if(!t)return f.setLastError(1);var l=d.handleStore.get(t).value;if("function"!=typeof l)return f.setLastError(1);for(var p=[],v=new DataView(a.buffer);u=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(!n)return u.setLastError(1);var f=rr(u,e,t,n,o);if(0!==f.status)return u.setLastError(f.status);var c=f.f;return i=d.addToCurrentScope(c).id,new DataView(a.buffer).setUint32(s,i,!0),u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},napi_get_cb_info:function(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(!e)return i.setLastError(1);var u=d.scopeStore.get(e).callbackInfo,f=new DataView(a.buffer);if(n){if(!t)return i.setLastError(1);for(var c=f.getUint32(t,!0),l=u.args.length,p=c=10?23:10);u.clearLastError();try{if(!e)return u.setLastError(1);if((t>>>=0)>0&&!n)return u.setLastError(1);if(!o)return u.setLastError(1);var f=d.handleStore.get(e).value;if("function"!=typeof f)return u.setLastError(1);var c=void 0,l=new DataView(a.buffer);if(d.feature.supportReflect){var p=Array(t);for(s=0;s>>0,1);return new DataView(a.buffer).setUint32(n,i.id,!0),o.clearLastError()},napi_delete_reference:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(d.refStore.get(e).dispose(),t.clearLastError()):t.setLastError(1)},napi_escape_handle:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.scopeStore.get(e);if(!s.escapeCalled()){var i=s.escape(t),u=i?i.id:0;return new DataView(a.buffer).setUint32(n,u,!0),o.clearLastError()}return o.setLastError(12)},napi_get_reference_value:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.refStore.get(e).get(n);return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_open_escapable_handle_scope:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.openScope(t);return new DataView(a.buffer).setUint32(e,n.id,!0),t.clearLastError()},napi_open_handle_scope:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.openScope(t);return new DataView(a.buffer).setUint32(e,n.id,!0),t.clearLastError()},napi_reference_ref:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);var o=d.refStore.get(e).ref();return t&&new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_reference_unref:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);var o=d.refStore.get(e);if(0===o.refcount())return n.setLastError(9);var s=o.unref();return t&&new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},napi_remove_env_cleanup_hook:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);return e?(d.removeCleanupHook(n,e,t),0):n.setLastError(1)}});var hr=Object.freeze({__proto__:null,_emnapi_get_filename:function(r,e,t){var n=d.envStore.get(r).filename;return e?q.stringToUTF8(n,e,t):q.lengthBytesUTF8(n)}});var Er=Object.freeze({__proto__:null,napi_create_promise:function(r,e,t){var n,o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=new DataView(a.buffer),u=new Promise(function(r,t){var a=d.createDeferred({resolve:r,reject:t});n=a.id,i.setUint32(e,n,!0)});return o=d.addToCurrentScope(u).id,i.setUint32(t,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_is_promise:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isPromise()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_reject_deferred:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(d.deferredStore.get(e).reject(d.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_resolve_deferred:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(d.deferredStore.get(e).resolve(d.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function _r(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(!e)return u.setLastError(1);var f=d.handleStore.get(e);if(null==f.value)throw new TypeError("Cannot convert undefined or null to object");var c=void 0;try{c=f.isObject()||f.isFunction()?f.value:Object(f.value)}catch(r){return u.setLastError(2)}if(0!==t&&1!==t)return u.setLastError(1);if(0!==o&&1!==o)return u.setLastError(1);var l=[],p=void 0,v=void 0,g=void 0,y=!0,h=/^(0|[1-9][0-9]*)$/;do{for(p=Object.getOwnPropertyNames(c),v=Object.getOwnPropertySymbols(c),g=0;g=10?23:10);i.clearLastError();try{if((t>>>=0)>0&&!n)return i.setLastError(1);if(!e)return i.setLastError(1);var u=d.handleStore.get(e),f=u.value;if(!u.isObject()&&!u.isFunction())return i.setLastError(2);for(var c=void 0,l=new DataView(a.buffer),p=0;p=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(2);if(d.feature.supportReflect)o=Reflect.deleteProperty(i.value,t>>>0);else try{o=delete i.value[t>>>0]}catch(r){o=!1}if(n)new DataView(a.buffer).setInt8(n,o?1:0,!0);return s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_delete_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(2);var u=d.handleStore.get(t).value;if(d.feature.supportReflect)o=Reflect.deleteProperty(i.value,u);else try{o=delete i.value[u]}catch(r){o=!1}if(n)new DataView(a.buffer).setInt8(n,o?1:0,!0);return s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_all_property_names:_r,napi_get_element:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[t>>>0]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_named_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[q.UTF8ToString(t,-1)]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[d.handleStore.get(t).value]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_property_names:function(r,e,t){return _r(r,e,0,18,1,t)},napi_has_element:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=t>>>0 in u?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_named_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=q.UTF8ToString(t,-1)in u,new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_own_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}var f=d.handleStore.get(t).value;return"string"!=typeof f&&"symbol"!=typeof f?s.setLastError(4):(o=Object.prototype.hasOwnProperty.call(u,d.handleStore.get(t).value),new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus())}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=d.handleStore.get(t).value in u?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_object_freeze:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=d.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.freeze(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_object_seal:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=d.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.seal(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_set_element:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[t>>>0]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_named_property:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?t?(d.handleStore.get(e).value[q.UTF8ToString(t,-1)]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(1):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_property:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!t)return a.setLastError(1);if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[d.handleStore.get(t).value]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}}});var Lr=Object.freeze({__proto__:null,napi_run_script:function(r,e,t){var n,o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isString())return s.setLastError(3);var u=d.handleStore.get(5).value.eval(i.value);o=s.ensureHandleId(u),new DataView(a.buffer).setUint32(t,o,!0),n=s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}return n}});var mr=Object.freeze({__proto__:null,napi_coerce_to_bool:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return e&&t?(n=d.handleStore.get(e).value?4:3,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_number:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(s.isBigInt())throw new TypeError("Cannot convert a BigInt value to a number");return n=d.addToCurrentScope(Number(s.value)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_object:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");return n=o.ensureHandleId(Object(s.value)),new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_string:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(s.isSymbol())throw new TypeError("Cannot convert a Symbol value to a string");return n=d.addToCurrentScope(String(s.value)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_detach_arraybuffer:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.handleStore.get(e).value;if(!(n instanceof ArrayBuffer))return"function"==typeof SharedArrayBuffer&&n instanceof SharedArrayBuffer?t.setLastError(20):t.setLastError(19);try{(new(0,d.feature.MessageChannel)).port1.postMessage(n,[n])}catch(r){return t.setLastError(9)}return t.clearLastError()},napi_instanceof:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!n)return s.setLastError(1);if(!t)return s.setLastError(1);var i=new DataView(a.buffer);i.setInt8(n,0,!0);var u=d.handleStore.get(t);return u.isFunction()?(o=d.handleStore.get(e).value instanceof u.value?1:0,i.setInt8(n,o,!0),s.getReturnStatus()):s.setLastError(5)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_is_array:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isArray()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_arraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isArrayBuffer()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_buffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isBuffer(d.feature.Buffer)?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_dataview:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isDataView()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_date:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isDate()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_detached_arraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e),s=new DataView(a.buffer);if(o.isArrayBuffer()&&0===o.value.byteLength)try{new Uint8Array(o.value)}catch(r){return s.setInt8(t,1,!0),n.getReturnStatus()}return s.setInt8(t,0,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_is_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).value instanceof Error?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_typedarray:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isTypedArray()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_strict_equals:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{return e&&(t&&n)?(o=d.handleStore.get(e).value===d.handleStore.get(t).value?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()):s.setLastError(1)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_typeof:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o,s=d.handleStore.get(e);if(s.isNumber())o=3;else if(s.isBigInt())o=9;else if(s.isString())o=4;else if(s.isFunction())o=7;else if(s.isExternal())o=8;else if(s.isObject())o=6;else if(s.isBoolean())o=2;else if(s.isUndefined())o=0;else if(s.isSymbol())o=5;else{if(!s.isNull())return n.setLastError(1);o=1}return new DataView(a.buffer).setInt32(t,o,!0),n.clearLastError()},node_api_is_sharedarraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e),s="function"==typeof SharedArrayBuffer&&o.value instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(o.value)?1:0;return new DataView(a.buffer).setInt8(t,s,!0),n.clearLastError()}});var br=Object.freeze({__proto__:null,napi_get_version:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(new DataView(a.buffer).setUint32(e,10,!0),t.clearLastError()):t.setLastError(1)}});function Sr(r){for(var e=Object.keys(r),t=0;t>>=0,0===(u>>>=0))return g.setLastError(1);if(!v)return g.setLastError(1);var y,h=0;if(e){if("function"!=typeof d.handleStore.get(e).value)return g.setLastError(1);h=d.createReference(g,e,1,1).id}else if(!p)return g.setLastError(1);if(t){if(null==(y=d.handleStore.get(t).value))return g.setLastError(2);y=Object(y)}else y={};var E=g.ensureHandleId(y),_=d.handleStore.get(n).value;if("symbol"==typeof _)return g.setLastError(3);_=String(_);var w=g.ensureHandleId(_),L=O.offset.end,m=s(L);if(!m)return g.setLastError(9);new Uint8Array(a.buffer).subarray(m,m+L).fill(0);var b=d.createReference(g,E,1,1),S=b.id,C=new DataView(a.buffer);return C.setUint32(m,S,!0),O.initQueue(m)?(x(E,w,-1,m+O.offset.async_id),C.setUint32(m+O.offset.thread_count,u,!0),C.setUint32(m+O.offset.context,l,!0),C.setUint32(m+O.offset.max_queue_size,o,!0),C.setUint32(m+O.offset.ref,h,!0),C.setUint32(m+O.offset.env,r,!0),C.setUint32(m+O.offset.finalize_data,f,!0),C.setUint32(m+O.offset.finalize_cb,c,!0),C.setUint32(m+O.offset.call_js_cb,p,!0),d.addCleanupHook(g,O.cleanup,m),g.ref(),d.increaseWaitingRequestCounter(),C.setInt32(m+O.offset.async_ref,1,!0),C.setUint32(v,m,!0),g.clearLastError()):(i(m),b.dispose(),g.setLastError(9))},g.imports.napi.napi_get_threadsafe_function_context=function(r,e){if(!r||!e)return l(),1;var t=O.getContext(r);return new DataView(a.buffer).setUint32(e,t,!0),0},g.imports.napi.napi_call_threadsafe_function=function(r,e,t){return r?O.push(r,e,t):(l(),1)},g.imports.napi.napi_acquire_threadsafe_function=function(r){return r?O.getMutex(r).execute(function(){return O.getIsClosing(r)?16:(O.addThreadCount(r),0)}):(l(),1)},g.imports.napi.napi_release_threadsafe_function=function(r,e){if(!r)return l(),1;var t=O.getMutex(r),n=O.getCond(r);return t.execute(function(){if(0===O.getThreadCount(r))return 1;if((O.subThreadCount(r),0===O.getThreadCount(r)||1===e)&&!O.getIsClosing(r)){var t=1===e?1:0;O.setIsClosing(r,t),t&&O.getMaxQueueSize(r)>0&&n.signal(),O.send(r)}return 0})},g.imports.napi.napi_unref_threadsafe_function=function(r,e){if(!e)return l(),1;var t=e+O.offset.async_ref>>2,n=new Int32Array(a.buffer);return Atomics.load(n,t)&&(Atomics.store(n,t,0),d.decreaseWaitingRequestCounter()),0},g.imports.napi.napi_ref_threadsafe_function=function(r,e){if(!e)return l(),1;var t=e+O.offset.async_ref>>2,n=new Int32Array(a.buffer);return Atomics.load(n,t)||(Atomics.store(n,t,1),d.increaseWaitingRequestCounter()),0},g}();return n}function o(e,t,n,o){const i=(o=null!=o?o:{}).getMemory,u=o.getTable,f=o.beforeInit;if(null!=i&&"function"!=typeof i)throw new TypeError("options.getMemory is not a function");if(null!=u&&"function"!=typeof u)throw new TypeError("options.getTable is not a function");if(null!=f&&"function"!=typeof f)throw new TypeError("options.beforeInit is not a function");let c;const l="object"==typeof t&&null!==t;if(l){if(t.loaded)throw new Error("napiModule has already loaded");c=t}else c=a(o);const d=o.wasi;let p,v={env:c.imports.env,napi:c.imports.napi,emnapi:c.imports.emnapi};d&&(p=new r.WASIThreads(c.childThread?{wasi:d,childThread:!0,postMessage:c.postMessage}:{wasi:d,threadManager:c.PThread,waitThreadStart:c.waitThreadStart}),Object.assign(v,"function"==typeof d.getImportObject?d.getImportObject():{wasi_snapshot_preview1:d.wasiImport}),Object.assign(v,p.getImportObject()));const g=o.overwriteImports;if("function"==typeof g){const r=g(v);"object"==typeof r&&null!==r&&(v=r)}return e(n,v,(r,t)=>{if(r)throw r;const n=t.instance;let a=n;const o=n.exports,g="memory"in o,y="memory"in v.env,h=i?i(o):g?o.memory:y?v.env.memory:void 0;if(!h)throw new Error("memory is neither exported nor imported");const E=u?u(o):o.__indirect_function_table;if(d&&!g){const r=Object.create(null);Object.assign(r,o,{memory:h}),a={exports:r}}const _=t.module;d?a=p.initialize(a,_,h):c.PThread.setup(_,h);const w=()=>{f&&f({instance:n,module:_}),c.init({instance:a,module:_,memory:h,table:E});const r={instance:n,module:_,usedInstance:a};return l||(r.napiModule=c),r};if(c.PThread.shouldPreloadWorkers()){const r=c.PThread.loadWasmModuleToAllWorkers();if(e===s)return r.then(w);throw new Error("Synchronous loading is not supported with worker pool (reuseWorker.size > 0)")}return w()})}function s(r,e,t){return n(r,e).then(r=>t(null,r),r=>t(r))}function i(r,n,a){let o;try{o=function(r,n){if(!r)throw new TypeError("Invalid wasm source");let a;if(t(n),n=null!=n?n:{},r instanceof ArrayBuffer||ArrayBuffer.isView(r))a=new e.Module(r);else{if(!(r instanceof WebAssembly.Module))throw new TypeError("Invalid wasm source");a=r}return{instance:new e.Instance(a,n),module:a}}(r,n)}catch(r){return a(r)}return a(null,o)}class u extends r.ThreadMessageHandler{constructor(r){if("function"!=typeof r.onLoad)throw new TypeError("options.onLoad is not a function");const e=r.onError;super({...r,onError:(r,t)=>{var n;const a=null===(n=this.instance)||void 0===n?void 0:n.exports.emnapi_thread_crashed;if("function"==typeof a&&a(),"function"!=typeof e)throw r;e(r,t)}}),this.napiModule=void 0}instantiate(r){const e=this.onLoad(r);return"function"==typeof e.then?e.then(r=>(this.napiModule=r.napiModule,r)):(this.napiModule=e.napiModule,e)}handle(r){var e;if(super.handle(r),null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.__emnapi__){const e=r.data.__emnapi__.type,t=r.data.__emnapi__.payload;try{"async-worker-init"===e?this.handleAfterLoad(r,()=>{this.napiModule.initWorker(t.arg)}):"async-work-execute"===e&&this.handleAfterLoad(r,()=>{this.napiModule.executeAsyncWork(t.work)})}catch(r){this.onError(r,e)}}}}exports.MessageHandler=u,exports.createNapiModule=a,exports.instantiateNapiModule=function(r,e){return o(s,void 0,r,e)},exports.instantiateNapiModuleSync=function(r,e){return o(i,void 0,r,e)},exports.loadNapiModule=function(r,e,t){if("object"!=typeof r||null===r)throw new TypeError("Invalid napiModule");return o(s,r,e,t)},exports.loadNapiModuleSync=function(r,e,t){if("object"!=typeof r||null===r)throw new TypeError("Invalid napiModule");return o(i,r,e,t)},exports.version="1.8.1",Object.keys(r).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return r[e]}})});
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.d.mts b/node_modules/@emnapi/core/dist/emnapi-core.d.mts
deleted file mode 100644
index 2fce234..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.d.mts
+++ /dev/null
@@ -1,419 +0,0 @@
-///
-
-import type { Context } from '@emnapi/runtime';
-import type { ReferenceOwnership } from '@emnapi/runtime';
-import type { Worker as Worker_2 } from 'worker_threads';
-
-/** @public */
-export declare type BaseCreateOptions = {
- filename?: string
- nodeBinding?: NodeBinding
- reuseWorker?: ThreadManagerOptionsMain['reuseWorker']
- asyncWorkPoolSize?: number
- waitThreadStart?: MainThreadBaseOptions['waitThreadStart']
- onCreateWorker?: (info: CreateWorkerInfo) => any
- print?: (str: string) => void
- printErr?: (str: string) => void
- postMessage?: (msg: any) => any
-}
-
-/** @public */
-export declare interface BaseOptions {
- wasi: WASIInstance;
- version?: 'preview1';
- wasm64?: boolean;
-}
-
-/** @public */
-export declare interface ChildThreadOptions extends BaseOptions {
- childThread: true;
- postMessage?: (data: any) => void;
-}
-
-/** @public */
-export declare interface CleanupThreadPayload {
- tid: number;
-}
-
-/** @public */
-export declare interface CommandInfo {
- type: T;
- payload: CommandPayloadMap[T];
-}
-
-/** @public */
-export declare interface CommandPayloadMap {
- load: LoadPayload;
- loaded: LoadedPayload;
- start: StartPayload;
- 'cleanup-thread': CleanupThreadPayload;
- 'terminate-all-threads': TerminateAllThreadsPayload;
- 'spawn-thread': SpawnThreadPayload;
-}
-
-/** @public */
-export declare type CommandType = keyof CommandPayloadMap;
-
-/** @public */
-export declare function createInstanceProxy(instance: WebAssembly.Instance, memory?: WebAssembly.Memory | (() => WebAssembly.Memory)): WebAssembly.Instance;
-
-/** @public */
-export declare function createNapiModule (
-options: CreateOptions
-): NapiModule
-
-/** @public */
-export declare type CreateOptions = BaseCreateOptions & ({
- context: Context
- childThread?: boolean
-} | {
- context?: Context
- childThread: true
-})
-
-/** @public */
-export declare interface CreateWorkerInfo {
- type: 'thread' | 'async-work'
- name: string
-}
-
-/** @public */
-export declare interface InitOptions {
- instance: WebAssembly.Instance
- module: WebAssembly.Module
- memory?: WebAssembly.Memory
- table?: WebAssembly.Table
-}
-
-export declare type InputType = string | URL | Response | BufferSource | WebAssembly.Module;
-
-/** @public */
-export declare interface InstantiatedSource extends LoadedSource {
- napiModule: NapiModule;
-}
-
-/** @public */
-export declare function instantiateNapiModule(
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options: InstantiateOptions): Promise;
-
-/** @public */
-export declare function instantiateNapiModuleSync(wasmInput: BufferSource | WebAssembly.Module, options: InstantiateOptions): InstantiatedSource;
-
-/** @public */
-export declare type InstantiateOptions = CreateOptions & LoadOptions;
-
-/** @public */
-export declare function isSharedArrayBuffer(value: any): value is SharedArrayBuffer;
-
-/** @public */
-export declare function isTrapError(e: Error): e is WebAssembly.RuntimeError;
-
-/** @public */
-export declare interface LoadedPayload {
-}
-
-/** @public */
-export declare interface LoadedSource extends WebAssembly.WebAssemblyInstantiatedSource {
- usedInstance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare function loadNapiModule(napiModule: NapiModule,
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options?: LoadOptions): Promise;
-
-/** @public */
-export declare function loadNapiModuleSync(napiModule: NapiModule, wasmInput: BufferSource | WebAssembly.Module, options?: LoadOptions): LoadedSource;
-
-/** @public */
-export declare interface LoadOptions {
- wasi?: WASIInstance;
- overwriteImports?: (importObject: WebAssembly.Imports) => WebAssembly.Imports;
- beforeInit?: (source: WebAssembly.WebAssemblyInstantiatedSource) => void;
- getMemory?: (exports: WebAssembly.Exports) => WebAssembly.Memory;
- getTable?: (exports: WebAssembly.Exports) => WebAssembly.Table;
-}
-
-/** @public */
-export declare interface LoadPayload {
- wasmModule: WebAssembly.Module;
- wasmMemory: WebAssembly.Memory;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface MainThreadBaseOptions extends BaseOptions {
- waitThreadStart?: boolean | number;
-}
-
-/** @public */
-export declare type MainThreadOptions = MainThreadOptionsWithThreadManager | MainThreadOptionsCreateThreadManager;
-
-/** @public */
-export declare interface MainThreadOptionsCreateThreadManager extends MainThreadBaseOptions, ThreadManagerOptionsMain {
-}
-
-/** @public */
-export declare interface MainThreadOptionsWithThreadManager extends MainThreadBaseOptions {
- threadManager?: ThreadManager | (() => ThreadManager);
-}
-
-/** @public */
-export declare interface MessageEventData {
- __emnapi__: CommandInfo;
-}
-
-/** @public */
-export declare class MessageHandler extends ThreadMessageHandler {
- napiModule: NapiModule | undefined;
- constructor(options: MessageHandlerOptions);
- instantiate(data: LoadPayload): InstantiatedSource | PromiseLike;
- handle(e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare interface MessageHandlerOptions extends ThreadMessageHandlerOptions {
- onLoad: (data: LoadPayload) => InstantiatedSource | PromiseLike;
-}
-
-/** @public */
-export declare interface NapiModule {
- imports: {
- env: any
- napi: any
- emnapi: any
- }
- exports: any
- loaded: boolean
- filename: string
- childThread: boolean
- emnapi: {
- syncMemory (
- js_to_wasm: boolean,
- arrayBufferOrView: T,
- offset?: number,
- len?: number
- ): T
- getMemoryAddress (arrayBufferOrView: ArrayBuffer | ArrayBufferView): PointerInfo
- addSendListener (worker: any): boolean
- }
-
- init (options: InitOptions): any
- initWorker (arg: number): void
- executeAsyncWork (work: number): void
- postMessage?: (msg: any) => any
-
- waitThreadStart: boolean | number
- /* Excluded from this release type: PThread */}
-
-/** @public */
-export declare interface NodeBinding {
- node: {
- emitAsyncInit: Function
- emitAsyncDestroy: Function
- makeCallback: Function
- }
- napi: {
- asyncInit: Function
- asyncDestroy: Function
- makeCallback: Function
- }
-}
-
-/** @public */
-export declare interface PointerInfo {
- address: number
- ownership: ReferenceOwnership
- runtimeAllocated: 0 | 1
-}
-
-/** @public */
-export declare interface ReuseWorkerOptions {
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size | PTHREAD_POOL_SIZE}
- */
- size: number;
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size-strict | PTHREAD_POOL_SIZE_STRICT}
- */
- strict?: boolean;
-}
-
-/** @public */
-export declare interface SpawnThreadPayload {
- startArg: number;
- errorOrTid: number;
-}
-
-/** @public */
-export declare interface StartPayload {
- tid: number;
- arg: number;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface StartResult {
- exitCode: number;
- instance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare interface TerminateAllThreadsPayload {
-}
-
-/** @public */
-export declare class ThreadManager {
- unusedWorkers: WorkerLike[];
- runningWorkers: WorkerLike[];
- pthreads: Record;
- get nextWorkerID(): number;
- wasmModule: WebAssembly.Module | null;
- wasmMemory: WebAssembly.Memory | null;
- private readonly messageEvents;
- private readonly _childThread;
- private readonly _onCreateWorker;
- private readonly _reuseWorker;
- private readonly _beforeLoad?;
- /* Excluded from this release type: printErr */
- constructor(options: ThreadManagerOptions);
- init(): void;
- initMainThread(): void;
- private preparePool;
- shouldPreloadWorkers(): boolean;
- loadWasmModuleToAllWorkers(): Promise;
- preloadWorkers(): Promise;
- setup(wasmModule: WebAssembly.Module, wasmMemory: WebAssembly.Memory): void;
- markId(worker: WorkerLike): number;
- returnWorkerToPool(worker: WorkerLike): void;
- loadWasmModuleToWorker(worker: WorkerLike, sab?: Int32Array): Promise;
- allocateUnusedWorker(): WorkerLike;
- getNewWorker(sab?: Int32Array): WorkerLike | undefined;
- cleanThread(worker: WorkerLike, tid: number, force?: boolean): void;
- terminateWorker(worker: WorkerLike): void;
- terminateAllThreads(): void;
- addMessageEventListener(worker: WorkerLike, onMessage: (e: WorkerMessageEvent) => void): () => void;
- fireMessageEvent(worker: WorkerLike, e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare type ThreadManagerOptions = ThreadManagerOptionsMain | ThreadManagerOptionsChild;
-
-/** @public */
-export declare interface ThreadManagerOptionsBase {
- printErr?: (message: string) => void;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsChild extends ThreadManagerOptionsBase {
- childThread: true;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsMain extends ThreadManagerOptionsBase {
- beforeLoad?: (worker: WorkerLike) => any;
- reuseWorker?: boolean | number | ReuseWorkerOptions;
- onCreateWorker: WorkerFactory;
- childThread?: false;
-}
-
-/** @public */
-export declare class ThreadMessageHandler {
- protected instance: WebAssembly.Instance | undefined;
- private messagesBeforeLoad;
- protected postMessage: (message: any) => void;
- protected onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- protected onError: (error: Error, type: WorkerMessageType) => void;
- constructor(options?: ThreadMessageHandlerOptions);
- /** @virtual */
- instantiate(data: LoadPayload): WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- /** @virtual */
- handle(e: WorkerMessageEvent>): void;
- private _load;
- private _start;
- protected _loaded(err: Error | null, source: WebAssembly.WebAssemblyInstantiatedSource | null, payload: LoadPayload): void;
- protected handleAfterLoad(e: E, f: (e: E) => void): void;
-}
-
-/** @public */
-export declare interface ThreadMessageHandlerOptions {
- onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- onError?: (error: Error, type: WorkerMessageType) => void;
- postMessage?: (message: any) => void;
-}
-
-export declare const version: string;
-
-/** @public */
-export declare interface WASIInstance {
- readonly wasiImport?: Record;
- initialize(instance: object): void;
- start(instance: object): number;
- getImportObject?(): any;
-}
-
-/** @public */
-export declare class WASIThreads {
- PThread: ThreadManager | undefined;
- private wasmMemory;
- private wasmInstance;
- private readonly threadSpawn;
- readonly childThread: boolean;
- private readonly postMessage;
- readonly wasi: WASIInstance;
- constructor(options: WASIThreadsOptions);
- getImportObject(): {
- wasi: WASIThreadsImports;
- };
- setup(wasmInstance: WebAssembly.Instance, wasmModule: WebAssembly.Module, wasmMemory?: WebAssembly.Memory): void;
- preloadWorkers(): Promise;
- /**
- * It's ok to call this method to a WASI command module.
- *
- * in child thread, must call this method instead of {@link WASIThreads.start} even if it's a WASI command module
- *
- * @returns A proxied WebAssembly instance if in child thread, other wise the original instance
- */
- initialize(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): WebAssembly.Instance;
- /**
- * Equivalent to calling {@link WASIThreads.initialize} and then calling {@link WASIInstance.start}
- * ```js
- * this.initialize(instance, module, memory)
- * this.wasi.start(instance)
- * ```
- */
- start(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): StartResult;
- terminateAllThreads(): void;
-}
-
-/** @public */
-export declare interface WASIThreadsImports {
- 'thread-spawn': (startArg: number, errorOrTid?: number) => number;
-}
-
-/** @public */
-export declare type WASIThreadsOptions = MainThreadOptions | ChildThreadOptions;
-
-/** @public */
-export declare type WorkerFactory = (ctx: {
- type: string;
- name: string;
-}) => WorkerLike;
-
-/** @public */
-export declare type WorkerLike = (Worker | Worker_2) & {
- whenLoaded?: Promise;
- loaded?: boolean;
- __emnapi_tid?: number;
-};
-
-/** @public */
-export declare interface WorkerMessageEvent {
- data: T;
-}
-
-/** @public */
-export declare type WorkerMessageType = 'load' | 'start';
-
-export { }
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.d.ts b/node_modules/@emnapi/core/dist/emnapi-core.d.ts
deleted file mode 100644
index dd2910d..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.d.ts
+++ /dev/null
@@ -1,421 +0,0 @@
-///
-
-import type { Context } from '@emnapi/runtime';
-import type { ReferenceOwnership } from '@emnapi/runtime';
-import type { Worker as Worker_2 } from 'worker_threads';
-
-/** @public */
-export declare type BaseCreateOptions = {
- filename?: string
- nodeBinding?: NodeBinding
- reuseWorker?: ThreadManagerOptionsMain['reuseWorker']
- asyncWorkPoolSize?: number
- waitThreadStart?: MainThreadBaseOptions['waitThreadStart']
- onCreateWorker?: (info: CreateWorkerInfo) => any
- print?: (str: string) => void
- printErr?: (str: string) => void
- postMessage?: (msg: any) => any
-}
-
-/** @public */
-export declare interface BaseOptions {
- wasi: WASIInstance;
- version?: 'preview1';
- wasm64?: boolean;
-}
-
-/** @public */
-export declare interface ChildThreadOptions extends BaseOptions {
- childThread: true;
- postMessage?: (data: any) => void;
-}
-
-/** @public */
-export declare interface CleanupThreadPayload {
- tid: number;
-}
-
-/** @public */
-export declare interface CommandInfo {
- type: T;
- payload: CommandPayloadMap[T];
-}
-
-/** @public */
-export declare interface CommandPayloadMap {
- load: LoadPayload;
- loaded: LoadedPayload;
- start: StartPayload;
- 'cleanup-thread': CleanupThreadPayload;
- 'terminate-all-threads': TerminateAllThreadsPayload;
- 'spawn-thread': SpawnThreadPayload;
-}
-
-/** @public */
-export declare type CommandType = keyof CommandPayloadMap;
-
-/** @public */
-export declare function createInstanceProxy(instance: WebAssembly.Instance, memory?: WebAssembly.Memory | (() => WebAssembly.Memory)): WebAssembly.Instance;
-
-/** @public */
-export declare function createNapiModule (
-options: CreateOptions
-): NapiModule
-
-/** @public */
-export declare type CreateOptions = BaseCreateOptions & ({
- context: Context
- childThread?: boolean
-} | {
- context?: Context
- childThread: true
-})
-
-/** @public */
-export declare interface CreateWorkerInfo {
- type: 'thread' | 'async-work'
- name: string
-}
-
-/** @public */
-export declare interface InitOptions {
- instance: WebAssembly.Instance
- module: WebAssembly.Module
- memory?: WebAssembly.Memory
- table?: WebAssembly.Table
-}
-
-export declare type InputType = string | URL | Response | BufferSource | WebAssembly.Module;
-
-/** @public */
-export declare interface InstantiatedSource extends LoadedSource {
- napiModule: NapiModule;
-}
-
-/** @public */
-export declare function instantiateNapiModule(
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options: InstantiateOptions): Promise;
-
-/** @public */
-export declare function instantiateNapiModuleSync(wasmInput: BufferSource | WebAssembly.Module, options: InstantiateOptions): InstantiatedSource;
-
-/** @public */
-export declare type InstantiateOptions = CreateOptions & LoadOptions;
-
-/** @public */
-export declare function isSharedArrayBuffer(value: any): value is SharedArrayBuffer;
-
-/** @public */
-export declare function isTrapError(e: Error): e is WebAssembly.RuntimeError;
-
-/** @public */
-export declare interface LoadedPayload {
-}
-
-/** @public */
-export declare interface LoadedSource extends WebAssembly.WebAssemblyInstantiatedSource {
- usedInstance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare function loadNapiModule(napiModule: NapiModule,
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options?: LoadOptions): Promise;
-
-/** @public */
-export declare function loadNapiModuleSync(napiModule: NapiModule, wasmInput: BufferSource | WebAssembly.Module, options?: LoadOptions): LoadedSource;
-
-/** @public */
-export declare interface LoadOptions {
- wasi?: WASIInstance;
- overwriteImports?: (importObject: WebAssembly.Imports) => WebAssembly.Imports;
- beforeInit?: (source: WebAssembly.WebAssemblyInstantiatedSource) => void;
- getMemory?: (exports: WebAssembly.Exports) => WebAssembly.Memory;
- getTable?: (exports: WebAssembly.Exports) => WebAssembly.Table;
-}
-
-/** @public */
-export declare interface LoadPayload {
- wasmModule: WebAssembly.Module;
- wasmMemory: WebAssembly.Memory;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface MainThreadBaseOptions extends BaseOptions {
- waitThreadStart?: boolean | number;
-}
-
-/** @public */
-export declare type MainThreadOptions = MainThreadOptionsWithThreadManager | MainThreadOptionsCreateThreadManager;
-
-/** @public */
-export declare interface MainThreadOptionsCreateThreadManager extends MainThreadBaseOptions, ThreadManagerOptionsMain {
-}
-
-/** @public */
-export declare interface MainThreadOptionsWithThreadManager extends MainThreadBaseOptions {
- threadManager?: ThreadManager | (() => ThreadManager);
-}
-
-/** @public */
-export declare interface MessageEventData {
- __emnapi__: CommandInfo;
-}
-
-/** @public */
-export declare class MessageHandler extends ThreadMessageHandler {
- napiModule: NapiModule | undefined;
- constructor(options: MessageHandlerOptions);
- instantiate(data: LoadPayload): InstantiatedSource | PromiseLike;
- handle(e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare interface MessageHandlerOptions extends ThreadMessageHandlerOptions {
- onLoad: (data: LoadPayload) => InstantiatedSource | PromiseLike;
-}
-
-/** @public */
-export declare interface NapiModule {
- imports: {
- env: any
- napi: any
- emnapi: any
- }
- exports: any
- loaded: boolean
- filename: string
- childThread: boolean
- emnapi: {
- syncMemory (
- js_to_wasm: boolean,
- arrayBufferOrView: T,
- offset?: number,
- len?: number
- ): T
- getMemoryAddress (arrayBufferOrView: ArrayBuffer | ArrayBufferView): PointerInfo
- addSendListener (worker: any): boolean
- }
-
- init (options: InitOptions): any
- initWorker (arg: number): void
- executeAsyncWork (work: number): void
- postMessage?: (msg: any) => any
-
- waitThreadStart: boolean | number
- /* Excluded from this release type: PThread */}
-
-/** @public */
-export declare interface NodeBinding {
- node: {
- emitAsyncInit: Function
- emitAsyncDestroy: Function
- makeCallback: Function
- }
- napi: {
- asyncInit: Function
- asyncDestroy: Function
- makeCallback: Function
- }
-}
-
-/** @public */
-export declare interface PointerInfo {
- address: number
- ownership: ReferenceOwnership
- runtimeAllocated: 0 | 1
-}
-
-/** @public */
-export declare interface ReuseWorkerOptions {
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size | PTHREAD_POOL_SIZE}
- */
- size: number;
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size-strict | PTHREAD_POOL_SIZE_STRICT}
- */
- strict?: boolean;
-}
-
-/** @public */
-export declare interface SpawnThreadPayload {
- startArg: number;
- errorOrTid: number;
-}
-
-/** @public */
-export declare interface StartPayload {
- tid: number;
- arg: number;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface StartResult {
- exitCode: number;
- instance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare interface TerminateAllThreadsPayload {
-}
-
-/** @public */
-export declare class ThreadManager {
- unusedWorkers: WorkerLike[];
- runningWorkers: WorkerLike[];
- pthreads: Record;
- get nextWorkerID(): number;
- wasmModule: WebAssembly.Module | null;
- wasmMemory: WebAssembly.Memory | null;
- private readonly messageEvents;
- private readonly _childThread;
- private readonly _onCreateWorker;
- private readonly _reuseWorker;
- private readonly _beforeLoad?;
- /* Excluded from this release type: printErr */
- constructor(options: ThreadManagerOptions);
- init(): void;
- initMainThread(): void;
- private preparePool;
- shouldPreloadWorkers(): boolean;
- loadWasmModuleToAllWorkers(): Promise;
- preloadWorkers(): Promise;
- setup(wasmModule: WebAssembly.Module, wasmMemory: WebAssembly.Memory): void;
- markId(worker: WorkerLike): number;
- returnWorkerToPool(worker: WorkerLike): void;
- loadWasmModuleToWorker(worker: WorkerLike, sab?: Int32Array): Promise;
- allocateUnusedWorker(): WorkerLike;
- getNewWorker(sab?: Int32Array): WorkerLike | undefined;
- cleanThread(worker: WorkerLike, tid: number, force?: boolean): void;
- terminateWorker(worker: WorkerLike): void;
- terminateAllThreads(): void;
- addMessageEventListener(worker: WorkerLike, onMessage: (e: WorkerMessageEvent) => void): () => void;
- fireMessageEvent(worker: WorkerLike, e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare type ThreadManagerOptions = ThreadManagerOptionsMain | ThreadManagerOptionsChild;
-
-/** @public */
-export declare interface ThreadManagerOptionsBase {
- printErr?: (message: string) => void;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsChild extends ThreadManagerOptionsBase {
- childThread: true;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsMain extends ThreadManagerOptionsBase {
- beforeLoad?: (worker: WorkerLike) => any;
- reuseWorker?: boolean | number | ReuseWorkerOptions;
- onCreateWorker: WorkerFactory;
- childThread?: false;
-}
-
-/** @public */
-export declare class ThreadMessageHandler {
- protected instance: WebAssembly.Instance | undefined;
- private messagesBeforeLoad;
- protected postMessage: (message: any) => void;
- protected onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- protected onError: (error: Error, type: WorkerMessageType) => void;
- constructor(options?: ThreadMessageHandlerOptions);
- /** @virtual */
- instantiate(data: LoadPayload): WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- /** @virtual */
- handle(e: WorkerMessageEvent>): void;
- private _load;
- private _start;
- protected _loaded(err: Error | null, source: WebAssembly.WebAssemblyInstantiatedSource | null, payload: LoadPayload): void;
- protected handleAfterLoad(e: E, f: (e: E) => void): void;
-}
-
-/** @public */
-export declare interface ThreadMessageHandlerOptions {
- onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- onError?: (error: Error, type: WorkerMessageType) => void;
- postMessage?: (message: any) => void;
-}
-
-export declare const version: string;
-
-/** @public */
-export declare interface WASIInstance {
- readonly wasiImport?: Record;
- initialize(instance: object): void;
- start(instance: object): number;
- getImportObject?(): any;
-}
-
-/** @public */
-export declare class WASIThreads {
- PThread: ThreadManager | undefined;
- private wasmMemory;
- private wasmInstance;
- private readonly threadSpawn;
- readonly childThread: boolean;
- private readonly postMessage;
- readonly wasi: WASIInstance;
- constructor(options: WASIThreadsOptions);
- getImportObject(): {
- wasi: WASIThreadsImports;
- };
- setup(wasmInstance: WebAssembly.Instance, wasmModule: WebAssembly.Module, wasmMemory?: WebAssembly.Memory): void;
- preloadWorkers(): Promise;
- /**
- * It's ok to call this method to a WASI command module.
- *
- * in child thread, must call this method instead of {@link WASIThreads.start} even if it's a WASI command module
- *
- * @returns A proxied WebAssembly instance if in child thread, other wise the original instance
- */
- initialize(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): WebAssembly.Instance;
- /**
- * Equivalent to calling {@link WASIThreads.initialize} and then calling {@link WASIInstance.start}
- * ```js
- * this.initialize(instance, module, memory)
- * this.wasi.start(instance)
- * ```
- */
- start(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): StartResult;
- terminateAllThreads(): void;
-}
-
-/** @public */
-export declare interface WASIThreadsImports {
- 'thread-spawn': (startArg: number, errorOrTid?: number) => number;
-}
-
-/** @public */
-export declare type WASIThreadsOptions = MainThreadOptions | ChildThreadOptions;
-
-/** @public */
-export declare type WorkerFactory = (ctx: {
- type: string;
- name: string;
-}) => WorkerLike;
-
-/** @public */
-export declare type WorkerLike = (Worker | Worker_2) & {
- whenLoaded?: Promise;
- loaded?: boolean;
- __emnapi_tid?: number;
-};
-
-/** @public */
-export declare interface WorkerMessageEvent {
- data: T;
-}
-
-/** @public */
-export declare type WorkerMessageType = 'load' | 'start';
-
-export { }
-
-export as namespace emnapiCore;
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js b/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js
deleted file mode 100644
index 9d4947b..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js
+++ /dev/null
@@ -1,7649 +0,0 @@
-import { ThreadManager, WASIThreads, ThreadMessageHandler } from '@emnapi/wasi-threads';
-export * from '@emnapi/wasi-threads';
-import { __extends, __assign } from 'tslib';
-
-/* eslint-disable no-undef */
-var _WebAssembly = typeof WebAssembly !== 'undefined'
- ? WebAssembly
- : typeof WXWebAssembly !== 'undefined'
- ? WXWebAssembly
- : undefined;
-function validateImports(imports) {
- if (imports && typeof imports !== 'object') {
- throw new TypeError('imports must be an object or undefined');
- }
- return true;
-}
-function load(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- // Promise
- try {
- var then = typeof wasmInput === 'object' && wasmInput !== null && 'then' in wasmInput ? wasmInput.then : undefined;
- if (typeof then === 'function') {
- return then.call(wasmInput, function (input) { return load(input, imports); });
- }
- }
- catch (_) { }
- // BufferSource
- if (wasmInput instanceof ArrayBuffer || ArrayBuffer.isView(wasmInput)) {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- // WebAssembly.Module
- if (wasmInput instanceof _WebAssembly.Module) {
- return _WebAssembly.instantiate(wasmInput, imports).then(function (instance) {
- return { instance: instance, module: wasmInput };
- });
- }
- // Response
- if (typeof Response !== 'undefined' && wasmInput instanceof Response) {
- return wasmInput.arrayBuffer().then(function (buffer) {
- return _WebAssembly.instantiate(buffer, imports);
- });
- }
- // string | URL
- var inputIsString = typeof wasmInput === 'string';
- if (inputIsString || (typeof URL !== 'undefined' && wasmInput instanceof URL)) {
- if (inputIsString && typeof wx !== 'undefined' && typeof __wxConfig !== 'undefined') {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- if (typeof fetch !== 'function') {
- throw new TypeError('wasm source can not be a string or URL in this environment');
- }
- if (typeof _WebAssembly.instantiateStreaming === 'function') {
- try {
- return _WebAssembly.instantiateStreaming(fetch(wasmInput), imports).catch(function () {
- return load(fetch(wasmInput), imports);
- });
- }
- catch (_) {
- return load(fetch(wasmInput), imports);
- }
- }
- else {
- return load(fetch(wasmInput), imports);
- }
- }
- throw new TypeError('Invalid wasm source');
-}
-function loadSync(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- var module;
- if ((wasmInput instanceof ArrayBuffer) || ArrayBuffer.isView(wasmInput)) {
- module = new _WebAssembly.Module(wasmInput);
- }
- else if (wasmInput instanceof WebAssembly.Module) {
- module = wasmInput;
- }
- else {
- throw new TypeError('Invalid wasm source');
- }
- var instance = new _WebAssembly.Instance(module, imports);
- var source = { instance: instance, module: module };
- return source;
-}
-
-function createNapiModule(options) {
- var napiModule = (function () {
- var ENVIRONMENT_IS_NODE = typeof process === 'object' && process !== null && typeof process.versions === 'object' && process.versions !== null && typeof process.versions.node === 'string';
- var ENVIRONMENT_IS_PTHREAD = Boolean(options.childThread);
- var waitThreadStart = typeof options.waitThreadStart === 'number' ? options.waitThreadStart : Boolean(options.waitThreadStart);
- var wasmInstance;
- var wasmMemory;
- var wasmTable;
- var _malloc;
- var _free;
- function abort(msg) {
- if (typeof _WebAssembly.RuntimeError === 'function') {
- throw new _WebAssembly.RuntimeError(msg);
- }
- throw Error(msg);
- }
- var napiModule = {
- imports: {
- env: {},
- napi: {},
- emnapi: {}
- },
- exports: {},
- emnapi: {},
- loaded: false,
- filename: '',
- childThread: ENVIRONMENT_IS_PTHREAD,
- initWorker: undefined,
- executeAsyncWork: undefined,
- waitThreadStart: waitThreadStart,
- PThread: undefined,
- init: function (options) {
- if (napiModule.loaded)
- return napiModule.exports;
- if (!options)
- throw new TypeError('Invalid napi init options');
- var instance = options.instance;
- if (!(instance === null || instance === void 0 ? void 0 : instance.exports))
- throw new TypeError('Invalid wasm instance');
- wasmInstance = instance;
- var exports$1 = instance.exports;
- var module = options.module;
- var memory = options.memory || exports$1.memory;
- var table = options.table || exports$1.__indirect_function_table;
- if (!(module instanceof _WebAssembly.Module))
- throw new TypeError('Invalid wasm module');
- if (!(memory instanceof _WebAssembly.Memory))
- throw new TypeError('Invalid wasm memory');
- if (!(table instanceof _WebAssembly.Table))
- throw new TypeError('Invalid wasm table');
- wasmMemory = memory;
- wasmTable = table;
- if (typeof exports$1.malloc !== 'function')
- throw new TypeError('malloc is not exported');
- if (typeof exports$1.free !== 'function')
- throw new TypeError('free is not exported');
- _malloc = exports$1.malloc;
- _free = exports$1.free;
- if (!napiModule.childThread) {
- // main thread only
- var moduleApiVersion = 8 /* Version.NODE_API_DEFAULT_MODULE_API_VERSION */;
- var node_api_module_get_api_version_v1 = instance.exports.node_api_module_get_api_version_v1;
- if (typeof node_api_module_get_api_version_v1 === 'function') {
- moduleApiVersion = node_api_module_get_api_version_v1();
- }
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- var envObject = napiModule.envObject || (napiModule.envObject = emnapiCtx.createEnv(napiModule.filename, moduleApiVersion, function (cb) { return (wasmTable.get(cb)); }, function (cb) { return (wasmTable.get(cb)); }, abort, emnapiNodeBinding));
- var scope_1 = emnapiCtx.openScope(envObject);
- try {
- envObject.callIntoModule(function (_envObject) {
- var exports$1 = napiModule.exports;
- var exportsHandle = scope_1.add(exports$1);
- var napi_register_wasm_v1 = instance.exports.napi_register_wasm_v1;
- var napiValue = napi_register_wasm_v1(_envObject.id, exportsHandle.id);
- napiModule.exports = (!napiValue) ? exports$1 : emnapiCtx.handleStore.get(napiValue).value;
- });
- }
- catch (e) {
- if (e !== 'unwind') {
- throw e;
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope_1);
- }
- napiModule.loaded = true;
- delete napiModule.envObject;
- return napiModule.exports;
- }
- }
- };
- var emnapiCtx;
- var emnapiNodeBinding;
- var onCreateWorker = undefined;
- var err;
- if (!ENVIRONMENT_IS_PTHREAD) {
- var context = options.context;
- if (typeof context !== 'object' || context === null) {
- throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");
- }
- emnapiCtx = context;
- }
- else {
- emnapiCtx = options === null || options === void 0 ? void 0 : options.context;
- var postMsg = typeof options.postMessage === 'function'
- ? options.postMessage
- : typeof postMessage === 'function'
- ? postMessage
- : undefined;
- if (typeof postMsg !== 'function') {
- throw new TypeError('No postMessage found');
- }
- napiModule.postMessage = postMsg;
- }
- if (typeof options.filename === 'string') {
- napiModule.filename = options.filename;
- }
- if (typeof options.onCreateWorker === 'function') {
- onCreateWorker = options.onCreateWorker;
- }
- if (typeof options.print === 'function') {
- options.print;
- }
- else {
- console.log.bind(console);
- }
- if (typeof options.printErr === 'function') {
- err = options.printErr;
- }
- else {
- err = console.warn.bind(console);
- }
- if ('nodeBinding' in options) {
- var nodeBinding = options.nodeBinding;
- if (typeof nodeBinding !== 'object' || nodeBinding === null) {
- throw new TypeError('Invalid `options.nodeBinding`. Use @emnapi/node-binding package');
- }
- emnapiNodeBinding = nodeBinding;
- }
- var emnapiAsyncWorkPoolSize = 0;
- if ('asyncWorkPoolSize' in options) {
- if (typeof options.asyncWorkPoolSize !== 'number') {
- throw new TypeError('options.asyncWorkPoolSize must be a integer');
- }
- emnapiAsyncWorkPoolSize = options.asyncWorkPoolSize >> 0;
- if (emnapiAsyncWorkPoolSize > 1024) {
- emnapiAsyncWorkPoolSize = 1024;
- }
- else if (emnapiAsyncWorkPoolSize < -1024) {
- emnapiAsyncWorkPoolSize = -1024;
- }
- }
- var singleThreadAsyncWork = ENVIRONMENT_IS_PTHREAD ? false : (emnapiAsyncWorkPoolSize <= 0);
- function _emnapi_async_work_pool_size() {
- return Math.abs(emnapiAsyncWorkPoolSize);
- }
- napiModule.imports.env._emnapi_async_work_pool_size = _emnapi_async_work_pool_size;
- // ------------------------------ pthread -------------------------------
- function emnapiAddSendListener(worker) {
- if (!worker)
- return false;
- if (worker._emnapiSendListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-send') {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({ __emnapi__: __emnapi__ });
- }
- else {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var callback = __emnapi__.payload.callback;
- (wasmTable.get(callback))(__emnapi__.payload.data);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiSendListener;
- };
- worker._emnapiSendListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- }
- napiModule.emnapi.addSendListener = emnapiAddSendListener;
- var PThread = new ThreadManager(ENVIRONMENT_IS_PTHREAD
- ? {
- printErr: err,
- childThread: true
- }
- : {
- printErr: err,
- beforeLoad: function (worker) {
- emnapiAddSendListener(worker);
- },
- reuseWorker: options.reuseWorker,
- onCreateWorker: onCreateWorker
- });
- napiModule.PThread = PThread;
- /**
- * @__sig ipiip
- */
- function napi_set_last_error(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.setLastError(error_code, engine_error_code, engine_reserved);
- }
- /**
- * @__sig ip
- */
- function napi_clear_last_error(env) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.clearLastError();
- }
- /**
- * @__sig vppp
- */
- function _emnapi_get_node_version(major, minor, patch) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var versions = (typeof process === 'object' && process !== null &&
- typeof process.versions === 'object' && process.versions !== null &&
- typeof process.versions.node === 'string')
- ? process.versions.node.split('.').map(function (n) { return Number(n); })
- : [0, 0, 0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(major, versions[0], true);
- HEAP_DATA_VIEW.setUint32(minor, versions[1], true);
- HEAP_DATA_VIEW.setUint32(patch, versions[2], true);
- }
- /**
- * @__sig v
- * @__deps $runtimeKeepalivePush
- */
- function _emnapi_runtime_keepalive_push() {
- }
- /**
- * @__sig v
- * @__deps $runtimeKeepalivePop
- */
- function _emnapi_runtime_keepalive_pop() {
- }
- /**
- * @__sig vpp
- */
- function _emnapi_set_immediate(callback, data) {
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(callback))(data);
- });
- }
- /**
- * @__sig vpp
- */
- function _emnapi_next_tick(callback, data) {
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- Promise.resolve().then(function () {
- (wasmTable.get(callback))(data);
- });
- }
- /**
- * @__sig vipppi
- */
- function _emnapi_callback_into_module(forceUncaught, env, callback, data, close_scope_if_throw) {
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(Boolean(forceUncaught), function () {
- (wasmTable.get(callback))(env, data);
- });
- }
- catch (err) {
- emnapiCtx.closeScope(envObject, scope);
- if (close_scope_if_throw) {
- emnapiCtx.closeScope(envObject);
- }
- throw err;
- }
- emnapiCtx.closeScope(envObject, scope);
- }
- /**
- * @__sig vipppp
- */
- function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
- }
- /**
- * @__sig v
- */
- function _emnapi_ctx_increase_waiting_request_counter() {
- emnapiCtx.increaseWaitingRequestCounter();
- }
- /**
- * @__sig v
- */
- function _emnapi_ctx_decrease_waiting_request_counter() {
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- /**
- * @__sig i
- */
- function _emnapi_is_main_runtime_thread() {
- return ENVIRONMENT_IS_PTHREAD ? 0 : 1;
- }
- /**
- * @__sig i
- */
- function _emnapi_is_main_browser_thread() {
- return (typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE) ? 1 : 0;
- }
- /**
- * @__sig v
- */
- function _emnapi_unwind() {
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
- throw 'unwind';
- }
- /**
- * @__sig d
- */
- function _emnapi_get_now() {
- return performance.timeOrigin + performance.now();
- }
- function $emnapiSetValueI64(result, numberValue) {
- var tempDouble;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var tempI64 = [
- numberValue >>> 0,
- (tempDouble = numberValue, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
- ];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, tempI64[0], true);
- HEAP_DATA_VIEW.setInt32(result + 4, tempI64[1], true);
- }
- /**
- * @__deps $emnapiCtx
- * @__sig p
- */
- function _emnapi_open_handle_scope() {
- return emnapiCtx.openScope().id;
- }
- /**
- * @__deps $emnapiCtx
- * @__sig vp
- */
- function _emnapi_close_handle_scope(_scope) {
- return emnapiCtx.closeScope();
- }
- var utilMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- $emnapiSetValueI64: $emnapiSetValueI64,
- _emnapi_call_finalizer: _emnapi_call_finalizer,
- _emnapi_callback_into_module: _emnapi_callback_into_module,
- _emnapi_close_handle_scope: _emnapi_close_handle_scope,
- _emnapi_ctx_decrease_waiting_request_counter: _emnapi_ctx_decrease_waiting_request_counter,
- _emnapi_ctx_increase_waiting_request_counter: _emnapi_ctx_increase_waiting_request_counter,
- _emnapi_get_node_version: _emnapi_get_node_version,
- _emnapi_get_now: _emnapi_get_now,
- _emnapi_is_main_browser_thread: _emnapi_is_main_browser_thread,
- _emnapi_is_main_runtime_thread: _emnapi_is_main_runtime_thread,
- _emnapi_next_tick: _emnapi_next_tick,
- _emnapi_open_handle_scope: _emnapi_open_handle_scope,
- _emnapi_runtime_keepalive_pop: _emnapi_runtime_keepalive_pop,
- _emnapi_runtime_keepalive_push: _emnapi_runtime_keepalive_push,
- _emnapi_set_immediate: _emnapi_set_immediate,
- _emnapi_unwind: _emnapi_unwind,
- napi_clear_last_error: napi_clear_last_error,
- napi_set_last_error: napi_set_last_error
- });
- function emnapiGetWorkerByPthreadPtr(pthreadPtr) {
- var view = new DataView(wasmMemory.buffer);
- /**
- * wasi-sdk-20.0+threads
- *
- * struct pthread {
- * struct pthread *self; // 0
- * struct pthread *prev, *next; // 4, 8
- * uintptr_t sysinfo; // 12
- * uintptr_t canary; // 16
- * int tid; // 20
- * // ...
- * }
- */
- var tidOffset = 20;
- var tid = view.getInt32(pthreadPtr + tidOffset, true);
- var worker = PThread.pthreads[tid];
- return worker;
- }
- /** @__sig vp */
- function _emnapi_worker_unref(pthreadPtr) {
- if (ENVIRONMENT_IS_PTHREAD)
- return;
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- }
- /** @__sig vipp */
- function _emnapi_async_send_js(type, callback, data) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-send',
- payload: {
- callback: callback,
- data: data
- }
- }
- });
- }
- else {
- switch (type) {
- case 0:
- _emnapi_set_immediate(callback, data);
- break;
- case 1:
- _emnapi_next_tick(callback, data);
- break;
- }
- }
- }
- // function ptrToString (ptr: number): string {
- // return '0x' + ('00000000' + ptr.toString(16)).slice(-8)
- // }
- var uvThreadpoolReadyResolve;
- var uvThreadpoolReady = new Promise(function (resolve) {
- uvThreadpoolReadyResolve = function () {
- uvThreadpoolReady.ready = true;
- resolve();
- };
- });
- uvThreadpoolReady.ready = false;
- /** @__sig vppi */
- function _emnapi_after_uvthreadpool_ready(callback, q, type) {
- if (uvThreadpoolReady.ready) {
- (wasmTable.get(callback))(q, type);
- }
- else {
- uvThreadpoolReady.then(function () {
- (wasmTable.get(callback))(q, type);
- });
- }
- }
- /** @__sig vpi */
- function _emnapi_tell_js_uvthreadpool(threads, size) {
- var p = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var _loop_1 = function (i) {
- var pthreadPtr = HEAP_DATA_VIEW.getUint32(threads + i * 4, true);
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- p.push(new Promise(function (resolve) {
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-thread-ready') {
- resolve();
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler);
- }
- }
- };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler);
- }
- }));
- };
- for (var i = 0; i < size; i++) {
- _loop_1(i);
- }
- Promise.all(p).then(uvThreadpoolReadyResolve);
- }
- /** @__sig v */
- function _emnapi_emit_async_thread_ready() {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-thread-ready',
- payload: {}
- }
- });
- }
- var asyncMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_after_uvthreadpool_ready: _emnapi_after_uvthreadpool_ready,
- _emnapi_async_send_js: _emnapi_async_send_js,
- _emnapi_emit_async_thread_ready: _emnapi_emit_async_thread_ready,
- _emnapi_tell_js_uvthreadpool: _emnapi_tell_js_uvthreadpool,
- _emnapi_worker_unref: _emnapi_worker_unref
- });
- /* eslint-disable @typescript-eslint/indent */
- /** @__sig ipjp */
- function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!adjusted_value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var change_in_bytes_number = Number(change_in_bytes);
- if (change_in_bytes_number < 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var old_size = wasmMemory.buffer.byteLength;
- var new_size = old_size + change_in_bytes_number;
- new_size = new_size + ((65536 - new_size % 65536) % 65536);
- if (wasmMemory.grow((new_size - old_size + 65535) >> 16) === -1) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (emnapiCtx.feature.supportBigInt) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(wasmMemory.buffer.byteLength), true);
- }
- else {
- $emnapiSetValueI64(adjusted_value, wasmMemory.buffer.byteLength);
- }
- return envObject.clearLastError();
- }
- var memoryMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_adjust_external_memory: napi_adjust_external_memory
- });
- /**
- * @__postset
- * ```
- * emnapiAWST.init();
- * ```
- */
- var emnapiAWST = {
- idGen: {},
- values: [undefined],
- queued: new Set(),
- pending: [],
- init: function () {
- var idGen = {
- nextId: 1,
- list: [],
- generate: function () {
- var id;
- if (idGen.list.length) {
- id = idGen.list.shift();
- }
- else {
- id = idGen.nextId;
- idGen.nextId++;
- }
- return id;
- },
- reuse: function (id) {
- idGen.list.push(id);
- }
- };
- emnapiAWST.idGen = idGen;
- emnapiAWST.values = [undefined];
- emnapiAWST.queued = new Set();
- emnapiAWST.pending = [];
- },
- create: function (env, resource, resourceName, execute, complete, data) {
- var asyncId = 0;
- var triggerAsyncId = 0;
- if (emnapiNodeBinding) {
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resourceName, -1);
- asyncId = asyncContext.asyncId;
- triggerAsyncId = asyncContext.triggerAsyncId;
- }
- var id = emnapiAWST.idGen.generate();
- emnapiAWST.values[id] = {
- env: env,
- id: id,
- resource: resource,
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId,
- status: 0,
- execute: execute,
- complete: complete,
- data: data
- };
- return id;
- },
- callComplete: function (work, status) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var complete = work.complete;
- var env = work.env;
- var data = work.data;
- var callback = function () {
- if (!complete)
- return;
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- };
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.makeCallback(work.resource, callback, [], {
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- else {
- callback();
- }
- },
- queue: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (work.status === 0) {
- work.status = 1;
- if (emnapiAWST.queued.size >= (Math.abs(emnapiAsyncWorkPoolSize) || 4)) {
- emnapiAWST.pending.push(id);
- return;
- }
- emnapiAWST.queued.add(id);
- var env_1 = work.env;
- var data_1 = work.data;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var execute = work.execute;
- work.status = 2;
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(execute))(env_1, data_1);
- emnapiAWST.queued.delete(id);
- work.status = 3;
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work, 0 /* napi_status.napi_ok */);
- });
- if (emnapiAWST.pending.length > 0) {
- var nextWorkId = emnapiAWST.pending.shift();
- emnapiAWST.values[nextWorkId].status = 0;
- emnapiAWST.queue(nextWorkId);
- }
- });
- }
- },
- cancel: function (id) {
- var index = emnapiAWST.pending.indexOf(id);
- if (index !== -1) {
- var work_1 = emnapiAWST.values[id];
- if (work_1 && (work_1.status === 1)) {
- work_1.status = 4;
- emnapiAWST.pending.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work_1, 11 /* napi_status.napi_cancelled */);
- });
- return 0 /* napi_status.napi_ok */;
- }
- else {
- return 9 /* napi_status.napi_generic_failure */;
- }
- }
- return 9 /* napi_status.napi_generic_failure */;
- },
- remove: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- emnapiAWST.values[id] = undefined;
- emnapiAWST.idGen.reuse(id);
- }
- };
- /** @__sig vppdp */
- function _emnapi_node_emit_async_init(async_resource, async_resource_name, trigger_async_id, result) {
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var resource_name = emnapiCtx.handleStore.get(async_resource_name).value;
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resource_name, trigger_async_id);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var asyncId = asyncContext.asyncId;
- var triggerAsyncId = asyncContext.triggerAsyncId;
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
- HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
- }
- }
- /** @__sig vdd */
- function _emnapi_node_emit_async_destroy(async_id, trigger_async_id) {
- if (!emnapiNodeBinding)
- return;
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- }
- /* vpddp export function _emnapi_node_open_callback_scope (async_resource: napi_value, async_id: double, trigger_async_id: double, result: Pointer): void {
- if (!emnapiNodeBinding || !result) return
- const resource = emnapiCtx.handleStore.get(async_resource)!.value
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const nativeCallbackScopePointer = emnapiNodeBinding.node.openCallbackScope(resource, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- })
-
- from64('result')
- $_TODO_makeSetValue('result', 0, 'nativeCallbackScopePointer', 'i64')
- }
-
- vp
- export function _emnapi_node_close_callback_scope (scope: Pointer): void {
- if (!emnapiNodeBinding || !scope) return
- from64('scope')
- const nativeCallbackScopePointer = $_TODO_makeGetValue('scope', 0, 'i64')
- emnapiNodeBinding.node.closeCallbackScope(BigInt(nativeCallbackScopePointer))
- } */
- /** @__sig ipppppddp */
- function _emnapi_node_make_callback(env, async_resource, cb, argv, size, async_id, trigger_async_id, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var callback = emnapiCtx.handleStore.get(cb).value;
- size = size >>> 0;
- var arr = Array(size);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < size; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.node.makeCallback(resource, callback, arr, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- if (result) {
- var envObject = emnapiCtx.envStore.get(env);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- }
- /** @__sig ippp */
- function _emnapi_async_init_js(async_resource, async_resource_name, result) {
- if (!emnapiNodeBinding) {
- return 9 /* napi_status.napi_generic_failure */;
- }
- var resource;
- if (async_resource) {
- resource = Object(emnapiCtx.handleStore.get(async_resource).value);
- }
- var name = emnapiCtx.handleStore.get(async_resource_name).value;
- var ret = emnapiNodeBinding.napi.asyncInit(resource, name);
- if (ret.status !== 0)
- return ret.status;
- var numberValue = ret.value;
- if (!((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63))))) {
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ip */
- function _emnapi_async_destroy_js(async_context) {
- if (!emnapiNodeBinding) {
- return 9 /* napi_status.napi_generic_failure */;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var pointer = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- var ret = emnapiNodeBinding.napi.asyncDestroy(pointer);
- if (ret.status !== 0)
- return ret.status;
- return 0 /* napi_status.napi_ok */;
- }
- // https://github.com/nodejs/node-addon-api/pull/1283
- /** @__sig ipppp */
- function napi_open_callback_scope(env, ignored, async_context_handle, result) {
- throw new Error('napi_open_callback_scope has not been implemented yet');
- }
- /** @__sig ipp */
- function napi_close_callback_scope(env, scope) {
- throw new Error('napi_close_callback_scope has not been implemented yet');
- }
- /** @__sig ippppppp */
- function napi_make_callback(env, async_context, recv, func, argc, argv, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiNodeBinding) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!recv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8recv = Object(emnapiCtx.handleStore.get(recv).value);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var ctx = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- argc = argc >>> 0;
- var arr = Array(argc);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.napi.makeCallback(ctx, v8recv, v8func, arr);
- if (ret.error) {
- throw ret.error;
- }
- if (ret.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(ret.status);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(ret.value);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig vp */
- function _emnapi_env_check_gc_access(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- }
- var nodeMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_async_destroy_js: _emnapi_async_destroy_js,
- _emnapi_async_init_js: _emnapi_async_init_js,
- _emnapi_env_check_gc_access: _emnapi_env_check_gc_access,
- _emnapi_node_emit_async_destroy: _emnapi_node_emit_async_destroy,
- _emnapi_node_emit_async_init: _emnapi_node_emit_async_init,
- _emnapi_node_make_callback: _emnapi_node_make_callback,
- napi_close_callback_scope: napi_close_callback_scope,
- napi_make_callback: napi_make_callback,
- napi_open_callback_scope: napi_open_callback_scope
- });
- /**
- * @__deps malloc
- * @__deps free
- * @__postset
- * ```
- * emnapiTSFN.init();
- * ```
- */
- var emnapiTSFN = {
- offset: {
- /* napi_ref */ resource: 0,
- /* double */ async_id: 8,
- /* double */ trigger_async_id: 16,
- /* size_t */ queue_size: 24,
- /* void* */ queue: 1 * 4 + 24,
- /* size_t */ thread_count: 2 * 4 + 24,
- /* bool */ is_closing: 3 * 4 + 24,
- /* atomic_uchar */ dispatch_state: 3 * 4 + 28,
- /* void* */ context: 3 * 4 + 32,
- /* size_t */ max_queue_size: 4 * 4 + 32,
- /* napi_ref */ ref: 5 * 4 + 32,
- /* napi_env */ env: 6 * 4 + 32,
- /* void* */ finalize_data: 7 * 4 + 32,
- /* napi_finalize */ finalize_cb: 8 * 4 + 32,
- /* napi_threadsafe_function_call_js */ call_js_cb: 9 * 4 + 32,
- /* bool */ handles_closing: 10 * 4 + 32,
- /* bool */ async_ref: 10 * 4 + 36,
- /* int32_t */ mutex: 10 * 4 + 40,
- /* int32_t */ cond: 10 * 4 + 44,
- end: 10 * 4 + 48
- },
- init: function () {
- if (typeof PThread !== 'undefined') {
- PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
- PThread.runningWorkers.forEach(emnapiTSFN.addListener);
- var __original_getNewWorker_1 = PThread.getNewWorker;
- PThread.getNewWorker = function () {
- var r = __original_getNewWorker_1.apply(this, arguments);
- emnapiTSFN.addListener(r);
- return r;
- };
- }
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiTSFNListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'tsfn-send') {
- emnapiTSFN.dispatch(payload.tsfn);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiTSFNListener;
- };
- worker._emnapiTSFNListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initQueue: function (func) {
- var size = 2 * 4;
- var queue = _malloc(size);
- if (!queue)
- return false;
- new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
- emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
- return true;
- },
- destroyQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- if (queue) {
- _free(queue);
- }
- },
- pushQueue: function (func, data) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- var tail = emnapiTSFN.loadSizeTypeValue(queue + 4, false);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var size = 2 * 4;
- var node = _malloc(size);
- if (!node)
- throw new Error('OOM');
- emnapiTSFN.storeSizeTypeValue(node, data, false);
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- if (head === 0 && tail === 0) {
- emnapiTSFN.storeSizeTypeValue(queue, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- else {
- emnapiTSFN.storeSizeTypeValue(tail + 4, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- emnapiTSFN.addQueueSize(func);
- },
- shiftQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- if (head === 0)
- return 0;
- var node = head;
- var next = emnapiTSFN.loadSizeTypeValue(head + 4, false);
- emnapiTSFN.storeSizeTypeValue(queue, next, false);
- if (next === 0) {
- emnapiTSFN.storeSizeTypeValue(queue + 4, 0, false);
- }
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- var value = emnapiTSFN.loadSizeTypeValue(node, false);
- _free(node);
- emnapiTSFN.subQueueSize(func);
- return value;
- },
- push: function (func, data, mode) {
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- var waitCondition = function () {
- var queueSize = emnapiTSFN.getQueueSize(func);
- var maxSize = emnapiTSFN.getMaxQueueSize(func);
- var isClosing = emnapiTSFN.getIsClosing(func);
- return queueSize >= maxSize && maxSize > 0 && !isClosing;
- };
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- return mutex.execute(function () {
- while (waitCondition()) {
- if (mode === 0 /* napi_threadsafe_function_call_mode.napi_tsfn_nonblocking */) {
- return 15 /* napi_status.napi_queue_full */;
- }
- /**
- * Browser JS main thread can not use `Atomics.wait`
- *
- * Related:
- * https://github.com/nodejs/node/pull/32689
- * https://github.com/nodejs/node/pull/33453
- */
- if (isBrowserMain) {
- return 21 /* napi_status.napi_would_deadlock */;
- }
- cond.wait();
- }
- if (emnapiTSFN.getIsClosing(func)) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1 /* napi_status.napi_invalid_arg */;
- }
- else {
- emnapiTSFN.subThreadCount(func);
- return 16 /* napi_status.napi_closing */;
- }
- }
- else {
- emnapiTSFN.pushQueue(func, data);
- emnapiTSFN.send(func);
- return 0 /* napi_status.napi_ok */;
- }
- });
- },
- getMutex: function (func) {
- var index = func + emnapiTSFN.offset.mutex;
- var mutex = {
- lock: function () {
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- if (isBrowserMain) {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- }
- }
- else {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- Atomics.wait(i32a, 0, 1);
- }
- }
- },
- /* lockAsync () {
- return new Promise(resolve => {
- const again = (): void => { fn() }
- const fn = (): void => {
- const i32a = new Int32Array(wasmMemory.buffer, index, 1)
- const oldValue = Atomics.compareExchange(i32a, 0, 0, 1)
- if (oldValue === 0) {
- resolve()
- return
- }
- (Atomics as any).waitAsync(i32a, 0, 1).value.then(again)
- }
- fn()
- })
- }, */
- unlock: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var oldValue = Atomics.compareExchange(i32a, 0, 1, 0);
- if (oldValue !== 1) {
- throw new Error('Tried to unlock while not holding the mutex');
- }
- Atomics.notify(i32a, 0, 1);
- },
- execute: function (fn) {
- mutex.lock();
- try {
- return fn();
- }
- finally {
- mutex.unlock();
- }
- } /* ,
- executeAsync (fn: () => Promise): Promise {
- return mutex.lockAsync().then(() => {
- const r = fn()
- mutex.unlock()
- return r
- }, (err) => {
- mutex.unlock()
- throw err
- })
- } */
- };
- return mutex;
- },
- getCond: function (func) {
- var index = func + emnapiTSFN.offset.cond;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = {
- wait: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var value = Atomics.load(i32a, 0);
- mutex.unlock();
- Atomics.wait(i32a, 0, value);
- mutex.lock();
- },
- /* waitAsync () {
- const i32a = new Int32Array(wasmMemory.buffer, index, 1)
- const value = Atomics.load(i32a, 0)
- mutex.unlock()
- const lock = (): Promise => mutex.lockAsync()
- try {
- return (Atomics as any).waitAsync(i32a, 0, value).value.then(lock, lock)
- } catch (err) {
- return lock()
- }
- }, */
- signal: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- Atomics.add(i32a, 0, 1);
- Atomics.notify(i32a, 0, 1);
- }
- };
- return cond;
- },
- getQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue_size, true);
- },
- addQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getThreadCount: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.thread_count, true);
- },
- addThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getIsClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2);
- },
- setIsClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2, value);
- },
- getHandlesClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2);
- },
- setHandlesClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2, value);
- },
- getDispatchState: function (func) {
- return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2);
- },
- getContext: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
- },
- getMaxQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.max_queue_size, true);
- },
- getEnv: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.env, false);
- },
- getCallJSCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.call_js_cb, false);
- },
- getRef: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.ref, false);
- },
- getResource: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.resource, false);
- },
- getFinalizeCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_cb, false);
- },
- getFinalizeData: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_data, false);
- },
- loadSizeTypeValue: function (offset, unsigned) {
- var ret;
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- },
- storeSizeTypeValue: function (offset, value, unsigned) {
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value);
- return undefined;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value >>> 0);
- return undefined;
- }
- },
- destroy: function (func) {
- emnapiTSFN.destroyQueue(func);
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- var ref = emnapiTSFN.getRef(func);
- if (ref) {
- emnapiCtx.refStore.get(ref).dispose();
- }
- emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
- envObject.unref();
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- var resource = emnapiTSFN.getResource(func);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(func);
- },
- emptyQueueAndDelete: function (func) {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var data;
- while (emnapiTSFN.getQueueSize(func) > 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- data = emnapiTSFN.shiftQueue(func);
- if (callJsCb) {
- (wasmTable.get(callJsCb))(0, 0, context, data);
- }
- }
- emnapiTSFN.destroy(func);
- },
- finalize: function (func) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- var finalize = emnapiTSFN.getFinalizeCb(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data = emnapiTSFN.getFinalizeData(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var f = function () {
- envObject.callFinalizerInternal(0, finalize, data, context);
- };
- try {
- if (finalize) {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- f();
- }
- }
- emnapiTSFN.emptyQueueAndDelete(func);
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- cleanup: function (func) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 1);
- },
- closeHandlesAndMaybeDelete: function (func, set_closing) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- try {
- if (set_closing) {
- emnapiTSFN.getMutex(func).execute(function () {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- emnapiTSFN.getCond(func).signal();
- }
- });
- }
- if (emnapiTSFN.getHandlesClosing(func)) {
- return;
- }
- emnapiTSFN.setHandlesClosing(func, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.finalize(func);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- dispatchOne: function (func) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data = 0;
- var popped_value = false;
- var has_more = false;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- else {
- var size = emnapiTSFN.getQueueSize(func);
- if (size > 0) {
- data = emnapiTSFN.shiftQueue(func);
- popped_value = true;
- var maxQueueSize = emnapiTSFN.getMaxQueueSize(func);
- if (size === maxQueueSize && maxQueueSize > 0) {
- cond.signal();
- }
- size--;
- }
- if (size === 0) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- }
- else {
- has_more = true;
- }
- }
- });
- if (popped_value) {
- var env = emnapiTSFN.getEnv(func);
- var envObject_1 = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject_1);
- var f = function () {
- envObject_1.callbackIntoModule(false, function () {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var ref = emnapiTSFN.getRef(func);
- var js_callback = ref ? emnapiCtx.refStore.get(ref).get() : 0;
- if (callJsCb) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- (wasmTable.get(callJsCb))(env, js_callback, context, data);
- }
- else {
- var jsCallback = js_callback ? emnapiCtx.handleStore.get(js_callback).value : null;
- if (typeof jsCallback === 'function') {
- jsCallback();
- }
- }
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: view.getFloat64(func + emnapiTSFN.offset.async_id, true),
- triggerAsyncId: view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true)
- });
- }
- else {
- f();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject_1);
- }
- }
- return has_more;
- },
- dispatch: function (func) {
- var has_more = true;
- var iterations_left = 1000;
- var ui32a = new Uint32Array(wasmMemory.buffer);
- var index = (func + emnapiTSFN.offset.dispatch_state) >> 2;
- while (has_more && --iterations_left !== 0) {
- Atomics.store(ui32a, index, 1);
- has_more = emnapiTSFN.dispatchOne(func);
- if (Atomics.exchange(ui32a, index, 0) !== 1) {
- has_more = true;
- }
- }
- if (has_more) {
- emnapiTSFN.send(func);
- }
- },
- send: function (func) {
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2, 1 << 1);
- if ((current_state & 1) === 1) {
- return;
- }
- if ((typeof ENVIRONMENT_IS_PTHREAD !== 'undefined') && ENVIRONMENT_IS_PTHREAD) {
- postMessage({
- __emnapi__: {
- type: 'tsfn-send',
- payload: {
- tsfn: func
- }
- }
- });
- }
- else {
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.dispatch(func);
- });
- }
- }
- };
- /** @__sig ippppppppppp */
- function napi_create_threadsafe_function(env, func, async_resource, async_resource_name, max_queue_size, initial_thread_count, thread_finalize_data, thread_finalize_cb, context, call_js_cb, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!async_resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- max_queue_size = max_queue_size >>> 0;
- initial_thread_count = initial_thread_count >>> 0;
- if (initial_thread_count === 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var ref = 0;
- if (!func) {
- if (!call_js_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- else {
- var funcValue = emnapiCtx.handleStore.get(func).value;
- if (typeof funcValue !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- ref = emnapiCtx.createReference(envObject, func, 1, 1 /* ReferenceOwnership.kUserland */).id;
- }
- var asyncResourceObject;
- if (async_resource) {
- asyncResourceObject = emnapiCtx.handleStore.get(async_resource).value;
- if (asyncResourceObject == null) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- asyncResourceObject = Object(asyncResourceObject);
- }
- else {
- asyncResourceObject = {};
- }
- var resource = envObject.ensureHandleId(asyncResourceObject);
- var asyncResourceName = emnapiCtx.handleStore.get(async_resource_name).value;
- if (typeof asyncResourceName === 'symbol') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- asyncResourceName = String(asyncResourceName);
- var resource_name = envObject.ensureHandleId(asyncResourceName);
- // tsfn create
- var sizeofTSFN = emnapiTSFN.offset.end;
- var tsfn = _malloc(sizeofTSFN);
- if (!tsfn)
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
- var resourceRef = emnapiCtx.createReference(envObject, resource, 1, 1 /* ReferenceOwnership.kUserland */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
- if (!emnapiTSFN.initQueue(tsfn)) {
- _free(tsfn);
- resourceRef.dispose();
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- _emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.ref, ref, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_data, thread_finalize_data, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_cb, thread_finalize_cb, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.call_js_cb, call_js_cb, true);
- emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
- envObject.ref();
- emnapiCtx.increaseWaitingRequestCounter();
- HEAP_DATA_VIEW.setInt32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
- HEAP_DATA_VIEW.setUint32(result, tsfn, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_threadsafe_function_context(func, result) {
- if (!func || !result) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, context, true);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ippi */
- function napi_call_threadsafe_function(func, data, mode) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- return emnapiTSFN.push(func, data, mode);
- }
- /** @__sig ip */
- function napi_acquire_threadsafe_function(func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var mutex = emnapiTSFN.getMutex(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- return 16 /* napi_status.napi_closing */;
- }
- emnapiTSFN.addThreadCount(func);
- return 0 /* napi_status.napi_ok */;
- });
- }
- /** @__sig ipi */
- function napi_release_threadsafe_function(func, mode) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1 /* napi_status.napi_invalid_arg */;
- }
- emnapiTSFN.subThreadCount(func);
- if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) {
- var isClosing = emnapiTSFN.getIsClosing(func);
- if (!isClosing) {
- var isClosingValue = (mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) ? 1 : 0;
- emnapiTSFN.setIsClosing(func, isClosingValue);
- if (isClosingValue && emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.send(func);
- }
- }
- return 0 /* napi_status.napi_ok */;
- });
- }
- /** @__sig ipp */
- function napi_unref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ipp */
- function napi_ref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (!Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 1);
- emnapiCtx.increaseWaitingRequestCounter();
- }
- return 0 /* napi_status.napi_ok */;
- }
- var emnapiAWMT = {
- unusedWorkers: [],
- runningWorkers: [],
- workQueue: [],
- workerReady: null,
- offset: {
- /* napi_ref */ resource: 0,
- /* double */ async_id: 8,
- /* double */ trigger_async_id: 16,
- /* napi_env */ env: 24,
- /* void* */ data: 1 * 4 + 24,
- /* napi_async_execute_callback */ execute: 2 * 4 + 24,
- /* napi_async_complete_callback */ complete: 3 * 4 + 24,
- end: 4 * 4 + 24
- },
- init: function () {
- emnapiAWMT.unusedWorkers = [];
- emnapiAWMT.runningWorkers = [];
- emnapiAWMT.workQueue = [];
- emnapiAWMT.workerReady = null;
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiAWMTListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'async-work-complete') {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
- emnapiAWMT.unusedWorkers.push(worker);
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(payload.work, 0 /* napi_status.napi_ok */);
- }
- else if (type === 'async-work-queue') {
- emnapiAWMT.scheduleWork(payload.work);
- }
- else if (type === 'async-work-cancel') {
- emnapiAWMT.cancelWork(payload.work);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiAWMTListener;
- };
- worker._emnapiAWMTListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initWorkers: function (n) {
- if (ENVIRONMENT_IS_PTHREAD) {
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- return emnapiAWMT.workerReady || (emnapiAWMT.workerReady = Promise.resolve());
- }
- if (emnapiAWMT.workerReady)
- return emnapiAWMT.workerReady;
- if (typeof onCreateWorker !== 'function') {
- throw new TypeError('`options.onCreateWorker` is not a function');
- }
- var promises = [];
- var args = [];
- if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
- throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
- }
- for (var i = 0; i < n; ++i) {
- args.push(wasmInstance.exports.emnapi_async_worker_create());
- }
- try {
- var _loop_1 = function (i) {
- var worker = onCreateWorker({ type: 'async-work', name: 'emnapi-async-worker' });
- var p = PThread.loadWasmModuleToWorker(worker);
- emnapiAWMT.addListener(worker);
- promises.push(p.then(function () {
- if (typeof worker.unref === 'function') {
- worker.unref();
- }
- }));
- emnapiAWMT.unusedWorkers.push(worker);
- var arg = args[i];
- worker.threadBlockBase = arg;
- worker.postMessage({
- __emnapi__: {
- type: 'async-worker-init',
- payload: { arg: arg }
- }
- });
- };
- for (var i = 0; i < n; ++i) {
- _loop_1(i);
- }
- }
- catch (err) {
- for (var i = 0; i < n; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var arg = args[i];
- _free(arg);
- }
- throw err;
- }
- emnapiAWMT.workerReady = Promise.all(promises);
- return emnapiAWMT.workerReady;
- },
- checkIdleWorker: function () {
- if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
- var worker = emnapiAWMT.unusedWorkers.shift();
- var work = emnapiAWMT.workQueue.shift();
- emnapiAWMT.runningWorkers.push(worker);
- worker.postMessage({
- __emnapi__: {
- type: 'async-work-execute',
- payload: { work: work }
- }
- });
- }
- },
- getResource: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.resource, false);
- },
- getExecute: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.execute, false);
- },
- getComplete: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.complete, false);
- },
- getEnv: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.env, false);
- },
- getData: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.data, false);
- },
- scheduleWork: function (work) {
- var _a;
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-work-queue',
- payload: { work: work }
- }
- });
- return;
- }
- emnapiCtx.increaseWaitingRequestCounter();
- emnapiAWMT.workQueue.push(work);
- if ((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready) {
- emnapiAWMT.checkIdleWorker();
- }
- else {
- var fail = function (err) {
- emnapiCtx.decreaseWaitingRequestCounter();
- throw err;
- };
- try {
- emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
- emnapiAWMT.workerReady.ready = true;
- emnapiAWMT.checkIdleWorker();
- }, fail);
- }
- catch (err) {
- fail(err);
- }
- }
- },
- cancelWork: function (work) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_2 = napiModule.postMessage;
- postMessage_2({
- __emnapi__: {
- type: 'async-work-cancel',
- payload: { work: work }
- }
- });
- return 0 /* napi_status.napi_ok */;
- }
- var index = emnapiAWMT.workQueue.indexOf(work);
- if (index !== -1) {
- emnapiAWMT.workQueue.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(work, 11 /* napi_status.napi_cancelled */);
- });
- return 0 /* napi_status.napi_ok */;
- }
- return 9 /* napi_status.napi_generic_failure */;
- },
- callComplete: function (work, status) {
- var complete = emnapiAWMT.getComplete(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- var callback = function () {
- if (!complete)
- return;
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiAWMT.getResource(work);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, callback, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- callback();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- }
- };
- /** @__sig ippppppp */
- var napi_create_async_work = singleThreadAsyncWork
- ? function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, id, true);
- return envObject.clearLastError();
- }
- : function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var sizeofAW = emnapiAWMT.offset.end;
- var aw = _malloc(sizeofAW);
- if (!aw)
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
- var s = envObject.ensureHandleId(resourceObject);
- var resourceRef = emnapiCtx.createReference(envObject, s, 1, 1 /* ReferenceOwnership.kUserland */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(aw, resource_, true);
- _emnapi_node_emit_async_init(s, resource_name, -1, aw + emnapiAWMT.offset.async_id);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
- HEAP_DATA_VIEW.setUint32(result, aw, true);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_delete_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWST.remove(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resource = emnapiAWMT.getResource(work);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(work);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_queue_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWST.queue(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWMT.scheduleWork(work);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_cancel_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = emnapiAWST.cancel(work);
- if (status === 0 /* napi_status.napi_ok */)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = emnapiAWMT.cancelWork(work);
- if (status === 0 /* napi_status.napi_ok */)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- };
- function initWorker(startArg) {
- if (napiModule.childThread) {
- if (typeof wasmInstance.exports.emnapi_async_worker_init !== 'function') {
- throw new TypeError('`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags');
- }
- wasmInstance.exports.emnapi_async_worker_init(startArg);
- }
- else {
- throw new Error('startThread is only available in child threads');
- }
- }
- function executeAsyncWork(work) {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var execute = emnapiAWMT.getExecute(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- (wasmTable.get(execute))(env, data);
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-work-complete',
- payload: { work: work }
- }
- });
- }
- napiModule.initWorker = initWorker;
- napiModule.executeAsyncWork = executeAsyncWork;
- var asyncWorkMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_cancel_async_work: napi_cancel_async_work,
- napi_create_async_work: napi_create_async_work,
- napi_delete_async_work: napi_delete_async_work,
- napi_queue_async_work: napi_queue_async_work
- });
- /**
- * @__deps malloc
- * @__deps free
- * @__postset
- * ```
- * emnapiExternalMemory.init();
- * ```
- */
- var emnapiExternalMemory = {
- registry: typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined,
- table: new WeakMap(),
- wasmMemoryViewTable: new WeakMap(),
- init: function () {
- emnapiExternalMemory.registry = typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined;
- emnapiExternalMemory.table = new WeakMap();
- emnapiExternalMemory.wasmMemoryViewTable = new WeakMap();
- },
- isSharedArrayBuffer: function (value) {
- return ((typeof SharedArrayBuffer === 'function' && value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(value) === '[object SharedArrayBuffer]'));
- },
- isDetachedArrayBuffer: function (arrayBuffer) {
- if (arrayBuffer.byteLength === 0) {
- try {
- // eslint-disable-next-line no-new
- new Uint8Array(arrayBuffer);
- }
- catch (_) {
- return true;
- }
- }
- return false;
- },
- getArrayBufferPointer: function (arrayBuffer, shouldCopy) {
- var _a;
- var info = {
- address: 0,
- ownership: 0 /* ReferenceOwnership.kRuntime */,
- runtimeAllocated: 0
- };
- if (arrayBuffer === wasmMemory.buffer) {
- return info;
- }
- var isDetached = emnapiExternalMemory.isDetachedArrayBuffer(arrayBuffer);
- if (emnapiExternalMemory.table.has(arrayBuffer)) {
- var cachedInfo = emnapiExternalMemory.table.get(arrayBuffer);
- if (isDetached) {
- cachedInfo.address = 0;
- return cachedInfo;
- }
- if (shouldCopy && cachedInfo.ownership === 0 /* ReferenceOwnership.kRuntime */ && cachedInfo.runtimeAllocated === 1) {
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), cachedInfo.address);
- }
- return cachedInfo;
- }
- if (isDetached || (arrayBuffer.byteLength === 0)) {
- return info;
- }
- if (!shouldCopy) {
- return info;
- }
- var pointer = _malloc(arrayBuffer.byteLength);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
- info.address = pointer;
- info.ownership = emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
- info.runtimeAllocated = 1;
- emnapiExternalMemory.table.set(arrayBuffer, info);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(arrayBuffer, pointer);
- return info;
- },
- getOrUpdateMemoryView: function (view) {
- if (view.buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(view, {
- Ctor: view.constructor,
- address: view.byteOffset,
- length: view instanceof DataView ? view.byteLength : view.length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- return view;
- }
- var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) ||
- ((typeof SharedArrayBuffer === 'function') && (view.buffer instanceof SharedArrayBuffer));
- if (maybeOldWasmMemory && emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var info = emnapiExternalMemory.wasmMemoryViewTable.get(view);
- var Ctor = info.Ctor;
- var newView = void 0;
- var Buffer_1 = emnapiCtx.feature.Buffer;
- if (typeof Buffer_1 === 'function' && Ctor === Buffer_1) {
- newView = Buffer_1.from(wasmMemory.buffer, info.address, info.length);
- }
- else {
- newView = new Ctor(wasmMemory.buffer, info.address, info.length);
- }
- emnapiExternalMemory.wasmMemoryViewTable.set(newView, info);
- return newView;
- }
- return view;
- },
- getViewPointer: function (view, shouldCopy) {
- view = emnapiExternalMemory.getOrUpdateMemoryView(view);
- if (view.buffer === wasmMemory.buffer) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var _a = emnapiExternalMemory.wasmMemoryViewTable.get(view), address_1 = _a.address, ownership_1 = _a.ownership, runtimeAllocated_1 = _a.runtimeAllocated;
- return { address: address_1, ownership: ownership_1, runtimeAllocated: runtimeAllocated_1, view: view };
- }
- return { address: view.byteOffset, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0, view: view };
- }
- var _b = emnapiExternalMemory.getArrayBufferPointer(view.buffer, shouldCopy), address = _b.address, ownership = _b.ownership, runtimeAllocated = _b.runtimeAllocated;
- return { address: address === 0 ? 0 : (address + view.byteOffset), ownership: ownership, runtimeAllocated: runtimeAllocated, view: view };
- }
- };
- /* eslint-disable @typescript-eslint/indent */
- /**
- * @__postset
- * ```
- * emnapiString.init();
- * ```
- */
- var emnapiString = {
- utf8Decoder: undefined,
- utf16Decoder: undefined,
- init: function () {
- var fallbackDecoder = {
- decode: function (bytes) {
- var inputIndex = 0;
- var pendingSize = Math.min(0x1000, bytes.length + 1);
- var pending = new Uint16Array(pendingSize);
- var chunks = [];
- var pendingIndex = 0;
- for (;;) {
- var more = inputIndex < bytes.length;
- if (!more || (pendingIndex >= pendingSize - 1)) {
- var subarray = pending.subarray(0, pendingIndex);
- var arraylike = subarray;
- chunks.push(String.fromCharCode.apply(null, arraylike));
- if (!more) {
- return chunks.join('');
- }
- bytes = bytes.subarray(inputIndex);
- inputIndex = 0;
- pendingIndex = 0;
- }
- var byte1 = bytes[inputIndex++];
- if ((byte1 & 0x80) === 0) {
- pending[pendingIndex++] = byte1;
- }
- else if ((byte1 & 0xe0) === 0xc0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 6) | byte2;
- }
- else if ((byte1 & 0xf0) === 0xe0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
- }
- else if ((byte1 & 0xf8) === 0xf0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- var byte4 = bytes[inputIndex++] & 0x3f;
- var codepoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
- if (codepoint > 0xffff) {
- codepoint -= 0x10000;
- pending[pendingIndex++] = (codepoint >>> 10) & 0x3ff | 0xd800;
- codepoint = 0xdc00 | codepoint & 0x3ff;
- }
- pending[pendingIndex++] = codepoint;
- }
- else ;
- }
- }
- };
- var utf8Decoder;
- utf8Decoder = typeof TextDecoder === 'function' ? new TextDecoder() : fallbackDecoder;
- emnapiString.utf8Decoder = utf8Decoder;
- var fallbackDecoder2 = {
- decode: function (input) {
- var bytes = new Uint16Array(input.buffer, input.byteOffset, input.byteLength / 2);
- if (bytes.length <= 0x1000) {
- return String.fromCharCode.apply(null, bytes);
- }
- var chunks = [];
- var i = 0;
- var len = 0;
- for (; i < bytes.length; i += len) {
- len = Math.min(0x1000, bytes.length - i);
- chunks.push(String.fromCharCode.apply(null, bytes.subarray(i, i + len)));
- }
- return chunks.join('');
- }
- };
- var utf16Decoder;
- utf16Decoder = typeof TextDecoder === 'function' ? new TextDecoder('utf-16le') : fallbackDecoder2;
- emnapiString.utf16Decoder = utf16Decoder;
- },
- lengthBytesUTF8: function (str) {
- var c;
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- c = str.charCodeAt(i);
- if (c <= 0x7F) {
- len++;
- }
- else if (c <= 0x7FF) {
- len += 2;
- }
- else if (c >= 0xD800 && c <= 0xDFFF) {
- len += 4;
- ++i;
- }
- else {
- len += 3;
- }
- }
- return len;
- },
- UTF8ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var end = ptr;
- if (length === -1) {
- for (; HEAPU8[end];)
- ++end;
- }
- else {
- end = ptr + (length >>> 0);
- }
- length = end - ptr;
- if (length <= 16) {
- var idx = ptr;
- var str = '';
- while (idx < end) {
- var u0 = HEAPU8[idx++];
- if (!(u0 & 0x80)) {
- str += String.fromCharCode(u0);
- continue;
- }
- var u1 = HEAPU8[idx++] & 63;
- if ((u0 & 0xE0) === 0xC0) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- var u2 = HEAPU8[idx++] & 63;
- if ((u0 & 0xF0) === 0xE0) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- }
- else {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (HEAPU8[idx++] & 63);
- }
- if (u0 < 0x10000) {
- str += String.fromCharCode(u0);
- }
- else {
- var ch = u0 - 0x10000;
- str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
- }
- }
- return str;
- }
- return emnapiString.utf8Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF8: function (str, outPtr, maxBytesToWrite) {
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var outIdx = outPtr;
- outIdx >>>= 0;
- if (!(maxBytesToWrite > 0)) {
- return 0;
- }
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 0xD800 && u <= 0xDFFF) {
- var u1 = str.charCodeAt(++i);
- u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
- }
- if (u <= 0x7F) {
- if (outIdx >= endIdx)
- break;
- HEAPU8[outIdx++] = u;
- }
- else if (u <= 0x7FF) {
- if (outIdx + 1 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xC0 | (u >> 6);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else if (u <= 0xFFFF) {
- if (outIdx + 2 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xE0 | (u >> 12);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else {
- if (outIdx + 3 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xF0 | (u >> 18);
- HEAPU8[outIdx++] = 0x80 | ((u >> 12) & 63);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- }
- HEAPU8[outIdx] = 0;
- return outIdx - startIdx;
- },
- UTF16ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var end = ptr;
- if (length === -1) {
- var idx = end >> 1;
- var HEAPU16 = new Uint16Array(wasmMemory.buffer);
- while (HEAPU16[idx])
- ++idx;
- end = idx << 1;
- }
- else {
- end = ptr + (length >>> 0) * 2;
- }
- length = end - ptr;
- if (length <= 32) {
- return String.fromCharCode.apply(null, new Uint16Array(wasmMemory.buffer, ptr, length / 2));
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- return emnapiString.utf16Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF16: function (str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === undefined) {
- maxBytesToWrite = 0x7FFFFFFF;
- }
- if (maxBytesToWrite < 2)
- return 0;
- maxBytesToWrite -= 2;
- var startPtr = outPtr;
- var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < numCharsToWrite; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var codeUnit = str.charCodeAt(i);
- HEAP_DATA_VIEW.setInt16(outPtr, codeUnit, true);
- outPtr += 2;
- }
- HEAP_DATA_VIEW.setInt16(outPtr, 0, true);
- return outPtr - startPtr;
- },
- newString: function (env, str, length, result, stringMaker) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var strValue = stringMaker(str, autoLength, sizelength);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(strValue).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- },
- newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = createApi(env, str, length, result);
- if (status === 0 /* napi_status.napi_ok */) {
- if (copied) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(copied, 1, true);
- }
- if (finalize_callback) {
- envObject.callFinalizer(finalize_callback, str, finalize_hint);
- }
- }
- return status;
- }
- };
- /**
- * @__sig ippp
- */
- function napi_get_array_length(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isArray()) {
- return envObject.setLastError(8 /* napi_status.napi_array_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = handle.value.length >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function napi_get_arraybuffer_info(env, arraybuffer, data, byte_length) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function node_api_set_prototype(env, object, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var obj = emnapiCtx.handleStore.get(object).value;
- if (obj == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var type = typeof obj;
- var v = void 0;
- try {
- v = (type === 'object' && obj !== null) || type === 'function' ? obj : Object(obj);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var val = emnapiCtx.handleStore.get(value).value;
- Object.setPrototypeOf(v, val);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippp
- */
- function napi_get_prototype(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = handle.isObject() || handle.isFunction() ? handle.value : Object(handle.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppppp
- */
- function napi_get_typedarray_info(env, typedarray, type, length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!typedarray)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(typedarray);
- if (!handle.isTypedArray()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (type) {
- var t = void 0;
- if (v instanceof Int8Array) {
- t = 0 /* napi_typedarray_type.napi_int8_array */;
- }
- else if (v instanceof Uint8Array) {
- t = 1 /* napi_typedarray_type.napi_uint8_array */;
- }
- else if (v instanceof Uint8ClampedArray) {
- t = 2 /* napi_typedarray_type.napi_uint8_clamped_array */;
- }
- else if (v instanceof Int16Array) {
- t = 3 /* napi_typedarray_type.napi_int16_array */;
- }
- else if (v instanceof Uint16Array) {
- t = 4 /* napi_typedarray_type.napi_uint16_array */;
- }
- else if (v instanceof Int32Array) {
- t = 5 /* napi_typedarray_type.napi_int32_array */;
- }
- else if (v instanceof Uint32Array) {
- t = 6 /* napi_typedarray_type.napi_uint32_array */;
- }
- else if (typeof Float16Array === 'function' && v instanceof Float16Array) {
- t = 11 /* napi_typedarray_type.napi_float16_array */;
- }
- else if (v instanceof Float32Array) {
- t = 7 /* napi_typedarray_type.napi_float32_array */;
- }
- else if (v instanceof Float64Array) {
- t = 8 /* napi_typedarray_type.napi_float64_array */;
- }
- else if (v instanceof BigInt64Array) {
- t = 9 /* napi_typedarray_type.napi_bigint64_array */;
- }
- else if (v instanceof BigUint64Array) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- t = 10 /* napi_typedarray_type.napi_biguint64_array */;
- }
- else {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- HEAP_DATA_VIEW.setInt32(type, t, true);
- }
- if (length) {
- HEAP_DATA_VIEW.setUint32(length, v.length, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_buffer_info(env, buffer, data, length) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!buffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(buffer);
- if (!handle.isBuffer(emnapiCtx.feature.Buffer))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (handle.isDataView()) {
- return napi_get_dataview_info(env, buffer, length, data, 0, 0);
- }
- return napi_get_typedarray_info(env, buffer, 0, length, data, 0, 0);
- }
- /**
- * @__sig ipppppp
- */
- function napi_get_dataview_info(env, dataview, byte_length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!dataview)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(dataview);
- if (!handle.isDataView()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_date_value(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isDate()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- v = handle.value.valueOf();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_bool(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'boolean') {
- return envObject.setLastError(7 /* napi_status.napi_boolean_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = handle.value ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_double(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, r, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_value_bigint_int64(env, value, result, lossless) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!lossless)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_value_bigint_uint64(env, value, result, lossless) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!lossless)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= BigInt(0)) && (numberValue < (BigInt(1) << BigInt(64)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(result, low, true);
- HEAP_DATA_VIEW.setUint32(result + 4, high, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_bigint_words(env, value, sign_bit, word_count, words) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!word_count)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isBigInt()) {
- return envObject.setLastError(17 /* napi_status.napi_bigint_expected */);
- }
- var isMinus = handle.value < BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
- var wordCount = 0;
- var bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- while (bigintValue !== BigInt(0)) {
- wordCount++;
- bigintValue = bigintValue >> BigInt(64);
- }
- bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- if (!sign_bit && !words) {
- word_count_int = wordCount;
- HEAP_DATA_VIEW.setUint32(word_count, word_count_int, true);
- }
- else {
- if (!sign_bit)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!words)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var wordsArr = [];
- while (bigintValue !== BigInt(0)) {
- var uint64 = bigintValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- wordsArr.push(uint64);
- bigintValue = bigintValue >> BigInt(64);
- }
- var len = Math.min(word_count_int, wordsArr.length);
- for (var i = 0; i < len; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(wordsArr[i] & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(wordsArr[i] >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(words + i * 8, low, true);
- HEAP_DATA_VIEW.setUint32(words + (i * 8 + 4), high, true);
- }
- HEAP_DATA_VIEW.setInt32(sign_bit, isMinus ? 1 : 0, true);
- HEAP_DATA_VIEW.setUint32(word_count, len, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_external(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isExternal()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = handle.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_int32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = new Int32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_int64(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var numberValue = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 0, true);
- }
- else if (numberValue < /* INT64_RANGE_NEGATIVE */ -9223372036854776e3) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 2147483648, true);
- }
- else if (numberValue >= /* INT64_RANGE_POSITIVE */ 9223372036854776000) {
- HEAP_DATA_VIEW.setUint32(result, 4294967295, true);
- HEAP_DATA_VIEW.setUint32(result + 4, 2147483647, true);
- }
- else {
- $emnapiSetValueI64(result, Math.trunc(numberValue));
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_latin1(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = 0;
- var v = void 0;
- for (var i = 0; i < buf_size - 1; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = handle.value.charCodeAt(i) & 0xff;
- HEAP_DATA_VIEW.setUint8(buf + i, v, true);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- copied++;
- }
- HEAP_DATA_VIEW.setUint8(buf + copied, 0, true);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_utf8(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var strLength = emnapiString.lengthBytesUTF8(handle.value);
- HEAP_DATA_VIEW.setUint32(result, strLength, true);
- }
- else if (buf_size !== 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var copied = emnapiString.stringToUTF8(handle.value, buf, buf_size);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_utf16(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var copied = emnapiString.stringToUTF16(handle.value, buf, buf_size * 2);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied / 2, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_uint32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = new Uint32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- var convert2cMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_array_length: napi_get_array_length,
- napi_get_arraybuffer_info: napi_get_arraybuffer_info,
- napi_get_buffer_info: napi_get_buffer_info,
- napi_get_dataview_info: napi_get_dataview_info,
- napi_get_date_value: napi_get_date_value,
- napi_get_prototype: napi_get_prototype,
- napi_get_typedarray_info: napi_get_typedarray_info,
- napi_get_value_bigint_int64: napi_get_value_bigint_int64,
- napi_get_value_bigint_uint64: napi_get_value_bigint_uint64,
- napi_get_value_bigint_words: napi_get_value_bigint_words,
- napi_get_value_bool: napi_get_value_bool,
- napi_get_value_double: napi_get_value_double,
- napi_get_value_external: napi_get_value_external,
- napi_get_value_int32: napi_get_value_int32,
- napi_get_value_int64: napi_get_value_int64,
- napi_get_value_string_latin1: napi_get_value_string_latin1,
- napi_get_value_string_utf16: napi_get_value_string_utf16,
- napi_get_value_string_utf8: napi_get_value_string_utf8,
- napi_get_value_uint32: napi_get_value_uint32,
- node_api_set_prototype: node_api_set_prototype
- });
- /**
- * @__sig ipip
- */
- function napi_create_int32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipip
- */
- function napi_create_uint32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipjp
- */
- function napi_create_int64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = Number(low);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipdp
- */
- function napi_create_double(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_latin1(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str, autoLength, sizeLength) {
- var latin1String = '';
- var len = 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (autoLength) {
- while (true) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- str++;
- }
- }
- else {
- while (len < sizeLength) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- len++;
- str++;
- }
- }
- return latin1String;
- });
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_utf16(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF16ToString(str, length);
- });
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_utf8(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF8ToString(str, length);
- });
- }
- /**
- * @__sig ippppppp
- */
- function node_api_create_external_string_latin1(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_latin1, undefined);
- }
- /**
- * @__sig ippppppp
- */
- function node_api_create_external_string_utf16(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_utf16, undefined);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_latin1(env, str, length, result) {
- return napi_create_string_latin1(env, str, length, result);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_utf8(env, str, length, result) {
- return napi_create_string_utf8(env, str, length, result);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_utf16(env, str, length, result) {
- return napi_create_string_utf16(env, str, length, result);
- }
- /**
- * @__sig ipjp
- */
- function napi_create_bigint_int64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = low;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipjp
- */
- function napi_create_bigint_uint64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = low & ((BigInt(1) << BigInt(64)) - BigInt(1));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipippp
- */
- function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v, i;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- word_count = word_count >>> 0;
- if (word_count > 2147483647) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (word_count > (1024 * 1024 / (4 * 8) / 2)) {
- throw new RangeError('Maximum BigInt size exceeded');
- }
- var value = BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (i = 0; i < word_count; i++) {
- var low = HEAP_DATA_VIEW.getUint32(words + i * 8, true);
- var high = HEAP_DATA_VIEW.getUint32(words + (i * 8 + 4), true);
- var wordi = BigInt(low) | (BigInt(high) << BigInt(32));
- value += wordi << BigInt(64 * i);
- }
- value *= ((BigInt(sign_bit) % BigInt(2) === BigInt(0)) ? BigInt(1) : BigInt(-1));
- v = emnapiCtx.addToCurrentScope(value).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var convert2napiMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_bigint_int64: napi_create_bigint_int64,
- napi_create_bigint_uint64: napi_create_bigint_uint64,
- napi_create_bigint_words: napi_create_bigint_words,
- napi_create_double: napi_create_double,
- napi_create_int32: napi_create_int32,
- napi_create_int64: napi_create_int64,
- napi_create_string_latin1: napi_create_string_latin1,
- napi_create_string_utf16: napi_create_string_utf16,
- napi_create_string_utf8: napi_create_string_utf8,
- napi_create_uint32: napi_create_uint32,
- node_api_create_external_string_latin1: node_api_create_external_string_latin1,
- node_api_create_external_string_utf16: node_api_create_external_string_utf16,
- node_api_create_property_key_latin1: node_api_create_property_key_latin1,
- node_api_create_property_key_utf16: node_api_create_property_key_utf16,
- node_api_create_property_key_utf8: node_api_create_property_key_utf8
- });
- function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
- var functionName = (!utf8name || !length) ? '' : (emnapiString.UTF8ToString(utf8name, length));
- var f;
- var napiCallback = (wasmTable.get(cb));
- var callback = function (envObject) {
- return napiCallback(envObject.id, envObject.ctx.scopeStore.currentScope.id);
- };
- var makeFunction = function (envObject, callback) {
- return function () {
- var scope = envObject.ctx.openScope(envObject);
- var callbackInfo = scope.callbackInfo;
- callbackInfo.data = data;
- callbackInfo.args = arguments;
- callbackInfo.thiz = this;
- callbackInfo.fn = f;
- try {
- var napiValue = envObject.callIntoModule(callback);
- return (!napiValue) ? undefined : envObject.ctx.handleStore.get(napiValue).value;
- }
- finally {
- callbackInfo.data = 0;
- callbackInfo.args = undefined;
- callbackInfo.thiz = undefined;
- callbackInfo.fn = undefined;
- envObject.ctx.closeScope(envObject, scope);
- }
- };
- };
- if (functionName === '') {
- f = makeFunction(envObject, callback);
- return { status: 0 /* napi_status.napi_ok */, f: f };
- }
- if (!(/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(functionName))) {
- return { status: 1 /* napi_status.napi_invalid_arg */, f: undefined };
- }
- if (emnapiCtx.feature.supportNewFunction) {
- var _ = makeFunction(envObject, callback);
- try {
- f = (new Function('_', 'return function ' + functionName + '(){' +
- '"use strict";' +
- 'return _.apply(this,arguments);' +
- '};'))(_);
- }
- catch (_err) {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- }
- else {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- return { status: 0 /* napi_status.napi_ok */, f: f };
- }
- function emnapiDefineProperty(envObject, obj, propertyName, method, getter, setter, value, attributes, data) {
- if (getter || setter) {
- var localGetter = void 0;
- var localSetter = void 0;
- if (getter) {
- localGetter = emnapiCreateFunction(envObject, 0, 0, getter, data).f;
- }
- if (setter) {
- localSetter = emnapiCreateFunction(envObject, 0, 0, setter, data).f;
- }
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- get: localGetter,
- set: localSetter
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else if (method) {
- var localMethod = emnapiCreateFunction(envObject, 0, 0, method, data).f;
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- writable: (attributes & 1 /* napi_property_attributes.napi_writable */) !== 0,
- value: localMethod
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else {
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- writable: (attributes & 1 /* napi_property_attributes.napi_writable */) !== 0,
- value: emnapiCtx.handleStore.get(value).value
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- }
- function emnapiGetHandle(js_object) {
- var handle = emnapiCtx.handleStore.get(js_object);
- if (!(handle.isObject() || handle.isFunction())) {
- return { status: 1 /* napi_status.napi_invalid_arg */ };
- }
- if (typeof emnapiExternalMemory !== 'undefined' && ArrayBuffer.isView(handle.value)) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(handle.value)) {
- handle = emnapiCtx.addToCurrentScope(emnapiExternalMemory.wasmMemoryViewTable.get(handle.value));
- }
- }
- return { status: 0 /* napi_status.napi_ok */, handle: handle };
- }
- function emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var referenceId;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportFinalizer) {
- if (finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- if (result) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "result" must be 0(NULL)');
- }
- }
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- if (envObject.getObjectBinding(handle.value).wrapped !== 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var reference = void 0;
- if (result) {
- if (!finalize_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1 /* ReferenceOwnership.kUserland */, finalize_cb, native_object, finalize_hint);
- referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- else {
- if (finalize_cb) {
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 0 /* ReferenceOwnership.kRuntime */, finalize_cb, native_object, finalize_hint);
- }
- else {
- reference = emnapiCtx.createReferenceWithData(envObject, handle.id, 0, 0 /* ReferenceOwnership.kRuntime */, native_object);
- }
- }
- envObject.getObjectBinding(handle.value).wrapped = reference.id;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- function emnapiUnwrap(env, js_object, result, action) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (action === 0 /* UnwrapAction.KeepWrap */) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(js_object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- var referenceId = binding.wrapped;
- var ref = emnapiCtx.refStore.get(referenceId);
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- data = ref.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, data, true);
- }
- if (action === 1 /* UnwrapAction.RemoveWrap */) {
- binding.wrapped = 0;
- if (ref.ownership() === 1 /* ReferenceOwnership.kUserland */) {
- // When the wrap is been removed, the finalizer should be reset.
- ref.resetFinalizer();
- }
- else {
- ref.dispose();
- }
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppppp
- */
- function napi_define_class(env, utf8name, length, constructor, callback_data, property_count, properties, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var propPtr, valueHandleId, attributes;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if ((length < -1) || (length > 2147483647) || (!utf8name)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
- if (fresult.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(fresult.status);
- var F = fresult.f;
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_1 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_1) {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- propertyName = emnapiCtx.handleStore.get(name_1).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- }
- if ((attributes & 1024 /* napi_property_attributes.napi_static */) !== 0) {
- emnapiDefineProperty(envObject, F, propertyName, method, getter, setter, value, attributes, data);
- continue;
- }
- emnapiDefineProperty(envObject, F.prototype, propertyName, method, getter, setter, value, attributes, data);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var valueHandle = emnapiCtx.addToCurrentScope(F);
- valueHandleId = valueHandle.id;
- HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_wrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- return emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result);
- }
- /**
- * @__sig ippp
- */
- function napi_unwrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 0 /* UnwrapAction.KeepWrap */);
- }
- /**
- * @__sig ippp
- */
- function napi_remove_wrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 1 /* UnwrapAction.RemoveWrap */);
- }
- /**
- * @__sig ippp
- */
- function napi_type_tag_object(env, object, type_tag) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 2 /* napi_status.napi_object_expected */);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var tag = new Uint8Array(16);
- tag.set(new Uint8Array(wasmMemory.buffer, type_tag, 16));
- binding.tag = new Uint32Array(tag.buffer);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function napi_check_object_type_tag(env, object, type_tag, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, one-var
- var ret = true;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 2 /* napi_status.napi_object_expected */);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- if (!result) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- var tag = binding.tag;
- var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
- ret = (tag[0] === typeTag[0] &&
- tag[1] === typeTag[1] &&
- tag[2] === typeTag[2] &&
- tag[3] === typeTag[3]);
- }
- else {
- ret = false;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finalize_hint, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportFinalizer) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!finalize_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- var ownership = !result ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
- var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function node_api_post_finalizer(env, finalize_cb, finalize_data, finalize_hint) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.enqueueFinalizer(emnapiCtx.createTrackedFinalizer(envObject, finalize_cb, finalize_data, finalize_hint));
- return envObject.clearLastError();
- }
- var wrapMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_add_finalizer: napi_add_finalizer,
- napi_check_object_type_tag: napi_check_object_type_tag,
- napi_define_class: napi_define_class,
- napi_remove_wrap: napi_remove_wrap,
- napi_type_tag_object: napi_type_tag_object,
- napi_unwrap: napi_unwrap,
- napi_wrap: napi_wrap,
- node_api_post_finalizer: node_api_post_finalizer
- });
- /**
- * @__sig ipippppp
- */
- function emnapi_create_memory_view(env, typedarray_type, external_data, byte_length, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if (byte_length > 2147483647) {
- throw new RangeError('Cannot create a memory view larger than 2147483647 bytes');
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('emnapi_create_memory_view', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var viewDescriptor = void 0;
- switch (typedarray_type) {
- case 0 /* emnapi_memory_view_type.emnapi_int8_array */:
- viewDescriptor = { Ctor: Int8Array, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 1 /* emnapi_memory_view_type.emnapi_uint8_array */:
- viewDescriptor = { Ctor: Uint8Array, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 2 /* emnapi_memory_view_type.emnapi_uint8_clamped_array */:
- viewDescriptor = { Ctor: Uint8ClampedArray, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 3 /* emnapi_memory_view_type.emnapi_int16_array */:
- viewDescriptor = { Ctor: Int16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 4 /* emnapi_memory_view_type.emnapi_uint16_array */:
- viewDescriptor = { Ctor: Uint16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 5 /* emnapi_memory_view_type.emnapi_int32_array */:
- viewDescriptor = { Ctor: Int32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 6 /* emnapi_memory_view_type.emnapi_uint32_array */:
- viewDescriptor = { Ctor: Uint32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 7 /* emnapi_memory_view_type.emnapi_float32_array */:
- viewDescriptor = { Ctor: Float32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 8 /* emnapi_memory_view_type.emnapi_float64_array */:
- viewDescriptor = { Ctor: Float64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 9 /* emnapi_memory_view_type.emnapi_bigint64_array */:
- viewDescriptor = { Ctor: BigInt64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 10 /* emnapi_memory_view_type.emnapi_biguint64_array */:
- viewDescriptor = { Ctor: BigUint64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case -1 /* emnapi_memory_view_type.emnapi_data_view */:
- viewDescriptor = { Ctor: DataView, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 11 /* emnapi_memory_view_type.emnapi_float16_array */:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- viewDescriptor = { Ctor: Float16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case -2 /* emnapi_memory_view_type.emnapi_buffer */: {
- if (!emnapiCtx.feature.Buffer) {
- throw emnapiCtx.createNotSupportBufferError('emnapi_create_memory_view', '');
- }
- viewDescriptor = { Ctor: emnapiCtx.feature.Buffer, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- }
- default: return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var Ctor = viewDescriptor.Ctor;
- var typedArray = typedarray_type === -2 /* emnapi_memory_view_type.emnapi_buffer */
- ? emnapiCtx.feature.Buffer.from(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length)
- : new Ctor(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length);
- var handle = emnapiCtx.addToCurrentScope(typedArray);
- emnapiExternalMemory.wasmMemoryViewTable.set(typedArray, viewDescriptor);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, /* NULL */ 0);
- if (status_1 === 10 /* napi_status.napi_pending_exception */) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig i
- */
- function emnapi_is_support_weakref() {
- return emnapiCtx.feature.supportFinalizer ? 1 : 0;
- }
- /**
- * @__sig i
- */
- function emnapi_is_support_bigint() {
- return emnapiCtx.feature.supportBigInt ? 1 : 0;
- }
- /**
- * @__sig i
- */
- function emnapi_is_node_binding_available() {
- return emnapiNodeBinding ? 1 : 0;
- }
- function $emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
- offset = offset !== null && offset !== void 0 ? offset : 0;
- offset = offset >>> 0;
- var view;
- if (arrayBufferOrView instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = arrayBufferOrView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return arrayBufferOrView;
- view = new Uint8Array(arrayBufferOrView, offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return arrayBufferOrView;
- }
- if (ArrayBuffer.isView(arrayBufferOrView)) {
- var viewPointerInfo = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- var latestView = viewPointerInfo.view;
- var pointer = viewPointerInfo.address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = latestView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return latestView;
- view = new Uint8Array(latestView.buffer, latestView.byteOffset + offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return latestView;
- }
- throw new TypeError('emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- /**
- * @__sig ipippp
- */
- function emnapi_sync_memory(env, js_to_wasm, arraybuffer_or_view, offset, len) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
- var handle = envObject.ctx.handleStore.get(handleId);
- if (!handle.isArrayBuffer() && !handle.isTypedArray() && !handle.isDataView() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
- if (handle.value !== ret) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- function $emnapiGetMemoryAddress(arrayBufferOrView) {
- var isArrayBuffer = arrayBufferOrView instanceof ArrayBuffer;
- var isDataView = arrayBufferOrView instanceof DataView;
- var isTypedArray = ArrayBuffer.isView(arrayBufferOrView) && !isDataView;
- if (!isArrayBuffer && !isTypedArray && !isDataView && !emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- throw new TypeError('emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- var info;
- if (isArrayBuffer) {
- info = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false);
- }
- else {
- info = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- }
- return {
- address: info.address,
- ownership: info.ownership,
- runtimeAllocated: info.runtimeAllocated
- };
- }
- /**
- * @__sig ipppp
- */
- function emnapi_get_memory_address(env, arraybuffer_or_view, address, ownership, runtime_allocated) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p, runtimeAllocated, ownershipOut;
- var info;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!address && !ownership && !runtime_allocated) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var handle = envObject.ctx.handleStore.get(arraybuffer_or_view);
- info = $emnapiGetMemoryAddress(handle.value);
- p = info.address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (address) {
- HEAP_DATA_VIEW.setUint32(address, p, true);
- }
- if (ownership) {
- ownershipOut = info.ownership;
- HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
- }
- if (runtime_allocated) {
- runtimeAllocated = info.runtimeAllocated;
- HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipp
- */
- function emnapi_get_runtime_version(env, version) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!version)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var runtimeVersion;
- try {
- runtimeVersion = emnapiCtx.getRuntimeVersions().version;
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var versions = runtimeVersion.split('.')
- .map(function (n) { return Number(n); });
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(version, versions[0], true);
- HEAP_DATA_VIEW.setUint32(version + 4, versions[1], true);
- HEAP_DATA_VIEW.setUint32(version + 8, versions[2], true);
- return envObject.clearLastError();
- }
- var emnapiMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- $emnapiGetMemoryAddress: $emnapiGetMemoryAddress,
- $emnapiSyncMemory: $emnapiSyncMemory,
- emnapi_create_memory_view: emnapi_create_memory_view,
- emnapi_get_memory_address: emnapi_get_memory_address,
- emnapi_get_runtime_version: emnapi_get_runtime_version,
- emnapi_is_node_binding_available: emnapi_is_node_binding_available,
- emnapi_is_support_bigint: emnapi_is_support_bigint,
- emnapi_is_support_weakref: emnapi_is_support_weakref,
- emnapi_sync_memory: emnapi_sync_memory
- });
- /**
- * @__sig ipp
- */
- function napi_create_array(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope([]).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_create_array_with_length(env, length, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- length = length >>> 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function emnapiCreateArrayBuffer(byte_length, data, shared) {
- byte_length = byte_length >>> 0;
- var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- return arrayBuffer;
- }
- /**
- * @__sig ipppp
- */
- function napi_create_arraybuffer(env, byte_length, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_sharedarraybuffer(env, byte_length, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipdp
- */
- function napi_create_date(env, time, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(new Date(time)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_external(env, data, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var externalHandle = emnapiCtx.getCurrentScope().addExternal(data);
- if (finalize_cb) {
- emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0 /* ReferenceOwnership.kRuntime */, finalize_cb, data, finalize_hint);
- }
- value = externalHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_external_arraybuffer(env, external_data, byte_length, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external_arraybuffer', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var arrayBuffer = new ArrayBuffer(byte_length);
- if (byte_length === 0) {
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(arrayBuffer, [arrayBuffer]);
- }
- catch (_) { }
- }
- else {
- var u8arr = new Uint8Array(arrayBuffer);
- u8arr.set(new Uint8Array(wasmMemory.buffer).subarray(external_data, external_data + byte_length));
- emnapiExternalMemory.table.set(arrayBuffer, {
- address: external_data,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- var handle = emnapiCtx.addToCurrentScope(arrayBuffer);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, /* NULL */ 0);
- if (status_1 === 10 /* napi_status.napi_pending_exception */) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipp
- */
- function napi_create_object(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope({}).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!property_names)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!property_values)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8_prototype_or_null = prototype_or_null
- ? emnapiCtx.handleStore.get(prototype_or_null).value
- : null;
- var properties = {};
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
- if (!(typeof name_value === "string" || typeof name_value === "symbol"))
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- properties[name_value] = {
- value: emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_values + i * 4, true)).value,
- writable: true,
- enumerable: true,
- configurable: true
- };
- }
- var obj;
- try {
- obj = Object.defineProperties(Object.create(v8_prototype_or_null), properties);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(obj).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_create_symbol(env, description, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!description) {
- // eslint-disable-next-line symbol-description, @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(Symbol()).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- var handle = emnapiCtx.handleStore.get(description);
- var desc = handle.value;
- if (typeof desc !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(Symbol(desc)).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipipppp
- */
- function napi_create_typedarray(env, type, length, arraybuffer, byte_offset, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var buffer = handle.value;
- var createTypedArray = function (envObject, Type, size_of_element, buffer, byte_offset, length) {
- var _a;
- byte_offset = byte_offset >>> 0;
- length = length >>> 0;
- if (size_of_element > 1) {
- if ((byte_offset) % (size_of_element) !== 0) {
- var err = new RangeError("start offset of ".concat((_a = Type.name) !== null && _a !== void 0 ? _a : '', " should be a multiple of ").concat(size_of_element));
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- }
- if (((length * size_of_element) + byte_offset) > buffer.byteLength) {
- var err = new RangeError('Invalid typed array length');
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_LENGTH';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var out = new Type(buffer, byte_offset, length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Type,
- address: byte_offset,
- length: length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- };
- switch (type) {
- case 0 /* napi_typedarray_type.napi_int8_array */:
- return createTypedArray(envObject, Int8Array, 1, buffer, byte_offset, length);
- case 1 /* napi_typedarray_type.napi_uint8_array */:
- return createTypedArray(envObject, Uint8Array, 1, buffer, byte_offset, length);
- case 2 /* napi_typedarray_type.napi_uint8_clamped_array */:
- return createTypedArray(envObject, Uint8ClampedArray, 1, buffer, byte_offset, length);
- case 3 /* napi_typedarray_type.napi_int16_array */:
- return createTypedArray(envObject, Int16Array, 2, buffer, byte_offset, length);
- case 4 /* napi_typedarray_type.napi_uint16_array */:
- return createTypedArray(envObject, Uint16Array, 2, buffer, byte_offset, length);
- case 5 /* napi_typedarray_type.napi_int32_array */:
- return createTypedArray(envObject, Int32Array, 4, buffer, byte_offset, length);
- case 6 /* napi_typedarray_type.napi_uint32_array */:
- return createTypedArray(envObject, Uint32Array, 4, buffer, byte_offset, length);
- case 7 /* napi_typedarray_type.napi_float32_array */:
- return createTypedArray(envObject, Float32Array, 4, buffer, byte_offset, length);
- case 8 /* napi_typedarray_type.napi_float64_array */:
- return createTypedArray(envObject, Float64Array, 8, buffer, byte_offset, length);
- case 9 /* napi_typedarray_type.napi_bigint64_array */:
- return createTypedArray(envObject, BigInt64Array, 8, buffer, byte_offset, length);
- case 10 /* napi_typedarray_type.napi_biguint64_array */:
- return createTypedArray(envObject, BigUint64Array, 8, buffer, byte_offset, length);
- case 11 /* napi_typedarray_type.napi_float16_array */:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- return createTypedArray(envObject, Float16Array, 2, buffer, byte_offset, length);
- default:
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__deps malloc
- * @__sig ippp
- */
- function napi_create_buffer(env, size, data, result) {
- var _a;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value, pointer;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer', '');
- }
- var buffer = void 0;
- size = size >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!data || (size === 0)) {
- buffer = Buffer.alloc(size);
- value = emnapiCtx.addToCurrentScope(buffer).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- pointer = _malloc(size);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
- var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
- var viewDescriptor = {
- Ctor: Buffer,
- address: pointer,
- length: size,
- ownership: emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 1
- };
- emnapiExternalMemory.wasmMemoryViewTable.set(buffer_1, viewDescriptor);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
- value = emnapiCtx.addToCurrentScope(buffer_1).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- HEAP_DATA_VIEW.setUint32(data, pointer, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_buffer_copy(env, length, data, result_data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer_copy', '');
- }
- var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
- var buffer = Buffer.from(arrayBuffer);
- buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
- value = emnapiCtx.addToCurrentScope(buffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_external_buffer(env, length, data, finalize_cb, finalize_hint, result) {
- return emnapi_create_memory_view(env, -2 /* emnapi_memory_view_type.emnapi_buffer */, data, length, finalize_cb, finalize_hint, result);
- }
- /**
- * @__sig ippppp
- */
- function node_api_create_buffer_from_arraybuffer(env, arraybuffer, byte_offset, byte_length, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_offset = byte_offset >>> 0;
- byte_length = byte_length >>> 0;
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var buffer = handle.value;
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('The byte offset + length is out of range');
- err.code = 'ERR_OUT_OF_RANGE';
- throw err;
- }
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('node_api_create_buffer_from_arraybuffer', '');
- }
- var out = Buffer.from(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Buffer,
- address: byte_offset,
- length: byte_length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- byte_offset = byte_offset >>> 0;
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- var createDataview = function (buffer) {
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in');
- err.code = 'ERR_NAPI_INVALID_DATAVIEW_ARGS';
- throw err;
- }
- var dataview = new DataView(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(dataview)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(dataview, {
- Ctor: DataView,
- address: byte_offset,
- length: byte_length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(dataview).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- };
- if (value instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(value)) {
- return createDataview(value);
- }
- else {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function node_api_symbol_for(env, utf8description, length, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!utf8description)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!(autoLength || (sizelength <= 2147483647))) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var descriptionString = emnapiString.UTF8ToString(utf8description, length);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(Symbol.for(descriptionString)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var createMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_array: napi_create_array,
- napi_create_array_with_length: napi_create_array_with_length,
- napi_create_arraybuffer: napi_create_arraybuffer,
- napi_create_buffer: napi_create_buffer,
- napi_create_buffer_copy: napi_create_buffer_copy,
- napi_create_dataview: napi_create_dataview,
- napi_create_date: napi_create_date,
- napi_create_external: napi_create_external,
- napi_create_external_arraybuffer: napi_create_external_arraybuffer,
- napi_create_external_buffer: napi_create_external_buffer,
- napi_create_object: napi_create_object,
- napi_create_object_with_properties: napi_create_object_with_properties,
- napi_create_symbol: napi_create_symbol,
- napi_create_typedarray: napi_create_typedarray,
- node_api_create_buffer_from_arraybuffer: node_api_create_buffer_from_arraybuffer,
- node_api_create_sharedarraybuffer: node_api_create_sharedarraybuffer,
- node_api_symbol_for: node_api_symbol_for
- });
- /** @__sig ipip */
- function napi_get_boolean(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = value === 0 ? 3 /* GlobalHandle.FALSE */ : 4 /* GlobalHandle.TRUE */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_global(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 5 /* GlobalHandle.GLOBAL */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_null(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 2 /* GlobalHandle.NULL */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_undefined(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 1 /* GlobalHandle.UNDEFINED */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var globalMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_boolean: napi_get_boolean,
- napi_get_global: napi_get_global,
- napi_get_null: napi_get_null,
- napi_get_undefined: napi_get_undefined
- });
- /** @__sig ipppp */
- function napi_set_instance_data(env, data, finalize_cb, finalize_hint) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.setInstanceData(data, finalize_cb, finalize_hint);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_instance_data(env, data) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!data)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = envObject.getInstanceData();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, value, true);
- return envObject.clearLastError();
- }
- var envMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_instance_data: napi_get_instance_data,
- napi_set_instance_data: napi_set_instance_data
- });
- /** @__sig vpppp */
- function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- var lastError = envObject.lastError;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var errorCode = lastError.errorCode;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var engineErrorCode = lastError.engineErrorCode >>> 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var engineReserved = lastError.engineReserved;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_reserved, engineReserved, true);
- }
- /** @__sig ipp */
- function napi_throw(env, error) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!error)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- envObject.tryCatch.setError(emnapiCtx.handleStore.get(error).value);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new Error(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_type_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_range_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function node_api_throw_syntax_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_is_exception_pending(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = envObject.tryCatch.hasCaught();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new Error(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_type_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new TypeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_range_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new RangeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function node_api_create_syntax_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new SyntaxError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_and_clear_last_exception(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!envObject.tryCatch.hasCaught()) {
- HEAP_DATA_VIEW.setUint32(result, 1, true); // ID_UNDEFINED
- return envObject.clearLastError();
- }
- else {
- var err = envObject.tryCatch.exception();
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = envObject.ensureHandleId(err);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- envObject.tryCatch.reset();
- }
- return envObject.clearLastError();
- }
- /** @__sig vpppp */
- function napi_fatal_error(location, location_len, message, message_len) {
- var locationStr = emnapiString.UTF8ToString(location, location_len);
- var messageStr = emnapiString.UTF8ToString(message, message_len);
- if (emnapiNodeBinding) {
- emnapiNodeBinding.napi.fatalError(locationStr, messageStr);
- }
- else {
- abort('FATAL ERROR: ' + locationStr + ' ' + messageStr);
- }
- }
- /** @__sig ipp */
- function napi_fatal_exception(env, err) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!err)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = envObject.ctx.handleStore.get(err);
- try {
- envObject.triggerFatalException(error.value);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var errorMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_get_last_error_info: _emnapi_get_last_error_info,
- napi_create_error: napi_create_error,
- napi_create_range_error: napi_create_range_error,
- napi_create_type_error: napi_create_type_error,
- napi_fatal_error: napi_fatal_error,
- napi_fatal_exception: napi_fatal_exception,
- napi_get_and_clear_last_exception: napi_get_and_clear_last_exception,
- napi_is_exception_pending: napi_is_exception_pending,
- napi_throw: napi_throw,
- napi_throw_error: napi_throw_error,
- napi_throw_range_error: napi_throw_range_error,
- napi_throw_type_error: napi_throw_type_error,
- node_api_create_syntax_error: node_api_create_syntax_error,
- node_api_throw_syntax_error: node_api_throw_syntax_error
- });
- /** @__sig ipppppp */
- function napi_create_function(env, utf8name, length, cb, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
- if (fresult.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(fresult.status);
- var f = fresult.f;
- var valueHandle = emnapiCtx.addToCurrentScope(f);
- value = valueHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppppp */
- function napi_get_cb_info(env, cbinfo, argc, argv, this_arg, data) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!cbinfo)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (argv) {
- if (!argc)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
- var len = cbinfoValue.args.length;
- var arrlen = argcValue < len ? argcValue : len;
- var i = 0;
- for (; i < arrlen; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var argVal = envObject.ensureHandleId(cbinfoValue.args[i]);
- HEAP_DATA_VIEW.setUint32(argv + i * 4, argVal, true);
- }
- if (i < argcValue) {
- for (; i < argcValue; i++) {
- HEAP_DATA_VIEW.setUint32(argv + i * 4, 1, true);
- }
- }
- }
- if (argc) {
- HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
- }
- if (this_arg) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = envObject.ensureHandleId(cbinfoValue.thiz);
- HEAP_DATA_VIEW.setUint32(this_arg, v, true);
- }
- if (data) {
- HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ipppppp */
- function napi_call_function(env, recv, func, argc, argv, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!recv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8recv = emnapiCtx.handleStore.get(recv).value;
- if (!func)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function')
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var args = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args.push(emnapiCtx.handleStore.get(argVal).value);
- }
- var ret = v8func.apply(v8recv, args);
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippppp */
- function napi_new_instance(env, constructor, argc, argv, result) {
- var i;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Ctor = emnapiCtx.handleStore.get(constructor).value;
- if (typeof Ctor !== 'function')
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var ret = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (emnapiCtx.feature.supportReflect) {
- var argList = Array(argc);
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- argList[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- ret = Reflect.construct(Ctor, argList, Ctor);
- }
- else {
- var args = Array(argc + 1);
- args[0] = undefined;
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args[i + 1] = emnapiCtx.handleStore.get(argVal).value;
- }
- var BoundCtor = Ctor.bind.apply(Ctor, args);
- ret = new BoundCtor();
- }
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_get_new_target(env, cbinfo, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!cbinfo)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
- var value = thiz == null || thiz.constructor == null
- ? 0
- : thiz instanceof fn
- ? envObject.ensureHandleId(thiz.constructor)
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var functionMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_call_function: napi_call_function,
- napi_create_function: napi_create_function,
- napi_get_cb_info: napi_get_cb_info,
- napi_get_new_target: napi_get_new_target,
- napi_new_instance: napi_new_instance
- });
- /** @__sig ipp */
- function napi_open_handle_scope(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_close_handle_scope(env, scope) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if ((envObject.openHandleScopes === 0)) {
- return 13 /* napi_status.napi_handle_scope_mismatch */;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_open_escapable_handle_scope(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_close_escapable_handle_scope(env, scope) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if ((envObject.openHandleScopes === 0)) {
- return 13 /* napi_status.napi_handle_scope_mismatch */;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_escape_handle(env, scope, escapee, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!escapee)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var scopeObject = emnapiCtx.scopeStore.get(scope);
- if (!scopeObject.escapeCalled()) {
- var newHandle = scopeObject.escape(escapee);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = newHandle ? newHandle.id : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- return envObject.setLastError(12 /* napi_status.napi_escape_called_twice */);
- }
- /** @__sig ippip */
- function napi_create_reference(env, value, initial_refcount, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (envObject.moduleApiVersion < 10) {
- if (!(handle.isObject() || handle.isFunction() || handle.isSymbol())) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ref = emnapiCtx.createReference(envObject, handle.id, initial_refcount >>> 0, 1 /* ReferenceOwnership.kUserland */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, ref.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_delete_reference(env, ref) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.refStore.get(ref).dispose();
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_reference_ref(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var count = emnapiCtx.refStore.get(ref).ref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_reference_unref(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var reference = emnapiCtx.refStore.get(ref);
- var refcount = reference.refcount();
- if (refcount === 0) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var count = reference.unref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_get_reference_value(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var reference = emnapiCtx.refStore.get(ref);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var handleId = reference.get(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, handleId, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_add_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.addCleanupHook(envObject, fun, arg);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ippp */
- function napi_remove_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.removeCleanupHook(envObject, fun, arg);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig vp */
- function _emnapi_env_ref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.ref();
- }
- /** @__sig vp */
- function _emnapi_env_unref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.unref();
- }
- var lifeMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_env_ref: _emnapi_env_ref,
- _emnapi_env_unref: _emnapi_env_unref,
- napi_add_env_cleanup_hook: napi_add_env_cleanup_hook,
- napi_close_escapable_handle_scope: napi_close_escapable_handle_scope,
- napi_close_handle_scope: napi_close_handle_scope,
- napi_create_reference: napi_create_reference,
- napi_delete_reference: napi_delete_reference,
- napi_escape_handle: napi_escape_handle,
- napi_get_reference_value: napi_get_reference_value,
- napi_open_escapable_handle_scope: napi_open_escapable_handle_scope,
- napi_open_handle_scope: napi_open_handle_scope,
- napi_reference_ref: napi_reference_ref,
- napi_reference_unref: napi_reference_unref,
- napi_remove_env_cleanup_hook: napi_remove_env_cleanup_hook
- });
- /** @__sig ippi */
- function _emnapi_get_filename(env, buf, len) {
- var envObject = emnapiCtx.envStore.get(env);
- var filename = envObject.filename;
- if (!buf) {
- return emnapiString.lengthBytesUTF8(filename);
- }
- return emnapiString.stringToUTF8(filename, buf, len);
- }
- var miscellaneousMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_get_filename: _emnapi_get_filename
- });
- /** @__sig ippp */
- function napi_create_promise(env, deferred, promise) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var deferredObjectId, value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!promise)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var p = new Promise(function (resolve, reject) {
- var deferredObject = emnapiCtx.createDeferred({ resolve: resolve, reject: reject });
- deferredObjectId = deferredObject.id;
- HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
- });
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(p).id;
- HEAP_DATA_VIEW.setUint32(promise, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_resolve_deferred(env, deferred, resolution) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!resolution)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.resolve(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_reject_deferred(env, deferred, resolution) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!resolution)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.reject(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_is_promise(env, value, is_promise) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!is_promise)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isPromise() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(is_promise, r, true);
- return envObject.clearLastError();
- }
- var promiseMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_promise: napi_create_promise,
- napi_is_promise: napi_is_promise,
- napi_reject_deferred: napi_reject_deferred,
- napi_resolve_deferred: napi_resolve_deferred
- });
- /** @__sig ippiiip */
- function napi_get_all_property_names(env, object, key_mode, key_filter, key_conversion, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var obj = void 0;
- try {
- obj = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (key_mode !== 0 /* napi_key_collection_mode.napi_key_include_prototypes */ && key_mode !== 1 /* napi_key_collection_mode.napi_key_own_only */) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (key_conversion !== 0 /* napi_key_conversion.napi_key_keep_numbers */ && key_conversion !== 1 /* napi_key_conversion.napi_key_numbers_to_strings */) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var props = [];
- var names = void 0;
- var symbols = void 0;
- var i = void 0;
- var own = true;
- var integerIndiceRegex = /^(0|[1-9][0-9]*)$/;
- do {
- names = Object.getOwnPropertyNames(obj);
- symbols = Object.getOwnPropertySymbols(obj);
- for (i = 0; i < names.length; i++) {
- props.push({
- name: integerIndiceRegex.test(names[i]) ? Number(names[i]) : names[i],
- desc: Object.getOwnPropertyDescriptor(obj, names[i]),
- own: own
- });
- }
- for (i = 0; i < symbols.length; i++) {
- props.push({
- name: symbols[i],
- desc: Object.getOwnPropertyDescriptor(obj, symbols[i]),
- own: own
- });
- }
- if (key_mode === 1 /* napi_key_collection_mode.napi_key_own_only */) {
- break;
- }
- obj = Object.getPrototypeOf(obj);
- own = false;
- } while (obj);
- var ret = [];
- var addName = function (ret, name, key_filter, conversion_mode) {
- if (ret.indexOf(name) !== -1)
- return;
- if (conversion_mode === 0 /* napi_key_conversion.napi_key_keep_numbers */) {
- ret.push(name);
- }
- else if (conversion_mode === 1 /* napi_key_conversion.napi_key_numbers_to_strings */) {
- var realName = typeof name === 'number' ? String(name) : name;
- if (typeof realName === 'string') {
- if (!(key_filter & 8 /* napi_key_filter.napi_key_skip_strings */)) {
- ret.push(realName);
- }
- }
- else {
- ret.push(realName);
- }
- }
- };
- for (i = 0; i < props.length; i++) {
- var prop = props[i];
- var name_1 = prop.name;
- var desc = prop.desc;
- if (key_filter === 0 /* napi_key_filter.napi_key_all_properties */) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- else {
- if (key_filter & 8 /* napi_key_filter.napi_key_skip_strings */ && typeof name_1 === 'string') {
- continue;
- }
- if (key_filter & 16 /* napi_key_filter.napi_key_skip_symbols */ && typeof name_1 === 'symbol') {
- continue;
- }
- var shouldAdd = true;
- switch (key_filter & 7) {
- case 1 /* napi_key_filter.napi_key_writable */: {
- shouldAdd = Boolean(desc.writable);
- break;
- }
- case 2 /* napi_key_filter.napi_key_enumerable */: {
- shouldAdd = Boolean(desc.enumerable);
- break;
- }
- case (1 /* napi_key_filter.napi_key_writable */ | 2 /* napi_key_filter.napi_key_enumerable */): {
- shouldAdd = Boolean(desc.writable && desc.enumerable);
- break;
- }
- case 4 /* napi_key_filter.napi_key_configurable */: {
- shouldAdd = Boolean(desc.configurable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 1 /* napi_key_filter.napi_key_writable */): {
- shouldAdd = Boolean(desc.configurable && desc.writable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 2 /* napi_key_filter.napi_key_enumerable */): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 2 /* napi_key_filter.napi_key_enumerable */ | 1 /* napi_key_filter.napi_key_writable */): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable && desc.writable);
- break;
- }
- }
- if (shouldAdd) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(ret).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_get_property_names(env, object, result) {
- return napi_get_all_property_names(env, object, 0 /* napi_key_collection_mode.napi_key_include_prototypes */, 2 /* napi_key_filter.napi_key_enumerable */ | 16 /* napi_key_filter.napi_key_skip_symbols */, 1 /* napi_key_conversion.napi_key_numbers_to_strings */, result);
- }
- /** @__sig ipppp */
- function napi_set_property(env, object, key, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- h.value[emnapiCtx.handleStore.get(key).value] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = (emnapiCtx.handleStore.get(key).value in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_get_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_delete_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var propertyKey = emnapiCtx.handleStore.get(key).value;
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, propertyKey);
- }
- else {
- try {
- r = delete h.value[propertyKey];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_own_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var prop = emnapiCtx.handleStore.get(key).value;
- if (typeof prop !== 'string' && typeof prop !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_set_named_property(env, object, cname, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (!cname) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_named_property(env, object, utf8name, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!utf8name) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = emnapiString.UTF8ToString(utf8name, -1) in v;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_get_named_property(env, object, utf8name, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!utf8name) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_set_element(env, object, index, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- h.value[index >>> 0] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_has_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = ((index >>> 0) in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_get_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[index >>> 0]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_delete_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, index >>> 0);
- }
- else {
- try {
- r = delete h.value[index >>> 0];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_define_properties(env, object, property_count, properties) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var propPtr, attributes;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_2 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_2) {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- propertyName = emnapiCtx.handleStore.get(name_2).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- }
- emnapiDefineProperty(envObject, maybeObject, propertyName, method, getter, setter, value, attributes, data);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_object_freeze(env, object) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- Object.freeze(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_object_seal(env, object) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- Object.seal(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var propertyMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_define_properties: napi_define_properties,
- napi_delete_element: napi_delete_element,
- napi_delete_property: napi_delete_property,
- napi_get_all_property_names: napi_get_all_property_names,
- napi_get_element: napi_get_element,
- napi_get_named_property: napi_get_named_property,
- napi_get_property: napi_get_property,
- napi_get_property_names: napi_get_property_names,
- napi_has_element: napi_has_element,
- napi_has_named_property: napi_has_named_property,
- napi_has_own_property: napi_has_own_property,
- napi_has_property: napi_has_property,
- napi_object_freeze: napi_object_freeze,
- napi_object_seal: napi_object_seal,
- napi_set_element: napi_set_element,
- napi_set_named_property: napi_set_named_property,
- napi_set_property: napi_set_property
- });
- /** @__sig ippp */
- function napi_run_script(env, script, result) {
- var status;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!script)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v8Script = emnapiCtx.handleStore.get(script);
- if (!v8Script.isString()) {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var g = emnapiCtx.handleStore.get(5 /* GlobalHandle.GLOBAL */).value;
- var ret = g.eval(v8Script.value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(ret);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- status = envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- return status;
- }
- var scriptMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_run_script: napi_run_script
- });
- /** @__sig ippp */
- function napi_typeof(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v = emnapiCtx.handleStore.get(value);
- var r;
- if (v.isNumber()) {
- r = 3 /* napi_valuetype.napi_number */;
- }
- else if (v.isBigInt()) {
- r = 9 /* napi_valuetype.napi_bigint */;
- }
- else if (v.isString()) {
- r = 4 /* napi_valuetype.napi_string */;
- }
- else if (v.isFunction()) {
- // This test has to come before IsObject because IsFunction
- // implies IsObject
- r = 7 /* napi_valuetype.napi_function */;
- }
- else if (v.isExternal()) {
- // This test has to come before IsObject because IsExternal
- // implies IsObject
- r = 8 /* napi_valuetype.napi_external */;
- }
- else if (v.isObject()) {
- r = 6 /* napi_valuetype.napi_object */;
- }
- else if (v.isBoolean()) {
- r = 2 /* napi_valuetype.napi_boolean */;
- }
- else if (v.isUndefined()) {
- r = 0 /* napi_valuetype.napi_undefined */;
- }
- else if (v.isSymbol()) {
- r = 5 /* napi_valuetype.napi_symbol */;
- }
- else if (v.isNull()) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- r = 1 /* napi_valuetype.napi_null */;
- }
- else {
- // Should not get here unless V8 has added some new kind of value.
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_coerce_to_bool(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- v = handle.value ? 4 /* GlobalHandle.TRUE */ : 3 /* GlobalHandle.FALSE */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_number(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isBigInt()) {
- throw new TypeError('Cannot convert a BigInt value to a number');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_object(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(Object(handle.value));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_string(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isSymbol()) {
- throw new TypeError('Cannot convert a Symbol value to a string');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_instanceof(env, object, constructor, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- var ctor = emnapiCtx.handleStore.get(constructor);
- if (!ctor.isFunction()) {
- return envObject.setLastError(5 /* napi_status.napi_function_expected */);
- }
- var val = emnapiCtx.handleStore.get(object).value;
- var ret = val instanceof ctor.value;
- r = ret ? 1 : 0;
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_is_array(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_arraybuffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isArrayBuffer() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function node_api_is_sharedarraybuffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = ((typeof SharedArrayBuffer === 'function' && h.value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(h.value) === '[object SharedArrayBuffer]'))
- ? 1
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_date(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isDate() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_error(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var val = emnapiCtx.handleStore.get(value).value;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = (val instanceof Error) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_typedarray(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isTypedArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_buffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_dataview(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isDataView() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_strict_equals(env, lhs, rhs, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!lhs)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!rhs)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var lv = emnapiCtx.handleStore.get(lhs).value;
- var rv = emnapiCtx.handleStore.get(rhs).value;
- r = (lv === rv) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_detach_arraybuffer(env, arraybuffer) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- if (!(value instanceof ArrayBuffer)) {
- if (typeof SharedArrayBuffer === 'function' && (value instanceof SharedArrayBuffer)) {
- return envObject.setLastError(20 /* napi_status.napi_detachable_arraybuffer_expected */);
- }
- return envObject.setLastError(19 /* napi_status.napi_arraybuffer_expected */);
- }
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(value, [value]);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_detached_arraybuffer(env, arraybuffer, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(arraybuffer);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (h.isArrayBuffer() && h.value.byteLength === 0) {
- try {
- // eslint-disable-next-line no-new
- new Uint8Array(h.value);
- }
- catch (_) {
- HEAP_DATA_VIEW.setInt8(result, 1, true);
- return envObject.getReturnStatus();
- }
- }
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var valueOperationMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_coerce_to_bool: napi_coerce_to_bool,
- napi_coerce_to_number: napi_coerce_to_number,
- napi_coerce_to_object: napi_coerce_to_object,
- napi_coerce_to_string: napi_coerce_to_string,
- napi_detach_arraybuffer: napi_detach_arraybuffer,
- napi_instanceof: napi_instanceof,
- napi_is_array: napi_is_array,
- napi_is_arraybuffer: napi_is_arraybuffer,
- napi_is_buffer: napi_is_buffer,
- napi_is_dataview: napi_is_dataview,
- napi_is_date: napi_is_date,
- napi_is_detached_arraybuffer: napi_is_detached_arraybuffer,
- napi_is_error: napi_is_error,
- napi_is_typedarray: napi_is_typedarray,
- napi_strict_equals: napi_strict_equals,
- napi_typeof: napi_typeof,
- node_api_is_sharedarraybuffer: node_api_is_sharedarraybuffer
- });
- /** @__sig ipp */
- function napi_get_version(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, NODE_API_SUPPORTED_VERSION_MAX, true);
- return envObject.clearLastError();
- }
- var versionMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_version: napi_get_version
- });
- emnapiAWST.init();
- emnapiExternalMemory.init();
- emnapiString.init();
- emnapiTSFN.init();
- PThread.init();
- napiModule.emnapi.syncMemory = $emnapiSyncMemory;
- napiModule.emnapi.getMemoryAddress = $emnapiGetMemoryAddress;
- function addImports(mod) {
- var keys = Object.keys(mod);
- for (var i = 0; i < keys.length; ++i) {
- var k = keys[i];
- if (k.indexOf('$') === 0)
- continue;
- if (k.indexOf('emnapi_') === 0) {
- napiModule.imports.emnapi[k] = mod[k];
- }
- else if (k.indexOf('_emnapi_') === 0 || k === 'napi_set_last_error' || k === 'napi_clear_last_error') {
- napiModule.imports.env[k] = mod[k];
- }
- else {
- napiModule.imports.napi[k] = mod[k];
- }
- }
- }
- addImports(asyncMod);
- addImports(memoryMod);
- addImports(asyncWorkMod);
- addImports(utilMod);
- addImports(convert2cMod);
- addImports(convert2napiMod);
- addImports(createMod);
- addImports(globalMod);
- addImports(wrapMod);
- addImports(envMod);
- addImports(emnapiMod);
- addImports(errorMod);
- addImports(functionMod);
- addImports(lifeMod);
- addImports(miscellaneousMod);
- addImports(nodeMod);
- addImports(promiseMod);
- addImports(propertyMod);
- addImports(scriptMod);
- addImports(valueOperationMod);
- addImports(versionMod);
- napiModule.imports.napi.napi_create_threadsafe_function = napi_create_threadsafe_function;
- napiModule.imports.napi.napi_get_threadsafe_function_context = napi_get_threadsafe_function_context;
- napiModule.imports.napi.napi_call_threadsafe_function = napi_call_threadsafe_function;
- napiModule.imports.napi.napi_acquire_threadsafe_function = napi_acquire_threadsafe_function;
- napiModule.imports.napi.napi_release_threadsafe_function = napi_release_threadsafe_function;
- napiModule.imports.napi.napi_unref_threadsafe_function = napi_unref_threadsafe_function;
- napiModule.imports.napi.napi_ref_threadsafe_function = napi_ref_threadsafe_function;
- return napiModule;
- })();
- return napiModule;
-}
-
-function loadNapiModuleImpl(loadFn, userNapiModule, wasmInput, options) {
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
- options = options !== null && options !== void 0 ? options : {};
- var getMemory = options.getMemory;
- var getTable = options.getTable;
- var beforeInit = options.beforeInit;
- if (getMemory != null && typeof getMemory !== 'function') {
- throw new TypeError('options.getMemory is not a function');
- }
- if (getTable != null && typeof getTable !== 'function') {
- throw new TypeError('options.getTable is not a function');
- }
- if (beforeInit != null && typeof beforeInit !== 'function') {
- throw new TypeError('options.beforeInit is not a function');
- }
- var napiModule;
- var isLoad = typeof userNapiModule === 'object' && userNapiModule !== null;
- if (isLoad) {
- if (userNapiModule.loaded) {
- throw new Error('napiModule has already loaded');
- }
- napiModule = userNapiModule;
- }
- else {
- napiModule = createNapiModule(options);
- }
- var wasi = options.wasi;
- var wasiThreads;
- var importObject = {
- env: napiModule.imports.env,
- napi: napiModule.imports.napi,
- emnapi: napiModule.imports.emnapi
- };
- if (wasi) {
- wasiThreads = new WASIThreads(napiModule.childThread
- ? {
- wasi: wasi,
- childThread: true,
- postMessage: napiModule.postMessage
- }
- : {
- wasi: wasi,
- threadManager: napiModule.PThread,
- waitThreadStart: napiModule.waitThreadStart
- });
- Object.assign(importObject, typeof wasi.getImportObject === 'function'
- ? wasi.getImportObject()
- : { wasi_snapshot_preview1: wasi.wasiImport });
- Object.assign(importObject, wasiThreads.getImportObject());
- }
- var overwriteImports = options.overwriteImports;
- if (typeof overwriteImports === 'function') {
- var newImportObject = overwriteImports(importObject);
- if (typeof newImportObject === 'object' && newImportObject !== null) {
- importObject = newImportObject;
- }
- }
- return loadFn(wasmInput, importObject, function (err, source) {
- if (err) {
- throw err;
- }
- var originalInstance = source.instance;
- var instance = originalInstance;
- var originalExports = originalInstance.exports;
- var exportMemory = 'memory' in originalExports;
- var importMemory = 'memory' in importObject.env;
- var memory = getMemory
- ? getMemory(originalExports)
- : exportMemory
- ? originalExports.memory
- : importMemory
- ? importObject.env.memory
- : undefined;
- if (!memory) {
- throw new Error('memory is neither exported nor imported');
- }
- var table = getTable ? getTable(originalExports) : originalExports.__indirect_function_table;
- if (wasi && !exportMemory) {
- var exports_1 = Object.create(null);
- Object.assign(exports_1, originalExports, { memory: memory });
- instance = { exports: exports_1 };
- }
- var module = source.module;
- if (wasi) {
- instance = wasiThreads.initialize(instance, module, memory);
- }
- else {
- napiModule.PThread.setup(module, memory);
- }
- var emnapiInit = function () {
- if (beforeInit) {
- beforeInit({
- instance: originalInstance,
- module: module
- });
- }
- napiModule.init({
- instance: instance,
- module: module,
- memory: memory,
- table: table
- });
- var ret = {
- instance: originalInstance,
- module: module,
- usedInstance: instance
- };
- if (!isLoad) {
- ret.napiModule = napiModule;
- }
- return ret;
- };
- if (napiModule.PThread.shouldPreloadWorkers()) {
- var poolReady = napiModule.PThread.loadWasmModuleToAllWorkers();
- if (loadFn === loadCallback) {
- return poolReady.then(emnapiInit);
- }
- else {
- throw new Error('Synchronous loading is not supported with worker pool (reuseWorker.size > 0)');
- }
- }
- return emnapiInit();
- });
-}
-function loadCallback(wasmInput, importObject, callback) {
- return load(wasmInput, importObject).then(function (source) {
- return callback(null, source);
- }, function (err) {
- return callback(err);
- });
-}
-function loadSyncCallback(wasmInput, importObject, callback) {
- var source;
- try {
- source = loadSync(wasmInput, importObject);
- }
- catch (err) {
- return callback(err);
- }
- return callback(null, source);
-}
-/** @public */
-function loadNapiModule(napiModule,
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadCallback, napiModule, wasmInput, options);
-}
-/** @public */
-function loadNapiModuleSync(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadSyncCallback, napiModule, wasmInput, options);
-}
-/** @public */
-function instantiateNapiModule(
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput, options) {
- return loadNapiModuleImpl(loadCallback, undefined, wasmInput, options);
-}
-/** @public */
-function instantiateNapiModuleSync(wasmInput, options) {
- return loadNapiModuleImpl(loadSyncCallback, undefined, wasmInput, options);
-}
-
-/** @public */
-var MessageHandler = /*#__PURE__*/ (function (_super) {
- __extends(MessageHandler, _super);
- function MessageHandler(options) {
- var _this = this;
- if (typeof options.onLoad !== 'function') {
- throw new TypeError('options.onLoad is not a function');
- }
- var userOnError = options.onError;
- _this = _super.call(this, __assign(__assign({}, options), { onError: function (err, type) {
- var _a;
- var emnapi_thread_crashed = (_a = _this.instance) === null || _a === void 0 ? void 0 : _a.exports.emnapi_thread_crashed;
- if (typeof emnapi_thread_crashed === 'function') {
- emnapi_thread_crashed();
- } /* else {
- tryWakeUpPthreadJoin(this.instance!)
- } */
- if (typeof userOnError === 'function') {
- userOnError(err, type);
- }
- else {
- throw err;
- }
- } })) || this;
- _this.napiModule = undefined;
- return _this;
- }
- MessageHandler.prototype.instantiate = function (data) {
- var _this = this;
- var source = this.onLoad(data);
- var then = source.then;
- if (typeof then === 'function') {
- return source.then(function (result) {
- _this.napiModule = result.napiModule;
- return result;
- });
- }
- this.napiModule = source.napiModule;
- return source;
- };
- MessageHandler.prototype.handle = function (e) {
- var _this = this;
- var _a;
- _super.prototype.handle.call(this, e);
- if ((_a = e === null || e === void 0 ? void 0 : e.data) === null || _a === void 0 ? void 0 : _a.__emnapi__) {
- var type = e.data.__emnapi__.type;
- var payload_1 = e.data.__emnapi__.payload;
- try {
- if (type === 'async-worker-init') {
- this.handleAfterLoad(e, function () {
- _this.napiModule.initWorker(payload_1.arg);
- });
- }
- else if (type === 'async-work-execute') {
- this.handleAfterLoad(e, function () {
- _this.napiModule.executeAsyncWork(payload_1.work);
- });
- }
- }
- catch (err) {
- this.onError(err, type);
- }
- }
- };
- return MessageHandler;
-}(ThreadMessageHandler));
-// function tryWakeUpPthreadJoin (instance: WebAssembly.Instance): void {
-// // https://github.com/WebAssembly/wasi-libc/blob/574b88da481569b65a237cb80daf9a2d5aeaf82d/libc-top-half/musl/src/thread/pthread_join.c#L18-L21
-// const pthread_self = instance.exports.pthread_self as () => number
-// const memory = instance.exports.memory as WebAssembly.Memory
-// if (typeof pthread_self === 'function') {
-// const selfThread = pthread_self()
-// if (selfThread && memory) {
-// // https://github.com/WebAssembly/wasi-libc/blob/574b88da481569b65a237cb80daf9a2d5aeaf82d/libc-top-half/musl/src/internal/pthread_impl.h#L45
-// const detatchState = new Int32Array(memory.buffer, selfThread + 7 * 4 /** detach_state */, 1)
-// Atomics.store(detatchState, 0, 0)
-// Atomics.notify(detatchState, 0, Infinity)
-// }
-// }
-// }
-
-var version = "1.8.1";
-
-export { MessageHandler, createNapiModule, instantiateNapiModule, instantiateNapiModuleSync, loadNapiModule, loadNapiModuleSync, version };
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.js b/node_modules/@emnapi/core/dist/emnapi-core.js
deleted file mode 100644
index a0ebbf1..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.js
+++ /dev/null
@@ -1,8655 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.emnapiCore = {}));
-})(this, (function (exports) {
- /* eslint-disable no-undef */
- var _WebAssembly$1 = typeof WebAssembly !== 'undefined'
- ? WebAssembly
- : typeof WXWebAssembly !== 'undefined'
- ? WXWebAssembly
- : undefined;
- function validateImports(imports) {
- if (imports && typeof imports !== 'object') {
- throw new TypeError('imports must be an object or undefined');
- }
- return true;
- }
- function load(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- // Promise
- try {
- var then = typeof wasmInput === 'object' && wasmInput !== null && 'then' in wasmInput ? wasmInput.then : undefined;
- if (typeof then === 'function') {
- return then.call(wasmInput, function (input) { return load(input, imports); });
- }
- }
- catch (_) { }
- // BufferSource
- if (wasmInput instanceof ArrayBuffer || ArrayBuffer.isView(wasmInput)) {
- return _WebAssembly$1.instantiate(wasmInput, imports);
- }
- // WebAssembly.Module
- if (wasmInput instanceof _WebAssembly$1.Module) {
- return _WebAssembly$1.instantiate(wasmInput, imports).then(function (instance) {
- return { instance: instance, module: wasmInput };
- });
- }
- // Response
- if (typeof Response !== 'undefined' && wasmInput instanceof Response) {
- return wasmInput.arrayBuffer().then(function (buffer) {
- return _WebAssembly$1.instantiate(buffer, imports);
- });
- }
- // string | URL
- var inputIsString = typeof wasmInput === 'string';
- if (inputIsString || (typeof URL !== 'undefined' && wasmInput instanceof URL)) {
- if (inputIsString && typeof wx !== 'undefined' && typeof __wxConfig !== 'undefined') {
- return _WebAssembly$1.instantiate(wasmInput, imports);
- }
- if (typeof fetch !== 'function') {
- throw new TypeError('wasm source can not be a string or URL in this environment');
- }
- if (typeof _WebAssembly$1.instantiateStreaming === 'function') {
- try {
- return _WebAssembly$1.instantiateStreaming(fetch(wasmInput), imports).catch(function () {
- return load(fetch(wasmInput), imports);
- });
- }
- catch (_) {
- return load(fetch(wasmInput), imports);
- }
- }
- else {
- return load(fetch(wasmInput), imports);
- }
- }
- throw new TypeError('Invalid wasm source');
- }
- function loadSync(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- var module;
- if ((wasmInput instanceof ArrayBuffer) || ArrayBuffer.isView(wasmInput)) {
- module = new _WebAssembly$1.Module(wasmInput);
- }
- else if (wasmInput instanceof WebAssembly.Module) {
- module = wasmInput;
- }
- else {
- throw new TypeError('Invalid wasm source');
- }
- var instance = new _WebAssembly$1.Instance(module, imports);
- var source = { instance: instance, module: module };
- return source;
- }
-
- var _WebAssembly = typeof WebAssembly !== 'undefined'
- ? WebAssembly
- : typeof WXWebAssembly !== 'undefined'
- ? WXWebAssembly
- : undefined;
- var ENVIRONMENT_IS_NODE = typeof process === 'object' && process !== null &&
- typeof process.versions === 'object' && process.versions !== null &&
- typeof process.versions.node === 'string';
- function getPostMessage(options) {
- return typeof (options === null || options === void 0 ? void 0 : options.postMessage) === 'function'
- ? options.postMessage
- : typeof postMessage === 'function'
- ? postMessage
- : undefined;
- }
- function serizeErrorToBuffer(sab, code, error) {
- var i32array = new Int32Array(sab);
- Atomics.store(i32array, 0, code);
- if (code > 1 && error) {
- var name_1 = error.name;
- var message = error.message;
- var stack = error.stack;
- var nameBuffer = new TextEncoder().encode(name_1);
- var messageBuffer = new TextEncoder().encode(message);
- var stackBuffer = new TextEncoder().encode(stack);
- Atomics.store(i32array, 1, nameBuffer.length);
- Atomics.store(i32array, 2, messageBuffer.length);
- Atomics.store(i32array, 3, stackBuffer.length);
- var buffer = new Uint8Array(sab);
- buffer.set(nameBuffer, 16);
- buffer.set(messageBuffer, 16 + nameBuffer.length);
- buffer.set(stackBuffer, 16 + nameBuffer.length + messageBuffer.length);
- }
- }
- function deserizeErrorFromBuffer(sab) {
- var _a, _b;
- var i32array = new Int32Array(sab);
- var status = Atomics.load(i32array, 0);
- if (status <= 1) {
- return null;
- }
- var nameLength = Atomics.load(i32array, 1);
- var messageLength = Atomics.load(i32array, 2);
- var stackLength = Atomics.load(i32array, 3);
- var buffer = new Uint8Array(sab);
- var nameBuffer = buffer.slice(16, 16 + nameLength);
- var messageBuffer = buffer.slice(16 + nameLength, 16 + nameLength + messageLength);
- var stackBuffer = buffer.slice(16 + nameLength + messageLength, 16 + nameLength + messageLength + stackLength);
- var name = new TextDecoder().decode(nameBuffer);
- var message = new TextDecoder().decode(messageBuffer);
- var stack = new TextDecoder().decode(stackBuffer);
- var ErrorConstructor = (_a = globalThis[name]) !== null && _a !== void 0 ? _a : (name === 'RuntimeError' ? ((_b = _WebAssembly.RuntimeError) !== null && _b !== void 0 ? _b : Error) : Error);
- var error = new ErrorConstructor(message);
- Object.defineProperty(error, 'stack', {
- value: stack,
- writable: true,
- enumerable: false,
- configurable: true
- });
- return error;
- }
- /** @public */
- function isSharedArrayBuffer(value) {
- return ((typeof SharedArrayBuffer === 'function' && value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(value) === '[object SharedArrayBuffer]'));
- }
- /** @public */
- function isTrapError(e) {
- try {
- return e instanceof _WebAssembly.RuntimeError;
- }
- catch (_) {
- return false;
- }
- }
-
- function createMessage(type, payload) {
- return {
- __emnapi__: {
- type: type,
- payload: payload
- }
- };
- }
-
- var WASI_THREADS_MAX_TID = 0x1FFFFFFF;
- function checkSharedWasmMemory(wasmMemory) {
- if (wasmMemory) {
- if (!isSharedArrayBuffer(wasmMemory.buffer)) {
- throw new Error('Multithread features require shared wasm memory. ' +
- 'Try to compile with `-matomics -mbulk-memory` and use `--import-memory --shared-memory` during linking, ' +
- 'then create WebAssembly.Memory with `shared: true` option');
- }
- }
- else {
- if (typeof SharedArrayBuffer === 'undefined') {
- throw new Error('Current environment does not support SharedArrayBuffer, threads are not available!');
- }
- }
- }
- function getReuseWorker(value) {
- var _a;
- if (typeof value === 'boolean') {
- return value ? { size: 0, strict: false } : false;
- }
- if (typeof value === 'number') {
- if (!(value >= 0)) {
- throw new RangeError('reuseWorker: size must be a non-negative integer');
- }
- return { size: value, strict: false };
- }
- if (!value) {
- return false;
- }
- var size = (_a = Number(value.size)) !== null && _a !== void 0 ? _a : 0;
- var strict = Boolean(value.strict);
- if (!(size > 0) && strict) {
- throw new RangeError('reuseWorker: size must be set to positive integer if strict is set to true');
- }
- return { size: size, strict: strict };
- }
- var nextWorkerID = 0;
- /** @public */
- var ThreadManager = /*#__PURE__*/ (function () {
- function ThreadManager(options) {
- var _a;
- this.unusedWorkers = [];
- this.runningWorkers = [];
- this.pthreads = Object.create(null);
- this.wasmModule = null;
- this.wasmMemory = null;
- this.messageEvents = new WeakMap();
- if (!options) {
- throw new TypeError('ThreadManager(): options is not provided');
- }
- if ('childThread' in options) {
- this._childThread = Boolean(options.childThread);
- }
- else {
- this._childThread = false;
- }
- if (this._childThread) {
- this._onCreateWorker = undefined;
- this._reuseWorker = false;
- this._beforeLoad = undefined;
- }
- else {
- this._onCreateWorker = options.onCreateWorker;
- this._reuseWorker = getReuseWorker(options.reuseWorker);
- this._beforeLoad = options.beforeLoad;
- }
- this.printErr = (_a = options.printErr) !== null && _a !== void 0 ? _a : console.error.bind(console);
- }
- Object.defineProperty(ThreadManager.prototype, "nextWorkerID", {
- get: function () { return nextWorkerID; },
- enumerable: false,
- configurable: true
- });
- ThreadManager.prototype.init = function () {
- if (!this._childThread) {
- this.initMainThread();
- }
- };
- ThreadManager.prototype.initMainThread = function () {
- this.preparePool();
- };
- ThreadManager.prototype.preparePool = function () {
- if (this._reuseWorker) {
- if (this._reuseWorker.size) {
- var pthreadPoolSize = this._reuseWorker.size;
- while (pthreadPoolSize--) {
- var worker = this.allocateUnusedWorker();
- if (ENVIRONMENT_IS_NODE) {
- // https://github.com/nodejs/node/issues/53036
- worker.once('message', function () { });
- worker.unref();
- }
- }
- }
- }
- };
- ThreadManager.prototype.shouldPreloadWorkers = function () {
- return !this._childThread && this._reuseWorker && this._reuseWorker.size > 0;
- };
- ThreadManager.prototype.loadWasmModuleToAllWorkers = function () {
- var _this_1 = this;
- var promises = Array(this.unusedWorkers.length);
- var _loop_1 = function (i) {
- var worker = this_1.unusedWorkers[i];
- if (ENVIRONMENT_IS_NODE)
- worker.ref();
- promises[i] = this_1.loadWasmModuleToWorker(worker).then(function (w) {
- if (ENVIRONMENT_IS_NODE)
- worker.unref();
- return w;
- }, function (e) {
- if (ENVIRONMENT_IS_NODE)
- worker.unref();
- throw e;
- });
- };
- var this_1 = this;
- for (var i = 0; i < this.unusedWorkers.length; ++i) {
- _loop_1(i);
- }
- return Promise.all(promises).catch(function (err) {
- _this_1.terminateAllThreads();
- throw err;
- });
- };
- ThreadManager.prototype.preloadWorkers = function () {
- if (this.shouldPreloadWorkers()) {
- return this.loadWasmModuleToAllWorkers();
- }
- return Promise.resolve([]);
- };
- ThreadManager.prototype.setup = function (wasmModule, wasmMemory) {
- this.wasmModule = wasmModule;
- this.wasmMemory = wasmMemory;
- };
- ThreadManager.prototype.markId = function (worker) {
- if (worker.__emnapi_tid)
- return worker.__emnapi_tid;
- var tid = nextWorkerID + 43;
- nextWorkerID = (nextWorkerID + 1) % (WASI_THREADS_MAX_TID - 42);
- this.pthreads[tid] = worker;
- worker.__emnapi_tid = tid;
- return tid;
- };
- ThreadManager.prototype.returnWorkerToPool = function (worker) {
- var tid = worker.__emnapi_tid;
- if (tid !== undefined) {
- delete this.pthreads[tid];
- }
- this.unusedWorkers.push(worker);
- this.runningWorkers.splice(this.runningWorkers.indexOf(worker), 1);
- delete worker.__emnapi_tid;
- if (ENVIRONMENT_IS_NODE) {
- worker.unref();
- }
- };
- ThreadManager.prototype.loadWasmModuleToWorker = function (worker, sab) {
- var _this_1 = this;
- if (worker.whenLoaded)
- return worker.whenLoaded;
- var err = this.printErr;
- var beforeLoad = this._beforeLoad;
- // eslint-disable-next-line @typescript-eslint/no-this-alias
- var _this = this;
- worker.whenLoaded = new Promise(function (resolve, reject) {
- var handleError = function (e) {
- var message = 'worker sent an error!';
- if (worker.__emnapi_tid !== undefined) {
- message = 'worker (tid = ' + worker.__emnapi_tid + ') sent an error!';
- }
- if ('message' in e) {
- err(message + ' ' + e.message);
- if (e.message.indexOf('RuntimeError') !== -1 || e.message.indexOf('unreachable') !== -1) {
- try {
- _this.terminateAllThreads();
- }
- catch (_) { }
- }
- }
- else {
- err(message);
- }
- reject(e);
- throw e;
- };
- var handleMessage = function (data) {
- if (data.__emnapi__) {
- var type = data.__emnapi__.type;
- var payload = data.__emnapi__.payload;
- if (type === 'loaded') {
- worker.loaded = true;
- if (ENVIRONMENT_IS_NODE && !worker.__emnapi_tid) {
- worker.unref();
- }
- resolve(worker);
- // if (payload.err) {
- // err('failed to load in child thread: ' + (payload.err.message || payload.err))
- // }
- }
- else if (type === 'cleanup-thread') {
- if (payload.tid in _this_1.pthreads) {
- _this_1.cleanThread(worker, payload.tid);
- }
- }
- }
- };
- worker.onmessage = function (e) {
- handleMessage(e.data);
- _this_1.fireMessageEvent(worker, e);
- };
- worker.onerror = handleError;
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', function (data) {
- var _a, _b;
- (_b = (_a = worker).onmessage) === null || _b === void 0 ? void 0 : _b.call(_a, {
- data: data
- });
- });
- worker.on('error', function (e) {
- var _a, _b;
- (_b = (_a = worker).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, e);
- });
- worker.on('detachedExit', function () { });
- }
- if (typeof beforeLoad === 'function') {
- beforeLoad(worker);
- }
- try {
- worker.postMessage(createMessage('load', {
- wasmModule: _this_1.wasmModule,
- wasmMemory: _this_1.wasmMemory,
- sab: sab
- }));
- }
- catch (err) {
- checkSharedWasmMemory(_this_1.wasmMemory);
- throw err;
- }
- });
- return worker.whenLoaded;
- };
- ThreadManager.prototype.allocateUnusedWorker = function () {
- var _onCreateWorker = this._onCreateWorker;
- if (typeof _onCreateWorker !== 'function') {
- throw new TypeError('`options.onCreateWorker` is not provided');
- }
- var worker = _onCreateWorker({ type: 'thread', name: 'emnapi-pthread' });
- this.unusedWorkers.push(worker);
- return worker;
- };
- ThreadManager.prototype.getNewWorker = function (sab) {
- if (this._reuseWorker) {
- if (this.unusedWorkers.length === 0) {
- if (this._reuseWorker.strict) {
- if (!ENVIRONMENT_IS_NODE) {
- var err = this.printErr;
- err('Tried to spawn a new thread, but the thread pool is exhausted.\n' +
- 'This might result in a deadlock unless some threads eventually exit or the code explicitly breaks out to the event loop.');
- return;
- }
- }
- var worker_1 = this.allocateUnusedWorker();
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.loadWasmModuleToWorker(worker_1, sab);
- }
- return this.unusedWorkers.pop();
- }
- var worker = this.allocateUnusedWorker();
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.loadWasmModuleToWorker(worker, sab);
- return this.unusedWorkers.pop();
- };
- ThreadManager.prototype.cleanThread = function (worker, tid, force) {
- if (!force && this._reuseWorker) {
- this.returnWorkerToPool(worker);
- }
- else {
- delete this.pthreads[tid];
- var index = this.runningWorkers.indexOf(worker);
- if (index !== -1) {
- this.runningWorkers.splice(index, 1);
- }
- this.terminateWorker(worker);
- delete worker.__emnapi_tid;
- }
- };
- ThreadManager.prototype.terminateWorker = function (worker) {
- var _this_1 = this;
- var _a;
- var tid = worker.__emnapi_tid;
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- worker.terminate();
- (_a = this.messageEvents.get(worker)) === null || _a === void 0 ? void 0 : _a.clear();
- this.messageEvents.delete(worker);
- worker.onmessage = function (e) {
- if (e.data.__emnapi__) {
- var err = _this_1.printErr;
- err('received "' + e.data.__emnapi__.type + '" command from terminated worker: ' + tid);
- }
- };
- };
- ThreadManager.prototype.terminateAllThreads = function () {
- for (var i = 0; i < this.runningWorkers.length; ++i) {
- this.terminateWorker(this.runningWorkers[i]);
- }
- for (var i = 0; i < this.unusedWorkers.length; ++i) {
- this.terminateWorker(this.unusedWorkers[i]);
- }
- this.unusedWorkers = [];
- this.runningWorkers = [];
- this.pthreads = Object.create(null);
- this.preparePool();
- };
- ThreadManager.prototype.addMessageEventListener = function (worker, onMessage) {
- var listeners = this.messageEvents.get(worker);
- if (!listeners) {
- listeners = new Set();
- this.messageEvents.set(worker, listeners);
- }
- listeners.add(onMessage);
- return function () {
- listeners === null || listeners === void 0 ? void 0 : listeners.delete(onMessage);
- };
- };
- ThreadManager.prototype.fireMessageEvent = function (worker, e) {
- var listeners = this.messageEvents.get(worker);
- if (!listeners)
- return;
- var err = this.printErr;
- listeners.forEach(function (listener) {
- try {
- listener(e);
- }
- catch (e) {
- err(e.stack);
- }
- });
- };
- return ThreadManager;
- }());
-
- var kIsProxy = Symbol('kIsProxy');
- /** @public */
- function createInstanceProxy(instance, memory) {
- if (instance[kIsProxy])
- return instance;
- // https://github.com/nodejs/help/issues/4102
- var originalExports = instance.exports;
- var createHandler = function (target) {
- var handlers = [
- 'apply',
- 'construct',
- 'defineProperty',
- 'deleteProperty',
- 'get',
- 'getOwnPropertyDescriptor',
- 'getPrototypeOf',
- 'has',
- 'isExtensible',
- 'ownKeys',
- 'preventExtensions',
- 'set',
- 'setPrototypeOf'
- ];
- var handler = {};
- var _loop_1 = function (i) {
- var name_1 = handlers[i];
- handler[name_1] = function () {
- var args = Array.prototype.slice.call(arguments, 1);
- args.unshift(target);
- return Reflect[name_1].apply(Reflect, args);
- };
- };
- for (var i = 0; i < handlers.length; i++) {
- _loop_1(i);
- }
- return handler;
- };
- var handler = createHandler(originalExports);
- var _initialize = function () { };
- var _start = function () { return 0; };
- handler.get = function (_target, p, receiver) {
- var _a;
- if (p === 'memory') {
- return (_a = (typeof memory === 'function' ? memory() : memory)) !== null && _a !== void 0 ? _a : Reflect.get(originalExports, p, receiver);
- }
- if (p === '_initialize') {
- return p in originalExports ? _initialize : undefined;
- }
- if (p === '_start') {
- return p in originalExports ? _start : undefined;
- }
- return Reflect.get(originalExports, p, receiver);
- };
- handler.has = function (_target, p) {
- if (p === 'memory')
- return true;
- return Reflect.has(originalExports, p);
- };
- var exportsProxy = new Proxy(Object.create(null), handler);
- return new Proxy(instance, {
- get: function (target, p, receiver) {
- if (p === 'exports') {
- return exportsProxy;
- }
- if (p === kIsProxy) {
- return true;
- }
- return Reflect.get(target, p, receiver);
- }
- });
- }
-
- var patchedWasiInstances = new WeakMap();
- /** @public */
- var WASIThreads = /*#__PURE__*/ (function () {
- function WASIThreads(options) {
- var _this_1 = this;
- if (!options) {
- throw new TypeError('WASIThreads(): options is not provided');
- }
- if (!options.wasi) {
- throw new TypeError('WASIThreads(): options.wasi is not provided');
- }
- patchedWasiInstances.set(this, new WeakSet());
- var wasi = options.wasi;
- patchWasiInstance(this, wasi);
- this.wasi = wasi;
- if ('childThread' in options) {
- this.childThread = Boolean(options.childThread);
- }
- else {
- this.childThread = false;
- }
- this.PThread = undefined;
- if ('threadManager' in options) {
- if (typeof options.threadManager === 'function') {
- this.PThread = options.threadManager();
- }
- else {
- this.PThread = options.threadManager;
- }
- }
- else {
- if (!this.childThread) {
- this.PThread = new ThreadManager(options);
- this.PThread.init();
- }
- }
- var waitThreadStart = false;
- if ('waitThreadStart' in options) {
- waitThreadStart = typeof options.waitThreadStart === 'number' ? options.waitThreadStart : Boolean(options.waitThreadStart);
- }
- var postMessage = getPostMessage(options);
- if (this.childThread && typeof postMessage !== 'function') {
- throw new TypeError('options.postMessage is not a function');
- }
- this.postMessage = postMessage;
- var wasm64 = Boolean(options.wasm64);
- var onMessage = function (e) {
- if (e.data.__emnapi__) {
- var type = e.data.__emnapi__.type;
- var payload = e.data.__emnapi__.payload;
- if (type === 'spawn-thread') {
- threadSpawn(payload.startArg, payload.errorOrTid);
- }
- else if (type === 'terminate-all-threads') {
- _this_1.terminateAllThreads();
- }
- }
- };
- var threadSpawn = function (startArg, errorOrTid) {
- var _a;
- var EAGAIN = 6;
- var isNewABI = errorOrTid !== undefined;
- try {
- checkSharedWasmMemory(_this_1.wasmMemory);
- }
- catch (err) {
- (_a = _this_1.PThread) === null || _a === void 0 ? void 0 : _a.printErr(err.stack);
- if (isNewABI) {
- var struct_1 = new Int32Array(_this_1.wasmMemory.buffer, errorOrTid, 2);
- Atomics.store(struct_1, 0, 1);
- Atomics.store(struct_1, 1, EAGAIN);
- Atomics.notify(struct_1, 1);
- return 1;
- }
- else {
- return -EAGAIN;
- }
- }
- if (!isNewABI) {
- var malloc = _this_1.wasmInstance.exports.malloc;
- errorOrTid = wasm64 ? Number(malloc(BigInt(8))) : malloc(8);
- if (!errorOrTid) {
- return -48; /* ENOMEM */
- }
- }
- var _free = _this_1.wasmInstance.exports.free;
- var free = wasm64 ? function (ptr) { _free(BigInt(ptr)); } : _free;
- var struct = new Int32Array(_this_1.wasmMemory.buffer, errorOrTid, 2);
- Atomics.store(struct, 0, 0);
- Atomics.store(struct, 1, 0);
- if (_this_1.childThread) {
- postMessage(createMessage('spawn-thread', {
- startArg: startArg,
- errorOrTid: errorOrTid
- }));
- Atomics.wait(struct, 1, 0);
- var isError = Atomics.load(struct, 0);
- var result = Atomics.load(struct, 1);
- if (isNewABI) {
- return isError;
- }
- free(errorOrTid);
- return isError ? -result : result;
- }
- var shouldWait = waitThreadStart || (waitThreadStart === 0);
- var sab;
- if (shouldWait) {
- sab = new Int32Array(new SharedArrayBuffer(16 + 8192));
- Atomics.store(sab, 0, 0);
- }
- var worker;
- var tid;
- var PThread = _this_1.PThread;
- try {
- worker = PThread.getNewWorker(sab);
- if (!worker) {
- throw new Error('failed to get new worker');
- }
- PThread.addMessageEventListener(worker, onMessage);
- tid = PThread.markId(worker);
- if (ENVIRONMENT_IS_NODE) {
- worker.ref();
- }
- worker.postMessage(createMessage('start', {
- tid: tid,
- arg: startArg,
- sab: sab
- }));
- if (shouldWait) {
- if (typeof waitThreadStart === 'number') {
- var waitResult = Atomics.wait(sab, 0, 0, waitThreadStart);
- if (waitResult === 'timed-out') {
- try {
- PThread.cleanThread(worker, tid, true);
- }
- catch (_) { }
- throw new Error('Spawning thread timed out. Please check if the worker is created successfully and if message is handled properly in the worker.');
- }
- }
- else {
- Atomics.wait(sab, 0, 0);
- }
- var r = Atomics.load(sab, 0);
- if (r > 1) {
- try {
- PThread.cleanThread(worker, tid, true);
- }
- catch (_) { }
- throw deserizeErrorFromBuffer(sab.buffer);
- }
- }
- }
- catch (e) {
- Atomics.store(struct, 0, 1);
- Atomics.store(struct, 1, EAGAIN);
- Atomics.notify(struct, 1);
- PThread === null || PThread === void 0 ? void 0 : PThread.printErr(e.stack);
- if (isNewABI) {
- return 1;
- }
- free(errorOrTid);
- return -EAGAIN;
- }
- Atomics.store(struct, 0, 0);
- Atomics.store(struct, 1, tid);
- Atomics.notify(struct, 1);
- PThread.runningWorkers.push(worker);
- if (!shouldWait) {
- worker.whenLoaded.catch(function (err) {
- delete worker.whenLoaded;
- PThread.cleanThread(worker, tid, true);
- throw err;
- });
- }
- if (isNewABI) {
- return 0;
- }
- free(errorOrTid);
- return tid;
- };
- this.threadSpawn = threadSpawn;
- }
- WASIThreads.prototype.getImportObject = function () {
- return {
- wasi: {
- 'thread-spawn': this.threadSpawn
- }
- };
- };
- WASIThreads.prototype.setup = function (wasmInstance, wasmModule, wasmMemory) {
- wasmMemory !== null && wasmMemory !== void 0 ? wasmMemory : (wasmMemory = wasmInstance.exports.memory);
- this.wasmInstance = wasmInstance;
- this.wasmMemory = wasmMemory;
- if (this.PThread) {
- this.PThread.setup(wasmModule, wasmMemory);
- }
- };
- WASIThreads.prototype.preloadWorkers = function () {
- if (this.PThread) {
- return this.PThread.preloadWorkers();
- }
- return Promise.resolve([]);
- };
- /**
- * It's ok to call this method to a WASI command module.
- *
- * in child thread, must call this method instead of {@link WASIThreads.start} even if it's a WASI command module
- *
- * @returns A proxied WebAssembly instance if in child thread, other wise the original instance
- */
- WASIThreads.prototype.initialize = function (instance, module, memory) {
- var exports$1 = instance.exports;
- memory !== null && memory !== void 0 ? memory : (memory = exports$1.memory);
- if (this.childThread) {
- instance = createInstanceProxy(instance, memory);
- }
- this.setup(instance, module, memory);
- var wasi = this.wasi;
- if (('_start' in exports$1) && (typeof exports$1._start === 'function')) {
- if (this.childThread) {
- wasi.start(instance);
- try {
- var kStarted = getWasiSymbol(wasi, 'kStarted');
- wasi[kStarted] = false;
- }
- catch (_) { }
- }
- else {
- setupInstance(wasi, instance);
- }
- }
- else {
- wasi.initialize(instance);
- }
- return instance;
- };
- /**
- * Equivalent to calling {@link WASIThreads.initialize} and then calling {@link WASIInstance.start}
- * ```js
- * this.initialize(instance, module, memory)
- * this.wasi.start(instance)
- * ```
- */
- WASIThreads.prototype.start = function (instance, module, memory) {
- var exports$1 = instance.exports;
- memory !== null && memory !== void 0 ? memory : (memory = exports$1.memory);
- if (this.childThread) {
- instance = createInstanceProxy(instance, memory);
- }
- this.setup(instance, module, memory);
- var exitCode = this.wasi.start(instance);
- return { exitCode: exitCode, instance: instance };
- };
- WASIThreads.prototype.terminateAllThreads = function () {
- var _a;
- if (!this.childThread) {
- (_a = this.PThread) === null || _a === void 0 ? void 0 : _a.terminateAllThreads();
- }
- else {
- this.postMessage(createMessage('terminate-all-threads', {}));
- }
- };
- return WASIThreads;
- }());
- function patchWasiInstance(wasiThreads, wasi) {
- var patched = patchedWasiInstances.get(wasiThreads);
- if (patched.has(wasi)) {
- return;
- }
- var _this = wasiThreads;
- var wasiImport = wasi.wasiImport;
- if (wasiImport) {
- var proc_exit_1 = wasiImport.proc_exit;
- wasiImport.proc_exit = function (code) {
- _this.terminateAllThreads();
- return proc_exit_1.call(this, code);
- };
- }
- if (!_this.childThread) {
- var start_1 = wasi.start;
- if (typeof start_1 === 'function') {
- wasi.start = function (instance) {
- try {
- return start_1.call(this, instance);
- }
- catch (err) {
- if (isTrapError(err)) {
- _this.terminateAllThreads();
- }
- throw err;
- }
- };
- }
- }
- patched.add(wasi);
- }
- function getWasiSymbol(wasi, description) {
- var symbols = Object.getOwnPropertySymbols(wasi);
- var selectDescription = function (description) { return function (s) {
- if (s.description) {
- return s.description === description;
- }
- return s.toString() === "Symbol(".concat(description, ")");
- }; };
- if (Array.isArray(description)) {
- return description.map(function (d) { return symbols.filter(selectDescription(d))[0]; });
- }
- return symbols.filter(selectDescription(description))[0];
- }
- function setupInstance(wasi, instance) {
- var _a = getWasiSymbol(wasi, ['kInstance', 'kSetMemory']), kInstance = _a[0], kSetMemory = _a[1];
- wasi[kInstance] = instance;
- wasi[kSetMemory](instance.exports.memory);
- }
-
- /** @public */
- var ThreadMessageHandler = /*#__PURE__*/ (function () {
- function ThreadMessageHandler(options) {
- var postMsg = getPostMessage(options);
- if (typeof postMsg !== 'function') {
- throw new TypeError('options.postMessage is not a function');
- }
- this.postMessage = postMsg;
- this.onLoad = options === null || options === void 0 ? void 0 : options.onLoad;
- this.onError = typeof (options === null || options === void 0 ? void 0 : options.onError) === 'function' ? options.onError : function (_type, err) { throw err; };
- this.instance = undefined;
- // this.module = undefined
- this.messagesBeforeLoad = [];
- }
- /** @virtual */
- ThreadMessageHandler.prototype.instantiate = function (data) {
- if (typeof this.onLoad === 'function') {
- return this.onLoad(data);
- }
- throw new Error('ThreadMessageHandler.prototype.instantiate is not implemented');
- };
- /** @virtual */
- ThreadMessageHandler.prototype.handle = function (e) {
- var _this = this;
- var _a;
- if ((_a = e === null || e === void 0 ? void 0 : e.data) === null || _a === void 0 ? void 0 : _a.__emnapi__) {
- var type = e.data.__emnapi__.type;
- var payload_1 = e.data.__emnapi__.payload;
- try {
- if (type === 'load') {
- this._load(payload_1);
- }
- else if (type === 'start') {
- this.handleAfterLoad(e, function () {
- _this._start(payload_1);
- });
- }
- }
- catch (err) {
- this.onError(err, type);
- }
- }
- };
- ThreadMessageHandler.prototype._load = function (payload) {
- var _this = this;
- if (this.instance !== undefined)
- return;
- var source;
- try {
- source = this.instantiate(payload);
- }
- catch (err) {
- this._loaded(err, null, payload);
- return;
- }
- var then = source && 'then' in source ? source.then : undefined;
- if (typeof then === 'function') {
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- then.call(source, function (source) { _this._loaded(null, source, payload); }, function (err) { _this._loaded(err, null, payload); });
- }
- else {
- this._loaded(null, source, payload);
- }
- };
- ThreadMessageHandler.prototype._start = function (payload) {
- var wasi_thread_start = this.instance.exports.wasi_thread_start;
- if (typeof wasi_thread_start !== 'function') {
- var err = new TypeError('wasi_thread_start is not exported');
- notifyPthreadCreateResult(payload.sab, 2, err);
- throw err;
- }
- var postMessage = this.postMessage;
- var tid = payload.tid;
- var startArg = payload.arg;
- notifyPthreadCreateResult(payload.sab, 1);
- try {
- wasi_thread_start(tid, startArg);
- }
- catch (err) {
- if (err !== 'unwind') {
- throw err;
- }
- else {
- return;
- }
- }
- postMessage(createMessage('cleanup-thread', { tid: tid }));
- };
- ThreadMessageHandler.prototype._loaded = function (err, source, payload) {
- if (err) {
- notifyPthreadCreateResult(payload.sab, 2, err);
- throw err;
- }
- if (source == null) {
- var err_1 = new TypeError('onLoad should return an object');
- notifyPthreadCreateResult(payload.sab, 2, err_1);
- throw err_1;
- }
- var instance = source.instance;
- if (!instance) {
- var err_2 = new TypeError('onLoad should return an object which includes "instance"');
- notifyPthreadCreateResult(payload.sab, 2, err_2);
- throw err_2;
- }
- this.instance = instance;
- var postMessage = this.postMessage;
- postMessage(createMessage('loaded', {}));
- var messages = this.messagesBeforeLoad;
- this.messagesBeforeLoad = [];
- for (var i = 0; i < messages.length; i++) {
- var data = messages[i];
- this.handle({ data: data });
- }
- };
- ThreadMessageHandler.prototype.handleAfterLoad = function (e, f) {
- if (this.instance !== undefined) {
- f.call(this, e);
- }
- else {
- this.messagesBeforeLoad.push(e.data);
- }
- };
- return ThreadMessageHandler;
- }());
- function notifyPthreadCreateResult(sab, result, error) {
- if (sab) {
- serizeErrorToBuffer(sab.buffer, result, error);
- Atomics.notify(sab, 0);
- }
- }
-
- function createNapiModule(options) {
- var napiModule = (function () {
- var ENVIRONMENT_IS_NODE = typeof process === 'object' && process !== null && typeof process.versions === 'object' && process.versions !== null && typeof process.versions.node === 'string';
- var ENVIRONMENT_IS_PTHREAD = Boolean(options.childThread);
- var waitThreadStart = typeof options.waitThreadStart === 'number' ? options.waitThreadStart : Boolean(options.waitThreadStart);
- var wasmInstance;
- var wasmMemory;
- var wasmTable;
- var _malloc;
- var _free;
- function abort(msg) {
- if (typeof _WebAssembly$1.RuntimeError === 'function') {
- throw new _WebAssembly$1.RuntimeError(msg);
- }
- throw Error(msg);
- }
- var napiModule = {
- imports: {
- env: {},
- napi: {},
- emnapi: {}
- },
- exports: {},
- emnapi: {},
- loaded: false,
- filename: '',
- childThread: ENVIRONMENT_IS_PTHREAD,
- initWorker: undefined,
- executeAsyncWork: undefined,
- waitThreadStart: waitThreadStart,
- PThread: undefined,
- init: function (options) {
- if (napiModule.loaded)
- return napiModule.exports;
- if (!options)
- throw new TypeError('Invalid napi init options');
- var instance = options.instance;
- if (!(instance === null || instance === void 0 ? void 0 : instance.exports))
- throw new TypeError('Invalid wasm instance');
- wasmInstance = instance;
- var exports$1 = instance.exports;
- var module = options.module;
- var memory = options.memory || exports$1.memory;
- var table = options.table || exports$1.__indirect_function_table;
- if (!(module instanceof _WebAssembly$1.Module))
- throw new TypeError('Invalid wasm module');
- if (!(memory instanceof _WebAssembly$1.Memory))
- throw new TypeError('Invalid wasm memory');
- if (!(table instanceof _WebAssembly$1.Table))
- throw new TypeError('Invalid wasm table');
- wasmMemory = memory;
- wasmTable = table;
- if (typeof exports$1.malloc !== 'function')
- throw new TypeError('malloc is not exported');
- if (typeof exports$1.free !== 'function')
- throw new TypeError('free is not exported');
- _malloc = exports$1.malloc;
- _free = exports$1.free;
- if (!napiModule.childThread) {
- // main thread only
- var moduleApiVersion = 8 /* Version.NODE_API_DEFAULT_MODULE_API_VERSION */;
- var node_api_module_get_api_version_v1 = instance.exports.node_api_module_get_api_version_v1;
- if (typeof node_api_module_get_api_version_v1 === 'function') {
- moduleApiVersion = node_api_module_get_api_version_v1();
- }
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- var envObject = napiModule.envObject || (napiModule.envObject = emnapiCtx.createEnv(napiModule.filename, moduleApiVersion, function (cb) { return (wasmTable.get(cb)); }, function (cb) { return (wasmTable.get(cb)); }, abort, emnapiNodeBinding));
- var scope_1 = emnapiCtx.openScope(envObject);
- try {
- envObject.callIntoModule(function (_envObject) {
- var exports$1 = napiModule.exports;
- var exportsHandle = scope_1.add(exports$1);
- var napi_register_wasm_v1 = instance.exports.napi_register_wasm_v1;
- var napiValue = napi_register_wasm_v1(_envObject.id, exportsHandle.id);
- napiModule.exports = (!napiValue) ? exports$1 : emnapiCtx.handleStore.get(napiValue).value;
- });
- }
- catch (e) {
- if (e !== 'unwind') {
- throw e;
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope_1);
- }
- napiModule.loaded = true;
- delete napiModule.envObject;
- return napiModule.exports;
- }
- }
- };
- var emnapiCtx;
- var emnapiNodeBinding;
- var onCreateWorker = undefined;
- var err;
- if (!ENVIRONMENT_IS_PTHREAD) {
- var context = options.context;
- if (typeof context !== 'object' || context === null) {
- throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");
- }
- emnapiCtx = context;
- }
- else {
- emnapiCtx = options === null || options === void 0 ? void 0 : options.context;
- var postMsg = typeof options.postMessage === 'function'
- ? options.postMessage
- : typeof postMessage === 'function'
- ? postMessage
- : undefined;
- if (typeof postMsg !== 'function') {
- throw new TypeError('No postMessage found');
- }
- napiModule.postMessage = postMsg;
- }
- if (typeof options.filename === 'string') {
- napiModule.filename = options.filename;
- }
- if (typeof options.onCreateWorker === 'function') {
- onCreateWorker = options.onCreateWorker;
- }
- if (typeof options.print === 'function') {
- options.print;
- }
- else {
- console.log.bind(console);
- }
- if (typeof options.printErr === 'function') {
- err = options.printErr;
- }
- else {
- err = console.warn.bind(console);
- }
- if ('nodeBinding' in options) {
- var nodeBinding = options.nodeBinding;
- if (typeof nodeBinding !== 'object' || nodeBinding === null) {
- throw new TypeError('Invalid `options.nodeBinding`. Use @emnapi/node-binding package');
- }
- emnapiNodeBinding = nodeBinding;
- }
- var emnapiAsyncWorkPoolSize = 0;
- if ('asyncWorkPoolSize' in options) {
- if (typeof options.asyncWorkPoolSize !== 'number') {
- throw new TypeError('options.asyncWorkPoolSize must be a integer');
- }
- emnapiAsyncWorkPoolSize = options.asyncWorkPoolSize >> 0;
- if (emnapiAsyncWorkPoolSize > 1024) {
- emnapiAsyncWorkPoolSize = 1024;
- }
- else if (emnapiAsyncWorkPoolSize < -1024) {
- emnapiAsyncWorkPoolSize = -1024;
- }
- }
- var singleThreadAsyncWork = ENVIRONMENT_IS_PTHREAD ? false : (emnapiAsyncWorkPoolSize <= 0);
- function _emnapi_async_work_pool_size() {
- return Math.abs(emnapiAsyncWorkPoolSize);
- }
- napiModule.imports.env._emnapi_async_work_pool_size = _emnapi_async_work_pool_size;
- // ------------------------------ pthread -------------------------------
- function emnapiAddSendListener(worker) {
- if (!worker)
- return false;
- if (worker._emnapiSendListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-send') {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({ __emnapi__: __emnapi__ });
- }
- else {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var callback = __emnapi__.payload.callback;
- (wasmTable.get(callback))(__emnapi__.payload.data);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiSendListener;
- };
- worker._emnapiSendListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- }
- napiModule.emnapi.addSendListener = emnapiAddSendListener;
- var PThread = new ThreadManager(ENVIRONMENT_IS_PTHREAD
- ? {
- printErr: err,
- childThread: true
- }
- : {
- printErr: err,
- beforeLoad: function (worker) {
- emnapiAddSendListener(worker);
- },
- reuseWorker: options.reuseWorker,
- onCreateWorker: onCreateWorker
- });
- napiModule.PThread = PThread;
- /**
- * @__sig ipiip
- */
- function napi_set_last_error(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.setLastError(error_code, engine_error_code, engine_reserved);
- }
- /**
- * @__sig ip
- */
- function napi_clear_last_error(env) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.clearLastError();
- }
- /**
- * @__sig vppp
- */
- function _emnapi_get_node_version(major, minor, patch) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var versions = (typeof process === 'object' && process !== null &&
- typeof process.versions === 'object' && process.versions !== null &&
- typeof process.versions.node === 'string')
- ? process.versions.node.split('.').map(function (n) { return Number(n); })
- : [0, 0, 0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(major, versions[0], true);
- HEAP_DATA_VIEW.setUint32(minor, versions[1], true);
- HEAP_DATA_VIEW.setUint32(patch, versions[2], true);
- }
- /**
- * @__sig v
- * @__deps $runtimeKeepalivePush
- */
- function _emnapi_runtime_keepalive_push() {
- }
- /**
- * @__sig v
- * @__deps $runtimeKeepalivePop
- */
- function _emnapi_runtime_keepalive_pop() {
- }
- /**
- * @__sig vpp
- */
- function _emnapi_set_immediate(callback, data) {
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(callback))(data);
- });
- }
- /**
- * @__sig vpp
- */
- function _emnapi_next_tick(callback, data) {
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- Promise.resolve().then(function () {
- (wasmTable.get(callback))(data);
- });
- }
- /**
- * @__sig vipppi
- */
- function _emnapi_callback_into_module(forceUncaught, env, callback, data, close_scope_if_throw) {
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(Boolean(forceUncaught), function () {
- (wasmTable.get(callback))(env, data);
- });
- }
- catch (err) {
- emnapiCtx.closeScope(envObject, scope);
- if (close_scope_if_throw) {
- emnapiCtx.closeScope(envObject);
- }
- throw err;
- }
- emnapiCtx.closeScope(envObject, scope);
- }
- /**
- * @__sig vipppp
- */
- function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
- }
- /**
- * @__sig v
- */
- function _emnapi_ctx_increase_waiting_request_counter() {
- emnapiCtx.increaseWaitingRequestCounter();
- }
- /**
- * @__sig v
- */
- function _emnapi_ctx_decrease_waiting_request_counter() {
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- /**
- * @__sig i
- */
- function _emnapi_is_main_runtime_thread() {
- return ENVIRONMENT_IS_PTHREAD ? 0 : 1;
- }
- /**
- * @__sig i
- */
- function _emnapi_is_main_browser_thread() {
- return (typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE) ? 1 : 0;
- }
- /**
- * @__sig v
- */
- function _emnapi_unwind() {
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
- throw 'unwind';
- }
- /**
- * @__sig d
- */
- function _emnapi_get_now() {
- return performance.timeOrigin + performance.now();
- }
- function $emnapiSetValueI64(result, numberValue) {
- var tempDouble;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var tempI64 = [
- numberValue >>> 0,
- (tempDouble = numberValue, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
- ];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, tempI64[0], true);
- HEAP_DATA_VIEW.setInt32(result + 4, tempI64[1], true);
- }
- /**
- * @__deps $emnapiCtx
- * @__sig p
- */
- function _emnapi_open_handle_scope() {
- return emnapiCtx.openScope().id;
- }
- /**
- * @__deps $emnapiCtx
- * @__sig vp
- */
- function _emnapi_close_handle_scope(_scope) {
- return emnapiCtx.closeScope();
- }
- var utilMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- $emnapiSetValueI64: $emnapiSetValueI64,
- _emnapi_call_finalizer: _emnapi_call_finalizer,
- _emnapi_callback_into_module: _emnapi_callback_into_module,
- _emnapi_close_handle_scope: _emnapi_close_handle_scope,
- _emnapi_ctx_decrease_waiting_request_counter: _emnapi_ctx_decrease_waiting_request_counter,
- _emnapi_ctx_increase_waiting_request_counter: _emnapi_ctx_increase_waiting_request_counter,
- _emnapi_get_node_version: _emnapi_get_node_version,
- _emnapi_get_now: _emnapi_get_now,
- _emnapi_is_main_browser_thread: _emnapi_is_main_browser_thread,
- _emnapi_is_main_runtime_thread: _emnapi_is_main_runtime_thread,
- _emnapi_next_tick: _emnapi_next_tick,
- _emnapi_open_handle_scope: _emnapi_open_handle_scope,
- _emnapi_runtime_keepalive_pop: _emnapi_runtime_keepalive_pop,
- _emnapi_runtime_keepalive_push: _emnapi_runtime_keepalive_push,
- _emnapi_set_immediate: _emnapi_set_immediate,
- _emnapi_unwind: _emnapi_unwind,
- napi_clear_last_error: napi_clear_last_error,
- napi_set_last_error: napi_set_last_error
- });
- function emnapiGetWorkerByPthreadPtr(pthreadPtr) {
- var view = new DataView(wasmMemory.buffer);
- /**
- * wasi-sdk-20.0+threads
- *
- * struct pthread {
- * struct pthread *self; // 0
- * struct pthread *prev, *next; // 4, 8
- * uintptr_t sysinfo; // 12
- * uintptr_t canary; // 16
- * int tid; // 20
- * // ...
- * }
- */
- var tidOffset = 20;
- var tid = view.getInt32(pthreadPtr + tidOffset, true);
- var worker = PThread.pthreads[tid];
- return worker;
- }
- /** @__sig vp */
- function _emnapi_worker_unref(pthreadPtr) {
- if (ENVIRONMENT_IS_PTHREAD)
- return;
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- }
- /** @__sig vipp */
- function _emnapi_async_send_js(type, callback, data) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-send',
- payload: {
- callback: callback,
- data: data
- }
- }
- });
- }
- else {
- switch (type) {
- case 0:
- _emnapi_set_immediate(callback, data);
- break;
- case 1:
- _emnapi_next_tick(callback, data);
- break;
- }
- }
- }
- // function ptrToString (ptr: number): string {
- // return '0x' + ('00000000' + ptr.toString(16)).slice(-8)
- // }
- var uvThreadpoolReadyResolve;
- var uvThreadpoolReady = new Promise(function (resolve) {
- uvThreadpoolReadyResolve = function () {
- uvThreadpoolReady.ready = true;
- resolve();
- };
- });
- uvThreadpoolReady.ready = false;
- /** @__sig vppi */
- function _emnapi_after_uvthreadpool_ready(callback, q, type) {
- if (uvThreadpoolReady.ready) {
- (wasmTable.get(callback))(q, type);
- }
- else {
- uvThreadpoolReady.then(function () {
- (wasmTable.get(callback))(q, type);
- });
- }
- }
- /** @__sig vpi */
- function _emnapi_tell_js_uvthreadpool(threads, size) {
- var p = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var _loop_1 = function (i) {
- var pthreadPtr = HEAP_DATA_VIEW.getUint32(threads + i * 4, true);
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- p.push(new Promise(function (resolve) {
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-thread-ready') {
- resolve();
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler);
- }
- }
- };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler);
- }
- }));
- };
- for (var i = 0; i < size; i++) {
- _loop_1(i);
- }
- Promise.all(p).then(uvThreadpoolReadyResolve);
- }
- /** @__sig v */
- function _emnapi_emit_async_thread_ready() {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-thread-ready',
- payload: {}
- }
- });
- }
- var asyncMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_after_uvthreadpool_ready: _emnapi_after_uvthreadpool_ready,
- _emnapi_async_send_js: _emnapi_async_send_js,
- _emnapi_emit_async_thread_ready: _emnapi_emit_async_thread_ready,
- _emnapi_tell_js_uvthreadpool: _emnapi_tell_js_uvthreadpool,
- _emnapi_worker_unref: _emnapi_worker_unref
- });
- /* eslint-disable @typescript-eslint/indent */
- /** @__sig ipjp */
- function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!adjusted_value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var change_in_bytes_number = Number(change_in_bytes);
- if (change_in_bytes_number < 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var old_size = wasmMemory.buffer.byteLength;
- var new_size = old_size + change_in_bytes_number;
- new_size = new_size + ((65536 - new_size % 65536) % 65536);
- if (wasmMemory.grow((new_size - old_size + 65535) >> 16) === -1) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (emnapiCtx.feature.supportBigInt) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(wasmMemory.buffer.byteLength), true);
- }
- else {
- $emnapiSetValueI64(adjusted_value, wasmMemory.buffer.byteLength);
- }
- return envObject.clearLastError();
- }
- var memoryMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_adjust_external_memory: napi_adjust_external_memory
- });
- /**
- * @__postset
- * ```
- * emnapiAWST.init();
- * ```
- */
- var emnapiAWST = {
- idGen: {},
- values: [undefined],
- queued: new Set(),
- pending: [],
- init: function () {
- var idGen = {
- nextId: 1,
- list: [],
- generate: function () {
- var id;
- if (idGen.list.length) {
- id = idGen.list.shift();
- }
- else {
- id = idGen.nextId;
- idGen.nextId++;
- }
- return id;
- },
- reuse: function (id) {
- idGen.list.push(id);
- }
- };
- emnapiAWST.idGen = idGen;
- emnapiAWST.values = [undefined];
- emnapiAWST.queued = new Set();
- emnapiAWST.pending = [];
- },
- create: function (env, resource, resourceName, execute, complete, data) {
- var asyncId = 0;
- var triggerAsyncId = 0;
- if (emnapiNodeBinding) {
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resourceName, -1);
- asyncId = asyncContext.asyncId;
- triggerAsyncId = asyncContext.triggerAsyncId;
- }
- var id = emnapiAWST.idGen.generate();
- emnapiAWST.values[id] = {
- env: env,
- id: id,
- resource: resource,
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId,
- status: 0,
- execute: execute,
- complete: complete,
- data: data
- };
- return id;
- },
- callComplete: function (work, status) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var complete = work.complete;
- var env = work.env;
- var data = work.data;
- var callback = function () {
- if (!complete)
- return;
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- };
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.makeCallback(work.resource, callback, [], {
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- else {
- callback();
- }
- },
- queue: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (work.status === 0) {
- work.status = 1;
- if (emnapiAWST.queued.size >= (Math.abs(emnapiAsyncWorkPoolSize) || 4)) {
- emnapiAWST.pending.push(id);
- return;
- }
- emnapiAWST.queued.add(id);
- var env_1 = work.env;
- var data_1 = work.data;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var execute = work.execute;
- work.status = 2;
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(execute))(env_1, data_1);
- emnapiAWST.queued.delete(id);
- work.status = 3;
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work, 0 /* napi_status.napi_ok */);
- });
- if (emnapiAWST.pending.length > 0) {
- var nextWorkId = emnapiAWST.pending.shift();
- emnapiAWST.values[nextWorkId].status = 0;
- emnapiAWST.queue(nextWorkId);
- }
- });
- }
- },
- cancel: function (id) {
- var index = emnapiAWST.pending.indexOf(id);
- if (index !== -1) {
- var work_1 = emnapiAWST.values[id];
- if (work_1 && (work_1.status === 1)) {
- work_1.status = 4;
- emnapiAWST.pending.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work_1, 11 /* napi_status.napi_cancelled */);
- });
- return 0 /* napi_status.napi_ok */;
- }
- else {
- return 9 /* napi_status.napi_generic_failure */;
- }
- }
- return 9 /* napi_status.napi_generic_failure */;
- },
- remove: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- emnapiAWST.values[id] = undefined;
- emnapiAWST.idGen.reuse(id);
- }
- };
- /** @__sig vppdp */
- function _emnapi_node_emit_async_init(async_resource, async_resource_name, trigger_async_id, result) {
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var resource_name = emnapiCtx.handleStore.get(async_resource_name).value;
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resource_name, trigger_async_id);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var asyncId = asyncContext.asyncId;
- var triggerAsyncId = asyncContext.triggerAsyncId;
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
- HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
- }
- }
- /** @__sig vdd */
- function _emnapi_node_emit_async_destroy(async_id, trigger_async_id) {
- if (!emnapiNodeBinding)
- return;
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- }
- /* vpddp export function _emnapi_node_open_callback_scope (async_resource: napi_value, async_id: double, trigger_async_id: double, result: Pointer): void {
- if (!emnapiNodeBinding || !result) return
- const resource = emnapiCtx.handleStore.get(async_resource)!.value
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const nativeCallbackScopePointer = emnapiNodeBinding.node.openCallbackScope(resource, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- })
-
- from64('result')
- $_TODO_makeSetValue('result', 0, 'nativeCallbackScopePointer', 'i64')
- }
-
- vp
- export function _emnapi_node_close_callback_scope (scope: Pointer): void {
- if (!emnapiNodeBinding || !scope) return
- from64('scope')
- const nativeCallbackScopePointer = $_TODO_makeGetValue('scope', 0, 'i64')
- emnapiNodeBinding.node.closeCallbackScope(BigInt(nativeCallbackScopePointer))
- } */
- /** @__sig ipppppddp */
- function _emnapi_node_make_callback(env, async_resource, cb, argv, size, async_id, trigger_async_id, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var callback = emnapiCtx.handleStore.get(cb).value;
- size = size >>> 0;
- var arr = Array(size);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < size; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.node.makeCallback(resource, callback, arr, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- if (result) {
- var envObject = emnapiCtx.envStore.get(env);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- }
- /** @__sig ippp */
- function _emnapi_async_init_js(async_resource, async_resource_name, result) {
- if (!emnapiNodeBinding) {
- return 9 /* napi_status.napi_generic_failure */;
- }
- var resource;
- if (async_resource) {
- resource = Object(emnapiCtx.handleStore.get(async_resource).value);
- }
- var name = emnapiCtx.handleStore.get(async_resource_name).value;
- var ret = emnapiNodeBinding.napi.asyncInit(resource, name);
- if (ret.status !== 0)
- return ret.status;
- var numberValue = ret.value;
- if (!((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63))))) {
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ip */
- function _emnapi_async_destroy_js(async_context) {
- if (!emnapiNodeBinding) {
- return 9 /* napi_status.napi_generic_failure */;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var pointer = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- var ret = emnapiNodeBinding.napi.asyncDestroy(pointer);
- if (ret.status !== 0)
- return ret.status;
- return 0 /* napi_status.napi_ok */;
- }
- // https://github.com/nodejs/node-addon-api/pull/1283
- /** @__sig ipppp */
- function napi_open_callback_scope(env, ignored, async_context_handle, result) {
- throw new Error('napi_open_callback_scope has not been implemented yet');
- }
- /** @__sig ipp */
- function napi_close_callback_scope(env, scope) {
- throw new Error('napi_close_callback_scope has not been implemented yet');
- }
- /** @__sig ippppppp */
- function napi_make_callback(env, async_context, recv, func, argc, argv, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiNodeBinding) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!recv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8recv = Object(emnapiCtx.handleStore.get(recv).value);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var ctx = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- argc = argc >>> 0;
- var arr = Array(argc);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.napi.makeCallback(ctx, v8recv, v8func, arr);
- if (ret.error) {
- throw ret.error;
- }
- if (ret.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(ret.status);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(ret.value);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig vp */
- function _emnapi_env_check_gc_access(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- }
- var nodeMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_async_destroy_js: _emnapi_async_destroy_js,
- _emnapi_async_init_js: _emnapi_async_init_js,
- _emnapi_env_check_gc_access: _emnapi_env_check_gc_access,
- _emnapi_node_emit_async_destroy: _emnapi_node_emit_async_destroy,
- _emnapi_node_emit_async_init: _emnapi_node_emit_async_init,
- _emnapi_node_make_callback: _emnapi_node_make_callback,
- napi_close_callback_scope: napi_close_callback_scope,
- napi_make_callback: napi_make_callback,
- napi_open_callback_scope: napi_open_callback_scope
- });
- /**
- * @__deps malloc
- * @__deps free
- * @__postset
- * ```
- * emnapiTSFN.init();
- * ```
- */
- var emnapiTSFN = {
- offset: {
- /* napi_ref */ resource: 0,
- /* double */ async_id: 8,
- /* double */ trigger_async_id: 16,
- /* size_t */ queue_size: 24,
- /* void* */ queue: 1 * 4 + 24,
- /* size_t */ thread_count: 2 * 4 + 24,
- /* bool */ is_closing: 3 * 4 + 24,
- /* atomic_uchar */ dispatch_state: 3 * 4 + 28,
- /* void* */ context: 3 * 4 + 32,
- /* size_t */ max_queue_size: 4 * 4 + 32,
- /* napi_ref */ ref: 5 * 4 + 32,
- /* napi_env */ env: 6 * 4 + 32,
- /* void* */ finalize_data: 7 * 4 + 32,
- /* napi_finalize */ finalize_cb: 8 * 4 + 32,
- /* napi_threadsafe_function_call_js */ call_js_cb: 9 * 4 + 32,
- /* bool */ handles_closing: 10 * 4 + 32,
- /* bool */ async_ref: 10 * 4 + 36,
- /* int32_t */ mutex: 10 * 4 + 40,
- /* int32_t */ cond: 10 * 4 + 44,
- end: 10 * 4 + 48
- },
- init: function () {
- if (typeof PThread !== 'undefined') {
- PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
- PThread.runningWorkers.forEach(emnapiTSFN.addListener);
- var __original_getNewWorker_1 = PThread.getNewWorker;
- PThread.getNewWorker = function () {
- var r = __original_getNewWorker_1.apply(this, arguments);
- emnapiTSFN.addListener(r);
- return r;
- };
- }
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiTSFNListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'tsfn-send') {
- emnapiTSFN.dispatch(payload.tsfn);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiTSFNListener;
- };
- worker._emnapiTSFNListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initQueue: function (func) {
- var size = 2 * 4;
- var queue = _malloc(size);
- if (!queue)
- return false;
- new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
- emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
- return true;
- },
- destroyQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- if (queue) {
- _free(queue);
- }
- },
- pushQueue: function (func, data) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- var tail = emnapiTSFN.loadSizeTypeValue(queue + 4, false);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var size = 2 * 4;
- var node = _malloc(size);
- if (!node)
- throw new Error('OOM');
- emnapiTSFN.storeSizeTypeValue(node, data, false);
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- if (head === 0 && tail === 0) {
- emnapiTSFN.storeSizeTypeValue(queue, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- else {
- emnapiTSFN.storeSizeTypeValue(tail + 4, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- emnapiTSFN.addQueueSize(func);
- },
- shiftQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- if (head === 0)
- return 0;
- var node = head;
- var next = emnapiTSFN.loadSizeTypeValue(head + 4, false);
- emnapiTSFN.storeSizeTypeValue(queue, next, false);
- if (next === 0) {
- emnapiTSFN.storeSizeTypeValue(queue + 4, 0, false);
- }
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- var value = emnapiTSFN.loadSizeTypeValue(node, false);
- _free(node);
- emnapiTSFN.subQueueSize(func);
- return value;
- },
- push: function (func, data, mode) {
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- var waitCondition = function () {
- var queueSize = emnapiTSFN.getQueueSize(func);
- var maxSize = emnapiTSFN.getMaxQueueSize(func);
- var isClosing = emnapiTSFN.getIsClosing(func);
- return queueSize >= maxSize && maxSize > 0 && !isClosing;
- };
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- return mutex.execute(function () {
- while (waitCondition()) {
- if (mode === 0 /* napi_threadsafe_function_call_mode.napi_tsfn_nonblocking */) {
- return 15 /* napi_status.napi_queue_full */;
- }
- /**
- * Browser JS main thread can not use `Atomics.wait`
- *
- * Related:
- * https://github.com/nodejs/node/pull/32689
- * https://github.com/nodejs/node/pull/33453
- */
- if (isBrowserMain) {
- return 21 /* napi_status.napi_would_deadlock */;
- }
- cond.wait();
- }
- if (emnapiTSFN.getIsClosing(func)) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1 /* napi_status.napi_invalid_arg */;
- }
- else {
- emnapiTSFN.subThreadCount(func);
- return 16 /* napi_status.napi_closing */;
- }
- }
- else {
- emnapiTSFN.pushQueue(func, data);
- emnapiTSFN.send(func);
- return 0 /* napi_status.napi_ok */;
- }
- });
- },
- getMutex: function (func) {
- var index = func + emnapiTSFN.offset.mutex;
- var mutex = {
- lock: function () {
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- if (isBrowserMain) {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- }
- }
- else {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- Atomics.wait(i32a, 0, 1);
- }
- }
- },
- /* lockAsync () {
- return new Promise(resolve => {
- const again = (): void => { fn() }
- const fn = (): void => {
- const i32a = new Int32Array(wasmMemory.buffer, index, 1)
- const oldValue = Atomics.compareExchange(i32a, 0, 0, 1)
- if (oldValue === 0) {
- resolve()
- return
- }
- (Atomics as any).waitAsync(i32a, 0, 1).value.then(again)
- }
- fn()
- })
- }, */
- unlock: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var oldValue = Atomics.compareExchange(i32a, 0, 1, 0);
- if (oldValue !== 1) {
- throw new Error('Tried to unlock while not holding the mutex');
- }
- Atomics.notify(i32a, 0, 1);
- },
- execute: function (fn) {
- mutex.lock();
- try {
- return fn();
- }
- finally {
- mutex.unlock();
- }
- } /* ,
- executeAsync (fn: () => Promise): Promise {
- return mutex.lockAsync().then(() => {
- const r = fn()
- mutex.unlock()
- return r
- }, (err) => {
- mutex.unlock()
- throw err
- })
- } */
- };
- return mutex;
- },
- getCond: function (func) {
- var index = func + emnapiTSFN.offset.cond;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = {
- wait: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var value = Atomics.load(i32a, 0);
- mutex.unlock();
- Atomics.wait(i32a, 0, value);
- mutex.lock();
- },
- /* waitAsync () {
- const i32a = new Int32Array(wasmMemory.buffer, index, 1)
- const value = Atomics.load(i32a, 0)
- mutex.unlock()
- const lock = (): Promise => mutex.lockAsync()
- try {
- return (Atomics as any).waitAsync(i32a, 0, value).value.then(lock, lock)
- } catch (err) {
- return lock()
- }
- }, */
- signal: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- Atomics.add(i32a, 0, 1);
- Atomics.notify(i32a, 0, 1);
- }
- };
- return cond;
- },
- getQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue_size, true);
- },
- addQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getThreadCount: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.thread_count, true);
- },
- addThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getIsClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2);
- },
- setIsClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2, value);
- },
- getHandlesClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2);
- },
- setHandlesClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2, value);
- },
- getDispatchState: function (func) {
- return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2);
- },
- getContext: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
- },
- getMaxQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.max_queue_size, true);
- },
- getEnv: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.env, false);
- },
- getCallJSCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.call_js_cb, false);
- },
- getRef: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.ref, false);
- },
- getResource: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.resource, false);
- },
- getFinalizeCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_cb, false);
- },
- getFinalizeData: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_data, false);
- },
- loadSizeTypeValue: function (offset, unsigned) {
- var ret;
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- },
- storeSizeTypeValue: function (offset, value, unsigned) {
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value);
- return undefined;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value >>> 0);
- return undefined;
- }
- },
- destroy: function (func) {
- emnapiTSFN.destroyQueue(func);
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- var ref = emnapiTSFN.getRef(func);
- if (ref) {
- emnapiCtx.refStore.get(ref).dispose();
- }
- emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
- envObject.unref();
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- var resource = emnapiTSFN.getResource(func);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(func);
- },
- emptyQueueAndDelete: function (func) {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var data;
- while (emnapiTSFN.getQueueSize(func) > 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- data = emnapiTSFN.shiftQueue(func);
- if (callJsCb) {
- (wasmTable.get(callJsCb))(0, 0, context, data);
- }
- }
- emnapiTSFN.destroy(func);
- },
- finalize: function (func) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- var finalize = emnapiTSFN.getFinalizeCb(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data = emnapiTSFN.getFinalizeData(func);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var f = function () {
- envObject.callFinalizerInternal(0, finalize, data, context);
- };
- try {
- if (finalize) {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- f();
- }
- }
- emnapiTSFN.emptyQueueAndDelete(func);
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- cleanup: function (func) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 1);
- },
- closeHandlesAndMaybeDelete: function (func, set_closing) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- try {
- if (set_closing) {
- emnapiTSFN.getMutex(func).execute(function () {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- emnapiTSFN.getCond(func).signal();
- }
- });
- }
- if (emnapiTSFN.getHandlesClosing(func)) {
- return;
- }
- emnapiTSFN.setHandlesClosing(func, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.finalize(func);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- dispatchOne: function (func) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data = 0;
- var popped_value = false;
- var has_more = false;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- else {
- var size = emnapiTSFN.getQueueSize(func);
- if (size > 0) {
- data = emnapiTSFN.shiftQueue(func);
- popped_value = true;
- var maxQueueSize = emnapiTSFN.getMaxQueueSize(func);
- if (size === maxQueueSize && maxQueueSize > 0) {
- cond.signal();
- }
- size--;
- }
- if (size === 0) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- }
- else {
- has_more = true;
- }
- }
- });
- if (popped_value) {
- var env = emnapiTSFN.getEnv(func);
- var envObject_1 = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject_1);
- var f = function () {
- envObject_1.callbackIntoModule(false, function () {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var ref = emnapiTSFN.getRef(func);
- var js_callback = ref ? emnapiCtx.refStore.get(ref).get() : 0;
- if (callJsCb) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- (wasmTable.get(callJsCb))(env, js_callback, context, data);
- }
- else {
- var jsCallback = js_callback ? emnapiCtx.handleStore.get(js_callback).value : null;
- if (typeof jsCallback === 'function') {
- jsCallback();
- }
- }
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: view.getFloat64(func + emnapiTSFN.offset.async_id, true),
- triggerAsyncId: view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true)
- });
- }
- else {
- f();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject_1);
- }
- }
- return has_more;
- },
- dispatch: function (func) {
- var has_more = true;
- var iterations_left = 1000;
- var ui32a = new Uint32Array(wasmMemory.buffer);
- var index = (func + emnapiTSFN.offset.dispatch_state) >> 2;
- while (has_more && --iterations_left !== 0) {
- Atomics.store(ui32a, index, 1);
- has_more = emnapiTSFN.dispatchOne(func);
- if (Atomics.exchange(ui32a, index, 0) !== 1) {
- has_more = true;
- }
- }
- if (has_more) {
- emnapiTSFN.send(func);
- }
- },
- send: function (func) {
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2, 1 << 1);
- if ((current_state & 1) === 1) {
- return;
- }
- if ((typeof ENVIRONMENT_IS_PTHREAD !== 'undefined') && ENVIRONMENT_IS_PTHREAD) {
- postMessage({
- __emnapi__: {
- type: 'tsfn-send',
- payload: {
- tsfn: func
- }
- }
- });
- }
- else {
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.dispatch(func);
- });
- }
- }
- };
- /** @__sig ippppppppppp */
- function napi_create_threadsafe_function(env, func, async_resource, async_resource_name, max_queue_size, initial_thread_count, thread_finalize_data, thread_finalize_cb, context, call_js_cb, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!async_resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- max_queue_size = max_queue_size >>> 0;
- initial_thread_count = initial_thread_count >>> 0;
- if (initial_thread_count === 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var ref = 0;
- if (!func) {
- if (!call_js_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- else {
- var funcValue = emnapiCtx.handleStore.get(func).value;
- if (typeof funcValue !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- ref = emnapiCtx.createReference(envObject, func, 1, 1 /* ReferenceOwnership.kUserland */).id;
- }
- var asyncResourceObject;
- if (async_resource) {
- asyncResourceObject = emnapiCtx.handleStore.get(async_resource).value;
- if (asyncResourceObject == null) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- asyncResourceObject = Object(asyncResourceObject);
- }
- else {
- asyncResourceObject = {};
- }
- var resource = envObject.ensureHandleId(asyncResourceObject);
- var asyncResourceName = emnapiCtx.handleStore.get(async_resource_name).value;
- if (typeof asyncResourceName === 'symbol') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- asyncResourceName = String(asyncResourceName);
- var resource_name = envObject.ensureHandleId(asyncResourceName);
- // tsfn create
- var sizeofTSFN = emnapiTSFN.offset.end;
- var tsfn = _malloc(sizeofTSFN);
- if (!tsfn)
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
- var resourceRef = emnapiCtx.createReference(envObject, resource, 1, 1 /* ReferenceOwnership.kUserland */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
- if (!emnapiTSFN.initQueue(tsfn)) {
- _free(tsfn);
- resourceRef.dispose();
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- _emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.ref, ref, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_data, thread_finalize_data, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_cb, thread_finalize_cb, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.call_js_cb, call_js_cb, true);
- emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
- envObject.ref();
- emnapiCtx.increaseWaitingRequestCounter();
- HEAP_DATA_VIEW.setInt32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
- HEAP_DATA_VIEW.setUint32(result, tsfn, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_threadsafe_function_context(func, result) {
- if (!func || !result) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var context = emnapiTSFN.getContext(func);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, context, true);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ippi */
- function napi_call_threadsafe_function(func, data, mode) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- return emnapiTSFN.push(func, data, mode);
- }
- /** @__sig ip */
- function napi_acquire_threadsafe_function(func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var mutex = emnapiTSFN.getMutex(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- return 16 /* napi_status.napi_closing */;
- }
- emnapiTSFN.addThreadCount(func);
- return 0 /* napi_status.napi_ok */;
- });
- }
- /** @__sig ipi */
- function napi_release_threadsafe_function(func, mode) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1 /* napi_status.napi_invalid_arg */;
- }
- emnapiTSFN.subThreadCount(func);
- if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) {
- var isClosing = emnapiTSFN.getIsClosing(func);
- if (!isClosing) {
- var isClosingValue = (mode === 1 /* napi_threadsafe_function_release_mode.napi_tsfn_abort */) ? 1 : 0;
- emnapiTSFN.setIsClosing(func, isClosingValue);
- if (isClosingValue && emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.send(func);
- }
- }
- return 0 /* napi_status.napi_ok */;
- });
- }
- /** @__sig ipp */
- function napi_unref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ipp */
- function napi_ref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1 /* napi_status.napi_invalid_arg */;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (!Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 1);
- emnapiCtx.increaseWaitingRequestCounter();
- }
- return 0 /* napi_status.napi_ok */;
- }
- var emnapiAWMT = {
- unusedWorkers: [],
- runningWorkers: [],
- workQueue: [],
- workerReady: null,
- offset: {
- /* napi_ref */ resource: 0,
- /* double */ async_id: 8,
- /* double */ trigger_async_id: 16,
- /* napi_env */ env: 24,
- /* void* */ data: 1 * 4 + 24,
- /* napi_async_execute_callback */ execute: 2 * 4 + 24,
- /* napi_async_complete_callback */ complete: 3 * 4 + 24,
- end: 4 * 4 + 24
- },
- init: function () {
- emnapiAWMT.unusedWorkers = [];
- emnapiAWMT.runningWorkers = [];
- emnapiAWMT.workQueue = [];
- emnapiAWMT.workerReady = null;
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiAWMTListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'async-work-complete') {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
- emnapiAWMT.unusedWorkers.push(worker);
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(payload.work, 0 /* napi_status.napi_ok */);
- }
- else if (type === 'async-work-queue') {
- emnapiAWMT.scheduleWork(payload.work);
- }
- else if (type === 'async-work-cancel') {
- emnapiAWMT.cancelWork(payload.work);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiAWMTListener;
- };
- worker._emnapiAWMTListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initWorkers: function (n) {
- if (ENVIRONMENT_IS_PTHREAD) {
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- return emnapiAWMT.workerReady || (emnapiAWMT.workerReady = Promise.resolve());
- }
- if (emnapiAWMT.workerReady)
- return emnapiAWMT.workerReady;
- if (typeof onCreateWorker !== 'function') {
- throw new TypeError('`options.onCreateWorker` is not a function');
- }
- var promises = [];
- var args = [];
- if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
- throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
- }
- for (var i = 0; i < n; ++i) {
- args.push(wasmInstance.exports.emnapi_async_worker_create());
- }
- try {
- var _loop_1 = function (i) {
- var worker = onCreateWorker({ type: 'async-work', name: 'emnapi-async-worker' });
- var p = PThread.loadWasmModuleToWorker(worker);
- emnapiAWMT.addListener(worker);
- promises.push(p.then(function () {
- if (typeof worker.unref === 'function') {
- worker.unref();
- }
- }));
- emnapiAWMT.unusedWorkers.push(worker);
- var arg = args[i];
- worker.threadBlockBase = arg;
- worker.postMessage({
- __emnapi__: {
- type: 'async-worker-init',
- payload: { arg: arg }
- }
- });
- };
- for (var i = 0; i < n; ++i) {
- _loop_1(i);
- }
- }
- catch (err) {
- for (var i = 0; i < n; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var arg = args[i];
- _free(arg);
- }
- throw err;
- }
- emnapiAWMT.workerReady = Promise.all(promises);
- return emnapiAWMT.workerReady;
- },
- checkIdleWorker: function () {
- if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
- var worker = emnapiAWMT.unusedWorkers.shift();
- var work = emnapiAWMT.workQueue.shift();
- emnapiAWMT.runningWorkers.push(worker);
- worker.postMessage({
- __emnapi__: {
- type: 'async-work-execute',
- payload: { work: work }
- }
- });
- }
- },
- getResource: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.resource, false);
- },
- getExecute: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.execute, false);
- },
- getComplete: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.complete, false);
- },
- getEnv: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.env, false);
- },
- getData: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.data, false);
- },
- scheduleWork: function (work) {
- var _a;
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-work-queue',
- payload: { work: work }
- }
- });
- return;
- }
- emnapiCtx.increaseWaitingRequestCounter();
- emnapiAWMT.workQueue.push(work);
- if ((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready) {
- emnapiAWMT.checkIdleWorker();
- }
- else {
- var fail = function (err) {
- emnapiCtx.decreaseWaitingRequestCounter();
- throw err;
- };
- try {
- emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
- emnapiAWMT.workerReady.ready = true;
- emnapiAWMT.checkIdleWorker();
- }, fail);
- }
- catch (err) {
- fail(err);
- }
- }
- },
- cancelWork: function (work) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_2 = napiModule.postMessage;
- postMessage_2({
- __emnapi__: {
- type: 'async-work-cancel',
- payload: { work: work }
- }
- });
- return 0 /* napi_status.napi_ok */;
- }
- var index = emnapiAWMT.workQueue.indexOf(work);
- if (index !== -1) {
- emnapiAWMT.workQueue.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(work, 11 /* napi_status.napi_cancelled */);
- });
- return 0 /* napi_status.napi_ok */;
- }
- return 9 /* napi_status.napi_generic_failure */;
- },
- callComplete: function (work, status) {
- var complete = emnapiAWMT.getComplete(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- var callback = function () {
- if (!complete)
- return;
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiAWMT.getResource(work);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, callback, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- callback();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- }
- };
- /** @__sig ippppppp */
- var napi_create_async_work = singleThreadAsyncWork
- ? function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, id, true);
- return envObject.clearLastError();
- }
- : function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var sizeofAW = emnapiAWMT.offset.end;
- var aw = _malloc(sizeofAW);
- if (!aw)
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
- var s = envObject.ensureHandleId(resourceObject);
- var resourceRef = emnapiCtx.createReference(envObject, s, 1, 1 /* ReferenceOwnership.kUserland */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(aw, resource_, true);
- _emnapi_node_emit_async_init(s, resource_name, -1, aw + emnapiAWMT.offset.async_id);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
- HEAP_DATA_VIEW.setUint32(result, aw, true);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_delete_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWST.remove(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var resource = emnapiAWMT.getResource(work);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(work);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_queue_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWST.queue(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiAWMT.scheduleWork(work);
- return envObject.clearLastError();
- };
- /** @__sig ipp */
- var napi_cancel_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = emnapiAWST.cancel(work);
- if (status === 0 /* napi_status.napi_ok */)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- }
- : function (env, work) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = emnapiAWMT.cancelWork(work);
- if (status === 0 /* napi_status.napi_ok */)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- };
- function initWorker(startArg) {
- if (napiModule.childThread) {
- if (typeof wasmInstance.exports.emnapi_async_worker_init !== 'function') {
- throw new TypeError('`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags');
- }
- wasmInstance.exports.emnapi_async_worker_init(startArg);
- }
- else {
- throw new Error('startThread is only available in child threads');
- }
- }
- function executeAsyncWork(work) {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var execute = emnapiAWMT.getExecute(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- (wasmTable.get(execute))(env, data);
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-work-complete',
- payload: { work: work }
- }
- });
- }
- napiModule.initWorker = initWorker;
- napiModule.executeAsyncWork = executeAsyncWork;
- var asyncWorkMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_cancel_async_work: napi_cancel_async_work,
- napi_create_async_work: napi_create_async_work,
- napi_delete_async_work: napi_delete_async_work,
- napi_queue_async_work: napi_queue_async_work
- });
- /**
- * @__deps malloc
- * @__deps free
- * @__postset
- * ```
- * emnapiExternalMemory.init();
- * ```
- */
- var emnapiExternalMemory = {
- registry: typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined,
- table: new WeakMap(),
- wasmMemoryViewTable: new WeakMap(),
- init: function () {
- emnapiExternalMemory.registry = typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined;
- emnapiExternalMemory.table = new WeakMap();
- emnapiExternalMemory.wasmMemoryViewTable = new WeakMap();
- },
- isSharedArrayBuffer: function (value) {
- return ((typeof SharedArrayBuffer === 'function' && value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(value) === '[object SharedArrayBuffer]'));
- },
- isDetachedArrayBuffer: function (arrayBuffer) {
- if (arrayBuffer.byteLength === 0) {
- try {
- // eslint-disable-next-line no-new
- new Uint8Array(arrayBuffer);
- }
- catch (_) {
- return true;
- }
- }
- return false;
- },
- getArrayBufferPointer: function (arrayBuffer, shouldCopy) {
- var _a;
- var info = {
- address: 0,
- ownership: 0 /* ReferenceOwnership.kRuntime */,
- runtimeAllocated: 0
- };
- if (arrayBuffer === wasmMemory.buffer) {
- return info;
- }
- var isDetached = emnapiExternalMemory.isDetachedArrayBuffer(arrayBuffer);
- if (emnapiExternalMemory.table.has(arrayBuffer)) {
- var cachedInfo = emnapiExternalMemory.table.get(arrayBuffer);
- if (isDetached) {
- cachedInfo.address = 0;
- return cachedInfo;
- }
- if (shouldCopy && cachedInfo.ownership === 0 /* ReferenceOwnership.kRuntime */ && cachedInfo.runtimeAllocated === 1) {
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), cachedInfo.address);
- }
- return cachedInfo;
- }
- if (isDetached || (arrayBuffer.byteLength === 0)) {
- return info;
- }
- if (!shouldCopy) {
- return info;
- }
- var pointer = _malloc(arrayBuffer.byteLength);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
- info.address = pointer;
- info.ownership = emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
- info.runtimeAllocated = 1;
- emnapiExternalMemory.table.set(arrayBuffer, info);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(arrayBuffer, pointer);
- return info;
- },
- getOrUpdateMemoryView: function (view) {
- if (view.buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(view, {
- Ctor: view.constructor,
- address: view.byteOffset,
- length: view instanceof DataView ? view.byteLength : view.length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- return view;
- }
- var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) ||
- ((typeof SharedArrayBuffer === 'function') && (view.buffer instanceof SharedArrayBuffer));
- if (maybeOldWasmMemory && emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var info = emnapiExternalMemory.wasmMemoryViewTable.get(view);
- var Ctor = info.Ctor;
- var newView = void 0;
- var Buffer_1 = emnapiCtx.feature.Buffer;
- if (typeof Buffer_1 === 'function' && Ctor === Buffer_1) {
- newView = Buffer_1.from(wasmMemory.buffer, info.address, info.length);
- }
- else {
- newView = new Ctor(wasmMemory.buffer, info.address, info.length);
- }
- emnapiExternalMemory.wasmMemoryViewTable.set(newView, info);
- return newView;
- }
- return view;
- },
- getViewPointer: function (view, shouldCopy) {
- view = emnapiExternalMemory.getOrUpdateMemoryView(view);
- if (view.buffer === wasmMemory.buffer) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var _a = emnapiExternalMemory.wasmMemoryViewTable.get(view), address_1 = _a.address, ownership_1 = _a.ownership, runtimeAllocated_1 = _a.runtimeAllocated;
- return { address: address_1, ownership: ownership_1, runtimeAllocated: runtimeAllocated_1, view: view };
- }
- return { address: view.byteOffset, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0, view: view };
- }
- var _b = emnapiExternalMemory.getArrayBufferPointer(view.buffer, shouldCopy), address = _b.address, ownership = _b.ownership, runtimeAllocated = _b.runtimeAllocated;
- return { address: address === 0 ? 0 : (address + view.byteOffset), ownership: ownership, runtimeAllocated: runtimeAllocated, view: view };
- }
- };
- /* eslint-disable @typescript-eslint/indent */
- /**
- * @__postset
- * ```
- * emnapiString.init();
- * ```
- */
- var emnapiString = {
- utf8Decoder: undefined,
- utf16Decoder: undefined,
- init: function () {
- var fallbackDecoder = {
- decode: function (bytes) {
- var inputIndex = 0;
- var pendingSize = Math.min(0x1000, bytes.length + 1);
- var pending = new Uint16Array(pendingSize);
- var chunks = [];
- var pendingIndex = 0;
- for (;;) {
- var more = inputIndex < bytes.length;
- if (!more || (pendingIndex >= pendingSize - 1)) {
- var subarray = pending.subarray(0, pendingIndex);
- var arraylike = subarray;
- chunks.push(String.fromCharCode.apply(null, arraylike));
- if (!more) {
- return chunks.join('');
- }
- bytes = bytes.subarray(inputIndex);
- inputIndex = 0;
- pendingIndex = 0;
- }
- var byte1 = bytes[inputIndex++];
- if ((byte1 & 0x80) === 0) {
- pending[pendingIndex++] = byte1;
- }
- else if ((byte1 & 0xe0) === 0xc0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 6) | byte2;
- }
- else if ((byte1 & 0xf0) === 0xe0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
- }
- else if ((byte1 & 0xf8) === 0xf0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- var byte4 = bytes[inputIndex++] & 0x3f;
- var codepoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
- if (codepoint > 0xffff) {
- codepoint -= 0x10000;
- pending[pendingIndex++] = (codepoint >>> 10) & 0x3ff | 0xd800;
- codepoint = 0xdc00 | codepoint & 0x3ff;
- }
- pending[pendingIndex++] = codepoint;
- }
- else ;
- }
- }
- };
- var utf8Decoder;
- utf8Decoder = typeof TextDecoder === 'function' ? new TextDecoder() : fallbackDecoder;
- emnapiString.utf8Decoder = utf8Decoder;
- var fallbackDecoder2 = {
- decode: function (input) {
- var bytes = new Uint16Array(input.buffer, input.byteOffset, input.byteLength / 2);
- if (bytes.length <= 0x1000) {
- return String.fromCharCode.apply(null, bytes);
- }
- var chunks = [];
- var i = 0;
- var len = 0;
- for (; i < bytes.length; i += len) {
- len = Math.min(0x1000, bytes.length - i);
- chunks.push(String.fromCharCode.apply(null, bytes.subarray(i, i + len)));
- }
- return chunks.join('');
- }
- };
- var utf16Decoder;
- utf16Decoder = typeof TextDecoder === 'function' ? new TextDecoder('utf-16le') : fallbackDecoder2;
- emnapiString.utf16Decoder = utf16Decoder;
- },
- lengthBytesUTF8: function (str) {
- var c;
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- c = str.charCodeAt(i);
- if (c <= 0x7F) {
- len++;
- }
- else if (c <= 0x7FF) {
- len += 2;
- }
- else if (c >= 0xD800 && c <= 0xDFFF) {
- len += 4;
- ++i;
- }
- else {
- len += 3;
- }
- }
- return len;
- },
- UTF8ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var end = ptr;
- if (length === -1) {
- for (; HEAPU8[end];)
- ++end;
- }
- else {
- end = ptr + (length >>> 0);
- }
- length = end - ptr;
- if (length <= 16) {
- var idx = ptr;
- var str = '';
- while (idx < end) {
- var u0 = HEAPU8[idx++];
- if (!(u0 & 0x80)) {
- str += String.fromCharCode(u0);
- continue;
- }
- var u1 = HEAPU8[idx++] & 63;
- if ((u0 & 0xE0) === 0xC0) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- var u2 = HEAPU8[idx++] & 63;
- if ((u0 & 0xF0) === 0xE0) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- }
- else {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (HEAPU8[idx++] & 63);
- }
- if (u0 < 0x10000) {
- str += String.fromCharCode(u0);
- }
- else {
- var ch = u0 - 0x10000;
- str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
- }
- }
- return str;
- }
- return emnapiString.utf8Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF8: function (str, outPtr, maxBytesToWrite) {
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var outIdx = outPtr;
- outIdx >>>= 0;
- if (!(maxBytesToWrite > 0)) {
- return 0;
- }
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 0xD800 && u <= 0xDFFF) {
- var u1 = str.charCodeAt(++i);
- u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
- }
- if (u <= 0x7F) {
- if (outIdx >= endIdx)
- break;
- HEAPU8[outIdx++] = u;
- }
- else if (u <= 0x7FF) {
- if (outIdx + 1 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xC0 | (u >> 6);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else if (u <= 0xFFFF) {
- if (outIdx + 2 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xE0 | (u >> 12);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else {
- if (outIdx + 3 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xF0 | (u >> 18);
- HEAPU8[outIdx++] = 0x80 | ((u >> 12) & 63);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- }
- HEAPU8[outIdx] = 0;
- return outIdx - startIdx;
- },
- UTF16ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var end = ptr;
- if (length === -1) {
- var idx = end >> 1;
- var HEAPU16 = new Uint16Array(wasmMemory.buffer);
- while (HEAPU16[idx])
- ++idx;
- end = idx << 1;
- }
- else {
- end = ptr + (length >>> 0) * 2;
- }
- length = end - ptr;
- if (length <= 32) {
- return String.fromCharCode.apply(null, new Uint16Array(wasmMemory.buffer, ptr, length / 2));
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- return emnapiString.utf16Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF16: function (str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === undefined) {
- maxBytesToWrite = 0x7FFFFFFF;
- }
- if (maxBytesToWrite < 2)
- return 0;
- maxBytesToWrite -= 2;
- var startPtr = outPtr;
- var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < numCharsToWrite; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var codeUnit = str.charCodeAt(i);
- HEAP_DATA_VIEW.setInt16(outPtr, codeUnit, true);
- outPtr += 2;
- }
- HEAP_DATA_VIEW.setInt16(outPtr, 0, true);
- return outPtr - startPtr;
- },
- newString: function (env, str, length, result, stringMaker) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var strValue = stringMaker(str, autoLength, sizelength);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(strValue).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- },
- newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var status = createApi(env, str, length, result);
- if (status === 0 /* napi_status.napi_ok */) {
- if (copied) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(copied, 1, true);
- }
- if (finalize_callback) {
- envObject.callFinalizer(finalize_callback, str, finalize_hint);
- }
- }
- return status;
- }
- };
- /**
- * @__sig ippp
- */
- function napi_get_array_length(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isArray()) {
- return envObject.setLastError(8 /* napi_status.napi_array_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = handle.value.length >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function napi_get_arraybuffer_info(env, arraybuffer, data, byte_length) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function node_api_set_prototype(env, object, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var obj = emnapiCtx.handleStore.get(object).value;
- if (obj == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var type = typeof obj;
- var v = void 0;
- try {
- v = (type === 'object' && obj !== null) || type === 'function' ? obj : Object(obj);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var val = emnapiCtx.handleStore.get(value).value;
- Object.setPrototypeOf(v, val);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippp
- */
- function napi_get_prototype(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = handle.isObject() || handle.isFunction() ? handle.value : Object(handle.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppppp
- */
- function napi_get_typedarray_info(env, typedarray, type, length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!typedarray)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(typedarray);
- if (!handle.isTypedArray()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (type) {
- var t = void 0;
- if (v instanceof Int8Array) {
- t = 0 /* napi_typedarray_type.napi_int8_array */;
- }
- else if (v instanceof Uint8Array) {
- t = 1 /* napi_typedarray_type.napi_uint8_array */;
- }
- else if (v instanceof Uint8ClampedArray) {
- t = 2 /* napi_typedarray_type.napi_uint8_clamped_array */;
- }
- else if (v instanceof Int16Array) {
- t = 3 /* napi_typedarray_type.napi_int16_array */;
- }
- else if (v instanceof Uint16Array) {
- t = 4 /* napi_typedarray_type.napi_uint16_array */;
- }
- else if (v instanceof Int32Array) {
- t = 5 /* napi_typedarray_type.napi_int32_array */;
- }
- else if (v instanceof Uint32Array) {
- t = 6 /* napi_typedarray_type.napi_uint32_array */;
- }
- else if (typeof Float16Array === 'function' && v instanceof Float16Array) {
- t = 11 /* napi_typedarray_type.napi_float16_array */;
- }
- else if (v instanceof Float32Array) {
- t = 7 /* napi_typedarray_type.napi_float32_array */;
- }
- else if (v instanceof Float64Array) {
- t = 8 /* napi_typedarray_type.napi_float64_array */;
- }
- else if (v instanceof BigInt64Array) {
- t = 9 /* napi_typedarray_type.napi_bigint64_array */;
- }
- else if (v instanceof BigUint64Array) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- t = 10 /* napi_typedarray_type.napi_biguint64_array */;
- }
- else {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- HEAP_DATA_VIEW.setInt32(type, t, true);
- }
- if (length) {
- HEAP_DATA_VIEW.setUint32(length, v.length, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_buffer_info(env, buffer, data, length) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!buffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(buffer);
- if (!handle.isBuffer(emnapiCtx.feature.Buffer))
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (handle.isDataView()) {
- return napi_get_dataview_info(env, buffer, length, data, 0, 0);
- }
- return napi_get_typedarray_info(env, buffer, 0, length, data, 0, 0);
- }
- /**
- * @__sig ipppppp
- */
- function napi_get_dataview_info(env, dataview, byte_length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!dataview)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(dataview);
- if (!handle.isDataView()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_date_value(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isDate()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- v = handle.value.valueOf();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_bool(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'boolean') {
- return envObject.setLastError(7 /* napi_status.napi_boolean_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = handle.value ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_double(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, r, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_value_bigint_int64(env, value, result, lossless) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!lossless)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_get_value_bigint_uint64(env, value, result, lossless) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!lossless)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= BigInt(0)) && (numberValue < (BigInt(1) << BigInt(64)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(numberValue & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(result, low, true);
- HEAP_DATA_VIEW.setUint32(result + 4, high, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_bigint_words(env, value, sign_bit, word_count, words) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!word_count)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isBigInt()) {
- return envObject.setLastError(17 /* napi_status.napi_bigint_expected */);
- }
- var isMinus = handle.value < BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
- var wordCount = 0;
- var bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- while (bigintValue !== BigInt(0)) {
- wordCount++;
- bigintValue = bigintValue >> BigInt(64);
- }
- bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- if (!sign_bit && !words) {
- word_count_int = wordCount;
- HEAP_DATA_VIEW.setUint32(word_count, word_count_int, true);
- }
- else {
- if (!sign_bit)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!words)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var wordsArr = [];
- while (bigintValue !== BigInt(0)) {
- var uint64 = bigintValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- wordsArr.push(uint64);
- bigintValue = bigintValue >> BigInt(64);
- }
- var len = Math.min(word_count_int, wordsArr.length);
- for (var i = 0; i < len; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var low = Number(wordsArr[i] & BigInt(0xffffffff));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var high = Number(wordsArr[i] >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(words + i * 8, low, true);
- HEAP_DATA_VIEW.setUint32(words + (i * 8 + 4), high, true);
- }
- HEAP_DATA_VIEW.setInt32(sign_bit, isMinus ? 1 : 0, true);
- HEAP_DATA_VIEW.setUint32(word_count, len, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_external(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isExternal()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = handle.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_int32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = new Int32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_int64(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- var numberValue = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 0, true);
- }
- else if (numberValue < /* INT64_RANGE_NEGATIVE */ -9223372036854776e3) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 2147483648, true);
- }
- else if (numberValue >= /* INT64_RANGE_POSITIVE */ 9223372036854776000) {
- HEAP_DATA_VIEW.setUint32(result, 4294967295, true);
- HEAP_DATA_VIEW.setUint32(result + 4, 2147483647, true);
- }
- else {
- $emnapiSetValueI64(result, Math.trunc(numberValue));
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_latin1(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = 0;
- var v = void 0;
- for (var i = 0; i < buf_size - 1; ++i) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = handle.value.charCodeAt(i) & 0xff;
- HEAP_DATA_VIEW.setUint8(buf + i, v, true);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- copied++;
- }
- HEAP_DATA_VIEW.setUint8(buf + copied, 0, true);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_utf8(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var strLength = emnapiString.lengthBytesUTF8(handle.value);
- HEAP_DATA_VIEW.setUint32(result, strLength, true);
- }
- else if (buf_size !== 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var copied = emnapiString.stringToUTF8(handle.value, buf, buf_size);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippppp
- */
- function napi_get_value_string_utf16(env, value, buf, buf_size, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var copied = emnapiString.stringToUTF16(handle.value, buf, buf_size * 2);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied / 2, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_get_value_uint32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6 /* napi_status.napi_number_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = new Uint32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- var convert2cMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_array_length: napi_get_array_length,
- napi_get_arraybuffer_info: napi_get_arraybuffer_info,
- napi_get_buffer_info: napi_get_buffer_info,
- napi_get_dataview_info: napi_get_dataview_info,
- napi_get_date_value: napi_get_date_value,
- napi_get_prototype: napi_get_prototype,
- napi_get_typedarray_info: napi_get_typedarray_info,
- napi_get_value_bigint_int64: napi_get_value_bigint_int64,
- napi_get_value_bigint_uint64: napi_get_value_bigint_uint64,
- napi_get_value_bigint_words: napi_get_value_bigint_words,
- napi_get_value_bool: napi_get_value_bool,
- napi_get_value_double: napi_get_value_double,
- napi_get_value_external: napi_get_value_external,
- napi_get_value_int32: napi_get_value_int32,
- napi_get_value_int64: napi_get_value_int64,
- napi_get_value_string_latin1: napi_get_value_string_latin1,
- napi_get_value_string_utf16: napi_get_value_string_utf16,
- napi_get_value_string_utf8: napi_get_value_string_utf8,
- napi_get_value_uint32: napi_get_value_uint32,
- node_api_set_prototype: node_api_set_prototype
- });
- /**
- * @__sig ipip
- */
- function napi_create_int32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipip
- */
- function napi_create_uint32(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipjp
- */
- function napi_create_int64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = Number(low);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipdp
- */
- function napi_create_double(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_latin1(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str, autoLength, sizeLength) {
- var latin1String = '';
- var len = 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (autoLength) {
- while (true) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- str++;
- }
- }
- else {
- while (len < sizeLength) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- len++;
- str++;
- }
- }
- return latin1String;
- });
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_utf16(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF16ToString(str, length);
- });
- }
- /**
- * @__sig ipppp
- */
- function napi_create_string_utf8(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF8ToString(str, length);
- });
- }
- /**
- * @__sig ippppppp
- */
- function node_api_create_external_string_latin1(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_latin1, undefined);
- }
- /**
- * @__sig ippppppp
- */
- function node_api_create_external_string_utf16(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_utf16, undefined);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_latin1(env, str, length, result) {
- return napi_create_string_latin1(env, str, length, result);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_utf8(env, str, length, result) {
- return napi_create_string_utf8(env, str, length, result);
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_property_key_utf16(env, str, length, result) {
- return napi_create_string_utf16(env, str, length, result);
- }
- /**
- * @__sig ipjp
- */
- function napi_create_bigint_int64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = low;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipjp
- */
- function napi_create_bigint_uint64(env, low, high, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var value;
- if (!high)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- value = low & ((BigInt(1) << BigInt(64)) - BigInt(1));
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipippp
- */
- function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v, i;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- word_count = word_count >>> 0;
- if (word_count > 2147483647) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (word_count > (1024 * 1024 / (4 * 8) / 2)) {
- throw new RangeError('Maximum BigInt size exceeded');
- }
- var value = BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (i = 0; i < word_count; i++) {
- var low = HEAP_DATA_VIEW.getUint32(words + i * 8, true);
- var high = HEAP_DATA_VIEW.getUint32(words + (i * 8 + 4), true);
- var wordi = BigInt(low) | (BigInt(high) << BigInt(32));
- value += wordi << BigInt(64 * i);
- }
- value *= ((BigInt(sign_bit) % BigInt(2) === BigInt(0)) ? BigInt(1) : BigInt(-1));
- v = emnapiCtx.addToCurrentScope(value).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var convert2napiMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_bigint_int64: napi_create_bigint_int64,
- napi_create_bigint_uint64: napi_create_bigint_uint64,
- napi_create_bigint_words: napi_create_bigint_words,
- napi_create_double: napi_create_double,
- napi_create_int32: napi_create_int32,
- napi_create_int64: napi_create_int64,
- napi_create_string_latin1: napi_create_string_latin1,
- napi_create_string_utf16: napi_create_string_utf16,
- napi_create_string_utf8: napi_create_string_utf8,
- napi_create_uint32: napi_create_uint32,
- node_api_create_external_string_latin1: node_api_create_external_string_latin1,
- node_api_create_external_string_utf16: node_api_create_external_string_utf16,
- node_api_create_property_key_latin1: node_api_create_property_key_latin1,
- node_api_create_property_key_utf16: node_api_create_property_key_utf16,
- node_api_create_property_key_utf8: node_api_create_property_key_utf8
- });
- function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
- var functionName = (!utf8name || !length) ? '' : (emnapiString.UTF8ToString(utf8name, length));
- var f;
- var napiCallback = (wasmTable.get(cb));
- var callback = function (envObject) {
- return napiCallback(envObject.id, envObject.ctx.scopeStore.currentScope.id);
- };
- var makeFunction = function (envObject, callback) {
- return function () {
- var scope = envObject.ctx.openScope(envObject);
- var callbackInfo = scope.callbackInfo;
- callbackInfo.data = data;
- callbackInfo.args = arguments;
- callbackInfo.thiz = this;
- callbackInfo.fn = f;
- try {
- var napiValue = envObject.callIntoModule(callback);
- return (!napiValue) ? undefined : envObject.ctx.handleStore.get(napiValue).value;
- }
- finally {
- callbackInfo.data = 0;
- callbackInfo.args = undefined;
- callbackInfo.thiz = undefined;
- callbackInfo.fn = undefined;
- envObject.ctx.closeScope(envObject, scope);
- }
- };
- };
- if (functionName === '') {
- f = makeFunction(envObject, callback);
- return { status: 0 /* napi_status.napi_ok */, f: f };
- }
- if (!(/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(functionName))) {
- return { status: 1 /* napi_status.napi_invalid_arg */, f: undefined };
- }
- if (emnapiCtx.feature.supportNewFunction) {
- var _ = makeFunction(envObject, callback);
- try {
- f = (new Function('_', 'return function ' + functionName + '(){' +
- '"use strict";' +
- 'return _.apply(this,arguments);' +
- '};'))(_);
- }
- catch (_err) {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- }
- else {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- return { status: 0 /* napi_status.napi_ok */, f: f };
- }
- function emnapiDefineProperty(envObject, obj, propertyName, method, getter, setter, value, attributes, data) {
- if (getter || setter) {
- var localGetter = void 0;
- var localSetter = void 0;
- if (getter) {
- localGetter = emnapiCreateFunction(envObject, 0, 0, getter, data).f;
- }
- if (setter) {
- localSetter = emnapiCreateFunction(envObject, 0, 0, setter, data).f;
- }
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- get: localGetter,
- set: localSetter
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else if (method) {
- var localMethod = emnapiCreateFunction(envObject, 0, 0, method, data).f;
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- writable: (attributes & 1 /* napi_property_attributes.napi_writable */) !== 0,
- value: localMethod
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else {
- var desc = {
- configurable: (attributes & 4 /* napi_property_attributes.napi_configurable */) !== 0,
- enumerable: (attributes & 2 /* napi_property_attributes.napi_enumerable */) !== 0,
- writable: (attributes & 1 /* napi_property_attributes.napi_writable */) !== 0,
- value: emnapiCtx.handleStore.get(value).value
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- }
- function emnapiGetHandle(js_object) {
- var handle = emnapiCtx.handleStore.get(js_object);
- if (!(handle.isObject() || handle.isFunction())) {
- return { status: 1 /* napi_status.napi_invalid_arg */ };
- }
- if (typeof emnapiExternalMemory !== 'undefined' && ArrayBuffer.isView(handle.value)) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(handle.value)) {
- handle = emnapiCtx.addToCurrentScope(emnapiExternalMemory.wasmMemoryViewTable.get(handle.value));
- }
- }
- return { status: 0 /* napi_status.napi_ok */, handle: handle };
- }
- function emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var referenceId;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportFinalizer) {
- if (finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- if (result) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "result" must be 0(NULL)');
- }
- }
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- if (envObject.getObjectBinding(handle.value).wrapped !== 0) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var reference = void 0;
- if (result) {
- if (!finalize_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1 /* ReferenceOwnership.kUserland */, finalize_cb, native_object, finalize_hint);
- referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- else {
- if (finalize_cb) {
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 0 /* ReferenceOwnership.kRuntime */, finalize_cb, native_object, finalize_hint);
- }
- else {
- reference = emnapiCtx.createReferenceWithData(envObject, handle.id, 0, 0 /* ReferenceOwnership.kRuntime */, native_object);
- }
- }
- envObject.getObjectBinding(handle.value).wrapped = reference.id;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- function emnapiUnwrap(env, js_object, result, action) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var data;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (action === 0 /* UnwrapAction.KeepWrap */) {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(js_object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- var referenceId = binding.wrapped;
- var ref = emnapiCtx.refStore.get(referenceId);
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- data = ref.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, data, true);
- }
- if (action === 1 /* UnwrapAction.RemoveWrap */) {
- binding.wrapped = 0;
- if (ref.ownership() === 1 /* ReferenceOwnership.kUserland */) {
- // When the wrap is been removed, the finalizer should be reset.
- ref.resetFinalizer();
- }
- else {
- ref.dispose();
- }
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppppp
- */
- function napi_define_class(env, utf8name, length, constructor, callback_data, property_count, properties, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var propPtr, valueHandleId, attributes;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if ((length < -1) || (length > 2147483647) || (!utf8name)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
- if (fresult.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(fresult.status);
- var F = fresult.f;
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_1 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_1) {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- propertyName = emnapiCtx.handleStore.get(name_1).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- }
- if ((attributes & 1024 /* napi_property_attributes.napi_static */) !== 0) {
- emnapiDefineProperty(envObject, F, propertyName, method, getter, setter, value, attributes, data);
- continue;
- }
- emnapiDefineProperty(envObject, F.prototype, propertyName, method, getter, setter, value, attributes, data);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var valueHandle = emnapiCtx.addToCurrentScope(F);
- valueHandleId = valueHandle.id;
- HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_wrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- return emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result);
- }
- /**
- * @__sig ippp
- */
- function napi_unwrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 0 /* UnwrapAction.KeepWrap */);
- }
- /**
- * @__sig ippp
- */
- function napi_remove_wrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 1 /* UnwrapAction.RemoveWrap */);
- }
- /**
- * @__sig ippp
- */
- function napi_type_tag_object(env, object, type_tag) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 2 /* napi_status.napi_object_expected */);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var tag = new Uint8Array(16);
- tag.set(new Uint8Array(wasmMemory.buffer, type_tag, 16));
- binding.tag = new Uint32Array(tag.buffer);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function napi_check_object_type_tag(env, object, type_tag, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, one-var
- var ret = true;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 2 /* napi_status.napi_object_expected */);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- if (!result) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 /* napi_status.napi_pending_exception */ : 1 /* napi_status.napi_invalid_arg */);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- var tag = binding.tag;
- var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
- ret = (tag[0] === typeTag[0] &&
- tag[1] === typeTag[1] &&
- tag[2] === typeTag[2] &&
- tag[3] === typeTag[3]);
- }
- else {
- ret = false;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finalize_hint, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportFinalizer) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- if (!js_object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!finalize_cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- var ownership = !result ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
- var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
- if (result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppp
- */
- function node_api_post_finalizer(env, finalize_cb, finalize_data, finalize_hint) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.enqueueFinalizer(emnapiCtx.createTrackedFinalizer(envObject, finalize_cb, finalize_data, finalize_hint));
- return envObject.clearLastError();
- }
- var wrapMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_add_finalizer: napi_add_finalizer,
- napi_check_object_type_tag: napi_check_object_type_tag,
- napi_define_class: napi_define_class,
- napi_remove_wrap: napi_remove_wrap,
- napi_type_tag_object: napi_type_tag_object,
- napi_unwrap: napi_unwrap,
- napi_wrap: napi_wrap,
- node_api_post_finalizer: node_api_post_finalizer
- });
- /**
- * @__sig ipippppp
- */
- function emnapi_create_memory_view(env, typedarray_type, external_data, byte_length, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if (byte_length > 2147483647) {
- throw new RangeError('Cannot create a memory view larger than 2147483647 bytes');
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('emnapi_create_memory_view', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var viewDescriptor = void 0;
- switch (typedarray_type) {
- case 0 /* emnapi_memory_view_type.emnapi_int8_array */:
- viewDescriptor = { Ctor: Int8Array, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 1 /* emnapi_memory_view_type.emnapi_uint8_array */:
- viewDescriptor = { Ctor: Uint8Array, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 2 /* emnapi_memory_view_type.emnapi_uint8_clamped_array */:
- viewDescriptor = { Ctor: Uint8ClampedArray, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 3 /* emnapi_memory_view_type.emnapi_int16_array */:
- viewDescriptor = { Ctor: Int16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 4 /* emnapi_memory_view_type.emnapi_uint16_array */:
- viewDescriptor = { Ctor: Uint16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 5 /* emnapi_memory_view_type.emnapi_int32_array */:
- viewDescriptor = { Ctor: Int32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 6 /* emnapi_memory_view_type.emnapi_uint32_array */:
- viewDescriptor = { Ctor: Uint32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 7 /* emnapi_memory_view_type.emnapi_float32_array */:
- viewDescriptor = { Ctor: Float32Array, address: external_data, length: byte_length >> 2, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 8 /* emnapi_memory_view_type.emnapi_float64_array */:
- viewDescriptor = { Ctor: Float64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 9 /* emnapi_memory_view_type.emnapi_bigint64_array */:
- viewDescriptor = { Ctor: BigInt64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 10 /* emnapi_memory_view_type.emnapi_biguint64_array */:
- viewDescriptor = { Ctor: BigUint64Array, address: external_data, length: byte_length >> 3, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case -1 /* emnapi_memory_view_type.emnapi_data_view */:
- viewDescriptor = { Ctor: DataView, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case 11 /* emnapi_memory_view_type.emnapi_float16_array */:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- viewDescriptor = { Ctor: Float16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- case -2 /* emnapi_memory_view_type.emnapi_buffer */: {
- if (!emnapiCtx.feature.Buffer) {
- throw emnapiCtx.createNotSupportBufferError('emnapi_create_memory_view', '');
- }
- viewDescriptor = { Ctor: emnapiCtx.feature.Buffer, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
- break;
- }
- default: return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var Ctor = viewDescriptor.Ctor;
- var typedArray = typedarray_type === -2 /* emnapi_memory_view_type.emnapi_buffer */
- ? emnapiCtx.feature.Buffer.from(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length)
- : new Ctor(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length);
- var handle = emnapiCtx.addToCurrentScope(typedArray);
- emnapiExternalMemory.wasmMemoryViewTable.set(typedArray, viewDescriptor);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, /* NULL */ 0);
- if (status_1 === 10 /* napi_status.napi_pending_exception */) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig i
- */
- function emnapi_is_support_weakref() {
- return emnapiCtx.feature.supportFinalizer ? 1 : 0;
- }
- /**
- * @__sig i
- */
- function emnapi_is_support_bigint() {
- return emnapiCtx.feature.supportBigInt ? 1 : 0;
- }
- /**
- * @__sig i
- */
- function emnapi_is_node_binding_available() {
- return emnapiNodeBinding ? 1 : 0;
- }
- function $emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
- offset = offset !== null && offset !== void 0 ? offset : 0;
- offset = offset >>> 0;
- var view;
- if (arrayBufferOrView instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = arrayBufferOrView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return arrayBufferOrView;
- view = new Uint8Array(arrayBufferOrView, offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return arrayBufferOrView;
- }
- if (ArrayBuffer.isView(arrayBufferOrView)) {
- var viewPointerInfo = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- var latestView = viewPointerInfo.view;
- var pointer = viewPointerInfo.address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = latestView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return latestView;
- view = new Uint8Array(latestView.buffer, latestView.byteOffset + offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return latestView;
- }
- throw new TypeError('emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- /**
- * @__sig ipippp
- */
- function emnapi_sync_memory(env, js_to_wasm, arraybuffer_or_view, offset, len) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
- var handle = envObject.ctx.handleStore.get(handleId);
- if (!handle.isArrayBuffer() && !handle.isTypedArray() && !handle.isDataView() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
- if (handle.value !== ret) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- function $emnapiGetMemoryAddress(arrayBufferOrView) {
- var isArrayBuffer = arrayBufferOrView instanceof ArrayBuffer;
- var isDataView = arrayBufferOrView instanceof DataView;
- var isTypedArray = ArrayBuffer.isView(arrayBufferOrView) && !isDataView;
- if (!isArrayBuffer && !isTypedArray && !isDataView && !emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- throw new TypeError('emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- var info;
- if (isArrayBuffer) {
- info = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false);
- }
- else {
- info = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- }
- return {
- address: info.address,
- ownership: info.ownership,
- runtimeAllocated: info.runtimeAllocated
- };
- }
- /**
- * @__sig ipppp
- */
- function emnapi_get_memory_address(env, arraybuffer_or_view, address, ownership, runtime_allocated) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p, runtimeAllocated, ownershipOut;
- var info;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!address && !ownership && !runtime_allocated) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var handle = envObject.ctx.handleStore.get(arraybuffer_or_view);
- info = $emnapiGetMemoryAddress(handle.value);
- p = info.address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (address) {
- HEAP_DATA_VIEW.setUint32(address, p, true);
- }
- if (ownership) {
- ownershipOut = info.ownership;
- HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
- }
- if (runtime_allocated) {
- runtimeAllocated = info.runtimeAllocated;
- HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipp
- */
- function emnapi_get_runtime_version(env, version) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!version)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var runtimeVersion;
- try {
- runtimeVersion = emnapiCtx.getRuntimeVersions().version;
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var versions = runtimeVersion.split('.')
- .map(function (n) { return Number(n); });
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(version, versions[0], true);
- HEAP_DATA_VIEW.setUint32(version + 4, versions[1], true);
- HEAP_DATA_VIEW.setUint32(version + 8, versions[2], true);
- return envObject.clearLastError();
- }
- var emnapiMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- $emnapiGetMemoryAddress: $emnapiGetMemoryAddress,
- $emnapiSyncMemory: $emnapiSyncMemory,
- emnapi_create_memory_view: emnapi_create_memory_view,
- emnapi_get_memory_address: emnapi_get_memory_address,
- emnapi_get_runtime_version: emnapi_get_runtime_version,
- emnapi_is_node_binding_available: emnapi_is_node_binding_available,
- emnapi_is_support_bigint: emnapi_is_support_bigint,
- emnapi_is_support_weakref: emnapi_is_support_weakref,
- emnapi_sync_memory: emnapi_sync_memory
- });
- /**
- * @__sig ipp
- */
- function napi_create_array(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope([]).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_create_array_with_length(env, length, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- length = length >>> 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function emnapiCreateArrayBuffer(byte_length, data, shared) {
- byte_length = byte_length >>> 0;
- var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
- if (data) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- return arrayBuffer;
- }
- /**
- * @__sig ipppp
- */
- function napi_create_arraybuffer(env, byte_length, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function node_api_create_sharedarraybuffer(env, byte_length, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipdp
- */
- function napi_create_date(env, time, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(new Date(time)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_external(env, data, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var externalHandle = emnapiCtx.getCurrentScope().addExternal(data);
- if (finalize_cb) {
- emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0 /* ReferenceOwnership.kRuntime */, finalize_cb, data, finalize_hint);
- }
- value = externalHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_external_arraybuffer(env, external_data, byte_length, finalize_cb, finalize_hint, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external_arraybuffer', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var arrayBuffer = new ArrayBuffer(byte_length);
- if (byte_length === 0) {
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(arrayBuffer, [arrayBuffer]);
- }
- catch (_) { }
- }
- else {
- var u8arr = new Uint8Array(arrayBuffer);
- u8arr.set(new Uint8Array(wasmMemory.buffer).subarray(external_data, external_data + byte_length));
- emnapiExternalMemory.table.set(arrayBuffer, {
- address: external_data,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- var handle = emnapiCtx.addToCurrentScope(arrayBuffer);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, /* NULL */ 0);
- if (status_1 === 10 /* napi_status.napi_pending_exception */) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0 /* napi_status.napi_ok */) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipp
- */
- function napi_create_object(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope({}).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!property_names)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!property_values)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8_prototype_or_null = prototype_or_null
- ? emnapiCtx.handleStore.get(prototype_or_null).value
- : null;
- var properties = {};
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
- if (!(typeof name_value === "string" || typeof name_value === "symbol"))
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- properties[name_value] = {
- value: emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_values + i * 4, true)).value,
- writable: true,
- enumerable: true,
- configurable: true
- };
- }
- var obj;
- try {
- obj = Object.defineProperties(Object.create(v8_prototype_or_null), properties);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(obj).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /**
- * @__sig ippp
- */
- function napi_create_symbol(env, description, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!description) {
- // eslint-disable-next-line symbol-description, @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(Symbol()).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- var handle = emnapiCtx.handleStore.get(description);
- var desc = handle.value;
- if (typeof desc !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(Symbol(desc)).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- /**
- * @__sig ipipppp
- */
- function napi_create_typedarray(env, type, length, arraybuffer, byte_offset, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var buffer = handle.value;
- var createTypedArray = function (envObject, Type, size_of_element, buffer, byte_offset, length) {
- var _a;
- byte_offset = byte_offset >>> 0;
- length = length >>> 0;
- if (size_of_element > 1) {
- if ((byte_offset) % (size_of_element) !== 0) {
- var err = new RangeError("start offset of ".concat((_a = Type.name) !== null && _a !== void 0 ? _a : '', " should be a multiple of ").concat(size_of_element));
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- }
- if (((length * size_of_element) + byte_offset) > buffer.byteLength) {
- var err = new RangeError('Invalid typed array length');
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_LENGTH';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- var out = new Type(buffer, byte_offset, length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Type,
- address: byte_offset,
- length: length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- };
- switch (type) {
- case 0 /* napi_typedarray_type.napi_int8_array */:
- return createTypedArray(envObject, Int8Array, 1, buffer, byte_offset, length);
- case 1 /* napi_typedarray_type.napi_uint8_array */:
- return createTypedArray(envObject, Uint8Array, 1, buffer, byte_offset, length);
- case 2 /* napi_typedarray_type.napi_uint8_clamped_array */:
- return createTypedArray(envObject, Uint8ClampedArray, 1, buffer, byte_offset, length);
- case 3 /* napi_typedarray_type.napi_int16_array */:
- return createTypedArray(envObject, Int16Array, 2, buffer, byte_offset, length);
- case 4 /* napi_typedarray_type.napi_uint16_array */:
- return createTypedArray(envObject, Uint16Array, 2, buffer, byte_offset, length);
- case 5 /* napi_typedarray_type.napi_int32_array */:
- return createTypedArray(envObject, Int32Array, 4, buffer, byte_offset, length);
- case 6 /* napi_typedarray_type.napi_uint32_array */:
- return createTypedArray(envObject, Uint32Array, 4, buffer, byte_offset, length);
- case 7 /* napi_typedarray_type.napi_float32_array */:
- return createTypedArray(envObject, Float32Array, 4, buffer, byte_offset, length);
- case 8 /* napi_typedarray_type.napi_float64_array */:
- return createTypedArray(envObject, Float64Array, 8, buffer, byte_offset, length);
- case 9 /* napi_typedarray_type.napi_bigint64_array */:
- return createTypedArray(envObject, BigInt64Array, 8, buffer, byte_offset, length);
- case 10 /* napi_typedarray_type.napi_biguint64_array */:
- return createTypedArray(envObject, BigUint64Array, 8, buffer, byte_offset, length);
- case 11 /* napi_typedarray_type.napi_float16_array */:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- return createTypedArray(envObject, Float16Array, 2, buffer, byte_offset, length);
- default:
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__deps malloc
- * @__sig ippp
- */
- function napi_create_buffer(env, size, data, result) {
- var _a;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value, pointer;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer', '');
- }
- var buffer = void 0;
- size = size >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!data || (size === 0)) {
- buffer = Buffer.alloc(size);
- value = emnapiCtx.addToCurrentScope(buffer).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- pointer = _malloc(size);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
- var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
- var viewDescriptor = {
- Ctor: Buffer,
- address: pointer,
- length: size,
- ownership: emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 1
- };
- emnapiExternalMemory.wasmMemoryViewTable.set(buffer_1, viewDescriptor);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
- value = emnapiCtx.addToCurrentScope(buffer_1).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- HEAP_DATA_VIEW.setUint32(data, pointer, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_buffer_copy(env, length, data, result_data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer_copy', '');
- }
- var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
- var buffer = Buffer.from(arrayBuffer);
- buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
- value = emnapiCtx.addToCurrentScope(buffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppppp
- */
- function napi_create_external_buffer(env, length, data, finalize_cb, finalize_hint, result) {
- return emnapi_create_memory_view(env, -2 /* emnapi_memory_view_type.emnapi_buffer */, data, length, finalize_cb, finalize_hint, result);
- }
- /**
- * @__sig ippppp
- */
- function node_api_create_buffer_from_arraybuffer(env, arraybuffer, byte_offset, byte_length, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_offset = byte_offset >>> 0;
- byte_length = byte_length >>> 0;
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var buffer = handle.value;
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('The byte offset + length is out of range');
- err.code = 'ERR_OUT_OF_RANGE';
- throw err;
- }
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('node_api_create_buffer_from_arraybuffer', '');
- }
- var out = Buffer.from(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Buffer,
- address: byte_offset,
- length: byte_length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ippppp
- */
- function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- byte_length = byte_length >>> 0;
- byte_offset = byte_offset >>> 0;
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- var createDataview = function (buffer) {
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in');
- err.code = 'ERR_NAPI_INVALID_DATAVIEW_ARGS';
- throw err;
- }
- var dataview = new DataView(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(dataview)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(dataview, {
- Ctor: DataView,
- address: byte_offset,
- length: byte_length,
- ownership: 1 /* ReferenceOwnership.kUserland */,
- runtimeAllocated: 0
- });
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = emnapiCtx.addToCurrentScope(dataview).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- };
- if (value instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(value)) {
- return createDataview(value);
- }
- else {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /**
- * @__sig ipppp
- */
- function node_api_symbol_for(env, utf8description, length, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!utf8description)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!(autoLength || (sizelength <= 2147483647))) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var descriptionString = emnapiString.UTF8ToString(utf8description, length);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(Symbol.for(descriptionString)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var createMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_array: napi_create_array,
- napi_create_array_with_length: napi_create_array_with_length,
- napi_create_arraybuffer: napi_create_arraybuffer,
- napi_create_buffer: napi_create_buffer,
- napi_create_buffer_copy: napi_create_buffer_copy,
- napi_create_dataview: napi_create_dataview,
- napi_create_date: napi_create_date,
- napi_create_external: napi_create_external,
- napi_create_external_arraybuffer: napi_create_external_arraybuffer,
- napi_create_external_buffer: napi_create_external_buffer,
- napi_create_object: napi_create_object,
- napi_create_object_with_properties: napi_create_object_with_properties,
- napi_create_symbol: napi_create_symbol,
- napi_create_typedarray: napi_create_typedarray,
- node_api_create_buffer_from_arraybuffer: node_api_create_buffer_from_arraybuffer,
- node_api_create_sharedarraybuffer: node_api_create_sharedarraybuffer,
- node_api_symbol_for: node_api_symbol_for
- });
- /** @__sig ipip */
- function napi_get_boolean(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = value === 0 ? 3 /* GlobalHandle.FALSE */ : 4 /* GlobalHandle.TRUE */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_global(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 5 /* GlobalHandle.GLOBAL */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_null(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 2 /* GlobalHandle.NULL */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_undefined(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = 1 /* GlobalHandle.UNDEFINED */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var globalMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_boolean: napi_get_boolean,
- napi_get_global: napi_get_global,
- napi_get_null: napi_get_null,
- napi_get_undefined: napi_get_undefined
- });
- /** @__sig ipppp */
- function napi_set_instance_data(env, data, finalize_cb, finalize_hint) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.setInstanceData(data, finalize_cb, finalize_hint);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_instance_data(env, data) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!data)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = envObject.getInstanceData();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, value, true);
- return envObject.clearLastError();
- }
- var envMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_instance_data: napi_get_instance_data,
- napi_set_instance_data: napi_set_instance_data
- });
- /** @__sig vpppp */
- function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- var lastError = envObject.lastError;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var errorCode = lastError.errorCode;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var engineErrorCode = lastError.engineErrorCode >>> 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var engineReserved = lastError.engineReserved;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_reserved, engineReserved, true);
- }
- /** @__sig ipp */
- function napi_throw(env, error) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!error)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- envObject.tryCatch.setError(emnapiCtx.handleStore.get(error).value);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new Error(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_type_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_throw_range_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function node_api_throw_syntax_error(env, code, msg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_is_exception_pending(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = envObject.tryCatch.hasCaught();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new Error(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_type_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new TypeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_create_range_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new RangeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function node_api_create_syntax_error(env, code, msg, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var error = new SyntaxError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- error.code = codeValue;
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_get_and_clear_last_exception(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!envObject.tryCatch.hasCaught()) {
- HEAP_DATA_VIEW.setUint32(result, 1, true); // ID_UNDEFINED
- return envObject.clearLastError();
- }
- else {
- var err = envObject.tryCatch.exception();
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = envObject.ensureHandleId(err);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- envObject.tryCatch.reset();
- }
- return envObject.clearLastError();
- }
- /** @__sig vpppp */
- function napi_fatal_error(location, location_len, message, message_len) {
- var locationStr = emnapiString.UTF8ToString(location, location_len);
- var messageStr = emnapiString.UTF8ToString(message, message_len);
- if (emnapiNodeBinding) {
- emnapiNodeBinding.napi.fatalError(locationStr, messageStr);
- }
- else {
- abort('FATAL ERROR: ' + locationStr + ' ' + messageStr);
- }
- }
- /** @__sig ipp */
- function napi_fatal_exception(env, err) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!err)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var error = envObject.ctx.handleStore.get(err);
- try {
- envObject.triggerFatalException(error.value);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var errorMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_get_last_error_info: _emnapi_get_last_error_info,
- napi_create_error: napi_create_error,
- napi_create_range_error: napi_create_range_error,
- napi_create_type_error: napi_create_type_error,
- napi_fatal_error: napi_fatal_error,
- napi_fatal_exception: napi_fatal_exception,
- napi_get_and_clear_last_exception: napi_get_and_clear_last_exception,
- napi_is_exception_pending: napi_is_exception_pending,
- napi_throw: napi_throw,
- napi_throw_error: napi_throw_error,
- napi_throw_range_error: napi_throw_range_error,
- napi_throw_type_error: napi_throw_type_error,
- node_api_create_syntax_error: node_api_create_syntax_error,
- node_api_throw_syntax_error: node_api_throw_syntax_error
- });
- /** @__sig ipppppp */
- function napi_create_function(env, utf8name, length, cb, data, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!cb)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
- if (fresult.status !== 0 /* napi_status.napi_ok */)
- return envObject.setLastError(fresult.status);
- var f = fresult.f;
- var valueHandle = emnapiCtx.addToCurrentScope(f);
- value = valueHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppppp */
- function napi_get_cb_info(env, cbinfo, argc, argv, this_arg, data) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!cbinfo)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (argv) {
- if (!argc)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
- var len = cbinfoValue.args.length;
- var arrlen = argcValue < len ? argcValue : len;
- var i = 0;
- for (; i < arrlen; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var argVal = envObject.ensureHandleId(cbinfoValue.args[i]);
- HEAP_DATA_VIEW.setUint32(argv + i * 4, argVal, true);
- }
- if (i < argcValue) {
- for (; i < argcValue; i++) {
- HEAP_DATA_VIEW.setUint32(argv + i * 4, 1, true);
- }
- }
- }
- if (argc) {
- HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
- }
- if (this_arg) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v = envObject.ensureHandleId(cbinfoValue.thiz);
- HEAP_DATA_VIEW.setUint32(this_arg, v, true);
- }
- if (data) {
- HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ipppppp */
- function napi_call_function(env, recv, func, argc, argv, result) {
- var i = 0;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!recv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var v8recv = emnapiCtx.handleStore.get(recv).value;
- if (!func)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function')
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var args = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args.push(emnapiCtx.handleStore.get(argVal).value);
- }
- var ret = v8func.apply(v8recv, args);
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippppp */
- function napi_new_instance(env, constructor, argc, argv, result) {
- var i;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var Ctor = emnapiCtx.handleStore.get(constructor).value;
- if (typeof Ctor !== 'function')
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var ret = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (emnapiCtx.feature.supportReflect) {
- var argList = Array(argc);
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- argList[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- ret = Reflect.construct(Ctor, argList, Ctor);
- }
- else {
- var args = Array(argc + 1);
- args[0] = undefined;
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args[i + 1] = emnapiCtx.handleStore.get(argVal).value;
- }
- var BoundCtor = Ctor.bind.apply(Ctor, args);
- ret = new BoundCtor();
- }
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_get_new_target(env, cbinfo, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!cbinfo)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
- var value = thiz == null || thiz.constructor == null
- ? 0
- : thiz instanceof fn
- ? envObject.ensureHandleId(thiz.constructor)
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var functionMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_call_function: napi_call_function,
- napi_create_function: napi_create_function,
- napi_get_cb_info: napi_get_cb_info,
- napi_get_new_target: napi_get_new_target,
- napi_new_instance: napi_new_instance
- });
- /** @__sig ipp */
- function napi_open_handle_scope(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_close_handle_scope(env, scope) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if ((envObject.openHandleScopes === 0)) {
- return 13 /* napi_status.napi_handle_scope_mismatch */;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_open_escapable_handle_scope(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_close_escapable_handle_scope(env, scope) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if ((envObject.openHandleScopes === 0)) {
- return 13 /* napi_status.napi_handle_scope_mismatch */;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_escape_handle(env, scope, escapee, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!escapee)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var scopeObject = emnapiCtx.scopeStore.get(scope);
- if (!scopeObject.escapeCalled()) {
- var newHandle = scopeObject.escape(escapee);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value = newHandle ? newHandle.id : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- return envObject.setLastError(12 /* napi_status.napi_escape_called_twice */);
- }
- /** @__sig ippip */
- function napi_create_reference(env, value, initial_refcount, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (envObject.moduleApiVersion < 10) {
- if (!(handle.isObject() || handle.isFunction() || handle.isSymbol())) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var ref = emnapiCtx.createReference(envObject, handle.id, initial_refcount >>> 0, 1 /* ReferenceOwnership.kUserland */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, ref.id, true);
- return envObject.clearLastError();
- }
- /** @__sig ipp */
- function napi_delete_reference(env, ref) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.refStore.get(ref).dispose();
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_reference_ref(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var count = emnapiCtx.refStore.get(ref).ref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_reference_unref(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var reference = emnapiCtx.refStore.get(ref);
- var refcount = reference.refcount();
- if (refcount === 0) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var count = reference.unref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_get_reference_value(env, ref, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var reference = emnapiCtx.refStore.get(ref);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var handleId = reference.get(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, handleId, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_add_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.addCleanupHook(envObject, fun, arg);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig ippp */
- function napi_remove_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- emnapiCtx.removeCleanupHook(envObject, fun, arg);
- return 0 /* napi_status.napi_ok */;
- }
- /** @__sig vp */
- function _emnapi_env_ref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.ref();
- }
- /** @__sig vp */
- function _emnapi_env_unref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.unref();
- }
- var lifeMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_env_ref: _emnapi_env_ref,
- _emnapi_env_unref: _emnapi_env_unref,
- napi_add_env_cleanup_hook: napi_add_env_cleanup_hook,
- napi_close_escapable_handle_scope: napi_close_escapable_handle_scope,
- napi_close_handle_scope: napi_close_handle_scope,
- napi_create_reference: napi_create_reference,
- napi_delete_reference: napi_delete_reference,
- napi_escape_handle: napi_escape_handle,
- napi_get_reference_value: napi_get_reference_value,
- napi_open_escapable_handle_scope: napi_open_escapable_handle_scope,
- napi_open_handle_scope: napi_open_handle_scope,
- napi_reference_ref: napi_reference_ref,
- napi_reference_unref: napi_reference_unref,
- napi_remove_env_cleanup_hook: napi_remove_env_cleanup_hook
- });
- /** @__sig ippi */
- function _emnapi_get_filename(env, buf, len) {
- var envObject = emnapiCtx.envStore.get(env);
- var filename = envObject.filename;
- if (!buf) {
- return emnapiString.lengthBytesUTF8(filename);
- }
- return emnapiString.stringToUTF8(filename, buf, len);
- }
- var miscellaneousMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- _emnapi_get_filename: _emnapi_get_filename
- });
- /** @__sig ippp */
- function napi_create_promise(env, deferred, promise) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var deferredObjectId, value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!promise)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var p = new Promise(function (resolve, reject) {
- var deferredObject = emnapiCtx.createDeferred({ resolve: resolve, reject: reject });
- deferredObjectId = deferredObject.id;
- HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
- });
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(p).id;
- HEAP_DATA_VIEW.setUint32(promise, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_resolve_deferred(env, deferred, resolution) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!resolution)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.resolve(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_reject_deferred(env, deferred, resolution) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!resolution)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.reject(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_is_promise(env, value, is_promise) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!is_promise)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isPromise() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(is_promise, r, true);
- return envObject.clearLastError();
- }
- var promiseMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_create_promise: napi_create_promise,
- napi_is_promise: napi_is_promise,
- napi_reject_deferred: napi_reject_deferred,
- napi_resolve_deferred: napi_resolve_deferred
- });
- /** @__sig ippiiip */
- function napi_get_all_property_names(env, object, key_mode, key_filter, key_conversion, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var obj = void 0;
- try {
- obj = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (key_mode !== 0 /* napi_key_collection_mode.napi_key_include_prototypes */ && key_mode !== 1 /* napi_key_collection_mode.napi_key_own_only */) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (key_conversion !== 0 /* napi_key_conversion.napi_key_keep_numbers */ && key_conversion !== 1 /* napi_key_conversion.napi_key_numbers_to_strings */) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var props = [];
- var names = void 0;
- var symbols = void 0;
- var i = void 0;
- var own = true;
- var integerIndiceRegex = /^(0|[1-9][0-9]*)$/;
- do {
- names = Object.getOwnPropertyNames(obj);
- symbols = Object.getOwnPropertySymbols(obj);
- for (i = 0; i < names.length; i++) {
- props.push({
- name: integerIndiceRegex.test(names[i]) ? Number(names[i]) : names[i],
- desc: Object.getOwnPropertyDescriptor(obj, names[i]),
- own: own
- });
- }
- for (i = 0; i < symbols.length; i++) {
- props.push({
- name: symbols[i],
- desc: Object.getOwnPropertyDescriptor(obj, symbols[i]),
- own: own
- });
- }
- if (key_mode === 1 /* napi_key_collection_mode.napi_key_own_only */) {
- break;
- }
- obj = Object.getPrototypeOf(obj);
- own = false;
- } while (obj);
- var ret = [];
- var addName = function (ret, name, key_filter, conversion_mode) {
- if (ret.indexOf(name) !== -1)
- return;
- if (conversion_mode === 0 /* napi_key_conversion.napi_key_keep_numbers */) {
- ret.push(name);
- }
- else if (conversion_mode === 1 /* napi_key_conversion.napi_key_numbers_to_strings */) {
- var realName = typeof name === 'number' ? String(name) : name;
- if (typeof realName === 'string') {
- if (!(key_filter & 8 /* napi_key_filter.napi_key_skip_strings */)) {
- ret.push(realName);
- }
- }
- else {
- ret.push(realName);
- }
- }
- };
- for (i = 0; i < props.length; i++) {
- var prop = props[i];
- var name_1 = prop.name;
- var desc = prop.desc;
- if (key_filter === 0 /* napi_key_filter.napi_key_all_properties */) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- else {
- if (key_filter & 8 /* napi_key_filter.napi_key_skip_strings */ && typeof name_1 === 'string') {
- continue;
- }
- if (key_filter & 16 /* napi_key_filter.napi_key_skip_symbols */ && typeof name_1 === 'symbol') {
- continue;
- }
- var shouldAdd = true;
- switch (key_filter & 7) {
- case 1 /* napi_key_filter.napi_key_writable */: {
- shouldAdd = Boolean(desc.writable);
- break;
- }
- case 2 /* napi_key_filter.napi_key_enumerable */: {
- shouldAdd = Boolean(desc.enumerable);
- break;
- }
- case (1 /* napi_key_filter.napi_key_writable */ | 2 /* napi_key_filter.napi_key_enumerable */): {
- shouldAdd = Boolean(desc.writable && desc.enumerable);
- break;
- }
- case 4 /* napi_key_filter.napi_key_configurable */: {
- shouldAdd = Boolean(desc.configurable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 1 /* napi_key_filter.napi_key_writable */): {
- shouldAdd = Boolean(desc.configurable && desc.writable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 2 /* napi_key_filter.napi_key_enumerable */): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable);
- break;
- }
- case (4 /* napi_key_filter.napi_key_configurable */ | 2 /* napi_key_filter.napi_key_enumerable */ | 1 /* napi_key_filter.napi_key_writable */): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable && desc.writable);
- break;
- }
- }
- if (shouldAdd) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = emnapiCtx.addToCurrentScope(ret).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_get_property_names(env, object, result) {
- return napi_get_all_property_names(env, object, 0 /* napi_key_collection_mode.napi_key_include_prototypes */, 2 /* napi_key_filter.napi_key_enumerable */ | 16 /* napi_key_filter.napi_key_skip_symbols */, 1 /* napi_key_conversion.napi_key_numbers_to_strings */, result);
- }
- /** @__sig ipppp */
- function napi_set_property(env, object, key, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- h.value[emnapiCtx.handleStore.get(key).value] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = (emnapiCtx.handleStore.get(key).value in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_get_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_delete_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var propertyKey = emnapiCtx.handleStore.get(key).value;
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, propertyKey);
- }
- else {
- try {
- r = delete h.value[propertyKey];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_own_property(env, object, key, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var prop = emnapiCtx.handleStore.get(key).value;
- if (typeof prop !== 'string' && typeof prop !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_set_named_property(env, object, cname, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (!cname) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_has_named_property(env, object, utf8name, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!utf8name) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = emnapiString.UTF8ToString(utf8name, -1) in v;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_get_named_property(env, object, utf8name, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!utf8name) {
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_set_element(env, object, index, value) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- h.value[index >>> 0] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_has_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- r = ((index >>> 0) in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_get_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(v[index >>> 0]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippip */
- function napi_delete_element(env, object, index, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, index >>> 0);
- }
- else {
- try {
- r = delete h.value[index >>> 0];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_define_properties(env, object, property_count, properties) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var propPtr, attributes;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_2 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_2) {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- propertyName = emnapiCtx.handleStore.get(name_2).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4 /* napi_status.napi_name_expected */);
- }
- }
- emnapiDefineProperty(envObject, maybeObject, propertyName, method, getter, setter, value, attributes, data);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_object_freeze(env, object) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- Object.freeze(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_object_seal(env, object) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2 /* napi_status.napi_object_expected */);
- }
- Object.seal(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var propertyMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_define_properties: napi_define_properties,
- napi_delete_element: napi_delete_element,
- napi_delete_property: napi_delete_property,
- napi_get_all_property_names: napi_get_all_property_names,
- napi_get_element: napi_get_element,
- napi_get_named_property: napi_get_named_property,
- napi_get_property: napi_get_property,
- napi_get_property_names: napi_get_property_names,
- napi_has_element: napi_has_element,
- napi_has_named_property: napi_has_named_property,
- napi_has_own_property: napi_has_own_property,
- napi_has_property: napi_has_property,
- napi_object_freeze: napi_object_freeze,
- napi_object_seal: napi_object_seal,
- napi_set_element: napi_set_element,
- napi_set_named_property: napi_set_named_property,
- napi_set_property: napi_set_property
- });
- /** @__sig ippp */
- function napi_run_script(env, script, result) {
- var status;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var value;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!script)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v8Script = emnapiCtx.handleStore.get(script);
- if (!v8Script.isString()) {
- return envObject.setLastError(3 /* napi_status.napi_string_expected */);
- }
- var g = emnapiCtx.handleStore.get(5 /* GlobalHandle.GLOBAL */).value;
- var ret = g.eval(v8Script.value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- value = envObject.ensureHandleId(ret);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- status = envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- return status;
- }
- var scriptMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_run_script: napi_run_script
- });
- /** @__sig ippp */
- function napi_typeof(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var v = emnapiCtx.handleStore.get(value);
- var r;
- if (v.isNumber()) {
- r = 3 /* napi_valuetype.napi_number */;
- }
- else if (v.isBigInt()) {
- r = 9 /* napi_valuetype.napi_bigint */;
- }
- else if (v.isString()) {
- r = 4 /* napi_valuetype.napi_string */;
- }
- else if (v.isFunction()) {
- // This test has to come before IsObject because IsFunction
- // implies IsObject
- r = 7 /* napi_valuetype.napi_function */;
- }
- else if (v.isExternal()) {
- // This test has to come before IsObject because IsExternal
- // implies IsObject
- r = 8 /* napi_valuetype.napi_external */;
- }
- else if (v.isObject()) {
- r = 6 /* napi_valuetype.napi_object */;
- }
- else if (v.isBoolean()) {
- r = 2 /* napi_valuetype.napi_boolean */;
- }
- else if (v.isUndefined()) {
- r = 0 /* napi_valuetype.napi_undefined */;
- }
- else if (v.isSymbol()) {
- r = 5 /* napi_valuetype.napi_symbol */;
- }
- else if (v.isNull()) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- r = 1 /* napi_valuetype.napi_null */;
- }
- else {
- // Should not get here unless V8 has added some new kind of value.
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_coerce_to_bool(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- v = handle.value ? 4 /* GlobalHandle.TRUE */ : 3 /* GlobalHandle.FALSE */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_number(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isBigInt()) {
- throw new TypeError('Cannot convert a BigInt value to a number');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_object(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = envObject.ensureHandleId(Object(handle.value));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_coerce_to_string(env, value, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var v;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isSymbol()) {
- throw new TypeError('Cannot convert a Symbol value to a string');
- }
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipppp */
- function napi_instanceof(env, object, constructor, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!constructor)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- var ctor = emnapiCtx.handleStore.get(constructor);
- if (!ctor.isFunction()) {
- return envObject.setLastError(5 /* napi_status.napi_function_expected */);
- }
- var val = emnapiCtx.handleStore.get(object).value;
- var ret = val instanceof ctor.value;
- r = ret ? 1 : 0;
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ippp */
- function napi_is_array(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_arraybuffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isArrayBuffer() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function node_api_is_sharedarraybuffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = ((typeof SharedArrayBuffer === 'function' && h.value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(h.value) === '[object SharedArrayBuffer]'))
- ? 1
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_date(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isDate() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_error(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var val = emnapiCtx.handleStore.get(value).value;
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = (val instanceof Error) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_typedarray(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isTypedArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_buffer(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_dataview(env, value, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(value);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r = h.isDataView() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- /** @__sig ipppp */
- function napi_strict_equals(env, lhs, rhs, result) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var r;
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!lhs)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!rhs)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var lv = emnapiCtx.handleStore.get(lhs).value;
- var rv = emnapiCtx.handleStore.get(rhs).value;
- r = (lv === rv) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- /** @__sig ipp */
- function napi_detach_arraybuffer(env, arraybuffer) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- if (!(value instanceof ArrayBuffer)) {
- if (typeof SharedArrayBuffer === 'function' && (value instanceof SharedArrayBuffer)) {
- return envObject.setLastError(20 /* napi_status.napi_detachable_arraybuffer_expected */);
- }
- return envObject.setLastError(19 /* napi_status.napi_arraybuffer_expected */);
- }
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(value, [value]);
- }
- catch (_) {
- return envObject.setLastError(9 /* napi_status.napi_generic_failure */);
- }
- return envObject.clearLastError();
- }
- /** @__sig ippp */
- function napi_is_detached_arraybuffer(env, arraybuffer, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- // @ts-expect-error
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 /* napi_status.napi_cannot_run_js */ : 10 /* napi_status.napi_pending_exception */);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- var h = emnapiCtx.handleStore.get(arraybuffer);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (h.isArrayBuffer() && h.value.byteLength === 0) {
- try {
- // eslint-disable-next-line no-new
- new Uint8Array(h.value);
- }
- catch (_) {
- HEAP_DATA_VIEW.setInt8(result, 1, true);
- return envObject.getReturnStatus();
- }
- }
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10 /* napi_status.napi_pending_exception */);
- }
- }
- var valueOperationMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_coerce_to_bool: napi_coerce_to_bool,
- napi_coerce_to_number: napi_coerce_to_number,
- napi_coerce_to_object: napi_coerce_to_object,
- napi_coerce_to_string: napi_coerce_to_string,
- napi_detach_arraybuffer: napi_detach_arraybuffer,
- napi_instanceof: napi_instanceof,
- napi_is_array: napi_is_array,
- napi_is_arraybuffer: napi_is_arraybuffer,
- napi_is_buffer: napi_is_buffer,
- napi_is_dataview: napi_is_dataview,
- napi_is_date: napi_is_date,
- napi_is_detached_arraybuffer: napi_is_detached_arraybuffer,
- napi_is_error: napi_is_error,
- napi_is_typedarray: napi_is_typedarray,
- napi_strict_equals: napi_strict_equals,
- napi_typeof: napi_typeof,
- node_api_is_sharedarraybuffer: node_api_is_sharedarraybuffer
- });
- /** @__sig ipp */
- function napi_get_version(env, result) {
- if (!env)
- return 1 /* napi_status.napi_invalid_arg */;
- var envObject = emnapiCtx.envStore.get(env);
- if (!result)
- return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, NODE_API_SUPPORTED_VERSION_MAX, true);
- return envObject.clearLastError();
- }
- var versionMod = /*#__PURE__*/ Object.freeze({
- __proto__: null,
- napi_get_version: napi_get_version
- });
- emnapiAWST.init();
- emnapiExternalMemory.init();
- emnapiString.init();
- emnapiTSFN.init();
- PThread.init();
- napiModule.emnapi.syncMemory = $emnapiSyncMemory;
- napiModule.emnapi.getMemoryAddress = $emnapiGetMemoryAddress;
- function addImports(mod) {
- var keys = Object.keys(mod);
- for (var i = 0; i < keys.length; ++i) {
- var k = keys[i];
- if (k.indexOf('$') === 0)
- continue;
- if (k.indexOf('emnapi_') === 0) {
- napiModule.imports.emnapi[k] = mod[k];
- }
- else if (k.indexOf('_emnapi_') === 0 || k === 'napi_set_last_error' || k === 'napi_clear_last_error') {
- napiModule.imports.env[k] = mod[k];
- }
- else {
- napiModule.imports.napi[k] = mod[k];
- }
- }
- }
- addImports(asyncMod);
- addImports(memoryMod);
- addImports(asyncWorkMod);
- addImports(utilMod);
- addImports(convert2cMod);
- addImports(convert2napiMod);
- addImports(createMod);
- addImports(globalMod);
- addImports(wrapMod);
- addImports(envMod);
- addImports(emnapiMod);
- addImports(errorMod);
- addImports(functionMod);
- addImports(lifeMod);
- addImports(miscellaneousMod);
- addImports(nodeMod);
- addImports(promiseMod);
- addImports(propertyMod);
- addImports(scriptMod);
- addImports(valueOperationMod);
- addImports(versionMod);
- napiModule.imports.napi.napi_create_threadsafe_function = napi_create_threadsafe_function;
- napiModule.imports.napi.napi_get_threadsafe_function_context = napi_get_threadsafe_function_context;
- napiModule.imports.napi.napi_call_threadsafe_function = napi_call_threadsafe_function;
- napiModule.imports.napi.napi_acquire_threadsafe_function = napi_acquire_threadsafe_function;
- napiModule.imports.napi.napi_release_threadsafe_function = napi_release_threadsafe_function;
- napiModule.imports.napi.napi_unref_threadsafe_function = napi_unref_threadsafe_function;
- napiModule.imports.napi.napi_ref_threadsafe_function = napi_ref_threadsafe_function;
- return napiModule;
- })();
- return napiModule;
- }
-
- function loadNapiModuleImpl(loadFn, userNapiModule, wasmInput, options) {
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
- options = options !== null && options !== void 0 ? options : {};
- var getMemory = options.getMemory;
- var getTable = options.getTable;
- var beforeInit = options.beforeInit;
- if (getMemory != null && typeof getMemory !== 'function') {
- throw new TypeError('options.getMemory is not a function');
- }
- if (getTable != null && typeof getTable !== 'function') {
- throw new TypeError('options.getTable is not a function');
- }
- if (beforeInit != null && typeof beforeInit !== 'function') {
- throw new TypeError('options.beforeInit is not a function');
- }
- var napiModule;
- var isLoad = typeof userNapiModule === 'object' && userNapiModule !== null;
- if (isLoad) {
- if (userNapiModule.loaded) {
- throw new Error('napiModule has already loaded');
- }
- napiModule = userNapiModule;
- }
- else {
- napiModule = createNapiModule(options);
- }
- var wasi = options.wasi;
- var wasiThreads;
- var importObject = {
- env: napiModule.imports.env,
- napi: napiModule.imports.napi,
- emnapi: napiModule.imports.emnapi
- };
- if (wasi) {
- wasiThreads = new WASIThreads(napiModule.childThread
- ? {
- wasi: wasi,
- childThread: true,
- postMessage: napiModule.postMessage
- }
- : {
- wasi: wasi,
- threadManager: napiModule.PThread,
- waitThreadStart: napiModule.waitThreadStart
- });
- Object.assign(importObject, typeof wasi.getImportObject === 'function'
- ? wasi.getImportObject()
- : { wasi_snapshot_preview1: wasi.wasiImport });
- Object.assign(importObject, wasiThreads.getImportObject());
- }
- var overwriteImports = options.overwriteImports;
- if (typeof overwriteImports === 'function') {
- var newImportObject = overwriteImports(importObject);
- if (typeof newImportObject === 'object' && newImportObject !== null) {
- importObject = newImportObject;
- }
- }
- return loadFn(wasmInput, importObject, function (err, source) {
- if (err) {
- throw err;
- }
- var originalInstance = source.instance;
- var instance = originalInstance;
- var originalExports = originalInstance.exports;
- var exportMemory = 'memory' in originalExports;
- var importMemory = 'memory' in importObject.env;
- var memory = getMemory
- ? getMemory(originalExports)
- : exportMemory
- ? originalExports.memory
- : importMemory
- ? importObject.env.memory
- : undefined;
- if (!memory) {
- throw new Error('memory is neither exported nor imported');
- }
- var table = getTable ? getTable(originalExports) : originalExports.__indirect_function_table;
- if (wasi && !exportMemory) {
- var exports_1 = Object.create(null);
- Object.assign(exports_1, originalExports, { memory: memory });
- instance = { exports: exports_1 };
- }
- var module = source.module;
- if (wasi) {
- instance = wasiThreads.initialize(instance, module, memory);
- }
- else {
- napiModule.PThread.setup(module, memory);
- }
- var emnapiInit = function () {
- if (beforeInit) {
- beforeInit({
- instance: originalInstance,
- module: module
- });
- }
- napiModule.init({
- instance: instance,
- module: module,
- memory: memory,
- table: table
- });
- var ret = {
- instance: originalInstance,
- module: module,
- usedInstance: instance
- };
- if (!isLoad) {
- ret.napiModule = napiModule;
- }
- return ret;
- };
- if (napiModule.PThread.shouldPreloadWorkers()) {
- var poolReady = napiModule.PThread.loadWasmModuleToAllWorkers();
- if (loadFn === loadCallback) {
- return poolReady.then(emnapiInit);
- }
- else {
- throw new Error('Synchronous loading is not supported with worker pool (reuseWorker.size > 0)');
- }
- }
- return emnapiInit();
- });
- }
- function loadCallback(wasmInput, importObject, callback) {
- return load(wasmInput, importObject).then(function (source) {
- return callback(null, source);
- }, function (err) {
- return callback(err);
- });
- }
- function loadSyncCallback(wasmInput, importObject, callback) {
- var source;
- try {
- source = loadSync(wasmInput, importObject);
- }
- catch (err) {
- return callback(err);
- }
- return callback(null, source);
- }
- /** @public */
- function loadNapiModule(napiModule,
- /** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
- wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadCallback, napiModule, wasmInput, options);
- }
- /** @public */
- function loadNapiModuleSync(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadSyncCallback, napiModule, wasmInput, options);
- }
- /** @public */
- function instantiateNapiModule(
- /** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
- wasmInput, options) {
- return loadNapiModuleImpl(loadCallback, undefined, wasmInput, options);
- }
- /** @public */
- function instantiateNapiModuleSync(wasmInput, options) {
- return loadNapiModuleImpl(loadSyncCallback, undefined, wasmInput, options);
- }
-
- /******************************************************************************
- Copyright (c) Microsoft Corporation.
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
- ***************************************************************************** */
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
-
- var extendStatics = function(d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
-
- function __extends(d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- }
-
- var __assign = function() {
- __assign = Object.assign || function __assign(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
- }
- return t;
- };
- return __assign.apply(this, arguments);
- };
-
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
- var e = new Error(message);
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
- };
-
- /** @public */
- var MessageHandler = /*#__PURE__*/ (function (_super) {
- __extends(MessageHandler, _super);
- function MessageHandler(options) {
- var _this = this;
- if (typeof options.onLoad !== 'function') {
- throw new TypeError('options.onLoad is not a function');
- }
- var userOnError = options.onError;
- _this = _super.call(this, __assign(__assign({}, options), { onError: function (err, type) {
- var _a;
- var emnapi_thread_crashed = (_a = _this.instance) === null || _a === void 0 ? void 0 : _a.exports.emnapi_thread_crashed;
- if (typeof emnapi_thread_crashed === 'function') {
- emnapi_thread_crashed();
- } /* else {
- tryWakeUpPthreadJoin(this.instance!)
- } */
- if (typeof userOnError === 'function') {
- userOnError(err, type);
- }
- else {
- throw err;
- }
- } })) || this;
- _this.napiModule = undefined;
- return _this;
- }
- MessageHandler.prototype.instantiate = function (data) {
- var _this = this;
- var source = this.onLoad(data);
- var then = source.then;
- if (typeof then === 'function') {
- return source.then(function (result) {
- _this.napiModule = result.napiModule;
- return result;
- });
- }
- this.napiModule = source.napiModule;
- return source;
- };
- MessageHandler.prototype.handle = function (e) {
- var _this = this;
- var _a;
- _super.prototype.handle.call(this, e);
- if ((_a = e === null || e === void 0 ? void 0 : e.data) === null || _a === void 0 ? void 0 : _a.__emnapi__) {
- var type = e.data.__emnapi__.type;
- var payload_1 = e.data.__emnapi__.payload;
- try {
- if (type === 'async-worker-init') {
- this.handleAfterLoad(e, function () {
- _this.napiModule.initWorker(payload_1.arg);
- });
- }
- else if (type === 'async-work-execute') {
- this.handleAfterLoad(e, function () {
- _this.napiModule.executeAsyncWork(payload_1.work);
- });
- }
- }
- catch (err) {
- this.onError(err, type);
- }
- }
- };
- return MessageHandler;
- }(ThreadMessageHandler));
- // function tryWakeUpPthreadJoin (instance: WebAssembly.Instance): void {
- // // https://github.com/WebAssembly/wasi-libc/blob/574b88da481569b65a237cb80daf9a2d5aeaf82d/libc-top-half/musl/src/thread/pthread_join.c#L18-L21
- // const pthread_self = instance.exports.pthread_self as () => number
- // const memory = instance.exports.memory as WebAssembly.Memory
- // if (typeof pthread_self === 'function') {
- // const selfThread = pthread_self()
- // if (selfThread && memory) {
- // // https://github.com/WebAssembly/wasi-libc/blob/574b88da481569b65a237cb80daf9a2d5aeaf82d/libc-top-half/musl/src/internal/pthread_impl.h#L45
- // const detatchState = new Int32Array(memory.buffer, selfThread + 7 * 4 /** detach_state */, 1)
- // Atomics.store(detatchState, 0, 0)
- // Atomics.notify(detatchState, 0, Infinity)
- // }
- // }
- // }
-
- var version = "1.8.1";
-
- exports.MessageHandler = MessageHandler;
- exports.ThreadManager = ThreadManager;
- exports.ThreadMessageHandler = ThreadMessageHandler;
- exports.WASIThreads = WASIThreads;
- exports.createInstanceProxy = createInstanceProxy;
- exports.createNapiModule = createNapiModule;
- exports.instantiateNapiModule = instantiateNapiModule;
- exports.instantiateNapiModuleSync = instantiateNapiModuleSync;
- exports.isSharedArrayBuffer = isSharedArrayBuffer;
- exports.isTrapError = isTrapError;
- exports.loadNapiModule = loadNapiModule;
- exports.loadNapiModuleSync = loadNapiModuleSync;
- exports.version = version;
-
-}));
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts b/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts
deleted file mode 100644
index 2fce234..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts
+++ /dev/null
@@ -1,419 +0,0 @@
-///
-
-import type { Context } from '@emnapi/runtime';
-import type { ReferenceOwnership } from '@emnapi/runtime';
-import type { Worker as Worker_2 } from 'worker_threads';
-
-/** @public */
-export declare type BaseCreateOptions = {
- filename?: string
- nodeBinding?: NodeBinding
- reuseWorker?: ThreadManagerOptionsMain['reuseWorker']
- asyncWorkPoolSize?: number
- waitThreadStart?: MainThreadBaseOptions['waitThreadStart']
- onCreateWorker?: (info: CreateWorkerInfo) => any
- print?: (str: string) => void
- printErr?: (str: string) => void
- postMessage?: (msg: any) => any
-}
-
-/** @public */
-export declare interface BaseOptions {
- wasi: WASIInstance;
- version?: 'preview1';
- wasm64?: boolean;
-}
-
-/** @public */
-export declare interface ChildThreadOptions extends BaseOptions {
- childThread: true;
- postMessage?: (data: any) => void;
-}
-
-/** @public */
-export declare interface CleanupThreadPayload {
- tid: number;
-}
-
-/** @public */
-export declare interface CommandInfo {
- type: T;
- payload: CommandPayloadMap[T];
-}
-
-/** @public */
-export declare interface CommandPayloadMap {
- load: LoadPayload;
- loaded: LoadedPayload;
- start: StartPayload;
- 'cleanup-thread': CleanupThreadPayload;
- 'terminate-all-threads': TerminateAllThreadsPayload;
- 'spawn-thread': SpawnThreadPayload;
-}
-
-/** @public */
-export declare type CommandType = keyof CommandPayloadMap;
-
-/** @public */
-export declare function createInstanceProxy(instance: WebAssembly.Instance, memory?: WebAssembly.Memory | (() => WebAssembly.Memory)): WebAssembly.Instance;
-
-/** @public */
-export declare function createNapiModule (
-options: CreateOptions
-): NapiModule
-
-/** @public */
-export declare type CreateOptions = BaseCreateOptions & ({
- context: Context
- childThread?: boolean
-} | {
- context?: Context
- childThread: true
-})
-
-/** @public */
-export declare interface CreateWorkerInfo {
- type: 'thread' | 'async-work'
- name: string
-}
-
-/** @public */
-export declare interface InitOptions {
- instance: WebAssembly.Instance
- module: WebAssembly.Module
- memory?: WebAssembly.Memory
- table?: WebAssembly.Table
-}
-
-export declare type InputType = string | URL | Response | BufferSource | WebAssembly.Module;
-
-/** @public */
-export declare interface InstantiatedSource extends LoadedSource {
- napiModule: NapiModule;
-}
-
-/** @public */
-export declare function instantiateNapiModule(
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options: InstantiateOptions): Promise;
-
-/** @public */
-export declare function instantiateNapiModuleSync(wasmInput: BufferSource | WebAssembly.Module, options: InstantiateOptions): InstantiatedSource;
-
-/** @public */
-export declare type InstantiateOptions = CreateOptions & LoadOptions;
-
-/** @public */
-export declare function isSharedArrayBuffer(value: any): value is SharedArrayBuffer;
-
-/** @public */
-export declare function isTrapError(e: Error): e is WebAssembly.RuntimeError;
-
-/** @public */
-export declare interface LoadedPayload {
-}
-
-/** @public */
-export declare interface LoadedSource extends WebAssembly.WebAssemblyInstantiatedSource {
- usedInstance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare function loadNapiModule(napiModule: NapiModule,
-/** Only support `BufferSource` or `WebAssembly.Module` on Node.js */
-wasmInput: InputType | Promise, options?: LoadOptions): Promise;
-
-/** @public */
-export declare function loadNapiModuleSync(napiModule: NapiModule, wasmInput: BufferSource | WebAssembly.Module, options?: LoadOptions): LoadedSource;
-
-/** @public */
-export declare interface LoadOptions {
- wasi?: WASIInstance;
- overwriteImports?: (importObject: WebAssembly.Imports) => WebAssembly.Imports;
- beforeInit?: (source: WebAssembly.WebAssemblyInstantiatedSource) => void;
- getMemory?: (exports: WebAssembly.Exports) => WebAssembly.Memory;
- getTable?: (exports: WebAssembly.Exports) => WebAssembly.Table;
-}
-
-/** @public */
-export declare interface LoadPayload {
- wasmModule: WebAssembly.Module;
- wasmMemory: WebAssembly.Memory;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface MainThreadBaseOptions extends BaseOptions {
- waitThreadStart?: boolean | number;
-}
-
-/** @public */
-export declare type MainThreadOptions = MainThreadOptionsWithThreadManager | MainThreadOptionsCreateThreadManager;
-
-/** @public */
-export declare interface MainThreadOptionsCreateThreadManager extends MainThreadBaseOptions, ThreadManagerOptionsMain {
-}
-
-/** @public */
-export declare interface MainThreadOptionsWithThreadManager extends MainThreadBaseOptions {
- threadManager?: ThreadManager | (() => ThreadManager);
-}
-
-/** @public */
-export declare interface MessageEventData {
- __emnapi__: CommandInfo;
-}
-
-/** @public */
-export declare class MessageHandler extends ThreadMessageHandler {
- napiModule: NapiModule | undefined;
- constructor(options: MessageHandlerOptions);
- instantiate(data: LoadPayload): InstantiatedSource | PromiseLike;
- handle(e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare interface MessageHandlerOptions extends ThreadMessageHandlerOptions {
- onLoad: (data: LoadPayload) => InstantiatedSource | PromiseLike;
-}
-
-/** @public */
-export declare interface NapiModule {
- imports: {
- env: any
- napi: any
- emnapi: any
- }
- exports: any
- loaded: boolean
- filename: string
- childThread: boolean
- emnapi: {
- syncMemory (
- js_to_wasm: boolean,
- arrayBufferOrView: T,
- offset?: number,
- len?: number
- ): T
- getMemoryAddress (arrayBufferOrView: ArrayBuffer | ArrayBufferView): PointerInfo
- addSendListener (worker: any): boolean
- }
-
- init (options: InitOptions): any
- initWorker (arg: number): void
- executeAsyncWork (work: number): void
- postMessage?: (msg: any) => any
-
- waitThreadStart: boolean | number
- /* Excluded from this release type: PThread */}
-
-/** @public */
-export declare interface NodeBinding {
- node: {
- emitAsyncInit: Function
- emitAsyncDestroy: Function
- makeCallback: Function
- }
- napi: {
- asyncInit: Function
- asyncDestroy: Function
- makeCallback: Function
- }
-}
-
-/** @public */
-export declare interface PointerInfo {
- address: number
- ownership: ReferenceOwnership
- runtimeAllocated: 0 | 1
-}
-
-/** @public */
-export declare interface ReuseWorkerOptions {
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size | PTHREAD_POOL_SIZE}
- */
- size: number;
- /**
- * @see {@link https://emscripten.org/docs/tools_reference/settings_reference.html#pthread-pool-size-strict | PTHREAD_POOL_SIZE_STRICT}
- */
- strict?: boolean;
-}
-
-/** @public */
-export declare interface SpawnThreadPayload {
- startArg: number;
- errorOrTid: number;
-}
-
-/** @public */
-export declare interface StartPayload {
- tid: number;
- arg: number;
- sab?: Int32Array;
-}
-
-/** @public */
-export declare interface StartResult {
- exitCode: number;
- instance: WebAssembly.Instance;
-}
-
-/** @public */
-export declare interface TerminateAllThreadsPayload {
-}
-
-/** @public */
-export declare class ThreadManager {
- unusedWorkers: WorkerLike[];
- runningWorkers: WorkerLike[];
- pthreads: Record;
- get nextWorkerID(): number;
- wasmModule: WebAssembly.Module | null;
- wasmMemory: WebAssembly.Memory | null;
- private readonly messageEvents;
- private readonly _childThread;
- private readonly _onCreateWorker;
- private readonly _reuseWorker;
- private readonly _beforeLoad?;
- /* Excluded from this release type: printErr */
- constructor(options: ThreadManagerOptions);
- init(): void;
- initMainThread(): void;
- private preparePool;
- shouldPreloadWorkers(): boolean;
- loadWasmModuleToAllWorkers(): Promise;
- preloadWorkers(): Promise;
- setup(wasmModule: WebAssembly.Module, wasmMemory: WebAssembly.Memory): void;
- markId(worker: WorkerLike): number;
- returnWorkerToPool(worker: WorkerLike): void;
- loadWasmModuleToWorker(worker: WorkerLike, sab?: Int32Array): Promise;
- allocateUnusedWorker(): WorkerLike;
- getNewWorker(sab?: Int32Array): WorkerLike | undefined;
- cleanThread(worker: WorkerLike, tid: number, force?: boolean): void;
- terminateWorker(worker: WorkerLike): void;
- terminateAllThreads(): void;
- addMessageEventListener(worker: WorkerLike, onMessage: (e: WorkerMessageEvent) => void): () => void;
- fireMessageEvent(worker: WorkerLike, e: WorkerMessageEvent): void;
-}
-
-/** @public */
-export declare type ThreadManagerOptions = ThreadManagerOptionsMain | ThreadManagerOptionsChild;
-
-/** @public */
-export declare interface ThreadManagerOptionsBase {
- printErr?: (message: string) => void;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsChild extends ThreadManagerOptionsBase {
- childThread: true;
-}
-
-/** @public */
-export declare interface ThreadManagerOptionsMain extends ThreadManagerOptionsBase {
- beforeLoad?: (worker: WorkerLike) => any;
- reuseWorker?: boolean | number | ReuseWorkerOptions;
- onCreateWorker: WorkerFactory;
- childThread?: false;
-}
-
-/** @public */
-export declare class ThreadMessageHandler {
- protected instance: WebAssembly.Instance | undefined;
- private messagesBeforeLoad;
- protected postMessage: (message: any) => void;
- protected onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- protected onError: (error: Error, type: WorkerMessageType) => void;
- constructor(options?: ThreadMessageHandlerOptions);
- /** @virtual */
- instantiate(data: LoadPayload): WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- /** @virtual */
- handle(e: WorkerMessageEvent>): void;
- private _load;
- private _start;
- protected _loaded(err: Error | null, source: WebAssembly.WebAssemblyInstantiatedSource | null, payload: LoadPayload): void;
- protected handleAfterLoad(e: E, f: (e: E) => void): void;
-}
-
-/** @public */
-export declare interface ThreadMessageHandlerOptions {
- onLoad?: (data: LoadPayload) => WebAssembly.WebAssemblyInstantiatedSource | PromiseLike;
- onError?: (error: Error, type: WorkerMessageType) => void;
- postMessage?: (message: any) => void;
-}
-
-export declare const version: string;
-
-/** @public */
-export declare interface WASIInstance {
- readonly wasiImport?: Record;
- initialize(instance: object): void;
- start(instance: object): number;
- getImportObject?(): any;
-}
-
-/** @public */
-export declare class WASIThreads {
- PThread: ThreadManager | undefined;
- private wasmMemory;
- private wasmInstance;
- private readonly threadSpawn;
- readonly childThread: boolean;
- private readonly postMessage;
- readonly wasi: WASIInstance;
- constructor(options: WASIThreadsOptions);
- getImportObject(): {
- wasi: WASIThreadsImports;
- };
- setup(wasmInstance: WebAssembly.Instance, wasmModule: WebAssembly.Module, wasmMemory?: WebAssembly.Memory): void;
- preloadWorkers(): Promise;
- /**
- * It's ok to call this method to a WASI command module.
- *
- * in child thread, must call this method instead of {@link WASIThreads.start} even if it's a WASI command module
- *
- * @returns A proxied WebAssembly instance if in child thread, other wise the original instance
- */
- initialize(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): WebAssembly.Instance;
- /**
- * Equivalent to calling {@link WASIThreads.initialize} and then calling {@link WASIInstance.start}
- * ```js
- * this.initialize(instance, module, memory)
- * this.wasi.start(instance)
- * ```
- */
- start(instance: WebAssembly.Instance, module: WebAssembly.Module, memory?: WebAssembly.Memory): StartResult;
- terminateAllThreads(): void;
-}
-
-/** @public */
-export declare interface WASIThreadsImports {
- 'thread-spawn': (startArg: number, errorOrTid?: number) => number;
-}
-
-/** @public */
-export declare type WASIThreadsOptions = MainThreadOptions | ChildThreadOptions;
-
-/** @public */
-export declare type WorkerFactory = (ctx: {
- type: string;
- name: string;
-}) => WorkerLike;
-
-/** @public */
-export declare type WorkerLike = (Worker | Worker_2) & {
- whenLoaded?: Promise;
- loaded?: boolean;
- __emnapi_tid?: number;
-};
-
-/** @public */
-export declare interface WorkerMessageEvent {
- data: T;
-}
-
-/** @public */
-export declare type WorkerMessageType = 'load' | 'start';
-
-export { }
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.min.js b/node_modules/@emnapi/core/dist/emnapi-core.min.js
deleted file mode 100644
index 728d9ba..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).emnapiCore={})}(this,function(r){var e="undefined"!=typeof WebAssembly?WebAssembly:"undefined"!=typeof WXWebAssembly?WXWebAssembly:void 0;function t(r){if(r&&"object"!=typeof r)throw new TypeError("imports must be an object or undefined");return!0}function n(r,a){if(!r)throw new TypeError("Invalid wasm source");t(a),a=null!=a?a:{};try{var o="object"==typeof r&&null!==r&&"then"in r?r.then:void 0;if("function"==typeof o)return o.call(r,function(r){return n(r,a)})}catch(r){}if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return e.instantiate(r,a);if(r instanceof e.Module)return e.instantiate(r,a).then(function(e){return{instance:e,module:r}});if("undefined"!=typeof Response&&r instanceof Response)return r.arrayBuffer().then(function(r){return e.instantiate(r,a)});var i="string"==typeof r;if(i||"undefined"!=typeof URL&&r instanceof URL){if(i&&"undefined"!=typeof wx&&"undefined"!=typeof __wxConfig)return e.instantiate(r,a);if("function"!=typeof fetch)throw new TypeError("wasm source can not be a string or URL in this environment");if("function"!=typeof e.instantiateStreaming)return n(fetch(r),a);try{return e.instantiateStreaming(fetch(r),a).catch(function(){return n(fetch(r),a)})}catch(e){return n(fetch(r),a)}}throw new TypeError("Invalid wasm source")}var a="undefined"!=typeof WebAssembly?WebAssembly:"undefined"!=typeof WXWebAssembly?WXWebAssembly:void 0,o="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node;function i(r){return"function"==typeof(null==r?void 0:r.postMessage)?r.postMessage:"function"==typeof postMessage?postMessage:void 0}function s(r){return"function"==typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(r)}function u(r){try{return r instanceof a.RuntimeError}catch(r){return!1}}function f(r,e){return{__emnapi__:{type:r,payload:e}}}function c(r){if(r){if(!s(r.buffer))throw new Error("Multithread features require shared wasm memory. Try to compile with `-matomics -mbulk-memory` and use `--import-memory --shared-memory` during linking, then create WebAssembly.Memory with `shared: true` option")}else if("undefined"==typeof SharedArrayBuffer)throw new Error("Current environment does not support SharedArrayBuffer, threads are not available!")}var l=0,d=function(){function r(r){var e;if(this.unusedWorkers=[],this.runningWorkers=[],this.pthreads=Object.create(null),this.wasmModule=null,this.wasmMemory=null,this.messageEvents=new WeakMap,!r)throw new TypeError("ThreadManager(): options is not provided");this._childThread="childThread"in r&&Boolean(r.childThread),this._childThread?(this._onCreateWorker=void 0,this._reuseWorker=!1,this._beforeLoad=void 0):(this._onCreateWorker=r.onCreateWorker,this._reuseWorker=function(r){var e;if("boolean"==typeof r)return!!r&&{size:0,strict:!1};if("number"==typeof r){if(!(r>=0))throw new RangeError("reuseWorker: size must be a non-negative integer");return{size:r,strict:!1}}if(!r)return!1;var t=null!==(e=Number(r.size))&&void 0!==e?e:0,n=Boolean(r.strict);if(!(t>0)&&n)throw new RangeError("reuseWorker: size must be set to positive integer if strict is set to true");return{size:t,strict:n}}(r.reuseWorker),this._beforeLoad=r.beforeLoad),this.printErr=null!==(e=r.printErr)&&void 0!==e?e:console.error.bind(console)}return Object.defineProperty(r.prototype,"nextWorkerID",{get:function(){return l},enumerable:!1,configurable:!0}),r.prototype.init=function(){this._childThread||this.initMainThread()},r.prototype.initMainThread=function(){this.preparePool()},r.prototype.preparePool=function(){if(this._reuseWorker&&this._reuseWorker.size)for(var r=this._reuseWorker.size;r--;){var e=this.allocateUnusedWorker();o&&(e.once("message",function(){}),e.unref())}},r.prototype.shouldPreloadWorkers=function(){return!this._childThread&&this._reuseWorker&&this._reuseWorker.size>0},r.prototype.loadWasmModuleToAllWorkers=function(){for(var r=this,e=Array(this.unusedWorkers.length),t=function(r){var t=n.unusedWorkers[r];o&&t.ref(),e[r]=n.loadWasmModuleToWorker(t).then(function(r){return o&&t.unref(),r},function(r){throw o&&t.unref(),r})},n=this,a=0;a1){try{S.cleanThread(m,L,!0)}catch(r){}throw function(r){var e,t,n=new Int32Array(r);if(Atomics.load(n,0)<=1)return null;var o=Atomics.load(n,1),i=Atomics.load(n,2),s=Atomics.load(n,3),u=new Uint8Array(r),f=u.slice(16,16+o),c=u.slice(16+o,16+o+i),l=u.slice(16+o+i,16+o+i+s),d=(new TextDecoder).decode(f),p=(new TextDecoder).decode(c),v=(new TextDecoder).decode(l),h=new(null!==(e=globalThis[d])&&void 0!==e?e:"RuntimeError"===d&&null!==(t=a.RuntimeError)&&void 0!==t?t:Error)(p);return Object.defineProperty(h,"stack",{value:v,writable:!0,enumerable:!1,configurable:!0}),h}(w.buffer)}}}catch(r){return Atomics.store(g,0,1),Atomics.store(g,1,6),Atomics.notify(g,1),null==S||S.printErr(r.stack),u?1:(y(t),-6)}return Atomics.store(g,0,0),Atomics.store(g,1,L),Atomics.notify(g,1),S.runningWorkers.push(m),b||m.whenLoaded.catch(function(r){throw delete m.whenLoaded,S.cleanThread(m,L,!0),r}),u?0:(y(t),L)};this.threadSpawn=v}return r.prototype.getImportObject=function(){return{wasi:{"thread-spawn":this.threadSpawn}}},r.prototype.setup=function(r,e,t){null!=t||(t=r.exports.memory),this.wasmInstance=r,this.wasmMemory=t,this.PThread&&this.PThread.setup(e,t)},r.prototype.preloadWorkers=function(){return this.PThread?this.PThread.preloadWorkers():Promise.resolve([])},r.prototype.initialize=function(r,e,t){var n=r.exports;null!=t||(t=n.memory),this.childThread&&(r=v(r,t)),this.setup(r,e,t);var a=this.wasi;if("_start"in n&&"function"==typeof n._start)if(this.childThread){a.start(r);try{a[g(a,"kStarted")]=!1}catch(r){}}else!function(r,e){var t=g(r,["kInstance","kSetMemory"]),n=t[0],a=t[1];r[n]=e,r[a](e.exports.memory)}(a,r);else a.initialize(r);return r},r.prototype.start=function(r,e,t){var n=r.exports;return null!=t||(t=n.memory),this.childThread&&(r=v(r,t)),this.setup(r,e,t),{exitCode:this.wasi.start(r),instance:r}},r.prototype.terminateAllThreads=function(){var r;this.childThread?this.postMessage(f("terminate-all-threads",{})):null===(r=this.PThread)||void 0===r||r.terminateAllThreads()},r}();function g(r,e){var t=Object.getOwnPropertySymbols(r),n=function(r){return function(e){return e.description?e.description===r:e.toString()==="Symbol(".concat(r,")")}};return Array.isArray(e)?e.map(function(r){return t.filter(n(r))[0]}):t.filter(n(e))[0]}var _=function(){function r(r){var e=i(r);if("function"!=typeof e)throw new TypeError("options.postMessage is not a function");this.postMessage=e,this.onLoad=null==r?void 0:r.onLoad,this.onError="function"==typeof(null==r?void 0:r.onError)?r.onError:function(r,e){throw e},this.instance=void 0,this.messagesBeforeLoad=[]}return r.prototype.instantiate=function(r){if("function"==typeof this.onLoad)return this.onLoad(r);throw new Error("ThreadMessageHandler.prototype.instantiate is not implemented")},r.prototype.handle=function(r){var e,t=this;if(null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.__emnapi__){var n=r.data.__emnapi__.type,a=r.data.__emnapi__.payload;try{"load"===n?this._load(a):"start"===n&&this.handleAfterLoad(r,function(){t._start(a)})}catch(r){this.onError(r,n)}}},r.prototype._load=function(r){var e=this;if(void 0===this.instance){var t;try{t=this.instantiate(r)}catch(e){return void this._loaded(e,null,r)}var n=t&&"then"in t?t.then:void 0;"function"==typeof n?n.call(t,function(t){e._loaded(null,t,r)},function(t){e._loaded(t,null,r)}):this._loaded(null,t,r)}},r.prototype._start=function(r){var e=this.instance.exports.wasi_thread_start;if("function"!=typeof e){var t=new TypeError("wasi_thread_start is not exported");throw E(r.sab,2,t),t}var n=this.postMessage,a=r.tid,o=r.arg;E(r.sab,1);try{e(a,o)}catch(t){if("unwind"!==t)throw t;return}n(f("cleanup-thread",{tid:a}))},r.prototype._loaded=function(r,e,t){if(r)throw E(t.sab,2,r),r;if(null==e){var n=new TypeError("onLoad should return an object");throw E(t.sab,2,n),n}var a=e.instance;if(!a){var o=new TypeError('onLoad should return an object which includes "instance"');throw E(t.sab,2,o),o}this.instance=a,(0,this.postMessage)(f("loaded",{}));var i=this.messagesBeforeLoad;this.messagesBeforeLoad=[];for(var s=0;s1&&t){var a=t.name,o=t.message,i=t.stack,s=(new TextEncoder).encode(a),u=(new TextEncoder).encode(o),f=(new TextEncoder).encode(i);Atomics.store(n,1,s.length),Atomics.store(n,2,u.length),Atomics.store(n,3,f.length);var c=new Uint8Array(r);c.set(s,16),c.set(u,16+s.length),c.set(f,16+s.length+u.length)}}(r.buffer,e,t),Atomics.notify(r,0))}function w(r){var t=function(){var t,n,a,o,i,s="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node,u=Boolean(r.childThread),f="number"==typeof r.waitThreadStart?r.waitThreadStart:Boolean(r.waitThreadStart);function c(r){if("function"==typeof e.RuntimeError)throw new e.RuntimeError(r);throw Error(r)}var l,p,v,h={imports:{env:{},napi:{},emnapi:{}},exports:{},emnapi:{},loaded:!1,filename:"",childThread:u,initWorker:void 0,executeAsyncWork:void 0,waitThreadStart:f,PThread:void 0,init:function(r){if(h.loaded)return h.exports;if(!r)throw new TypeError("Invalid napi init options");var s=r.instance;if(!(null==s?void 0:s.exports))throw new TypeError("Invalid wasm instance");t=s;var u=s.exports,f=r.module,d=r.memory||u.memory,v=r.table||u.__indirect_function_table;if(!(f instanceof e.Module))throw new TypeError("Invalid wasm module");if(!(d instanceof e.Memory))throw new TypeError("Invalid wasm memory");if(!(v instanceof e.Table))throw new TypeError("Invalid wasm table");if(n=d,a=v,"function"!=typeof u.malloc)throw new TypeError("malloc is not exported");if("function"!=typeof u.free)throw new TypeError("free is not exported");if(o=u.malloc,i=u.free,!h.childThread){var y=8,g=s.exports.node_api_module_get_api_version_v1;"function"==typeof g&&(y=g());var _=h.envObject||(h.envObject=l.createEnv(h.filename,y,function(r){return a.get(r)},function(r){return a.get(r)},c,p)),E=l.openScope(_);try{_.callIntoModule(function(r){var e=h.exports,t=E.add(e),n=(0,s.exports.napi_register_wasm_v1)(r.id,t.id);h.exports=n?l.handleStore.get(n).value:e})}catch(r){if("unwind"!==r)throw r}finally{l.closeScope(_,E)}return h.loaded=!0,delete h.envObject,h.exports}}},y=void 0;if(u){l=null==r?void 0:r.context;var g="function"==typeof r.postMessage?r.postMessage:"function"==typeof postMessage?postMessage:void 0;if("function"!=typeof g)throw new TypeError("No postMessage found");h.postMessage=g}else{var _=r.context;if("object"!=typeof _||null===_)throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");l=_}if("string"==typeof r.filename&&(h.filename=r.filename),"function"==typeof r.onCreateWorker&&(y=r.onCreateWorker),"function"==typeof r.print?r.print:console.log.bind(console),v="function"==typeof r.printErr?r.printErr:console.warn.bind(console),"nodeBinding"in r){var E=r.nodeBinding;if("object"!=typeof E||null===E)throw new TypeError("Invalid `options.nodeBinding`. Use @emnapi/node-binding package");p=E}var w=0;if("asyncWorkPoolSize"in r){if("number"!=typeof r.asyncWorkPoolSize)throw new TypeError("options.asyncWorkPoolSize must be a integer");(w=r.asyncWorkPoolSize|0)>1024?w=1024:w<-1024&&(w=-1024)}var m=!u&&w<=0;function L(){return Math.abs(w)}function b(r){if(!r)return!1;if(r._emnapiSendListener)return!0;var e=function(r){var e=(s?r:r.data).__emnapi__;if(e&&"async-send"===e.type)if(u){(0,h.postMessage)({__emnapi__:e})}else{var t=e.payload.callback;a.get(t)(e.payload.data)}};return r._emnapiSendListener={handler:e,dispose:function(){s?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiSendListener}},s?r.on("message",e):r.addEventListener("message",e,!1),!0}h.imports.env._emnapi_async_work_pool_size=L,h.emnapi.addSendListener=b;var S=new d(u?{printErr:v,childThread:!0}:{printErr:v,beforeLoad:function(r){b(r)},reuseWorker:r.reuseWorker,onCreateWorker:y});function A(r,e){l.feature.setImmediate(function(){a.get(r)(e)})}function C(r,e){Promise.resolve().then(function(){a.get(r)(e)})}function k(r,e){var t,a=[e>>>0,(t=e,+Math.abs(t)>=1?t>0?(0|Math.min(+Math.floor(t/4294967296),4294967295))>>>0:~~+Math.ceil((t-+(~~t>>>0))/4294967296)>>>0:0)],o=new DataView(n.buffer);o.setInt32(r,a[0],!0),o.setInt32(r+4,a[1],!0)}h.PThread=S;var I,T=Object.freeze({__proto__:null,$emnapiSetValueI64:k,_emnapi_call_finalizer:function(r,e,t,n,a){l.envStore.get(e).callFinalizerInternal(r,t,n,a)},_emnapi_callback_into_module:function(r,e,t,n,o){var i=l.envStore.get(e),s=l.openScope(i);try{i.callbackIntoModule(Boolean(r),function(){a.get(t)(e,n)})}catch(r){throw l.closeScope(i,s),o&&l.closeScope(i),r}l.closeScope(i,s)},_emnapi_close_handle_scope:function(r){return l.closeScope()},_emnapi_ctx_decrease_waiting_request_counter:function(){l.decreaseWaitingRequestCounter()},_emnapi_ctx_increase_waiting_request_counter:function(){l.increaseWaitingRequestCounter()},_emnapi_get_node_version:function(r,e,t){var a="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node?process.versions.node.split(".").map(function(r){return Number(r)}):[0,0,0],o=new DataView(n.buffer);o.setUint32(r,a[0],!0),o.setUint32(e,a[1],!0),o.setUint32(t,a[2],!0)},_emnapi_get_now:function(){return performance.timeOrigin+performance.now()},_emnapi_is_main_browser_thread:function(){return"undefined"==typeof window||"undefined"==typeof document||s?0:1},_emnapi_is_main_runtime_thread:function(){return u?0:1},_emnapi_next_tick:C,_emnapi_open_handle_scope:function(){return l.openScope().id},_emnapi_runtime_keepalive_pop:function(){},_emnapi_runtime_keepalive_push:function(){},_emnapi_set_immediate:A,_emnapi_unwind:function(){throw"unwind"},napi_clear_last_error:function(r){return l.envStore.get(r).clearLastError()},napi_set_last_error:function(r,e,t,n){return l.envStore.get(r).setLastError(e,t,n)}});function V(r){var e=new DataView(n.buffer).getInt32(r+20,!0);return S.pthreads[e]}var U=new Promise(function(r){I=function(){U.ready=!0,r()}});U.ready=!1;var B=Object.freeze({__proto__:null,_emnapi_after_uvthreadpool_ready:function(r,e,t){U.ready?a.get(r)(e,t):U.then(function(){a.get(r)(e,t)})},_emnapi_async_send_js:function(r,e,t){if(u)(0,h.postMessage)({__emnapi__:{type:"async-send",payload:{callback:e,data:t}}});else switch(r){case 0:A(e,t);break;case 1:C(e,t)}},_emnapi_emit_async_thread_ready:function(){u&&(0,h.postMessage)({__emnapi__:{type:"async-thread-ready",payload:{}}})},_emnapi_tell_js_uvthreadpool:function(r,e){for(var t=[],a=new DataView(n.buffer),o=function(e){var n=V(a.getUint32(r+4*e,!0));t.push(new Promise(function(r){var e=function(t){var a=(s?t:t.data).__emnapi__;a&&"async-thread-ready"===a.type&&(r(),n&&"function"==typeof n.unref&&n.unref(),s?n.off("message",e):n.removeEventListener("message",e))};s?n.on("message",e):n.addEventListener("message",e)}))},i=0;i>16)?a.setLastError(9):(l.feature.supportBigInt?new DataView(n.buffer).setBigInt64(t,BigInt(n.buffer.byteLength),!0):k(t,n.buffer.byteLength),a.clearLastError())}}),x={idGen:{},values:[void 0],queued:new Set,pending:[],init:function(){var r={nextId:1,list:[],generate:function(){var e;return r.list.length?e=r.list.shift():(e=r.nextId,r.nextId++),e},reuse:function(e){r.list.push(e)}};x.idGen=r,x.values=[void 0],x.queued=new Set,x.pending=[]},create:function(r,e,t,n,a,o){var i=0,s=0;if(p){var u=p.node.emitAsyncInit(e,t,-1);i=u.asyncId,s=u.triggerAsyncId}var f=x.idGen.generate();return x.values[f]={env:r,id:f,resource:e,asyncId:i,triggerAsyncId:s,status:0,execute:n,complete:a,data:o},f},callComplete:function(r,e){var t=r.complete,n=r.env,o=r.data,i=function(){if(t){var r=l.envStore.get(n),i=l.openScope(r);try{r.callbackIntoModule(!0,function(){a.get(t)(n,e,o)})}finally{l.closeScope(r,i)}}};p?p.node.makeCallback(r.resource,i,[],{asyncId:r.asyncId,triggerAsyncId:r.triggerAsyncId}):i()},queue:function(r){var e=x.values[r];if(e&&0===e.status){if(e.status=1,x.queued.size>=(Math.abs(w)||4))return void x.pending.push(r);x.queued.add(r);var t=e.env,n=e.data,o=e.execute;e.status=2,l.feature.setImmediate(function(){if(a.get(o)(t,n),x.queued.delete(r),e.status=3,l.feature.setImmediate(function(){x.callComplete(e,0)}),x.pending.length>0){var i=x.pending.shift();x.values[i].status=0,x.queue(i)}})}},cancel:function(r){var e=x.pending.indexOf(r);if(-1!==e){var t=x.values[r];return t&&1===t.status?(t.status=4,x.pending.splice(e,1),l.feature.setImmediate(function(){x.callComplete(t,11)}),0):9}return 9},remove:function(r){var e=x.values[r];e&&(p&&p.node.emitAsyncDestroy({asyncId:e.asyncId,triggerAsyncId:e.triggerAsyncId}),x.values[r]=void 0,x.idGen.reuse(r))}};function M(r,e,t,a){if(p){var o=l.handleStore.get(r).value,i=l.handleStore.get(e).value,s=p.node.emitAsyncInit(o,i,t),u=s.asyncId,f=s.triggerAsyncId;if(a){var c=new DataView(n.buffer);c.setFloat64(a,u,!0),c.setFloat64(a+8,f,!0)}}}function W(r,e){p&&p.node.emitAsyncDestroy({asyncId:r,triggerAsyncId:e})}var j=Object.freeze({__proto__:null,_emnapi_async_destroy_js:function(r){if(!p)return 9;var e=new DataView(n.buffer),t=e.getInt32(r,!0),a=e.getInt32(r+4,!0),o=BigInt(t>>>0)|BigInt(a)<=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32)),c=new DataView(n.buffer);return c.setInt32(t,u,!0),c.setInt32(t+4,f,!0),0},_emnapi_env_check_gc_access:function(r){l.envStore.get(r).checkGCAccess()},_emnapi_node_emit_async_destroy:W,_emnapi_node_emit_async_init:M,_emnapi_node_make_callback:function(r,e,t,a,o,i,s,u){var f,c=0;if(p){var d=l.handleStore.get(e).value,v=l.handleStore.get(t).value;o>>>=0;for(var h=Array(o),y=new DataView(n.buffer);c=10?23:10);c.clearLastError();try{if(!p)return c.setLastError(9);if(!t)return c.setLastError(1);if(o>0&&!i)return c.setLastError(1);var d=Object(l.handleStore.get(t).value),v=l.handleStore.get(a).value;if("function"!=typeof v)return c.setLastError(1);var h=new DataView(n.buffer),y=h.getInt32(e,!0),g=h.getInt32(e+4,!0),_=BigInt(y>>>0)|BigInt(g)<>>=0;for(var E=Array(o);f=t&&t>0&&!n},i="undefined"!=typeof window&&"undefined"!=typeof document&&!s;return n.execute(function(){for(;o();){if(0===t)return 15;if(i)return 21;a.wait()}return O.getIsClosing(r)?0===O.getThreadCount(r)?1:(O.subThreadCount(r),16):(O.pushQueue(r,e),O.send(r),0)})},getMutex:function(r){var e=r+O.offset.mutex,t={lock:function(){var r="undefined"!=typeof window&&"undefined"!=typeof document&&!s,t=new Int32Array(n.buffer,e,1);if(r)for(;;){if(0===Atomics.compareExchange(t,0,0,1))return}else for(;;){if(0===Atomics.compareExchange(t,0,0,1))return;Atomics.wait(t,0,1)}},unlock:function(){var r=new Int32Array(n.buffer,e,1);if(1!==Atomics.compareExchange(r,0,1,0))throw new Error("Tried to unlock while not holding the mutex");Atomics.notify(r,0,1)},execute:function(r){t.lock();try{return r()}finally{t.unlock()}}};return t},getCond:function(r){var e=r+O.offset.cond,t=O.getMutex(r);return{wait:function(){var r=new Int32Array(n.buffer,e,1),a=Atomics.load(r,0);t.unlock(),Atomics.wait(r,0,a),t.lock()},signal:function(){var r=new Int32Array(n.buffer,e,1);Atomics.add(r,0,1),Atomics.notify(r,0,1)}}},getQueueSize:function(r){return O.loadSizeTypeValue(r+O.offset.queue_size,!0)},addQueueSize:function(r){var e,t,a=O.offset.queue_size;e=new Uint32Array(n.buffer),t=r+a>>2,Atomics.add(e,t,1)},subQueueSize:function(r){var e,t,a=O.offset.queue_size;e=new Uint32Array(n.buffer),t=r+a>>2,Atomics.sub(e,t,1)},getThreadCount:function(r){return O.loadSizeTypeValue(r+O.offset.thread_count,!0)},addThreadCount:function(r){var e,t,a=O.offset.thread_count;e=new Uint32Array(n.buffer),t=r+a>>2,Atomics.add(e,t,1)},subThreadCount:function(r){var e,t,a=O.offset.thread_count;e=new Uint32Array(n.buffer),t=r+a>>2,Atomics.sub(e,t,1)},getIsClosing:function(r){return Atomics.load(new Int32Array(n.buffer),r+O.offset.is_closing>>2)},setIsClosing:function(r,e){Atomics.store(new Int32Array(n.buffer),r+O.offset.is_closing>>2,e)},getHandlesClosing:function(r){return Atomics.load(new Int32Array(n.buffer),r+O.offset.handles_closing>>2)},setHandlesClosing:function(r,e){Atomics.store(new Int32Array(n.buffer),r+O.offset.handles_closing>>2,e)},getDispatchState:function(r){return Atomics.load(new Uint32Array(n.buffer),r+O.offset.dispatch_state>>2)},getContext:function(r){return O.loadSizeTypeValue(r+O.offset.context,!1)},getMaxQueueSize:function(r){return O.loadSizeTypeValue(r+O.offset.max_queue_size,!0)},getEnv:function(r){return O.loadSizeTypeValue(r+O.offset.env,!1)},getCallJSCb:function(r){return O.loadSizeTypeValue(r+O.offset.call_js_cb,!1)},getRef:function(r){return O.loadSizeTypeValue(r+O.offset.ref,!1)},getResource:function(r){return O.loadSizeTypeValue(r+O.offset.resource,!1)},getFinalizeCb:function(r){return O.loadSizeTypeValue(r+O.offset.finalize_cb,!1)},getFinalizeData:function(r){return O.loadSizeTypeValue(r+O.offset.finalize_data,!1)},loadSizeTypeValue:function(r,e){var t;return e?(t=new Uint32Array(n.buffer),Atomics.load(t,r>>2)):(t=new Int32Array(n.buffer),Atomics.load(t,r>>2))},storeSizeTypeValue:function(r,e,t){var a;return t?(a=new Uint32Array(n.buffer),void Atomics.store(a,r>>2,e)):(a=new Int32Array(n.buffer),void Atomics.store(a,r>>2,e>>>0))},destroy:function(r){O.destroyQueue(r);var e=O.getEnv(r),t=l.envStore.get(e),a=O.getRef(r);a&&l.refStore.get(a).dispose(),l.removeCleanupHook(t,O.cleanup,r),t.unref();var o=r+O.offset.async_ref>>2,s=new Int32Array(n.buffer);Atomics.load(s,o)&&(Atomics.store(s,o,0),l.decreaseWaitingRequestCounter());var u=O.getResource(r);if(l.refStore.get(u).dispose(),p){var f=new DataView(n.buffer);W(f.getFloat64(r+O.offset.async_id,!0),f.getFloat64(r+O.offset.trigger_async_id,!0))}i(r)},emptyQueueAndDelete:function(r){for(var e,t=O.getCallJSCb(r),n=O.getContext(r);O.getQueueSize(r)>0;)e=O.shiftQueue(r),t&&a.get(t)(0,0,n,e);O.destroy(r)},finalize:function(r){var e=O.getEnv(r),t=l.envStore.get(e);l.openScope(t);var a=O.getFinalizeCb(r),o=O.getFinalizeData(r),i=O.getContext(r),s=function(){t.callFinalizerInternal(0,a,o,i)};try{if(a)if(p){var u=O.getResource(r),f=l.refStore.get(u).get(),c=l.handleStore.get(f).value,d=new DataView(n.buffer),v=d.getFloat64(r+O.offset.async_id,!0),h=d.getFloat64(r+O.offset.trigger_async_id,!0);p.node.makeCallback(c,s,[],{asyncId:v,triggerAsyncId:h})}else s();O.emptyQueueAndDelete(r)}finally{l.closeScope(t)}},cleanup:function(r){O.closeHandlesAndMaybeDelete(r,1)},closeHandlesAndMaybeDelete:function(r,e){var t=O.getEnv(r),n=l.envStore.get(t);l.openScope(n);try{if(e&&O.getMutex(r).execute(function(){O.setIsClosing(r,1),O.getMaxQueueSize(r)>0&&O.getCond(r).signal()}),O.getHandlesClosing(r))return;O.setHandlesClosing(r,1),l.feature.setImmediate(function(){O.finalize(r)})}finally{l.closeScope(n)}},dispatchOne:function(r){var e=0,t=!1,o=!1,i=O.getMutex(r),s=O.getCond(r);if(i.execute(function(){if(O.getIsClosing(r))O.closeHandlesAndMaybeDelete(r,0);else{var n=O.getQueueSize(r);if(n>0){e=O.shiftQueue(r),t=!0;var a=O.getMaxQueueSize(r);n===a&&a>0&&s.signal(),n--}0===n?0===O.getThreadCount(r)&&(O.setIsClosing(r,1),O.getMaxQueueSize(r)>0&&s.signal(),O.closeHandlesAndMaybeDelete(r,0)):o=!0}}),t){var u=O.getEnv(r),f=l.envStore.get(u);l.openScope(f);var c=function(){f.callbackIntoModule(!1,function(){var t=O.getCallJSCb(r),n=O.getRef(r),o=n?l.refStore.get(n).get():0;if(t){var i=O.getContext(r);a.get(t)(u,o,i,e)}else{var s=o?l.handleStore.get(o).value:null;"function"==typeof s&&s()}})};try{if(p){var d=O.getResource(r),v=l.refStore.get(d).get(),h=l.handleStore.get(v).value,y=new DataView(n.buffer);p.node.makeCallback(h,c,[],{asyncId:y.getFloat64(r+O.offset.async_id,!0),triggerAsyncId:y.getFloat64(r+O.offset.trigger_async_id,!0)})}else c()}finally{l.closeScope(f)}}return o},dispatch:function(r){for(var e=!0,t=1e3,a=new Uint32Array(n.buffer),o=r+O.offset.dispatch_state>>2;e&&0!==--t;)Atomics.store(a,o,1),e=O.dispatchOne(r),1!==Atomics.exchange(a,o,0)&&(e=!0);e&&O.send(r)},send:function(r){1&~Atomics.or(new Uint32Array(n.buffer),r+O.offset.dispatch_state>>2,2)&&(void 0!==u&&u?postMessage({__emnapi__:{type:"tsfn-send",payload:{tsfn:r}}}):l.feature.setImmediate(function(){O.dispatch(r)}))}};var R={unusedWorkers:[],runningWorkers:[],workQueue:[],workerReady:null,offset:{resource:0,async_id:8,trigger_async_id:16,env:24,data:28,execute:32,complete:36,end:40},init:function(){R.unusedWorkers=[],R.runningWorkers=[],R.workQueue=[],R.workerReady=null},addListener:function(r){if(!r)return!1;if(r._emnapiAWMTListener)return!0;var e=function(e){var t=(s?e:e.data).__emnapi__;if(t){var n=t.type,a=t.payload;"async-work-complete"===n?(l.decreaseWaitingRequestCounter(),R.runningWorkers.splice(R.runningWorkers.indexOf(r),1),R.unusedWorkers.push(r),R.checkIdleWorker(),R.callComplete(a.work,0)):"async-work-queue"===n?R.scheduleWork(a.work):"async-work-cancel"===n&&R.cancelWork(a.work)}};return r._emnapiAWMTListener={handler:e,dispose:function(){s?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiAWMTListener}},s?r.on("message",e):r.addEventListener("message",e,!1),!0},initWorkers:function(r){if(u)return R.workerReady||(R.workerReady=Promise.resolve());if(R.workerReady)return R.workerReady;if("function"!=typeof y)throw new TypeError("`options.onCreateWorker` is not a function");var e=[],n=[];if(!("emnapi_async_worker_create"in t.exports))throw new TypeError("`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags");for(var a=0;a0&&R.workQueue.length>0){var r=R.unusedWorkers.shift(),e=R.workQueue.shift();R.runningWorkers.push(r),r.postMessage({__emnapi__:{type:"async-work-execute",payload:{work:e}}})}},getResource:function(r){return O.loadSizeTypeValue(r+R.offset.resource,!1)},getExecute:function(r){return O.loadSizeTypeValue(r+R.offset.execute,!1)},getComplete:function(r){return O.loadSizeTypeValue(r+R.offset.complete,!1)},getEnv:function(r){return O.loadSizeTypeValue(r+R.offset.env,!1)},getData:function(r){return O.loadSizeTypeValue(r+R.offset.data,!1)},scheduleWork:function(r){var e;if(u)(0,h.postMessage)({__emnapi__:{type:"async-work-queue",payload:{work:r}}});else if(l.increaseWaitingRequestCounter(),R.workQueue.push(r),null===(e=R.workerReady)||void 0===e?void 0:e.ready)R.checkIdleWorker();else{var t=function(r){throw l.decreaseWaitingRequestCounter(),r};try{R.initWorkers(L()).then(function(){R.workerReady.ready=!0,R.checkIdleWorker()},t)}catch(r){t(r)}}},cancelWork:function(r){if(u)return(0,h.postMessage)({__emnapi__:{type:"async-work-cancel",payload:{work:r}}}),0;var e=R.workQueue.indexOf(r);return-1!==e?(R.workQueue.splice(e,1),l.feature.setImmediate(function(){l.decreaseWaitingRequestCounter(),R.checkIdleWorker(),R.callComplete(r,11)}),0):9},callComplete:function(r,e){var t=R.getComplete(r),o=R.getEnv(r),i=R.getData(r),s=l.envStore.get(o),u=l.openScope(s),f=function(){t&&s.callbackIntoModule(!0,function(){a.get(t)(o,e,i)})};try{if(p){var c=R.getResource(r),d=l.refStore.get(c).get(),v=l.handleStore.get(d).value,h=new DataView(n.buffer),y=h.getFloat64(r+R.offset.async_id,!0),g=h.getFloat64(r+R.offset.trigger_async_id,!0);p.node.makeCallback(v,f,[],{asyncId:y,triggerAsyncId:g})}else f()}finally{l.closeScope(s,u)}}},z=m?function(r,e,t,a,o,i,s){if(!r)return 1;var u,f=l.envStore.get(r);if(f.checkGCAccess(),!a)return f.setLastError(1);if(!s)return f.setLastError(1);if(u=e?Object(l.handleStore.get(e).value):{},!t)return f.setLastError(1);var c=String(l.handleStore.get(t).value),d=x.create(r,u,c,a,o,i);return new DataView(n.buffer).setUint32(s,d,!0),f.clearLastError()}:function(r,e,t,a,i,s,u){if(!r)return 1;var f,c=l.envStore.get(r);if(c.checkGCAccess(),!a)return c.setLastError(1);if(!u)return c.setLastError(1);if(f=e?Object(l.handleStore.get(e).value):{},!t)return c.setLastError(1);var d=R.offset.end,p=o(d);if(!p)return c.setLastError(9);new Uint8Array(n.buffer).subarray(p,p+d).fill(0);var v=c.ensureHandleId(f),h=l.createReference(c,v,1,1).id,y=new DataView(n.buffer);return y.setUint32(p,h,!0),M(v,t,-1,p+R.offset.async_id),y.setUint32(p+R.offset.env,r,!0),y.setUint32(p+R.offset.execute,a,!0),y.setUint32(p+R.offset.complete,i,!0),y.setUint32(p+R.offset.data,s,!0),y.setUint32(u,p,!0),c.clearLastError()},G=m?function(r,e){if(!r)return 1;var t=l.envStore.get(r);return t.checkGCAccess(),e?(x.remove(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=R.getResource(e);if(l.refStore.get(a).dispose(),p){var o=new DataView(n.buffer);W(o.getFloat64(e+R.offset.async_id,!0),o.getFloat64(e+R.offset.trigger_async_id,!0))}return i(e),t.clearLastError()},F=m?function(r,e){if(!r)return 1;var t=l.envStore.get(r);return e?(x.queue(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return e?(R.scheduleWork(e),t.clearLastError()):t.setLastError(1)},P=m?function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(!e)return t.setLastError(1);var n=x.cancel(e);return 0===n?t.clearLastError():t.setLastError(n)}:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(!e)return t.setLastError(1);var n=R.cancelWork(e);return 0===n?t.clearLastError():t.setLastError(n)};h.initWorker=function(r){if(!h.childThread)throw new Error("startThread is only available in child threads");if("function"!=typeof t.exports.emnapi_async_worker_init)throw new TypeError("`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags");t.exports.emnapi_async_worker_init(r)},h.executeAsyncWork=function(r){if(u){var e=R.getExecute(r),t=R.getEnv(r),n=R.getData(r);a.get(e)(t,n),(0,h.postMessage)({__emnapi__:{type:"async-work-complete",payload:{work:r}}})}};var N=Object.freeze({__proto__:null,napi_cancel_async_work:P,napi_create_async_work:z,napi_delete_async_work:G,napi_queue_async_work:F}),J={registry:"function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,table:new WeakMap,wasmMemoryViewTable:new WeakMap,init:function(){J.registry="function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,J.table=new WeakMap,J.wasmMemoryViewTable=new WeakMap},isSharedArrayBuffer:function(r){return"function"==typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(r)},isDetachedArrayBuffer:function(r){if(0===r.byteLength)try{new Uint8Array(r)}catch(r){return!0}return!1},getArrayBufferPointer:function(r,e){var t,a={address:0,ownership:0,runtimeAllocated:0};if(r===n.buffer)return a;var i=J.isDetachedArrayBuffer(r);if(J.table.has(r)){var s=J.table.get(r);return i?(s.address=0,s):(e&&0===s.ownership&&1===s.runtimeAllocated&&new Uint8Array(n.buffer).set(new Uint8Array(r),s.address),s)}if(i||0===r.byteLength)return a;if(!e)return a;var u=o(r.byteLength);if(!u)throw new Error("Out of memory");return new Uint8Array(n.buffer).set(new Uint8Array(r),u),a.address=u,a.ownership=J.registry?0:1,a.runtimeAllocated=1,J.table.set(r,a),null===(t=J.registry)||void 0===t||t.register(r,u),a},getOrUpdateMemoryView:function(r){if(r.buffer===n.buffer)return J.wasmMemoryViewTable.has(r)||J.wasmMemoryViewTable.set(r,{Ctor:r.constructor,address:r.byteOffset,length:r instanceof DataView?r.byteLength:r.length,ownership:1,runtimeAllocated:0}),r;if((J.isDetachedArrayBuffer(r.buffer)||"function"==typeof SharedArrayBuffer&&r.buffer instanceof SharedArrayBuffer)&&J.wasmMemoryViewTable.has(r)){var e=J.wasmMemoryViewTable.get(r),t=e.Ctor,a=void 0,o=l.feature.Buffer;return a="function"==typeof o&&t===o?o.from(n.buffer,e.address,e.length):new t(n.buffer,e.address,e.length),J.wasmMemoryViewTable.set(a,e),a}return r},getViewPointer:function(r,e){if((r=J.getOrUpdateMemoryView(r)).buffer===n.buffer){if(J.wasmMemoryViewTable.has(r)){var t=J.wasmMemoryViewTable.get(r);return{address:t.address,ownership:t.ownership,runtimeAllocated:t.runtimeAllocated,view:r}}return{address:r.byteOffset,ownership:1,runtimeAllocated:0,view:r}}var a=J.getArrayBufferPointer(r.buffer,e),o=a.address,i=a.ownership,s=a.runtimeAllocated;return{address:0===o?0:o+r.byteOffset,ownership:i,runtimeAllocated:s,view:r}}},q={utf8Decoder:void 0,utf16Decoder:void 0,init:function(){var r,e={decode:function(r){for(var e=0,t=Math.min(4096,r.length+1),n=new Uint16Array(t),a=[],o=0;;){var i=e=t-1){var s=n.subarray(0,o);if(a.push(String.fromCharCode.apply(null,s)),!i)return a.join("");r=r.subarray(e),e=0,o=0}var u=r[e++];if(128&u){if(192==(224&u)){var f=63&r[e++];n[o++]=(31&u)<<6|f}else if(224==(240&u)){f=63&r[e++];var c=63&r[e++];n[o++]=(31&u)<<12|f<<6|c}else if(240==(248&u)){var l=(7&u)<<18|(f=63&r[e++])<<12|(c=63&r[e++])<<6|63&r[e++];l>65535&&(l-=65536,n[o++]=l>>>10&1023|55296,l=56320|1023&l),n[o++]=l}}else n[o++]=u}}};r="function"==typeof TextDecoder?new TextDecoder:e,q.utf8Decoder=r;var t,n={decode:function(r){var e=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(e.length<=4096)return String.fromCharCode.apply(null,e);for(var t=[],n=0,a=0;n=55296&&e<=57343?(t+=4,++n):t+=3;return t},UTF8ToString:function(r,e){if(!r||!e)return"";r>>>=0;var t=new Uint8Array(n.buffer),a=r;if(-1===e)for(;t[a];)++a;else a=r+(e>>>0);if((e=a-r)<=16){for(var o=r,i="";o>10,56320|1023&c)}}else i+=String.fromCharCode((31&s)<<6|u)}else i+=String.fromCharCode(s)}return i}return q.utf8Decoder.decode("function"==typeof SharedArrayBuffer&&t.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(t.buffer)?t.slice(r,a):t.subarray(r,a))},stringToUTF8:function(r,e,t){var a=new Uint8Array(n.buffer),o=e;if(!(t>0))return 0;for(var i=o>>>=0,s=o+t-1,u=0;u=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&r.charCodeAt(++u);if(f<=127){if(o>=s)break;a[o++]=f}else if(f<=2047){if(o+1>=s)break;a[o++]=192|f>>6,a[o++]=128|63&f}else if(f<=65535){if(o+2>=s)break;a[o++]=224|f>>12,a[o++]=128|f>>6&63,a[o++]=128|63&f}else{if(o+3>=s)break;a[o++]=240|f>>18,a[o++]=128|f>>12&63,a[o++]=128|f>>6&63,a[o++]=128|63&f}}return a[o]=0,o-i},UTF16ToString:function(r,e){if(!r||!e)return"";var t=r>>>=0;if(-1===e){for(var a=t>>1,o=new Uint16Array(n.buffer);o[a];)++a;t=a<<1}else t=r+2*(e>>>0);if((e=t-r)<=32)return String.fromCharCode.apply(null,new Uint16Array(n.buffer,r,e/2));var i=new Uint8Array(n.buffer);return q.utf16Decoder.decode("function"==typeof SharedArrayBuffer&&i.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(i.buffer)?i.slice(r,t):i.subarray(r,t))},stringToUTF16:function(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var a=e,o=(t-=2)<2*r.length?t/2:r.length,i=new DataView(n.buffer),s=0;s>>0;if(0!==t&&!e)return i.setLastError(1);if(!a)return i.setLastError(1);if(!(s||u<=2147483647))return i.setLastError(1);var f=o(e,s,u),c=l.addToCurrentScope(f).id;return new DataView(n.buffer).setUint32(a,c,!0),i.clearLastError()},newExternalString:function(r,e,t,a,o,i,s,u,f){if(!r)return 1;var c=l.envStore.get(r);c.checkGCAccess();var d=-1===t,p=t>>>0;if(0!==t&&!e)return c.setLastError(1);if(!i)return c.setLastError(1);if(!(d||p<=2147483647))return c.setLastError(1);var v=u(r,e,t,i);if(0===v){if(s)new DataView(n.buffer).setInt8(s,1,!0);a&&c.callFinalizer(a,e,o)}return v}};function H(r,e,t,a,o,i,s){if(!r)return 1;var u=l.envStore.get(r);if(u.checkGCAccess(),!e)return u.setLastError(1);var f=l.handleStore.get(e);if(!f.isTypedArray())return u.setLastError(1);var c,d=f.value,p=new DataView(n.buffer);if(t){var v=void 0;if(d instanceof Int8Array)v=0;else if(d instanceof Uint8Array)v=1;else if(d instanceof Uint8ClampedArray)v=2;else if(d instanceof Int16Array)v=3;else if(d instanceof Uint16Array)v=4;else if(d instanceof Int32Array)v=5;else if(d instanceof Uint32Array)v=6;else if("function"==typeof Float16Array&&d instanceof Float16Array)v=11;else if(d instanceof Float32Array)v=7;else if(d instanceof Float64Array)v=8;else if(d instanceof BigInt64Array)v=9;else{if(!(d instanceof BigUint64Array))return u.setLastError(9);v=10}p.setInt32(t,v,!0)}if(a&&p.setUint32(a,d.length,!0),o||i){if(c=d.buffer,o){var h=J.getViewPointer(d,!0).address;p.setUint32(o,h,!0)}if(i){var y=u.ensureHandleId(c);p.setUint32(i,y,!0)}}return s&&p.setUint32(s,d.byteOffset,!0),u.clearLastError()}function Q(r,e,t,a,o,i){if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!e)return s.setLastError(1);var u=l.handleStore.get(e);if(!u.isDataView())return s.setLastError(1);var f,c=u.value,d=new DataView(n.buffer);if(t&&d.setUint32(t,c.byteLength,!0),a||o){if(f=c.buffer,a){var p=J.getViewPointer(c,!0).address;d.setUint32(a,p,!0)}if(o){var v=s.ensureHandleId(f);d.setUint32(o,v,!0)}}return i&&d.setUint32(i,c.byteOffset,!0),s.clearLastError()}var $=Object.freeze({__proto__:null,napi_get_array_length:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if(!o.isArray())return a.setLastError(8);var i=o.value.length>>>0;return new DataView(n.buffer).setUint32(t,i,!0),a.getReturnStatus()}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_get_arraybuffer_info:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);var i=l.handleStore.get(e);if(!i.isArrayBuffer()&&!J.isSharedArrayBuffer(i.value))return o.setLastError(1);var s=new DataView(n.buffer);if(t){var u=J.getArrayBufferPointer(i.value,!0).address;s.setUint32(t,u,!0)}return a&&s.setUint32(a,i.value.byteLength,!0),o.clearLastError()},napi_get_buffer_info:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);var o=l.handleStore.get(e);return o.isBuffer(l.feature.Buffer)?o.isDataView()?Q(r,e,n,t,0,0):H(r,e,0,n,t,0,0):a.setLastError(1)},napi_get_dataview_info:Q,napi_get_date_value:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var i=l.handleStore.get(e);return i.isDate()?(a=i.value.valueOf(),new DataView(n.buffer).setFloat64(t,a,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_get_prototype:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if(null==o.value)throw new TypeError("Cannot convert undefined or null to object");var i=void 0;try{i=o.isObject()||o.isFunction()?o.value:Object(o.value)}catch(r){return a.setLastError(2)}var s=a.ensureHandleId(Object.getPrototypeOf(i));return new DataView(n.buffer).setUint32(t,s,!0),a.getReturnStatus()}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_get_typedarray_info:H,napi_get_value_bigint_int64:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!l.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(e).value;if("bigint"!=typeof i)return o.setLastError(6);var s=new DataView(n.buffer);i>=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32));return s.setInt32(t,u,!0),s.setInt32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_uint64:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!l.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(e).value;if("bigint"!=typeof i)return o.setLastError(6);var s=new DataView(n.buffer);i>=BigInt(0)&&i>BigInt(32));return s.setUint32(t,u,!0),s.setUint32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_words:function(r,e,t,a,o){if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!l.feature.supportBigInt)return i.setLastError(9);if(!e)return i.setLastError(1);if(!a)return i.setLastError(1);var s=l.handleStore.get(e);if(!s.isBigInt())return i.setLastError(17);for(var u=s.value>=BigInt(64);if(p=u?s.value*BigInt(-1):s.value,t||o){if(!t)return i.setLastError(1);if(!o)return i.setLastError(1);for(var v=[];p!==BigInt(0);){var h=p&(BigInt(1)<>=BigInt(64)}for(var y=Math.min(c,v.length),g=0;g>BigInt(32));f.setUint32(o+8*g,_,!0),f.setUint32(o+(8*g+4),E,!0)}f.setInt32(t,u?1:0,!0),f.setUint32(a,y,!0)}else c=d,f.setUint32(a,c,!0);return i.clearLastError()},napi_get_value_bool:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if("boolean"!=typeof o.value)return a.setLastError(7);var i=o.value?1:0;return new DataView(n.buffer).setInt8(t,i,!0),a.clearLastError()},napi_get_value_double:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if("number"!=typeof o.value)return a.setLastError(6);var i=o.value;return new DataView(n.buffer).setFloat64(t,i,!0),a.clearLastError()},napi_get_value_external:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if(!o.isExternal())return a.setLastError(1);var i=o.data();return new DataView(n.buffer).setUint32(t,i,!0),a.clearLastError()},napi_get_value_int32:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if("number"!=typeof o.value)return a.setLastError(6);var i=new Int32Array([o.value])[0];return new DataView(n.buffer).setInt32(t,i,!0),a.clearLastError()},napi_get_value_int64:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if("number"!=typeof o.value)return a.setLastError(6);var i=o.value,s=new DataView(n.buffer);return i===Number.POSITIVE_INFINITY||i===Number.NEGATIVE_INFINITY||isNaN(i)?(s.setInt32(t,0,!0),s.setInt32(t+4,0,!0)):i<-0x8000000000000000?(s.setInt32(t,0,!0),s.setInt32(t+4,2147483648,!0)):i>=0x8000000000000000?(s.setUint32(t,4294967295,!0),s.setUint32(t+4,2147483647,!0)):k(t,Math.trunc(i)),a.clearLastError()},napi_get_value_string_latin1:function(r,e,t,a,o){if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!e)return i.setLastError(1);a>>>=0;var s=l.handleStore.get(e);if("string"!=typeof s.value)return i.setLastError(3);var u=new DataView(n.buffer);if(t)if(0!==a){for(var f=0,c=void 0,d=0;d>>=0;var s=l.handleStore.get(e);if("string"!=typeof s.value)return i.setLastError(3);var u=new DataView(n.buffer);if(t)if(0!==a){var f=q.stringToUTF16(s.value,t,2*a);o&&u.setUint32(o,f/2,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return i.setLastError(1);u.setUint32(o,s.value.length,!0)}return i.clearLastError()},napi_get_value_string_utf8:function(r,e,t,a,o){if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!e)return i.setLastError(1);a>>>=0;var s=l.handleStore.get(e);if("string"!=typeof s.value)return i.setLastError(3);var u=new DataView(n.buffer);if(t)if(0!==a){var f=q.stringToUTF8(s.value,t,a);o&&u.setUint32(o,f,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return i.setLastError(1);var c=q.lengthBytesUTF8(s.value);u.setUint32(o,c,!0)}return i.clearLastError()},napi_get_value_uint32:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e);if("number"!=typeof o.value)return a.setLastError(6);var i=new Uint32Array([o.value])[0];return new DataView(n.buffer).setUint32(t,i,!0),a.clearLastError()},node_api_set_prototype:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=l.handleStore.get(e).value;if(null==a)throw new TypeError("Cannot convert undefined or null to object");var o=typeof a,i=void 0;try{i="object"===o&&null!==a||"function"===o?a:Object(a)}catch(r){return n.setLastError(2)}var s=l.handleStore.get(t).value;return Object.setPrototypeOf(i,s),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function Y(r,e,t,a){return q.newString(r,e,t,a,function(r,e,t){var a="",o=0,i=new DataView(n.buffer);if(e)for(;;){if(!(s=i.getUint8(r,!0)))break;a+=String.fromCharCode(s),r++}else for(;o=10?23:10);u.clearLastError();try{if(!l.feature.supportBigInt)return u.setLastError(9);if(!o)return u.setLastError(1);if((t>>>=0)>2147483647)return u.setLastError(1);if(t>16384)throw new RangeError("Maximum BigInt size exceeded");var f=BigInt(0),c=new DataView(n.buffer);for(s=0;s>>0).id;return new DataView(n.buffer).setUint32(t,o,!0),a.clearLastError()},node_api_create_external_string_latin1:function(r,e,t,n,a,o,i){return q.newExternalString(r,e,t,n,a,o,i,Y,void 0)},node_api_create_external_string_utf16:function(r,e,t,n,a,o,i){return q.newExternalString(r,e,t,n,a,o,i,X,void 0)},node_api_create_property_key_latin1:function(r,e,t,n){return Y(r,e,t,n)},node_api_create_property_key_utf16:function(r,e,t,n){return X(r,e,t,n)},node_api_create_property_key_utf8:function(r,e,t,n){return Z(r,e,t,n)}});function rr(r,e,t,n,o){var i,s=e&&t?q.UTF8ToString(e,t):"",u=a.get(n),f=function(r){return u(r.id,r.ctx.scopeStore.currentScope.id)},c=function(r,e){return function(){var t=r.ctx.openScope(r),n=t.callbackInfo;n.data=o,n.args=arguments,n.thiz=this,n.fn=i;try{var a=r.callIntoModule(e);return a?r.ctx.handleStore.get(a).value:void 0}finally{n.data=0,n.args=void 0,n.thiz=void 0,n.fn=void 0,r.ctx.closeScope(r,t)}}};if(""===s)return{status:0,f:i=c(r,f)};if(!/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(s))return{status:1,f:void 0};if(l.feature.supportNewFunction){var d=c(r,f);try{i=new Function("_","return function "+s+'(){"use strict";return _.apply(this,arguments);};')(d)}catch(e){i=c(r,f),l.feature.canSetFunctionName&&Object.defineProperty(i,"name",{value:s})}}else i=c(r,f),l.feature.canSetFunctionName&&Object.defineProperty(i,"name",{value:s});return{status:0,f:i}}function er(r,e,t,n,a,o,i,s,u){if(a||o){var f=void 0,c=void 0;a&&(f=rr(r,0,0,a,u).f),o&&(c=rr(r,0,0,o,u).f);var d={configurable:!!(4&s),enumerable:!!(2&s),get:f,set:c};Object.defineProperty(e,t,d)}else if(n){d={configurable:!!(4&s),enumerable:!!(2&s),writable:!!(1&s),value:rr(r,0,0,n,u).f};Object.defineProperty(e,t,d)}else{d={configurable:!!(4&s),enumerable:!!(2&s),writable:!!(1&s),value:l.handleStore.get(i).value};Object.defineProperty(e,t,d)}}function tr(r){var e=l.handleStore.get(r);return e.isObject()||e.isFunction()?(void 0!==J&&ArrayBuffer.isView(e.value)&&J.wasmMemoryViewTable.has(e.value)&&(e=l.addToCurrentScope(J.wasmMemoryViewTable.get(e.value))),{status:0,handle:e}):{status:1}}function nr(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(0===a&&!t)return i.setLastError(1);var s=l.handleStore.get(e);if(!s.isObject()&&!s.isFunction())return i.setLastError(1);var u=i.getObjectBinding(s.value),f=u.wrapped,c=l.refStore.get(f);if(!c)return i.setLastError(1);if(t)o=c.data(),new DataView(n.buffer).setUint32(t,o,!0);return 1===a&&(u.wrapped=0,1===c.ownership()?c.resetFinalizer():c.dispose()),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}}function ar(r,e,t,a,o,i){if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!l.feature.supportFinalizer)return s.setLastError(9);if(!e)return s.setLastError(1);if(!a)return s.setLastError(1);var u=tr(e);if(0!==u.status)return s.setLastError(u.status);var f=u.handle,c=i?1:0,d=l.createReferenceWithFinalizer(s,f.id,0,c,a,t,o);if(i){var p=d.id;new DataView(n.buffer).setUint32(i,p,!0)}return s.clearLastError()}var or=Object.freeze({__proto__:null,napi_add_finalizer:ar,napi_check_object_type_tag:function(r,e,t,a){var o=!0;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(i.tryCatch.hasCaught()?10:1);var s=l.handleStore.get(e);if(!s.isObject()&&!s.isFunction())return i.setLastError(i.tryCatch.hasCaught()?10:2);if(!t)return i.setLastError(i.tryCatch.hasCaught()?10:1);if(!a)return i.setLastError(i.tryCatch.hasCaught()?10:1);var u=i.getObjectBinding(s.value);if(null!==u.tag){var f=u.tag,c=new Uint32Array(n.buffer,t,4);o=f[0]===c[0]&&f[1]===c[1]&&f[2]===c[2]&&f[3]===c[3]}else o=!1;return new DataView(n.buffer).setInt8(a,o?1:0,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_define_class:function(r,e,t,a,o,i,s,u){var f,c,d;if(!r)return 1;var p=l.envStore.get(r);if(p.checkGCAccess(),!p.tryCatch.isEmpty())return p.setLastError(10);if(!p.canCallIntoJs())return p.setLastError(p.moduleApiVersion>=10?23:10);p.clearLastError();try{if(!u)return p.setLastError(1);if(!a)return p.setLastError(1);if((i>>>=0)>0&&!s)return p.setLastError(1);if(t<-1||t>2147483647||!e)return p.setLastError(1);var v=rr(p,e,t,a,o);if(0!==v.status)return p.setLastError(v.status);for(var h=v.f,y=void 0,g=new DataView(n.buffer),_=0;_=10?23:10);a.clearLastError();try{if(!e)return a.setLastError(a.tryCatch.hasCaught()?10:1);var o=l.handleStore.get(e);if(!o.isObject()&&!o.isFunction())return a.setLastError(a.tryCatch.hasCaught()?10:2);if(!t)return a.setLastError(a.tryCatch.hasCaught()?10:1);var i=a.getObjectBinding(o.value);if(null!==i.tag)return a.setLastError(a.tryCatch.hasCaught()?10:1);var s=new Uint8Array(16);return s.set(new Uint8Array(n.buffer,t,16)),i.tag=new Uint32Array(s.buffer),a.getReturnStatus()}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_unwrap:function(r,e,t){return nr(r,e,t,0)},napi_wrap:function(r,e,t,a,o,i){return function(r,e,t,a,o,i){var s;if(!r)return 1;var u=l.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!l.feature.supportFinalizer){if(a)throw l.createNotSupportWeakRefError("napi_wrap",'Parameter "finalize_cb" must be 0(NULL)');if(i)throw l.createNotSupportWeakRefError("napi_wrap",'Parameter "result" must be 0(NULL)')}if(!e)return u.setLastError(1);var f=tr(e);if(0!==f.status)return u.setLastError(f.status);var c=f.handle;if(0!==u.getObjectBinding(c.value).wrapped)return u.setLastError(1);var d=void 0;if(i){if(!a)return u.setLastError(1);s=(d=l.createReferenceWithFinalizer(u,c.id,0,1,a,t,o)).id,new DataView(n.buffer).setUint32(i,s,!0)}else d=a?l.createReferenceWithFinalizer(u,c.id,0,0,a,t,o):l.createReferenceWithData(u,c.id,0,0,t);return u.getObjectBinding(c.value).wrapped=d.id,u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}}(r,e,t,a,o,i)},node_api_post_finalizer:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);return a.enqueueFinalizer(l.createTrackedFinalizer(a,e,t,n)),a.clearLastError()}});function ir(r,e,t,a,o,i,s){var u;if(!r)return 1;var f=l.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!s)return f.setLastError(1);if(a>>>=0,t||(a=0),a>2147483647)throw new RangeError("Cannot create a memory view larger than 2147483647 bytes");if(t+a>n.buffer.byteLength)throw new RangeError("Memory out of range");if(!l.feature.supportFinalizer&&o)throw l.createNotSupportWeakRefError("emnapi_create_memory_view",'Parameter "finalize_cb" must be 0(NULL)');var c=void 0;switch(e){case 0:c={Ctor:Int8Array,address:t,length:a,ownership:1,runtimeAllocated:0};break;case 1:c={Ctor:Uint8Array,address:t,length:a,ownership:1,runtimeAllocated:0};break;case 2:c={Ctor:Uint8ClampedArray,address:t,length:a,ownership:1,runtimeAllocated:0};break;case 3:c={Ctor:Int16Array,address:t,length:a>>1,ownership:1,runtimeAllocated:0};break;case 4:c={Ctor:Uint16Array,address:t,length:a>>1,ownership:1,runtimeAllocated:0};break;case 5:c={Ctor:Int32Array,address:t,length:a>>2,ownership:1,runtimeAllocated:0};break;case 6:c={Ctor:Uint32Array,address:t,length:a>>2,ownership:1,runtimeAllocated:0};break;case 7:c={Ctor:Float32Array,address:t,length:a>>2,ownership:1,runtimeAllocated:0};break;case 8:c={Ctor:Float64Array,address:t,length:a>>3,ownership:1,runtimeAllocated:0};break;case 9:c={Ctor:BigInt64Array,address:t,length:a>>3,ownership:1,runtimeAllocated:0};break;case 10:c={Ctor:BigUint64Array,address:t,length:a>>3,ownership:1,runtimeAllocated:0};break;case-1:c={Ctor:DataView,address:t,length:a,ownership:1,runtimeAllocated:0};break;case 11:if("function"!=typeof Float16Array)return f.setLastError(1);c={Ctor:Float16Array,address:t,length:a>>1,ownership:1,runtimeAllocated:0};break;case-2:if(!l.feature.Buffer)throw l.createNotSupportBufferError("emnapi_create_memory_view","");c={Ctor:l.feature.Buffer,address:t,length:a,ownership:1,runtimeAllocated:0};break;default:return f.setLastError(1)}var d=c.Ctor,p=-2===e?l.feature.Buffer.from(n.buffer,c.address,c.length):new d(n.buffer,c.address,c.length),v=l.addToCurrentScope(p);if(J.wasmMemoryViewTable.set(p,c),o){var h=ar(r,v.id,t,o,i,0);if(10===h){var y=f.tryCatch.extractException();throw f.clearLastError(),y}if(0!==h)return f.setLastError(h)}return u=v.id,new DataView(n.buffer).setUint32(s,u,!0),f.getReturnStatus()}catch(y){return f.tryCatch.setError(y),f.setLastError(10)}}function sr(r,e,t,a){var o;if(t=null!=t?t:0,t>>>=0,e instanceof ArrayBuffer||J.isSharedArrayBuffer(e)){if(!(s=J.getArrayBufferPointer(e,!1).address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof a&&-1!==a||(a=e.byteLength-t),0===(a>>>=0))return e;o=new Uint8Array(e,t,a);var i=new Uint8Array(n.buffer);return r?i.set(o,s):o.set(i.subarray(s,s+a)),e}if(ArrayBuffer.isView(e)){var s,u=J.getViewPointer(e,!1),f=u.view;if(!(s=u.address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof a&&-1!==a||(a=f.byteLength-t),0===(a>>>=0))return f;o=new Uint8Array(f.buffer,f.byteOffset+t,a);i=new Uint8Array(n.buffer);return r?i.set(o,s):o.set(i.subarray(s,s+a)),f}throw new TypeError("emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter")}function ur(r){var e,t=r instanceof ArrayBuffer,n=r instanceof DataView,a=ArrayBuffer.isView(r)&&!n;if(!(t||a||n||J.isSharedArrayBuffer(r)))throw new TypeError("emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter");return{address:(e=t?J.getArrayBufferPointer(r,!1):J.getViewPointer(r,!1)).address,ownership:e.ownership,runtimeAllocated:e.runtimeAllocated}}var fr=Object.freeze({__proto__:null,$emnapiGetMemoryAddress:ur,$emnapiSyncMemory:sr,emnapi_create_memory_view:ir,emnapi_get_memory_address:function(r,e,t,a,o){var i,s,u,f;if(!r)return 1;var c=l.envStore.get(r);if(c.checkGCAccess(),!c.tryCatch.isEmpty())return c.setLastError(10);if(!c.canCallIntoJs())return c.setLastError(c.moduleApiVersion>=10?23:10);c.clearLastError();try{if(!e)return c.setLastError(1);if(!t&&!a&&!o)return c.setLastError(1);i=(f=ur(c.ctx.handleStore.get(e).value)).address;var d=new DataView(n.buffer);return t&&d.setUint32(t,i,!0),a&&(u=f.ownership,d.setInt32(a,u,!0)),o&&(s=f.runtimeAllocated,d.setInt8(o,s,!0)),c.getReturnStatus()}catch(r){return c.tryCatch.setError(r),c.setLastError(10)}},emnapi_get_runtime_version:function(r,e){if(!r)return 1;var t,a=l.envStore.get(r);if(!e)return a.setLastError(1);try{t=l.getRuntimeVersions().version}catch(r){return a.setLastError(9)}var o=t.split(".").map(function(r){return Number(r)}),i=new DataView(n.buffer);return i.setUint32(e,o[0],!0),i.setUint32(e+4,o[1],!0),i.setUint32(e+8,o[2],!0),a.clearLastError()},emnapi_is_node_binding_available:function(){return p?1:0},emnapi_is_support_bigint:function(){return l.feature.supportBigInt?1:0},emnapi_is_support_weakref:function(){return l.feature.supportFinalizer?1:0},emnapi_sync_memory:function(r,e,t,a,o){var i;if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);var u=new DataView(n.buffer),f=u.getUint32(t,!0),c=s.ctx.handleStore.get(f);if(!(c.isArrayBuffer()||c.isTypedArray()||c.isDataView()||J.isSharedArrayBuffer(c.value)))return s.setLastError(1);var d=sr(Boolean(e),c.value,a,o);return c.value!==d&&(i=s.ensureHandleId(d),u.setUint32(t,i,!0)),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}}});function cr(r,e,t){r>>>=0;var a=t?new SharedArrayBuffer(r):new ArrayBuffer(r);if(e){var o=J.getArrayBufferPointer(a,!0).address;new DataView(n.buffer).setUint32(e,o,!0)}return a}var lr=Object.freeze({__proto__:null,napi_create_array:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=l.addToCurrentScope([]).id;return new DataView(n.buffer).setUint32(e,a,!0),t.clearLastError()},napi_create_array_with_length:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!t)return a.setLastError(1);e>>>=0;var o=l.addToCurrentScope(new Array(e)).id;return new DataView(n.buffer).setUint32(t,o,!0),a.clearLastError()},napi_create_arraybuffer:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);var s=cr(e,t,!1);return o=l.addToCurrentScope(s).id,new DataView(n.buffer).setUint32(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_buffer:function(r,e,t,a){var i,s,u;if(!r)return 1;var f=l.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!a)return f.setLastError(1);var c=l.feature.Buffer;if(!c)throw l.createNotSupportBufferError("napi_create_buffer","");var d=void 0;e>>>=0;var p=new DataView(n.buffer);if(t&&0!==e){if(!(u=o(e)))throw new Error("Out of memory");new Uint8Array(n.buffer).subarray(u,u+e).fill(0);var v=c.from(n.buffer,u,e),h={Ctor:c,address:u,length:e,ownership:J.registry?0:1,runtimeAllocated:1};J.wasmMemoryViewTable.set(v,h),null===(i=J.registry)||void 0===i||i.register(h,u),s=l.addToCurrentScope(v).id,p.setUint32(a,s,!0),p.setUint32(t,u,!0)}else d=c.alloc(e),s=l.addToCurrentScope(d).id,p.setUint32(a,s,!0);return f.getReturnStatus()}catch(r){return f.tryCatch.setError(r),f.setLastError(10)}},napi_create_buffer_copy:function(r,e,t,a,o){var i;if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!o)return s.setLastError(1);var u=l.feature.Buffer;if(!u)throw l.createNotSupportBufferError("napi_create_buffer_copy","");var f=cr(e,a,!1),c=u.from(f);return c.set(new Uint8Array(n.buffer).subarray(t,t+e)),i=l.addToCurrentScope(c).id,new DataView(n.buffer).setUint32(o,i,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_dataview:function(r,e,t,a,o){if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);if(!o)return i.setLastError(1);e>>>=0,a>>>=0;var s=l.handleStore.get(t).value;return s instanceof ArrayBuffer||J.isSharedArrayBuffer(s)?function(r){if(e+a>r.byteLength){var t=new RangeError("byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in");throw t.code="ERR_NAPI_INVALID_DATAVIEW_ARGS",t}var s=new DataView(r,a,e);r===n.buffer&&(J.wasmMemoryViewTable.has(s)||J.wasmMemoryViewTable.set(s,{Ctor:DataView,address:a,length:e,ownership:1,runtimeAllocated:0}));var u=l.addToCurrentScope(s).id;return new DataView(n.buffer).setUint32(o,u,!0),i.getReturnStatus()}(s):i.setLastError(1)}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_date:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return t?(a=l.addToCurrentScope(new Date(e)).id,new DataView(n.buffer).setUint32(t,a,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_create_external:function(r,e,t,a,o){var i;if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!o)return s.setLastError(1);if(!l.feature.supportFinalizer&&t)throw l.createNotSupportWeakRefError("napi_create_external",'Parameter "finalize_cb" must be 0(NULL)');var u=l.getCurrentScope().addExternal(e);return t&&l.createReferenceWithFinalizer(s,u.id,0,0,t,e,a),i=u.id,new DataView(n.buffer).setUint32(o,i,!0),s.clearLastError()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_external_arraybuffer:function(r,e,t,a,o,i){var s;if(!r)return 1;var u=l.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!i)return u.setLastError(1);if(t>>>=0,e||(t=0),e+t>n.buffer.byteLength)throw new RangeError("Memory out of range");if(!l.feature.supportFinalizer&&a)throw l.createNotSupportWeakRefError("napi_create_external_arraybuffer",'Parameter "finalize_cb" must be 0(NULL)');var f=new ArrayBuffer(t);if(0===t)try{(new(0,l.feature.MessageChannel)).port1.postMessage(f,[f])}catch(r){}else new Uint8Array(f).set(new Uint8Array(n.buffer).subarray(e,e+t)),J.table.set(f,{address:e,ownership:1,runtimeAllocated:0});var c=l.addToCurrentScope(f);if(a){var d=ar(r,c.id,e,a,o,0);if(10===d){var p=u.tryCatch.extractException();throw u.clearLastError(),p}if(0!==d)return u.setLastError(d)}return s=c.id,new DataView(n.buffer).setUint32(i,s,!0),u.getReturnStatus()}catch(p){return u.tryCatch.setError(p),u.setLastError(10)}},napi_create_external_buffer:function(r,e,t,n,a,o){return ir(r,-2,t,e,n,a,o)},napi_create_object:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=l.addToCurrentScope({}).id;return new DataView(n.buffer).setUint32(e,a,!0),t.clearLastError()},napi_create_object_with_properties:function(r,e,t,a,o,i){if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!i)return s.setLastError(1);if((o>>>=0)>0){if(!t)return s.setLastError(1);if(!a)return s.setLastError(1)}for(var u,f=e?l.handleStore.get(e).value:null,c={},d=new DataView(n.buffer),p=0;p=10?23:10);u.clearLastError();try{if(!a)return u.setLastError(1);if(!i)return u.setLastError(1);var f=l.handleStore.get(a);if(!f.isArrayBuffer())return u.setLastError(1);var c=f.value,d=function(r,e,t,a,o,u){var f,c;if((o>>>=0,u>>>=0,t>1)&&o%t!==0)return(c=new RangeError("start offset of ".concat(null!==(f=e.name)&&void 0!==f?f:""," should be a multiple of ").concat(t))).code="ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT",r.tryCatch.setError(c),r.setLastError(9);if(u*t+o>a.byteLength)return(c=new RangeError("Invalid typed array length")).code="ERR_NAPI_INVALID_TYPEDARRAY_LENGTH",r.tryCatch.setError(c),r.setLastError(9);var d=new e(a,o,u);return a===n.buffer&&(J.wasmMemoryViewTable.has(d)||J.wasmMemoryViewTable.set(d,{Ctor:e,address:o,length:u,ownership:1,runtimeAllocated:0})),s=l.addToCurrentScope(d).id,new DataView(n.buffer).setUint32(i,s,!0),r.getReturnStatus()};switch(e){case 0:return d(u,Int8Array,1,c,o,t);case 1:return d(u,Uint8Array,1,c,o,t);case 2:return d(u,Uint8ClampedArray,1,c,o,t);case 3:return d(u,Int16Array,2,c,o,t);case 4:return d(u,Uint16Array,2,c,o,t);case 5:return d(u,Int32Array,4,c,o,t);case 6:return d(u,Uint32Array,4,c,o,t);case 7:return d(u,Float32Array,4,c,o,t);case 8:return d(u,Float64Array,8,c,o,t);case 9:return d(u,BigInt64Array,8,c,o,t);case 10:return d(u,BigUint64Array,8,c,o,t);case 11:return"function"!=typeof Float16Array?u.setLastError(1):d(u,Float16Array,2,c,o,t);default:return u.setLastError(1)}}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},node_api_create_buffer_from_arraybuffer:function(r,e,t,a,o){var i;if(!r)return 1;var s=l.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!o)return s.setLastError(1);t>>>=0,a>>>=0;var u=l.handleStore.get(e);if(!u.isArrayBuffer())return s.setLastError(1);var f=u.value;if(a+t>f.byteLength){var c=new RangeError("The byte offset + length is out of range");throw c.code="ERR_OUT_OF_RANGE",c}var d=l.feature.Buffer;if(!d)throw l.createNotSupportBufferError("node_api_create_buffer_from_arraybuffer","");var p=d.from(f,t,a);return f===n.buffer&&(J.wasmMemoryViewTable.has(p)||J.wasmMemoryViewTable.set(p,{Ctor:d,address:t,length:a,ownership:1,runtimeAllocated:0})),i=l.addToCurrentScope(p).id,new DataView(n.buffer).setUint32(o,i,!0),s.getReturnStatus()}catch(c){return s.tryCatch.setError(c),s.setLastError(10)}},node_api_create_sharedarraybuffer:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);var s=cr(e,t,!0);return o=l.addToCurrentScope(s).id,new DataView(n.buffer).setUint32(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},node_api_symbol_for:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!a)return o.setLastError(1);var i=-1===t,s=t>>>0;if(0!==t&&!e)return o.setLastError(1);if(!(i||s<=2147483647))return o.setLastError(1);var u=q.UTF8ToString(e,t),f=l.addToCurrentScope(Symbol.for(u)).id;return new DataView(n.buffer).setUint32(a,f,!0),o.clearLastError()}});var dr=Object.freeze({__proto__:null,napi_get_boolean:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!t)return a.setLastError(1);var o=0===e?3:4;return new DataView(n.buffer).setUint32(t,o,!0),a.clearLastError()},napi_get_global:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return t.checkGCAccess(),e?(new DataView(n.buffer).setUint32(e,5,!0),t.clearLastError()):t.setLastError(1)},napi_get_null:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return t.checkGCAccess(),e?(new DataView(n.buffer).setUint32(e,2,!0),t.clearLastError()):t.setLastError(1)},napi_get_undefined:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return t.checkGCAccess(),e?(new DataView(n.buffer).setUint32(e,1,!0),t.clearLastError()):t.setLastError(1)}});var pr=Object.freeze({__proto__:null,napi_get_instance_data:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(!e)return t.setLastError(1);var a=t.getInstanceData();return new DataView(n.buffer).setUint32(e,a,!0),t.clearLastError()},napi_set_instance_data:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);return a.setInstanceData(e,t,n),a.clearLastError()}});var vr=Object.freeze({__proto__:null,_emnapi_get_last_error_info:function(r,e,t,a){var o=l.envStore.get(r).lastError,i=o.errorCode,s=o.engineErrorCode>>>0,u=o.engineReserved,f=new DataView(n.buffer);f.setInt32(e,i,!0),f.setUint32(t,s,!0),f.setUint32(a,u,!0)},napi_create_error:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(t).value;if("string"!=typeof i)return o.setLastError(3);var s=new Error(i);if(e){var u=l.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);s.code=u}var f=l.addToCurrentScope(s).id;return new DataView(n.buffer).setUint32(a,f,!0),o.clearLastError()},napi_create_range_error:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(t).value;if("string"!=typeof i)return o.setLastError(3);var s=new RangeError(i);if(e){var u=l.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);s.code=u}var f=l.addToCurrentScope(s).id;return new DataView(n.buffer).setUint32(a,f,!0),o.clearLastError()},napi_create_type_error:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(t).value;if("string"!=typeof i)return o.setLastError(3);var s=new TypeError(i);if(e){var u=l.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);s.code=u}var f=l.addToCurrentScope(s).id;return new DataView(n.buffer).setUint32(a,f,!0),o.clearLastError()},napi_fatal_error:function(r,e,t,n){var a=q.UTF8ToString(r,e),o=q.UTF8ToString(t,n);p?p.napi.fatalError(a,o):c("FATAL ERROR: "+a+" "+o)},napi_fatal_exception:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=t.ctx.handleStore.get(e);try{t.triggerFatalException(n.value)}catch(r){return t.setLastError(9)}return t.clearLastError()}catch(e){return t.tryCatch.setError(e),t.setLastError(10)}},napi_get_and_clear_last_exception:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=new DataView(n.buffer);if(!t.tryCatch.hasCaught())return a.setUint32(e,1,!0),t.clearLastError();var o=t.tryCatch.exception(),i=t.ensureHandleId(o);return a.setUint32(e,i,!0),t.tryCatch.reset(),t.clearLastError()},napi_is_exception_pending:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=t.tryCatch.hasCaught();return new DataView(n.buffer).setInt8(e,a?1:0,!0),t.clearLastError()},napi_throw:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{return e?(t.tryCatch.setError(l.handleStore.get(e).value),t.clearLastError()):t.setLastError(1)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_throw_error:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new Error(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_range_error:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new RangeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_type_error:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new TypeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},node_api_create_syntax_error:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.handleStore.get(t).value;if("string"!=typeof i)return o.setLastError(3);var s=new SyntaxError(i);if(e){var u=l.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);s.code=u}var f=l.addToCurrentScope(s).id;return new DataView(n.buffer).setUint32(a,f,!0),o.clearLastError()},node_api_throw_syntax_error:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new SyntaxError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});var hr=Object.freeze({__proto__:null,napi_call_function:function(r,e,t,a,o,i){var s,u=0;if(!r)return 1;var f=l.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!e)return f.setLastError(1);if((a>>>=0)>0&&!o)return f.setLastError(1);var c=l.handleStore.get(e).value;if(!t)return f.setLastError(1);var d=l.handleStore.get(t).value;if("function"!=typeof d)return f.setLastError(1);for(var p=[],v=new DataView(n.buffer);u=10?23:10);u.clearLastError();try{if(!i)return u.setLastError(1);if(!a)return u.setLastError(1);var f=rr(u,e,t,a,o);if(0!==f.status)return u.setLastError(f.status);var c=f.f;return s=l.addToCurrentScope(c).id,new DataView(n.buffer).setUint32(i,s,!0),u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},napi_get_cb_info:function(r,e,t,a,o,i){if(!r)return 1;var s=l.envStore.get(r);if(!e)return s.setLastError(1);var u=l.scopeStore.get(e).callbackInfo,f=new DataView(n.buffer);if(a){if(!t)return s.setLastError(1);for(var c=f.getUint32(t,!0),d=u.args.length,p=c=10?23:10);u.clearLastError();try{if(!e)return u.setLastError(1);if((t>>>=0)>0&&!a)return u.setLastError(1);if(!o)return u.setLastError(1);var f=l.handleStore.get(e).value;if("function"!=typeof f)return u.setLastError(1);var c=void 0,d=new DataView(n.buffer);if(l.feature.supportReflect){var p=Array(t);for(i=0;i>>0,1);return new DataView(n.buffer).setUint32(a,s.id,!0),o.clearLastError()},napi_delete_reference:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return e?(l.refStore.get(e).dispose(),t.clearLastError()):t.setLastError(1)},napi_escape_handle:function(r,e,t,a){if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!a)return o.setLastError(1);var i=l.scopeStore.get(e);if(!i.escapeCalled()){var s=i.escape(t),u=s?s.id:0;return new DataView(n.buffer).setUint32(a,u,!0),o.clearLastError()}return o.setLastError(12)},napi_get_reference_value:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.refStore.get(e).get(a);return new DataView(n.buffer).setUint32(t,o,!0),a.clearLastError()},napi_open_escapable_handle_scope:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=l.openScope(t);return new DataView(n.buffer).setUint32(e,a.id,!0),t.clearLastError()},napi_open_handle_scope:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var a=l.openScope(t);return new DataView(n.buffer).setUint32(e,a.id,!0),t.clearLastError()},napi_reference_ref:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);var o=l.refStore.get(e).ref();return t&&new DataView(n.buffer).setUint32(t,o,!0),a.clearLastError()},napi_reference_unref:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);var o=l.refStore.get(e);if(0===o.refcount())return a.setLastError(9);var i=o.unref();return t&&new DataView(n.buffer).setUint32(t,i,!0),a.clearLastError()},napi_remove_env_cleanup_hook:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);return e?(l.removeCleanupHook(n,e,t),0):n.setLastError(1)}});var gr=Object.freeze({__proto__:null,_emnapi_get_filename:function(r,e,t){var n=l.envStore.get(r).filename;return e?q.stringToUTF8(n,e,t):q.lengthBytesUTF8(n)}});var _r=Object.freeze({__proto__:null,napi_create_promise:function(r,e,t){var a,o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(!t)return i.setLastError(1);var s=new DataView(n.buffer),u=new Promise(function(r,t){var n=l.createDeferred({resolve:r,reject:t});a=n.id,s.setUint32(e,a,!0)});return o=l.addToCurrentScope(u).id,s.setUint32(t,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_is_promise:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isPromise()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_reject_deferred:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(l.deferredStore.get(e).reject(l.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_resolve_deferred:function(r,e,t){if(!r)return 1;var n=l.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(l.deferredStore.get(e).resolve(l.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function Er(r,e,t,a,o,i){var s;if(!r)return 1;var u=l.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!i)return u.setLastError(1);if(!e)return u.setLastError(1);var f=l.handleStore.get(e);if(null==f.value)throw new TypeError("Cannot convert undefined or null to object");var c=void 0;try{c=f.isObject()||f.isFunction()?f.value:Object(f.value)}catch(r){return u.setLastError(2)}if(0!==t&&1!==t)return u.setLastError(1);if(0!==o&&1!==o)return u.setLastError(1);var d=[],p=void 0,v=void 0,h=void 0,y=!0,g=/^(0|[1-9][0-9]*)$/;do{for(p=Object.getOwnPropertyNames(c),v=Object.getOwnPropertySymbols(c),h=0;h=10?23:10);s.clearLastError();try{if((t>>>=0)>0&&!a)return s.setLastError(1);if(!e)return s.setLastError(1);var u=l.handleStore.get(e),f=u.value;if(!u.isObject()&&!u.isFunction())return s.setLastError(2);for(var c=void 0,d=new DataView(n.buffer),p=0;p=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(!s.isObject()&&!s.isFunction())return i.setLastError(2);if(l.feature.supportReflect)o=Reflect.deleteProperty(s.value,t>>>0);else try{o=delete s.value[t>>>0]}catch(r){o=!1}if(a)new DataView(n.buffer).setInt8(a,o?1:0,!0);return i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_delete_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(!s.isObject()&&!s.isFunction())return i.setLastError(2);var u=l.handleStore.get(t).value;if(l.feature.supportReflect)o=Reflect.deleteProperty(s.value,u);else try{o=delete s.value[u]}catch(r){o=!1}if(a)new DataView(n.buffer).setInt8(a,o?1:0,!0);return i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_get_all_property_names:Er,napi_get_element:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=i.ensureHandleId(u[t>>>0]),new DataView(n.buffer).setUint32(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_get_named_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);if(!t)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=i.ensureHandleId(u[q.UTF8ToString(t,-1)]),new DataView(n.buffer).setUint32(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_get_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=i.ensureHandleId(u[l.handleStore.get(t).value]),new DataView(n.buffer).setUint32(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_get_property_names:function(r,e,t){return Er(r,e,0,18,1,t)},napi_has_element:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=t>>>0 in u?1:0,new DataView(n.buffer).setInt8(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_has_named_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);if(!t)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=q.UTF8ToString(t,-1)in u,new DataView(n.buffer).setInt8(a,o?1:0,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_has_own_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}var f=l.handleStore.get(t).value;return"string"!=typeof f&&"symbol"!=typeof f?i.setLastError(4):(o=Object.prototype.hasOwnProperty.call(u,l.handleStore.get(t).value),new DataView(n.buffer).setInt8(a,o?1:0,!0),i.getReturnStatus())}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_has_property:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);if(!a)return i.setLastError(1);if(!e)return i.setLastError(1);var s=l.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=s.isObject()||s.isFunction()?s.value:Object(s.value)}catch(r){return i.setLastError(2)}return o=l.handleStore.get(t).value in u?1:0,new DataView(n.buffer).setInt8(a,o,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_object_freeze:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=l.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.freeze(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_object_seal:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=l.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.seal(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_set_element:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=l.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[t>>>0]=l.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_named_property:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=l.handleStore.get(e);return o.isObject()||o.isFunction()?t?(l.handleStore.get(e).value[q.UTF8ToString(t,-1)]=l.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(1):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_property:function(r,e,t,n){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!t)return a.setLastError(1);if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=l.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[l.handleStore.get(t).value]=l.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}}});var mr=Object.freeze({__proto__:null,napi_run_script:function(r,e,t){var a,o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(!t)return i.setLastError(1);var s=l.handleStore.get(e);if(!s.isString())return i.setLastError(3);var u=l.handleStore.get(5).value.eval(s.value);o=i.ensureHandleId(u),new DataView(n.buffer).setUint32(t,o,!0),a=i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}return a}});var Lr=Object.freeze({__proto__:null,napi_coerce_to_bool:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return e&&t?(a=l.handleStore.get(e).value?4:3,new DataView(n.buffer).setUint32(t,a,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_number:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var i=l.handleStore.get(e);if(i.isBigInt())throw new TypeError("Cannot convert a BigInt value to a number");return a=l.addToCurrentScope(Number(i.value)).id,new DataView(n.buffer).setUint32(t,a,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_object:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var i=l.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");return a=o.ensureHandleId(Object(i.value)),new DataView(n.buffer).setUint32(t,a,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_string:function(r,e,t){var a;if(!r)return 1;var o=l.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var i=l.handleStore.get(e);if(i.isSymbol())throw new TypeError("Cannot convert a Symbol value to a string");return a=l.addToCurrentScope(String(i.value)).id,new DataView(n.buffer).setUint32(t,a,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_detach_arraybuffer:function(r,e){if(!r)return 1;var t=l.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=l.handleStore.get(e).value;if(!(n instanceof ArrayBuffer))return"function"==typeof SharedArrayBuffer&&n instanceof SharedArrayBuffer?t.setLastError(20):t.setLastError(19);try{(new(0,l.feature.MessageChannel)).port1.postMessage(n,[n])}catch(r){return t.setLastError(9)}return t.clearLastError()},napi_instanceof:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(!a)return i.setLastError(1);if(!t)return i.setLastError(1);var s=new DataView(n.buffer);s.setInt8(a,0,!0);var u=l.handleStore.get(t);return u.isFunction()?(o=l.handleStore.get(e).value instanceof u.value?1:0,s.setInt8(a,o,!0),i.getReturnStatus()):i.setLastError(5)}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_is_array:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isArray()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_arraybuffer:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isArrayBuffer()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_buffer:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isBuffer(l.feature.Buffer)?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_dataview:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isDataView()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_date:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isDate()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_detached_arraybuffer:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e),i=new DataView(n.buffer);if(o.isArrayBuffer()&&0===o.value.byteLength)try{new Uint8Array(o.value)}catch(r){return i.setInt8(t,1,!0),a.getReturnStatus()}return i.setInt8(t,0,!0),a.getReturnStatus()}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_is_error:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).value instanceof Error?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_is_typedarray:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e).isTypedArray()?1:0;return new DataView(n.buffer).setInt8(t,o,!0),a.clearLastError()},napi_strict_equals:function(r,e,t,a){var o;if(!r)return 1;var i=l.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{return e&&(t&&a)?(o=l.handleStore.get(e).value===l.handleStore.get(t).value?1:0,new DataView(n.buffer).setInt8(a,o,!0),i.getReturnStatus()):i.setLastError(1)}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_typeof:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o,i=l.handleStore.get(e);if(i.isNumber())o=3;else if(i.isBigInt())o=9;else if(i.isString())o=4;else if(i.isFunction())o=7;else if(i.isExternal())o=8;else if(i.isObject())o=6;else if(i.isBoolean())o=2;else if(i.isUndefined())o=0;else if(i.isSymbol())o=5;else{if(!i.isNull())return a.setLastError(1);o=1}return new DataView(n.buffer).setInt32(t,o,!0),a.clearLastError()},node_api_is_sharedarraybuffer:function(r,e,t){if(!r)return 1;var a=l.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);if(!t)return a.setLastError(1);var o=l.handleStore.get(e),i="function"==typeof SharedArrayBuffer&&o.value instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(o.value)?1:0;return new DataView(n.buffer).setInt8(t,i,!0),a.clearLastError()}});var br=Object.freeze({__proto__:null,napi_get_version:function(r,e){if(!r)return 1;var t=l.envStore.get(r);return e?(new DataView(n.buffer).setUint32(e,10,!0),t.clearLastError()):t.setLastError(1)}});function Sr(r){for(var e=Object.keys(r),t=0;t>>=0,0===(u>>>=0))return h.setLastError(1);if(!v)return h.setLastError(1);var y,g=0;if(e){if("function"!=typeof l.handleStore.get(e).value)return h.setLastError(1);g=l.createReference(h,e,1,1).id}else if(!p)return h.setLastError(1);if(t){if(null==(y=l.handleStore.get(t).value))return h.setLastError(2);y=Object(y)}else y={};var _=h.ensureHandleId(y),E=l.handleStore.get(a).value;if("symbol"==typeof E)return h.setLastError(3);E=String(E);var w=h.ensureHandleId(E),m=O.offset.end,L=o(m);if(!L)return h.setLastError(9);new Uint8Array(n.buffer).subarray(L,L+m).fill(0);var b=l.createReference(h,_,1,1),S=b.id,A=new DataView(n.buffer);return A.setUint32(L,S,!0),O.initQueue(L)?(M(_,w,-1,L+O.offset.async_id),A.setUint32(L+O.offset.thread_count,u,!0),A.setUint32(L+O.offset.context,d,!0),A.setUint32(L+O.offset.max_queue_size,s,!0),A.setUint32(L+O.offset.ref,g,!0),A.setUint32(L+O.offset.env,r,!0),A.setUint32(L+O.offset.finalize_data,f,!0),A.setUint32(L+O.offset.finalize_cb,c,!0),A.setUint32(L+O.offset.call_js_cb,p,!0),l.addCleanupHook(h,O.cleanup,L),h.ref(),l.increaseWaitingRequestCounter(),A.setInt32(L+O.offset.async_ref,1,!0),A.setUint32(v,L,!0),h.clearLastError()):(i(L),b.dispose(),h.setLastError(9))},h.imports.napi.napi_get_threadsafe_function_context=function(r,e){if(!r||!e)return c(),1;var t=O.getContext(r);return new DataView(n.buffer).setUint32(e,t,!0),0},h.imports.napi.napi_call_threadsafe_function=function(r,e,t){return r?O.push(r,e,t):(c(),1)},h.imports.napi.napi_acquire_threadsafe_function=function(r){return r?O.getMutex(r).execute(function(){return O.getIsClosing(r)?16:(O.addThreadCount(r),0)}):(c(),1)},h.imports.napi.napi_release_threadsafe_function=function(r,e){if(!r)return c(),1;var t=O.getMutex(r),n=O.getCond(r);return t.execute(function(){if(0===O.getThreadCount(r))return 1;if((O.subThreadCount(r),0===O.getThreadCount(r)||1===e)&&!O.getIsClosing(r)){var t=1===e?1:0;O.setIsClosing(r,t),t&&O.getMaxQueueSize(r)>0&&n.signal(),O.send(r)}return 0})},h.imports.napi.napi_unref_threadsafe_function=function(r,e){if(!e)return c(),1;var t=e+O.offset.async_ref>>2,a=new Int32Array(n.buffer);return Atomics.load(a,t)&&(Atomics.store(a,t,0),l.decreaseWaitingRequestCounter()),0},h.imports.napi.napi_ref_threadsafe_function=function(r,e){if(!e)return c(),1;var t=e+O.offset.async_ref>>2,a=new Int32Array(n.buffer);return Atomics.load(a,t)||(Atomics.store(a,t,1),l.increaseWaitingRequestCounter()),0},h}();return t}function m(r,e,t,n){var a,o=(n=null!=n?n:{}).getMemory,i=n.getTable,s=n.beforeInit;if(null!=o&&"function"!=typeof o)throw new TypeError("options.getMemory is not a function");if(null!=i&&"function"!=typeof i)throw new TypeError("options.getTable is not a function");if(null!=s&&"function"!=typeof s)throw new TypeError("options.beforeInit is not a function");var u="object"==typeof e&&null!==e;if(u){if(e.loaded)throw new Error("napiModule has already loaded");a=e}else a=w(n);var f,c=n.wasi,l={env:a.imports.env,napi:a.imports.napi,emnapi:a.imports.emnapi};c&&(f=new y(a.childThread?{wasi:c,childThread:!0,postMessage:a.postMessage}:{wasi:c,threadManager:a.PThread,waitThreadStart:a.waitThreadStart}),Object.assign(l,"function"==typeof c.getImportObject?c.getImportObject():{wasi_snapshot_preview1:c.wasiImport}),Object.assign(l,f.getImportObject()));var d=n.overwriteImports;if("function"==typeof d){var p=d(l);"object"==typeof p&&null!==p&&(l=p)}return r(t,l,function(e,t){if(e)throw e;var n=t.instance,d=n,p=n.exports,v="memory"in p,h="memory"in l.env,y=o?o(p):v?p.memory:h?l.env.memory:void 0;if(!y)throw new Error("memory is neither exported nor imported");var g=i?i(p):p.__indirect_function_table;if(c&&!v){var _=Object.create(null);Object.assign(_,p,{memory:y}),d={exports:_}}var E=t.module;c?d=f.initialize(d,E,y):a.PThread.setup(E,y);var w=function(){s&&s({instance:n,module:E}),a.init({instance:d,module:E,memory:y,table:g});var r={instance:n,module:E,usedInstance:d};return u||(r.napiModule=a),r};if(a.PThread.shouldPreloadWorkers()){var m=a.PThread.loadWasmModuleToAllWorkers();if(r===L)return m.then(w);throw new Error("Synchronous loading is not supported with worker pool (reuseWorker.size > 0)")}return w()})}function L(r,e,t){return n(r,e).then(function(r){return t(null,r)},function(r){return t(r)})}function b(r,n,a){var o;try{o=function(r,n){if(!r)throw new TypeError("Invalid wasm source");var a;if(t(n),n=null!=n?n:{},r instanceof ArrayBuffer||ArrayBuffer.isView(r))a=new e.Module(r);else{if(!(r instanceof WebAssembly.Module))throw new TypeError("Invalid wasm source");a=r}return{instance:new e.Instance(a,n),module:a}}(r,n)}catch(r){return a(r)}return a(null,o)}var S=function(r,e){return S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])},S(r,e)};var A=function(){return A=Object.assign||function(r){for(var e,t=1,n=arguments.length;to(r,e))}catch(r){}if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return n.instantiate(r,e);if(r instanceof n.Module)return n.instantiate(r,e).then(e=>({instance:e,module:r}));if("undefined"!=typeof Response&&r instanceof Response)return r.arrayBuffer().then(r=>n.instantiate(r,e));const t="string"==typeof r;if(t||"undefined"!=typeof URL&&r instanceof URL){if(t&&"undefined"!=typeof wx&&"undefined"!=typeof __wxConfig)return n.instantiate(r,e);if("function"!=typeof fetch)throw new TypeError("wasm source can not be a string or URL in this environment");if("function"!=typeof n.instantiateStreaming)return o(fetch(r),e);try{return n.instantiateStreaming(fetch(r),e).catch(()=>o(fetch(r),e))}catch(t){return o(fetch(r),e)}}throw new TypeError("Invalid wasm source")}function s(e){var t=function(){var t,a,o,s,i,u="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node,f=Boolean(e.childThread),c="number"==typeof e.waitThreadStart?e.waitThreadStart:Boolean(e.waitThreadStart);function l(r){if("function"==typeof n.RuntimeError)throw new n.RuntimeError(r);throw Error(r)}var d,p,v,g={imports:{env:{},napi:{},emnapi:{}},exports:{},emnapi:{},loaded:!1,filename:"",childThread:f,initWorker:void 0,executeAsyncWork:void 0,waitThreadStart:c,PThread:void 0,init:function(r){if(g.loaded)return g.exports;if(!r)throw new TypeError("Invalid napi init options");var e=r.instance;if(!(null==e?void 0:e.exports))throw new TypeError("Invalid wasm instance");t=e;var u=e.exports,f=r.module,c=r.memory||u.memory,v=r.table||u.__indirect_function_table;if(!(f instanceof n.Module))throw new TypeError("Invalid wasm module");if(!(c instanceof n.Memory))throw new TypeError("Invalid wasm memory");if(!(v instanceof n.Table))throw new TypeError("Invalid wasm table");if(a=c,o=v,"function"!=typeof u.malloc)throw new TypeError("malloc is not exported");if("function"!=typeof u.free)throw new TypeError("free is not exported");if(s=u.malloc,i=u.free,!g.childThread){var y=8,h=e.exports.node_api_module_get_api_version_v1;"function"==typeof h&&(y=h());var E=g.envObject||(g.envObject=d.createEnv(g.filename,y,function(r){return o.get(r)},function(r){return o.get(r)},l,p)),_=d.openScope(E);try{E.callIntoModule(function(r){var t=g.exports,n=_.add(t),a=(0,e.exports.napi_register_wasm_v1)(r.id,n.id);g.exports=a?d.handleStore.get(a).value:t})}catch(r){if("unwind"!==r)throw r}finally{d.closeScope(E,_)}return g.loaded=!0,delete g.envObject,g.exports}}},y=void 0;if(f){d=null==e?void 0:e.context;var h="function"==typeof e.postMessage?e.postMessage:"function"==typeof postMessage?postMessage:void 0;if("function"!=typeof h)throw new TypeError("No postMessage found");g.postMessage=h}else{var E=e.context;if("object"!=typeof E||null===E)throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");d=E}if("string"==typeof e.filename&&(g.filename=e.filename),"function"==typeof e.onCreateWorker&&(y=e.onCreateWorker),"function"==typeof e.print?e.print:console.log.bind(console),v="function"==typeof e.printErr?e.printErr:console.warn.bind(console),"nodeBinding"in e){var _=e.nodeBinding;if("object"!=typeof _||null===_)throw new TypeError("Invalid `options.nodeBinding`. Use @emnapi/node-binding package");p=_}var w=0;if("asyncWorkPoolSize"in e){if("number"!=typeof e.asyncWorkPoolSize)throw new TypeError("options.asyncWorkPoolSize must be a integer");(w=e.asyncWorkPoolSize|0)>1024?w=1024:w<-1024&&(w=-1024)}var L=!f&&w<=0;function m(){return Math.abs(w)}function b(r){if(!r)return!1;if(r._emnapiSendListener)return!0;var e=function(r){var e=(u?r:r.data).__emnapi__;if(e&&"async-send"===e.type)if(f){(0,g.postMessage)({__emnapi__:e})}else{var t=e.payload.callback;o.get(t)(e.payload.data)}};return r._emnapiSendListener={handler:e,dispose:function(){u?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiSendListener}},u?r.on("message",e):r.addEventListener("message",e,!1),!0}g.imports.env._emnapi_async_work_pool_size=m,g.emnapi.addSendListener=b;var S=new r(f?{printErr:v,childThread:!0}:{printErr:v,beforeLoad:function(r){b(r)},reuseWorker:e.reuseWorker,onCreateWorker:y});function C(r,e){d.feature.setImmediate(function(){o.get(r)(e)})}function A(r,e){Promise.resolve().then(function(){o.get(r)(e)})}function I(r,e){var t,n=[e>>>0,(t=e,+Math.abs(t)>=1?t>0?(0|Math.min(+Math.floor(t/4294967296),4294967295))>>>0:~~+Math.ceil((t-+(~~t>>>0))/4294967296)>>>0:0)],o=new DataView(a.buffer);o.setInt32(r,n[0],!0),o.setInt32(r+4,n[1],!0)}g.PThread=S;var k,V=Object.freeze({__proto__:null,$emnapiSetValueI64:I,_emnapi_call_finalizer:function(r,e,t,n,a){d.envStore.get(e).callFinalizerInternal(r,t,n,a)},_emnapi_callback_into_module:function(r,e,t,n,a){var s=d.envStore.get(e),i=d.openScope(s);try{s.callbackIntoModule(Boolean(r),function(){o.get(t)(e,n)})}catch(r){throw d.closeScope(s,i),a&&d.closeScope(s),r}d.closeScope(s,i)},_emnapi_close_handle_scope:function(r){return d.closeScope()},_emnapi_ctx_decrease_waiting_request_counter:function(){d.decreaseWaitingRequestCounter()},_emnapi_ctx_increase_waiting_request_counter:function(){d.increaseWaitingRequestCounter()},_emnapi_get_node_version:function(r,e,t){var n="object"==typeof process&&null!==process&&"object"==typeof process.versions&&null!==process.versions&&"string"==typeof process.versions.node?process.versions.node.split(".").map(function(r){return Number(r)}):[0,0,0],o=new DataView(a.buffer);o.setUint32(r,n[0],!0),o.setUint32(e,n[1],!0),o.setUint32(t,n[2],!0)},_emnapi_get_now:function(){return performance.timeOrigin+performance.now()},_emnapi_is_main_browser_thread:function(){return"undefined"==typeof window||"undefined"==typeof document||u?0:1},_emnapi_is_main_runtime_thread:function(){return f?0:1},_emnapi_next_tick:A,_emnapi_open_handle_scope:function(){return d.openScope().id},_emnapi_runtime_keepalive_pop:function(){},_emnapi_runtime_keepalive_push:function(){},_emnapi_set_immediate:C,_emnapi_unwind:function(){throw"unwind"},napi_clear_last_error:function(r){return d.envStore.get(r).clearLastError()},napi_set_last_error:function(r,e,t,n){return d.envStore.get(r).setLastError(e,t,n)}});function U(r){var e=new DataView(a.buffer).getInt32(r+20,!0);return S.pthreads[e]}var T=new Promise(function(r){k=function(){T.ready=!0,r()}});T.ready=!1;var B=Object.freeze({__proto__:null,_emnapi_after_uvthreadpool_ready:function(r,e,t){T.ready?o.get(r)(e,t):T.then(function(){o.get(r)(e,t)})},_emnapi_async_send_js:function(r,e,t){if(f)(0,g.postMessage)({__emnapi__:{type:"async-send",payload:{callback:e,data:t}}});else switch(r){case 0:C(e,t);break;case 1:A(e,t)}},_emnapi_emit_async_thread_ready:function(){f&&(0,g.postMessage)({__emnapi__:{type:"async-thread-ready",payload:{}}})},_emnapi_tell_js_uvthreadpool:function(r,e){for(var t=[],n=new DataView(a.buffer),o=function(e){var a=U(n.getUint32(r+4*e,!0));t.push(new Promise(function(r){var e=function(t){var n=(u?t:t.data).__emnapi__;n&&"async-thread-ready"===n.type&&(r(),a&&"function"==typeof a.unref&&a.unref(),u?a.off("message",e):a.removeEventListener("message",e))};u?a.on("message",e):a.addEventListener("message",e)}))},s=0;s>16)?n.setLastError(9):(d.feature.supportBigInt?new DataView(a.buffer).setBigInt64(t,BigInt(a.buffer.byteLength),!0):I(t,a.buffer.byteLength),n.clearLastError())}}),j={idGen:{},values:[void 0],queued:new Set,pending:[],init:function(){var r={nextId:1,list:[],generate:function(){var e;return r.list.length?e=r.list.shift():(e=r.nextId,r.nextId++),e},reuse:function(e){r.list.push(e)}};j.idGen=r,j.values=[void 0],j.queued=new Set,j.pending=[]},create:function(r,e,t,n,a,o){var s=0,i=0;if(p){var u=p.node.emitAsyncInit(e,t,-1);s=u.asyncId,i=u.triggerAsyncId}var f=j.idGen.generate();return j.values[f]={env:r,id:f,resource:e,asyncId:s,triggerAsyncId:i,status:0,execute:n,complete:a,data:o},f},callComplete:function(r,e){var t=r.complete,n=r.env,a=r.data,s=function(){if(t){var r=d.envStore.get(n),s=d.openScope(r);try{r.callbackIntoModule(!0,function(){o.get(t)(n,e,a)})}finally{d.closeScope(r,s)}}};p?p.node.makeCallback(r.resource,s,[],{asyncId:r.asyncId,triggerAsyncId:r.triggerAsyncId}):s()},queue:function(r){var e=j.values[r];if(e&&0===e.status){if(e.status=1,j.queued.size>=(Math.abs(w)||4))return void j.pending.push(r);j.queued.add(r);var t=e.env,n=e.data,a=e.execute;e.status=2,d.feature.setImmediate(function(){if(o.get(a)(t,n),j.queued.delete(r),e.status=3,d.feature.setImmediate(function(){j.callComplete(e,0)}),j.pending.length>0){var s=j.pending.shift();j.values[s].status=0,j.queue(s)}})}},cancel:function(r){var e=j.pending.indexOf(r);if(-1!==e){var t=j.values[r];return t&&1===t.status?(t.status=4,j.pending.splice(e,1),d.feature.setImmediate(function(){j.callComplete(t,11)}),0):9}return 9},remove:function(r){var e=j.values[r];e&&(p&&p.node.emitAsyncDestroy({asyncId:e.asyncId,triggerAsyncId:e.triggerAsyncId}),j.values[r]=void 0,j.idGen.reuse(r))}};function R(r,e,t,n){if(p){var o=d.handleStore.get(r).value,s=d.handleStore.get(e).value,i=p.node.emitAsyncInit(o,s,t),u=i.asyncId,f=i.triggerAsyncId;if(n){var c=new DataView(a.buffer);c.setFloat64(n,u,!0),c.setFloat64(n+8,f,!0)}}}function x(r,e){p&&p.node.emitAsyncDestroy({asyncId:r,triggerAsyncId:e})}var G=Object.freeze({__proto__:null,_emnapi_async_destroy_js:function(r){if(!p)return 9;var e=new DataView(a.buffer),t=e.getInt32(r,!0),n=e.getInt32(r+4,!0),o=BigInt(t>>>0)|BigInt(n)<=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32)),c=new DataView(a.buffer);return c.setInt32(t,u,!0),c.setInt32(t+4,f,!0),0},_emnapi_env_check_gc_access:function(r){d.envStore.get(r).checkGCAccess()},_emnapi_node_emit_async_destroy:x,_emnapi_node_emit_async_init:R,_emnapi_node_make_callback:function(r,e,t,n,o,s,i,u){var f,c=0;if(p){var l=d.handleStore.get(e).value,v=d.handleStore.get(t).value;o>>>=0;for(var g=Array(o),y=new DataView(a.buffer);c=10?23:10);c.clearLastError();try{if(!p)return c.setLastError(9);if(!t)return c.setLastError(1);if(o>0&&!s)return c.setLastError(1);var l=Object(d.handleStore.get(t).value),v=d.handleStore.get(n).value;if("function"!=typeof v)return c.setLastError(1);var g=new DataView(a.buffer),y=g.getInt32(e,!0),h=g.getInt32(e+4,!0),E=BigInt(y>>>0)|BigInt(h)<>>=0;for(var _=Array(o);f=t&&t>0&&!n},s="undefined"!=typeof window&&"undefined"!=typeof document&&!u;return n.execute(function(){for(;o();){if(0===t)return 15;if(s)return 21;a.wait()}return z.getIsClosing(r)?0===z.getThreadCount(r)?1:(z.subThreadCount(r),16):(z.pushQueue(r,e),z.send(r),0)})},getMutex:function(r){var e=r+z.offset.mutex,t={lock:function(){var r="undefined"!=typeof window&&"undefined"!=typeof document&&!u,t=new Int32Array(a.buffer,e,1);if(r)for(;;){if(0===Atomics.compareExchange(t,0,0,1))return}else for(;;){if(0===Atomics.compareExchange(t,0,0,1))return;Atomics.wait(t,0,1)}},unlock:function(){var r=new Int32Array(a.buffer,e,1);if(1!==Atomics.compareExchange(r,0,1,0))throw new Error("Tried to unlock while not holding the mutex");Atomics.notify(r,0,1)},execute:function(r){t.lock();try{return r()}finally{t.unlock()}}};return t},getCond:function(r){var e=r+z.offset.cond,t=z.getMutex(r);return{wait:function(){var r=new Int32Array(a.buffer,e,1),n=Atomics.load(r,0);t.unlock(),Atomics.wait(r,0,n),t.lock()},signal:function(){var r=new Int32Array(a.buffer,e,1);Atomics.add(r,0,1),Atomics.notify(r,0,1)}}},getQueueSize:function(r){return z.loadSizeTypeValue(r+z.offset.queue_size,!0)},addQueueSize:function(r){var e,t,n=z.offset.queue_size;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.add(e,t,1)},subQueueSize:function(r){var e,t,n=z.offset.queue_size;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.sub(e,t,1)},getThreadCount:function(r){return z.loadSizeTypeValue(r+z.offset.thread_count,!0)},addThreadCount:function(r){var e,t,n=z.offset.thread_count;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.add(e,t,1)},subThreadCount:function(r){var e,t,n=z.offset.thread_count;e=new Uint32Array(a.buffer),t=r+n>>2,Atomics.sub(e,t,1)},getIsClosing:function(r){return Atomics.load(new Int32Array(a.buffer),r+z.offset.is_closing>>2)},setIsClosing:function(r,e){Atomics.store(new Int32Array(a.buffer),r+z.offset.is_closing>>2,e)},getHandlesClosing:function(r){return Atomics.load(new Int32Array(a.buffer),r+z.offset.handles_closing>>2)},setHandlesClosing:function(r,e){Atomics.store(new Int32Array(a.buffer),r+z.offset.handles_closing>>2,e)},getDispatchState:function(r){return Atomics.load(new Uint32Array(a.buffer),r+z.offset.dispatch_state>>2)},getContext:function(r){return z.loadSizeTypeValue(r+z.offset.context,!1)},getMaxQueueSize:function(r){return z.loadSizeTypeValue(r+z.offset.max_queue_size,!0)},getEnv:function(r){return z.loadSizeTypeValue(r+z.offset.env,!1)},getCallJSCb:function(r){return z.loadSizeTypeValue(r+z.offset.call_js_cb,!1)},getRef:function(r){return z.loadSizeTypeValue(r+z.offset.ref,!1)},getResource:function(r){return z.loadSizeTypeValue(r+z.offset.resource,!1)},getFinalizeCb:function(r){return z.loadSizeTypeValue(r+z.offset.finalize_cb,!1)},getFinalizeData:function(r){return z.loadSizeTypeValue(r+z.offset.finalize_data,!1)},loadSizeTypeValue:function(r,e){var t;return e?(t=new Uint32Array(a.buffer),Atomics.load(t,r>>2)):(t=new Int32Array(a.buffer),Atomics.load(t,r>>2))},storeSizeTypeValue:function(r,e,t){var n;return t?(n=new Uint32Array(a.buffer),void Atomics.store(n,r>>2,e)):(n=new Int32Array(a.buffer),void Atomics.store(n,r>>2,e>>>0))},destroy:function(r){z.destroyQueue(r);var e=z.getEnv(r),t=d.envStore.get(e),n=z.getRef(r);n&&d.refStore.get(n).dispose(),d.removeCleanupHook(t,z.cleanup,r),t.unref();var o=r+z.offset.async_ref>>2,s=new Int32Array(a.buffer);Atomics.load(s,o)&&(Atomics.store(s,o,0),d.decreaseWaitingRequestCounter());var u=z.getResource(r);if(d.refStore.get(u).dispose(),p){var f=new DataView(a.buffer);x(f.getFloat64(r+z.offset.async_id,!0),f.getFloat64(r+z.offset.trigger_async_id,!0))}i(r)},emptyQueueAndDelete:function(r){for(var e,t=z.getCallJSCb(r),n=z.getContext(r);z.getQueueSize(r)>0;)e=z.shiftQueue(r),t&&o.get(t)(0,0,n,e);z.destroy(r)},finalize:function(r){var e=z.getEnv(r),t=d.envStore.get(e);d.openScope(t);var n=z.getFinalizeCb(r),o=z.getFinalizeData(r),s=z.getContext(r),i=function(){t.callFinalizerInternal(0,n,o,s)};try{if(n)if(p){var u=z.getResource(r),f=d.refStore.get(u).get(),c=d.handleStore.get(f).value,l=new DataView(a.buffer),v=l.getFloat64(r+z.offset.async_id,!0),g=l.getFloat64(r+z.offset.trigger_async_id,!0);p.node.makeCallback(c,i,[],{asyncId:v,triggerAsyncId:g})}else i();z.emptyQueueAndDelete(r)}finally{d.closeScope(t)}},cleanup:function(r){z.closeHandlesAndMaybeDelete(r,1)},closeHandlesAndMaybeDelete:function(r,e){var t=z.getEnv(r),n=d.envStore.get(t);d.openScope(n);try{if(e&&z.getMutex(r).execute(function(){z.setIsClosing(r,1),z.getMaxQueueSize(r)>0&&z.getCond(r).signal()}),z.getHandlesClosing(r))return;z.setHandlesClosing(r,1),d.feature.setImmediate(function(){z.finalize(r)})}finally{d.closeScope(n)}},dispatchOne:function(r){var e=0,t=!1,n=!1,s=z.getMutex(r),i=z.getCond(r);if(s.execute(function(){if(z.getIsClosing(r))z.closeHandlesAndMaybeDelete(r,0);else{var a=z.getQueueSize(r);if(a>0){e=z.shiftQueue(r),t=!0;var o=z.getMaxQueueSize(r);a===o&&o>0&&i.signal(),a--}0===a?0===z.getThreadCount(r)&&(z.setIsClosing(r,1),z.getMaxQueueSize(r)>0&&i.signal(),z.closeHandlesAndMaybeDelete(r,0)):n=!0}}),t){var u=z.getEnv(r),f=d.envStore.get(u);d.openScope(f);var c=function(){f.callbackIntoModule(!1,function(){var t=z.getCallJSCb(r),n=z.getRef(r),a=n?d.refStore.get(n).get():0;if(t){var s=z.getContext(r);o.get(t)(u,a,s,e)}else{var i=a?d.handleStore.get(a).value:null;"function"==typeof i&&i()}})};try{if(p){var l=z.getResource(r),v=d.refStore.get(l).get(),g=d.handleStore.get(v).value,y=new DataView(a.buffer);p.node.makeCallback(g,c,[],{asyncId:y.getFloat64(r+z.offset.async_id,!0),triggerAsyncId:y.getFloat64(r+z.offset.trigger_async_id,!0)})}else c()}finally{d.closeScope(f)}}return n},dispatch:function(r){for(var e=!0,t=1e3,n=new Uint32Array(a.buffer),o=r+z.offset.dispatch_state>>2;e&&0!==--t;)Atomics.store(n,o,1),e=z.dispatchOne(r),1!==Atomics.exchange(n,o,0)&&(e=!0);e&&z.send(r)},send:function(r){1&~Atomics.or(new Uint32Array(a.buffer),r+z.offset.dispatch_state>>2,2)&&(void 0!==f&&f?postMessage({__emnapi__:{type:"tsfn-send",payload:{tsfn:r}}}):d.feature.setImmediate(function(){z.dispatch(r)}))}};var O={unusedWorkers:[],runningWorkers:[],workQueue:[],workerReady:null,offset:{resource:0,async_id:8,trigger_async_id:16,env:24,data:28,execute:32,complete:36,end:40},init:function(){O.unusedWorkers=[],O.runningWorkers=[],O.workQueue=[],O.workerReady=null},addListener:function(r){if(!r)return!1;if(r._emnapiAWMTListener)return!0;var e=function(e){var t=(u?e:e.data).__emnapi__;if(t){var n=t.type,a=t.payload;"async-work-complete"===n?(d.decreaseWaitingRequestCounter(),O.runningWorkers.splice(O.runningWorkers.indexOf(r),1),O.unusedWorkers.push(r),O.checkIdleWorker(),O.callComplete(a.work,0)):"async-work-queue"===n?O.scheduleWork(a.work):"async-work-cancel"===n&&O.cancelWork(a.work)}};return r._emnapiAWMTListener={handler:e,dispose:function(){u?r.off("message",e):r.removeEventListener("message",e,!1),delete r._emnapiAWMTListener}},u?r.on("message",e):r.addEventListener("message",e,!1),!0},initWorkers:function(r){if(f)return O.workerReady||(O.workerReady=Promise.resolve());if(O.workerReady)return O.workerReady;if("function"!=typeof y)throw new TypeError("`options.onCreateWorker` is not a function");var e=[],n=[];if(!("emnapi_async_worker_create"in t.exports))throw new TypeError("`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags");for(var a=0;a0&&O.workQueue.length>0){var r=O.unusedWorkers.shift(),e=O.workQueue.shift();O.runningWorkers.push(r),r.postMessage({__emnapi__:{type:"async-work-execute",payload:{work:e}}})}},getResource:function(r){return z.loadSizeTypeValue(r+O.offset.resource,!1)},getExecute:function(r){return z.loadSizeTypeValue(r+O.offset.execute,!1)},getComplete:function(r){return z.loadSizeTypeValue(r+O.offset.complete,!1)},getEnv:function(r){return z.loadSizeTypeValue(r+O.offset.env,!1)},getData:function(r){return z.loadSizeTypeValue(r+O.offset.data,!1)},scheduleWork:function(r){var e;if(f)(0,g.postMessage)({__emnapi__:{type:"async-work-queue",payload:{work:r}}});else if(d.increaseWaitingRequestCounter(),O.workQueue.push(r),null===(e=O.workerReady)||void 0===e?void 0:e.ready)O.checkIdleWorker();else{var t=function(r){throw d.decreaseWaitingRequestCounter(),r};try{O.initWorkers(m()).then(function(){O.workerReady.ready=!0,O.checkIdleWorker()},t)}catch(r){t(r)}}},cancelWork:function(r){if(f)return(0,g.postMessage)({__emnapi__:{type:"async-work-cancel",payload:{work:r}}}),0;var e=O.workQueue.indexOf(r);return-1!==e?(O.workQueue.splice(e,1),d.feature.setImmediate(function(){d.decreaseWaitingRequestCounter(),O.checkIdleWorker(),O.callComplete(r,11)}),0):9},callComplete:function(r,e){var t=O.getComplete(r),n=O.getEnv(r),s=O.getData(r),i=d.envStore.get(n),u=d.openScope(i),f=function(){t&&i.callbackIntoModule(!0,function(){o.get(t)(n,e,s)})};try{if(p){var c=O.getResource(r),l=d.refStore.get(c).get(),v=d.handleStore.get(l).value,g=new DataView(a.buffer),y=g.getFloat64(r+O.offset.async_id,!0),h=g.getFloat64(r+O.offset.trigger_async_id,!0);p.node.makeCallback(v,f,[],{asyncId:y,triggerAsyncId:h})}else f()}finally{d.closeScope(i,u)}}},F=L?function(r,e,t,n,o,s,i){if(!r)return 1;var u,f=d.envStore.get(r);if(f.checkGCAccess(),!n)return f.setLastError(1);if(!i)return f.setLastError(1);if(u=e?Object(d.handleStore.get(e).value):{},!t)return f.setLastError(1);var c=String(d.handleStore.get(t).value),l=j.create(r,u,c,n,o,s);return new DataView(a.buffer).setUint32(i,l,!0),f.clearLastError()}:function(r,e,t,n,o,i,u){if(!r)return 1;var f,c=d.envStore.get(r);if(c.checkGCAccess(),!n)return c.setLastError(1);if(!u)return c.setLastError(1);if(f=e?Object(d.handleStore.get(e).value):{},!t)return c.setLastError(1);var l=O.offset.end,p=s(l);if(!p)return c.setLastError(9);new Uint8Array(a.buffer).subarray(p,p+l).fill(0);var v=c.ensureHandleId(f),g=d.createReference(c,v,1,1).id,y=new DataView(a.buffer);return y.setUint32(p,g,!0),R(v,t,-1,p+O.offset.async_id),y.setUint32(p+O.offset.env,r,!0),y.setUint32(p+O.offset.execute,n,!0),y.setUint32(p+O.offset.complete,o,!0),y.setUint32(p+O.offset.data,i,!0),y.setUint32(u,p,!0),c.clearLastError()},M=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(j.remove(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=O.getResource(e);if(d.refStore.get(n).dispose(),p){var o=new DataView(a.buffer);x(o.getFloat64(e+O.offset.async_id,!0),o.getFloat64(e+O.offset.trigger_async_id,!0))}return i(e),t.clearLastError()},W=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(j.queue(e),t.clearLastError()):t.setLastError(1)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(O.scheduleWork(e),t.clearLastError()):t.setLastError(1)},J=L?function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=j.cancel(e);return 0===n?t.clearLastError():t.setLastError(n)}:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=O.cancelWork(e);return 0===n?t.clearLastError():t.setLastError(n)};g.initWorker=function(r){if(!g.childThread)throw new Error("startThread is only available in child threads");if("function"!=typeof t.exports.emnapi_async_worker_init)throw new TypeError("`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags");t.exports.emnapi_async_worker_init(r)},g.executeAsyncWork=function(r){if(f){var e=O.getExecute(r),t=O.getEnv(r),n=O.getData(r);o.get(e)(t,n),(0,g.postMessage)({__emnapi__:{type:"async-work-complete",payload:{work:r}}})}};var N=Object.freeze({__proto__:null,napi_cancel_async_work:J,napi_create_async_work:F,napi_delete_async_work:M,napi_queue_async_work:W}),P={registry:"function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,table:new WeakMap,wasmMemoryViewTable:new WeakMap,init:function(){P.registry="function"==typeof FinalizationRegistry?new FinalizationRegistry(function(r){i(r)}):void 0,P.table=new WeakMap,P.wasmMemoryViewTable=new WeakMap},isSharedArrayBuffer:function(r){return"function"==typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(r)},isDetachedArrayBuffer:function(r){if(0===r.byteLength)try{new Uint8Array(r)}catch(r){return!0}return!1},getArrayBufferPointer:function(r,e){var t,n={address:0,ownership:0,runtimeAllocated:0};if(r===a.buffer)return n;var o=P.isDetachedArrayBuffer(r);if(P.table.has(r)){var i=P.table.get(r);return o?(i.address=0,i):(e&&0===i.ownership&&1===i.runtimeAllocated&&new Uint8Array(a.buffer).set(new Uint8Array(r),i.address),i)}if(o||0===r.byteLength)return n;if(!e)return n;var u=s(r.byteLength);if(!u)throw new Error("Out of memory");return new Uint8Array(a.buffer).set(new Uint8Array(r),u),n.address=u,n.ownership=P.registry?0:1,n.runtimeAllocated=1,P.table.set(r,n),null===(t=P.registry)||void 0===t||t.register(r,u),n},getOrUpdateMemoryView:function(r){if(r.buffer===a.buffer)return P.wasmMemoryViewTable.has(r)||P.wasmMemoryViewTable.set(r,{Ctor:r.constructor,address:r.byteOffset,length:r instanceof DataView?r.byteLength:r.length,ownership:1,runtimeAllocated:0}),r;if((P.isDetachedArrayBuffer(r.buffer)||"function"==typeof SharedArrayBuffer&&r.buffer instanceof SharedArrayBuffer)&&P.wasmMemoryViewTable.has(r)){var e=P.wasmMemoryViewTable.get(r),t=e.Ctor,n=void 0,o=d.feature.Buffer;return n="function"==typeof o&&t===o?o.from(a.buffer,e.address,e.length):new t(a.buffer,e.address,e.length),P.wasmMemoryViewTable.set(n,e),n}return r},getViewPointer:function(r,e){if((r=P.getOrUpdateMemoryView(r)).buffer===a.buffer){if(P.wasmMemoryViewTable.has(r)){var t=P.wasmMemoryViewTable.get(r);return{address:t.address,ownership:t.ownership,runtimeAllocated:t.runtimeAllocated,view:r}}return{address:r.byteOffset,ownership:1,runtimeAllocated:0,view:r}}var n=P.getArrayBufferPointer(r.buffer,e),o=n.address,s=n.ownership,i=n.runtimeAllocated;return{address:0===o?0:o+r.byteOffset,ownership:s,runtimeAllocated:i,view:r}}},q={utf8Decoder:void 0,utf16Decoder:void 0,init:function(){var r,e={decode:function(r){for(var e=0,t=Math.min(4096,r.length+1),n=new Uint16Array(t),a=[],o=0;;){var s=e=t-1){var i=n.subarray(0,o);if(a.push(String.fromCharCode.apply(null,i)),!s)return a.join("");r=r.subarray(e),e=0,o=0}var u=r[e++];if(128&u){if(192==(224&u)){var f=63&r[e++];n[o++]=(31&u)<<6|f}else if(224==(240&u)){f=63&r[e++];var c=63&r[e++];n[o++]=(31&u)<<12|f<<6|c}else if(240==(248&u)){var l=(7&u)<<18|(f=63&r[e++])<<12|(c=63&r[e++])<<6|63&r[e++];l>65535&&(l-=65536,n[o++]=l>>>10&1023|55296,l=56320|1023&l),n[o++]=l}}else n[o++]=u}}};r="function"==typeof TextDecoder?new TextDecoder:e,q.utf8Decoder=r;var t,n={decode:function(r){var e=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(e.length<=4096)return String.fromCharCode.apply(null,e);for(var t=[],n=0,a=0;n=55296&&e<=57343?(t+=4,++n):t+=3;return t},UTF8ToString:function(r,e){if(!r||!e)return"";r>>>=0;var t=new Uint8Array(a.buffer),n=r;if(-1===e)for(;t[n];)++n;else n=r+(e>>>0);if((e=n-r)<=16){for(var o=r,s="";o>10,56320|1023&c)}}else s+=String.fromCharCode((31&i)<<6|u)}else s+=String.fromCharCode(i)}return s}return q.utf8Decoder.decode("function"==typeof SharedArrayBuffer&&t.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(t.buffer)?t.slice(r,n):t.subarray(r,n))},stringToUTF8:function(r,e,t){var n=new Uint8Array(a.buffer),o=e;if(!(t>0))return 0;for(var s=o>>>=0,i=o+t-1,u=0;u=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&r.charCodeAt(++u);if(f<=127){if(o>=i)break;n[o++]=f}else if(f<=2047){if(o+1>=i)break;n[o++]=192|f>>6,n[o++]=128|63&f}else if(f<=65535){if(o+2>=i)break;n[o++]=224|f>>12,n[o++]=128|f>>6&63,n[o++]=128|63&f}else{if(o+3>=i)break;n[o++]=240|f>>18,n[o++]=128|f>>12&63,n[o++]=128|f>>6&63,n[o++]=128|63&f}}return n[o]=0,o-s},UTF16ToString:function(r,e){if(!r||!e)return"";var t=r>>>=0;if(-1===e){for(var n=t>>1,o=new Uint16Array(a.buffer);o[n];)++n;t=n<<1}else t=r+2*(e>>>0);if((e=t-r)<=32)return String.fromCharCode.apply(null,new Uint16Array(a.buffer,r,e/2));var s=new Uint8Array(a.buffer);return q.utf16Decoder.decode("function"==typeof SharedArrayBuffer&&s.buffer instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(s.buffer)?s.slice(r,t):s.subarray(r,t))},stringToUTF16:function(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,s=new DataView(a.buffer),i=0;i>>0;if(0!==t&&!e)return s.setLastError(1);if(!n)return s.setLastError(1);if(!(i||u<=2147483647))return s.setLastError(1);var f=o(e,i,u),c=d.addToCurrentScope(f).id;return new DataView(a.buffer).setUint32(n,c,!0),s.clearLastError()},newExternalString:function(r,e,t,n,o,s,i,u,f){if(!r)return 1;var c=d.envStore.get(r);c.checkGCAccess();var l=-1===t,p=t>>>0;if(0!==t&&!e)return c.setLastError(1);if(!s)return c.setLastError(1);if(!(l||p<=2147483647))return c.setLastError(1);var v=u(r,e,t,s);if(0===v){if(i)new DataView(a.buffer).setInt8(i,1,!0);n&&c.callFinalizer(n,e,o)}return v}};function H(r,e,t,n,o,s,i){if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!e)return u.setLastError(1);var f=d.handleStore.get(e);if(!f.isTypedArray())return u.setLastError(1);var c,l=f.value,p=new DataView(a.buffer);if(t){var v=void 0;if(l instanceof Int8Array)v=0;else if(l instanceof Uint8Array)v=1;else if(l instanceof Uint8ClampedArray)v=2;else if(l instanceof Int16Array)v=3;else if(l instanceof Uint16Array)v=4;else if(l instanceof Int32Array)v=5;else if(l instanceof Uint32Array)v=6;else if("function"==typeof Float16Array&&l instanceof Float16Array)v=11;else if(l instanceof Float32Array)v=7;else if(l instanceof Float64Array)v=8;else if(l instanceof BigInt64Array)v=9;else{if(!(l instanceof BigUint64Array))return u.setLastError(9);v=10}p.setInt32(t,v,!0)}if(n&&p.setUint32(n,l.length,!0),o||s){if(c=l.buffer,o){var g=P.getViewPointer(l,!0).address;p.setUint32(o,g,!0)}if(s){var y=u.ensureHandleId(c);p.setUint32(s,y,!0)}}return i&&p.setUint32(i,l.byteOffset,!0),u.clearLastError()}function Q(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!e)return i.setLastError(1);var u=d.handleStore.get(e);if(!u.isDataView())return i.setLastError(1);var f,c=u.value,l=new DataView(a.buffer);if(t&&l.setUint32(t,c.byteLength,!0),n||o){if(f=c.buffer,n){var p=P.getViewPointer(c,!0).address;l.setUint32(n,p,!0)}if(o){var v=i.ensureHandleId(f);l.setUint32(o,v,!0)}}return s&&l.setUint32(s,c.byteOffset,!0),i.clearLastError()}var $=Object.freeze({__proto__:null,napi_get_array_length:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(!o.isArray())return n.setLastError(8);var s=o.value.length>>>0;return new DataView(a.buffer).setUint32(t,s,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_get_arraybuffer_info:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);var s=d.handleStore.get(e);if(!s.isArrayBuffer()&&!P.isSharedArrayBuffer(s.value))return o.setLastError(1);var i=new DataView(a.buffer);if(t){var u=P.getArrayBufferPointer(s.value,!0).address;i.setUint32(t,u,!0)}return n&&i.setUint32(n,s.value.byteLength,!0),o.clearLastError()},napi_get_buffer_info:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isBuffer(d.feature.Buffer)?o.isDataView()?Q(r,e,n,t,0,0):H(r,e,0,n,t,0,0):a.setLastError(1)},napi_get_dataview_info:Q,napi_get_date_value:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);return s.isDate()?(n=s.value.valueOf(),new DataView(a.buffer).setFloat64(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_get_prototype:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(null==o.value)throw new TypeError("Cannot convert undefined or null to object");var s=void 0;try{s=o.isObject()||o.isFunction()?o.value:Object(o.value)}catch(r){return n.setLastError(2)}var i=n.ensureHandleId(Object.getPrototypeOf(s));return new DataView(a.buffer).setUint32(t,i,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_get_typedarray_info:H,napi_get_value_bigint_int64:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!d.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(e).value;if("bigint"!=typeof s)return o.setLastError(6);var i=new DataView(a.buffer);s>=BigInt(-1)*(BigInt(1)<=BigInt(1)<>BigInt(32));return i.setInt32(t,u,!0),i.setInt32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_uint64:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!d.feature.supportBigInt)return o.setLastError(9);if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(e).value;if("bigint"!=typeof s)return o.setLastError(6);var i=new DataView(a.buffer);s>=BigInt(0)&&s>BigInt(32));return i.setUint32(t,u,!0),i.setUint32(t+4,f,!0),o.clearLastError()},napi_get_value_bigint_words:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!d.feature.supportBigInt)return s.setLastError(9);if(!e)return s.setLastError(1);if(!n)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isBigInt())return s.setLastError(17);for(var u=i.value>=BigInt(64);if(p=u?i.value*BigInt(-1):i.value,t||o){if(!t)return s.setLastError(1);if(!o)return s.setLastError(1);for(var v=[];p!==BigInt(0);){var g=p&(BigInt(1)<>=BigInt(64)}for(var y=Math.min(c,v.length),h=0;h>BigInt(32));f.setUint32(o+8*h,E,!0),f.setUint32(o+(8*h+4),_,!0)}f.setInt32(t,u?1:0,!0),f.setUint32(n,y,!0)}else c=l,f.setUint32(n,c,!0);return s.clearLastError()},napi_get_value_bool:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("boolean"!=typeof o.value)return n.setLastError(7);var s=o.value?1:0;return new DataView(a.buffer).setInt8(t,s,!0),n.clearLastError()},napi_get_value_double:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=o.value;return new DataView(a.buffer).setFloat64(t,s,!0),n.clearLastError()},napi_get_value_external:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if(!o.isExternal())return n.setLastError(1);var s=o.data();return new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},napi_get_value_int32:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=new Int32Array([o.value])[0];return new DataView(a.buffer).setInt32(t,s,!0),n.clearLastError()},napi_get_value_int64:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=o.value,i=new DataView(a.buffer);return s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY||isNaN(s)?(i.setInt32(t,0,!0),i.setInt32(t+4,0,!0)):s<-0x8000000000000000?(i.setInt32(t,0,!0),i.setInt32(t+4,2147483648,!0)):s>=0x8000000000000000?(i.setUint32(t,4294967295,!0),i.setUint32(t+4,2147483647,!0)):I(t,Math.trunc(s)),n.clearLastError()},napi_get_value_string_latin1:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!e)return s.setLastError(1);n>>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){for(var f=0,c=void 0,l=0;l>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){var f=q.stringToUTF16(i.value,t,2*n);o&&u.setUint32(o,f/2,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return s.setLastError(1);u.setUint32(o,i.value.length,!0)}return s.clearLastError()},napi_get_value_string_utf8:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!e)return s.setLastError(1);n>>>=0;var i=d.handleStore.get(e);if("string"!=typeof i.value)return s.setLastError(3);var u=new DataView(a.buffer);if(t)if(0!==n){var f=q.stringToUTF8(i.value,t,n);o&&u.setUint32(o,f,!0)}else o&&u.setUint32(o,0,!0);else{if(!o)return s.setLastError(1);var c=q.lengthBytesUTF8(i.value);u.setUint32(o,c,!0)}return s.clearLastError()},napi_get_value_uint32:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e);if("number"!=typeof o.value)return n.setLastError(6);var s=new Uint32Array([o.value])[0];return new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},node_api_set_prototype:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=d.handleStore.get(e).value;if(null==a)throw new TypeError("Cannot convert undefined or null to object");var o=typeof a,s=void 0;try{s="object"===o&&null!==a||"function"===o?a:Object(a)}catch(r){return n.setLastError(2)}var i=d.handleStore.get(t).value;return Object.setPrototypeOf(s,i),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function Y(r,e,t,n){return q.newString(r,e,t,n,function(r,e,t){var n="",o=0,s=new DataView(a.buffer);if(e)for(;;){if(!(i=s.getUint8(r,!0)))break;n+=String.fromCharCode(i),r++}else for(;o=10?23:10);u.clearLastError();try{if(!d.feature.supportBigInt)return u.setLastError(9);if(!o)return u.setLastError(1);if((t>>>=0)>2147483647)return u.setLastError(1);if(t>16384)throw new RangeError("Maximum BigInt size exceeded");var f=BigInt(0),c=new DataView(a.buffer);for(i=0;i>>0).id;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},node_api_create_external_string_latin1:function(r,e,t,n,a,o,s){return q.newExternalString(r,e,t,n,a,o,s,Y,void 0)},node_api_create_external_string_utf16:function(r,e,t,n,a,o,s){return q.newExternalString(r,e,t,n,a,o,s,X,void 0)},node_api_create_property_key_latin1:function(r,e,t,n){return Y(r,e,t,n)},node_api_create_property_key_utf16:function(r,e,t,n){return X(r,e,t,n)},node_api_create_property_key_utf8:function(r,e,t,n){return Z(r,e,t,n)}});function rr(r,e,t,n,a){var s,i=e&&t?q.UTF8ToString(e,t):"",u=o.get(n),f=function(r){return u(r.id,r.ctx.scopeStore.currentScope.id)},c=function(r,e){return function(){var t=r.ctx.openScope(r),n=t.callbackInfo;n.data=a,n.args=arguments,n.thiz=this,n.fn=s;try{var o=r.callIntoModule(e);return o?r.ctx.handleStore.get(o).value:void 0}finally{n.data=0,n.args=void 0,n.thiz=void 0,n.fn=void 0,r.ctx.closeScope(r,t)}}};if(""===i)return{status:0,f:s=c(r,f)};if(!/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(i))return{status:1,f:void 0};if(d.feature.supportNewFunction){var l=c(r,f);try{s=new Function("_","return function "+i+'(){"use strict";return _.apply(this,arguments);};')(l)}catch(e){s=c(r,f),d.feature.canSetFunctionName&&Object.defineProperty(s,"name",{value:i})}}else s=c(r,f),d.feature.canSetFunctionName&&Object.defineProperty(s,"name",{value:i});return{status:0,f:s}}function er(r,e,t,n,a,o,s,i,u){if(a||o){var f=void 0,c=void 0;a&&(f=rr(r,0,0,a,u).f),o&&(c=rr(r,0,0,o,u).f);var l={configurable:!!(4&i),enumerable:!!(2&i),get:f,set:c};Object.defineProperty(e,t,l)}else if(n){l={configurable:!!(4&i),enumerable:!!(2&i),writable:!!(1&i),value:rr(r,0,0,n,u).f};Object.defineProperty(e,t,l)}else{l={configurable:!!(4&i),enumerable:!!(2&i),writable:!!(1&i),value:d.handleStore.get(s).value};Object.defineProperty(e,t,l)}}function tr(r){var e=d.handleStore.get(r);return e.isObject()||e.isFunction()?(void 0!==P&&ArrayBuffer.isView(e.value)&&P.wasmMemoryViewTable.has(e.value)&&(e=d.addToCurrentScope(P.wasmMemoryViewTable.get(e.value))),{status:0,handle:e}):{status:1}}function nr(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(0===n&&!t)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(1);var u=s.getObjectBinding(i.value),f=u.wrapped,c=d.refStore.get(f);if(!c)return s.setLastError(1);if(t)o=c.data(),new DataView(a.buffer).setUint32(t,o,!0);return 1===n&&(u.wrapped=0,1===c.ownership()?c.resetFinalizer():c.dispose()),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}}function ar(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!d.feature.supportFinalizer)return i.setLastError(9);if(!e)return i.setLastError(1);if(!n)return i.setLastError(1);var u=tr(e);if(0!==u.status)return i.setLastError(u.status);var f=u.handle,c=s?1:0,l=d.createReferenceWithFinalizer(i,f.id,0,c,n,t,o);if(s){var p=l.id;new DataView(a.buffer).setUint32(s,p,!0)}return i.clearLastError()}var or=Object.freeze({__proto__:null,napi_add_finalizer:ar,napi_check_object_type_tag:function(r,e,t,n){var o=!0;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(s.tryCatch.hasCaught()?10:1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(s.tryCatch.hasCaught()?10:2);if(!t)return s.setLastError(s.tryCatch.hasCaught()?10:1);if(!n)return s.setLastError(s.tryCatch.hasCaught()?10:1);var u=s.getObjectBinding(i.value);if(null!==u.tag){var f=u.tag,c=new Uint32Array(a.buffer,t,4);o=f[0]===c[0]&&f[1]===c[1]&&f[2]===c[2]&&f[3]===c[3]}else o=!1;return new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_define_class:function(r,e,t,n,o,s,i,u){var f,c,l;if(!r)return 1;var p=d.envStore.get(r);if(p.checkGCAccess(),!p.tryCatch.isEmpty())return p.setLastError(10);if(!p.canCallIntoJs())return p.setLastError(p.moduleApiVersion>=10?23:10);p.clearLastError();try{if(!u)return p.setLastError(1);if(!n)return p.setLastError(1);if((s>>>=0)>0&&!i)return p.setLastError(1);if(t<-1||t>2147483647||!e)return p.setLastError(1);var v=rr(p,e,t,n,o);if(0!==v.status)return p.setLastError(v.status);for(var g=v.f,y=void 0,h=new DataView(a.buffer),E=0;E=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(n.tryCatch.hasCaught()?10:1);var o=d.handleStore.get(e);if(!o.isObject()&&!o.isFunction())return n.setLastError(n.tryCatch.hasCaught()?10:2);if(!t)return n.setLastError(n.tryCatch.hasCaught()?10:1);var s=n.getObjectBinding(o.value);if(null!==s.tag)return n.setLastError(n.tryCatch.hasCaught()?10:1);var i=new Uint8Array(16);return i.set(new Uint8Array(a.buffer,t,16)),s.tag=new Uint32Array(i.buffer),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_unwrap:function(r,e,t){return nr(r,e,t,0)},napi_wrap:function(r,e,t,n,o,s){return function(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!d.feature.supportFinalizer){if(n)throw d.createNotSupportWeakRefError("napi_wrap",'Parameter "finalize_cb" must be 0(NULL)');if(s)throw d.createNotSupportWeakRefError("napi_wrap",'Parameter "result" must be 0(NULL)')}if(!e)return u.setLastError(1);var f=tr(e);if(0!==f.status)return u.setLastError(f.status);var c=f.handle;if(0!==u.getObjectBinding(c.value).wrapped)return u.setLastError(1);var l=void 0;if(s){if(!n)return u.setLastError(1);i=(l=d.createReferenceWithFinalizer(u,c.id,0,1,n,t,o)).id,new DataView(a.buffer).setUint32(s,i,!0)}else l=n?d.createReferenceWithFinalizer(u,c.id,0,0,n,t,o):d.createReferenceWithData(u,c.id,0,0,t);return u.getObjectBinding(c.value).wrapped=l.id,u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}}(r,e,t,n,o,s)},node_api_post_finalizer:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);return a.enqueueFinalizer(d.createTrackedFinalizer(a,e,t,n)),a.clearLastError()}});function sr(r,e,t,n,o,s,i){var u;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!i)return f.setLastError(1);if(n>>>=0,t||(n=0),n>2147483647)throw new RangeError("Cannot create a memory view larger than 2147483647 bytes");if(t+n>a.buffer.byteLength)throw new RangeError("Memory out of range");if(!d.feature.supportFinalizer&&o)throw d.createNotSupportWeakRefError("emnapi_create_memory_view",'Parameter "finalize_cb" must be 0(NULL)');var c=void 0;switch(e){case 0:c={Ctor:Int8Array,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 1:c={Ctor:Uint8Array,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 2:c={Ctor:Uint8ClampedArray,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 3:c={Ctor:Int16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case 4:c={Ctor:Uint16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case 5:c={Ctor:Int32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 6:c={Ctor:Uint32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 7:c={Ctor:Float32Array,address:t,length:n>>2,ownership:1,runtimeAllocated:0};break;case 8:c={Ctor:Float64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case 9:c={Ctor:BigInt64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case 10:c={Ctor:BigUint64Array,address:t,length:n>>3,ownership:1,runtimeAllocated:0};break;case-1:c={Ctor:DataView,address:t,length:n,ownership:1,runtimeAllocated:0};break;case 11:if("function"!=typeof Float16Array)return f.setLastError(1);c={Ctor:Float16Array,address:t,length:n>>1,ownership:1,runtimeAllocated:0};break;case-2:if(!d.feature.Buffer)throw d.createNotSupportBufferError("emnapi_create_memory_view","");c={Ctor:d.feature.Buffer,address:t,length:n,ownership:1,runtimeAllocated:0};break;default:return f.setLastError(1)}var l=c.Ctor,p=-2===e?d.feature.Buffer.from(a.buffer,c.address,c.length):new l(a.buffer,c.address,c.length),v=d.addToCurrentScope(p);if(P.wasmMemoryViewTable.set(p,c),o){var g=ar(r,v.id,t,o,s,0);if(10===g){var y=f.tryCatch.extractException();throw f.clearLastError(),y}if(0!==g)return f.setLastError(g)}return u=v.id,new DataView(a.buffer).setUint32(i,u,!0),f.getReturnStatus()}catch(y){return f.tryCatch.setError(y),f.setLastError(10)}}function ir(r,e,t,n){var o;if(t=null!=t?t:0,t>>>=0,e instanceof ArrayBuffer||P.isSharedArrayBuffer(e)){if(!(i=P.getArrayBufferPointer(e,!1).address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof n&&-1!==n||(n=e.byteLength-t),0===(n>>>=0))return e;o=new Uint8Array(e,t,n);var s=new Uint8Array(a.buffer);return r?s.set(o,i):o.set(s.subarray(i,i+n)),e}if(ArrayBuffer.isView(e)){var i,u=P.getViewPointer(e,!1),f=u.view;if(!(i=u.address))throw new Error("Unknown ArrayBuffer address");if("number"==typeof n&&-1!==n||(n=f.byteLength-t),0===(n>>>=0))return f;o=new Uint8Array(f.buffer,f.byteOffset+t,n);s=new Uint8Array(a.buffer);return r?s.set(o,i):o.set(s.subarray(i,i+n)),f}throw new TypeError("emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter")}function ur(r){var e,t=r instanceof ArrayBuffer,n=r instanceof DataView,a=ArrayBuffer.isView(r)&&!n;if(!(t||a||n||P.isSharedArrayBuffer(r)))throw new TypeError("emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter");return{address:(e=t?P.getArrayBufferPointer(r,!1):P.getViewPointer(r,!1)).address,ownership:e.ownership,runtimeAllocated:e.runtimeAllocated}}var fr=Object.freeze({__proto__:null,$emnapiGetMemoryAddress:ur,$emnapiSyncMemory:ir,emnapi_create_memory_view:sr,emnapi_get_memory_address:function(r,e,t,n,o){var s,i,u,f;if(!r)return 1;var c=d.envStore.get(r);if(c.checkGCAccess(),!c.tryCatch.isEmpty())return c.setLastError(10);if(!c.canCallIntoJs())return c.setLastError(c.moduleApiVersion>=10?23:10);c.clearLastError();try{if(!e)return c.setLastError(1);if(!t&&!n&&!o)return c.setLastError(1);s=(f=ur(c.ctx.handleStore.get(e).value)).address;var l=new DataView(a.buffer);return t&&l.setUint32(t,s,!0),n&&(u=f.ownership,l.setInt32(n,u,!0)),o&&(i=f.runtimeAllocated,l.setInt8(o,i,!0)),c.getReturnStatus()}catch(r){return c.tryCatch.setError(r),c.setLastError(10)}},emnapi_get_runtime_version:function(r,e){if(!r)return 1;var t,n=d.envStore.get(r);if(!e)return n.setLastError(1);try{t=d.getRuntimeVersions().version}catch(r){return n.setLastError(9)}var o=t.split(".").map(function(r){return Number(r)}),s=new DataView(a.buffer);return s.setUint32(e,o[0],!0),s.setUint32(e+4,o[1],!0),s.setUint32(e+8,o[2],!0),n.clearLastError()},emnapi_is_node_binding_available:function(){return p?1:0},emnapi_is_support_bigint:function(){return d.feature.supportBigInt?1:0},emnapi_is_support_weakref:function(){return d.feature.supportFinalizer?1:0},emnapi_sync_memory:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!t)return i.setLastError(1);var u=new DataView(a.buffer),f=u.getUint32(t,!0),c=i.ctx.handleStore.get(f);if(!(c.isArrayBuffer()||c.isTypedArray()||c.isDataView()||P.isSharedArrayBuffer(c.value)))return i.setLastError(1);var l=ir(Boolean(e),c.value,n,o);return c.value!==l&&(s=i.ensureHandleId(l),u.setUint32(t,s,!0)),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}}});function cr(r,e,t){r>>>=0;var n=t?new SharedArrayBuffer(r):new ArrayBuffer(r);if(e){var o=P.getArrayBufferPointer(n,!0).address;new DataView(a.buffer).setUint32(e,o,!0)}return n}var lr=Object.freeze({__proto__:null,napi_create_array:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.addToCurrentScope([]).id;return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_create_array_with_length:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!t)return n.setLastError(1);e>>>=0;var o=d.addToCurrentScope(new Array(e)).id;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_create_arraybuffer:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);var i=cr(e,t,!1);return o=d.addToCurrentScope(i).id,new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_buffer:function(r,e,t,n){var o,i,u;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!n)return f.setLastError(1);var c=d.feature.Buffer;if(!c)throw d.createNotSupportBufferError("napi_create_buffer","");var l=void 0;e>>>=0;var p=new DataView(a.buffer);if(t&&0!==e){if(!(u=s(e)))throw new Error("Out of memory");new Uint8Array(a.buffer).subarray(u,u+e).fill(0);var v=c.from(a.buffer,u,e),g={Ctor:c,address:u,length:e,ownership:P.registry?0:1,runtimeAllocated:1};P.wasmMemoryViewTable.set(v,g),null===(o=P.registry)||void 0===o||o.register(g,u),i=d.addToCurrentScope(v).id,p.setUint32(n,i,!0),p.setUint32(t,u,!0)}else l=c.alloc(e),i=d.addToCurrentScope(l).id,p.setUint32(n,i,!0);return f.getReturnStatus()}catch(r){return f.tryCatch.setError(r),f.setLastError(10)}},napi_create_buffer_copy:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!o)return i.setLastError(1);var u=d.feature.Buffer;if(!u)throw d.createNotSupportBufferError("napi_create_buffer_copy","");var f=cr(e,n,!1),c=u.from(f);return c.set(new Uint8Array(a.buffer).subarray(t,t+e)),s=d.addToCurrentScope(c).id,new DataView(a.buffer).setUint32(o,s,!0),i.getReturnStatus()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_dataview:function(r,e,t,n,o){if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!o)return s.setLastError(1);e>>>=0,n>>>=0;var i=d.handleStore.get(t).value;return i instanceof ArrayBuffer||P.isSharedArrayBuffer(i)?function(r){if(e+n>r.byteLength){var t=new RangeError("byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in");throw t.code="ERR_NAPI_INVALID_DATAVIEW_ARGS",t}var i=new DataView(r,n,e);r===a.buffer&&(P.wasmMemoryViewTable.has(i)||P.wasmMemoryViewTable.set(i,{Ctor:DataView,address:n,length:e,ownership:1,runtimeAllocated:0}));var u=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(o,u,!0),s.getReturnStatus()}(i):s.setLastError(1)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_create_date:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return t?(n=d.addToCurrentScope(new Date(e)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_create_external:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!o)return i.setLastError(1);if(!d.feature.supportFinalizer&&t)throw d.createNotSupportWeakRefError("napi_create_external",'Parameter "finalize_cb" must be 0(NULL)');var u=d.getCurrentScope().addExternal(e);return t&&d.createReferenceWithFinalizer(i,u.id,0,0,t,e,n),s=u.id,new DataView(a.buffer).setUint32(o,s,!0),i.clearLastError()}catch(r){return i.tryCatch.setError(r),i.setLastError(10)}},napi_create_external_arraybuffer:function(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(t>>>=0,e||(t=0),e+t>a.buffer.byteLength)throw new RangeError("Memory out of range");if(!d.feature.supportFinalizer&&n)throw d.createNotSupportWeakRefError("napi_create_external_arraybuffer",'Parameter "finalize_cb" must be 0(NULL)');var f=new ArrayBuffer(t);if(0===t)try{(new(0,d.feature.MessageChannel)).port1.postMessage(f,[f])}catch(r){}else new Uint8Array(f).set(new Uint8Array(a.buffer).subarray(e,e+t)),P.table.set(f,{address:e,ownership:1,runtimeAllocated:0});var c=d.addToCurrentScope(f);if(n){var l=ar(r,c.id,e,n,o,0);if(10===l){var p=u.tryCatch.extractException();throw u.clearLastError(),p}if(0!==l)return u.setLastError(l)}return i=c.id,new DataView(a.buffer).setUint32(s,i,!0),u.getReturnStatus()}catch(p){return u.tryCatch.setError(p),u.setLastError(10)}},napi_create_external_buffer:function(r,e,t,n,a,o){return sr(r,-2,t,e,n,a,o)},napi_create_object:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.addToCurrentScope({}).id;return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_create_object_with_properties:function(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!s)return i.setLastError(1);if((o>>>=0)>0){if(!t)return i.setLastError(1);if(!n)return i.setLastError(1)}for(var u,f=e?d.handleStore.get(e).value:null,c={},l=new DataView(a.buffer),p=0;p=10?23:10);u.clearLastError();try{if(!n)return u.setLastError(1);if(!s)return u.setLastError(1);var f=d.handleStore.get(n);if(!f.isArrayBuffer())return u.setLastError(1);var c=f.value,l=function(r,e,t,n,o,u){var f,c;if((o>>>=0,u>>>=0,t>1)&&o%t!==0)return(c=new RangeError("start offset of ".concat(null!==(f=e.name)&&void 0!==f?f:""," should be a multiple of ").concat(t))).code="ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT",r.tryCatch.setError(c),r.setLastError(9);if(u*t+o>n.byteLength)return(c=new RangeError("Invalid typed array length")).code="ERR_NAPI_INVALID_TYPEDARRAY_LENGTH",r.tryCatch.setError(c),r.setLastError(9);var l=new e(n,o,u);return n===a.buffer&&(P.wasmMemoryViewTable.has(l)||P.wasmMemoryViewTable.set(l,{Ctor:e,address:o,length:u,ownership:1,runtimeAllocated:0})),i=d.addToCurrentScope(l).id,new DataView(a.buffer).setUint32(s,i,!0),r.getReturnStatus()};switch(e){case 0:return l(u,Int8Array,1,c,o,t);case 1:return l(u,Uint8Array,1,c,o,t);case 2:return l(u,Uint8ClampedArray,1,c,o,t);case 3:return l(u,Int16Array,2,c,o,t);case 4:return l(u,Uint16Array,2,c,o,t);case 5:return l(u,Int32Array,4,c,o,t);case 6:return l(u,Uint32Array,4,c,o,t);case 7:return l(u,Float32Array,4,c,o,t);case 8:return l(u,Float64Array,8,c,o,t);case 9:return l(u,BigInt64Array,8,c,o,t);case 10:return l(u,BigUint64Array,8,c,o,t);case 11:return"function"!=typeof Float16Array?u.setLastError(1):l(u,Float16Array,2,c,o,t);default:return u.setLastError(1)}}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},node_api_create_buffer_from_arraybuffer:function(r,e,t,n,o){var s;if(!r)return 1;var i=d.envStore.get(r);if(i.checkGCAccess(),!i.tryCatch.isEmpty())return i.setLastError(10);if(!i.canCallIntoJs())return i.setLastError(i.moduleApiVersion>=10?23:10);i.clearLastError();try{if(!e)return i.setLastError(1);if(!o)return i.setLastError(1);t>>>=0,n>>>=0;var u=d.handleStore.get(e);if(!u.isArrayBuffer())return i.setLastError(1);var f=u.value;if(n+t>f.byteLength){var c=new RangeError("The byte offset + length is out of range");throw c.code="ERR_OUT_OF_RANGE",c}var l=d.feature.Buffer;if(!l)throw d.createNotSupportBufferError("node_api_create_buffer_from_arraybuffer","");var p=l.from(f,t,n);return f===a.buffer&&(P.wasmMemoryViewTable.has(p)||P.wasmMemoryViewTable.set(p,{Ctor:l,address:t,length:n,ownership:1,runtimeAllocated:0})),s=d.addToCurrentScope(p).id,new DataView(a.buffer).setUint32(o,s,!0),i.getReturnStatus()}catch(c){return i.tryCatch.setError(c),i.setLastError(10)}},node_api_create_sharedarraybuffer:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);var i=cr(e,t,!0);return o=d.addToCurrentScope(i).id,new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},node_api_symbol_for:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!n)return o.setLastError(1);var s=-1===t,i=t>>>0;if(0!==t&&!e)return o.setLastError(1);if(!(s||i<=2147483647))return o.setLastError(1);var u=q.UTF8ToString(e,t),f=d.addToCurrentScope(Symbol.for(u)).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()}});var dr=Object.freeze({__proto__:null,napi_get_boolean:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!t)return n.setLastError(1);var o=0===e?3:4;return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_get_global:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,5,!0),t.clearLastError()):t.setLastError(1)},napi_get_null:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,2,!0),t.clearLastError()):t.setLastError(1)},napi_get_undefined:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return t.checkGCAccess(),e?(new DataView(a.buffer).setUint32(e,1,!0),t.clearLastError()):t.setLastError(1)}});var pr=Object.freeze({__proto__:null,napi_get_instance_data:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(!e)return t.setLastError(1);var n=t.getInstanceData();return new DataView(a.buffer).setUint32(e,n,!0),t.clearLastError()},napi_set_instance_data:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);return a.setInstanceData(e,t,n),a.clearLastError()}});var vr=Object.freeze({__proto__:null,_emnapi_get_last_error_info:function(r,e,t,n){var o=d.envStore.get(r).lastError,s=o.errorCode,i=o.engineErrorCode>>>0,u=o.engineReserved,f=new DataView(a.buffer);f.setInt32(e,s,!0),f.setUint32(t,i,!0),f.setUint32(n,u,!0)},napi_create_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new Error(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_create_range_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new RangeError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_create_type_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new TypeError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},napi_fatal_error:function(r,e,t,n){var a=q.UTF8ToString(r,e),o=q.UTF8ToString(t,n);p?p.napi.fatalError(a,o):l("FATAL ERROR: "+a+" "+o)},napi_fatal_exception:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=t.ctx.handleStore.get(e);try{t.triggerFatalException(n.value)}catch(r){return t.setLastError(9)}return t.clearLastError()}catch(e){return t.tryCatch.setError(e),t.setLastError(10)}},napi_get_and_clear_last_exception:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=new DataView(a.buffer);if(!t.tryCatch.hasCaught())return n.setUint32(e,1,!0),t.clearLastError();var o=t.tryCatch.exception(),s=t.ensureHandleId(o);return n.setUint32(e,s,!0),t.tryCatch.reset(),t.clearLastError()},napi_is_exception_pending:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=t.tryCatch.hasCaught();return new DataView(a.buffer).setInt8(e,n?1:0,!0),t.clearLastError()},napi_throw:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{return e?(t.tryCatch.setError(d.handleStore.get(e).value),t.clearLastError()):t.setLastError(1)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_throw_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new Error(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_range_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new RangeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_throw_type_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new TypeError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},node_api_create_syntax_error:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.handleStore.get(t).value;if("string"!=typeof s)return o.setLastError(3);var i=new SyntaxError(s);if(e){var u=d.handleStore.get(e).value;if("string"!=typeof u)return o.setLastError(3);i.code=u}var f=d.addToCurrentScope(i).id;return new DataView(a.buffer).setUint32(n,f,!0),o.clearLastError()},node_api_throw_syntax_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!t)return n.setLastError(1);var a=new SyntaxError(q.UTF8ToString(t,-1));return e&&(a.code=q.UTF8ToString(e,-1)),n.tryCatch.setError(a),n.clearLastError()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});var gr=Object.freeze({__proto__:null,napi_call_function:function(r,e,t,n,o,s){var i,u=0;if(!r)return 1;var f=d.envStore.get(r);if(f.checkGCAccess(),!f.tryCatch.isEmpty())return f.setLastError(10);if(!f.canCallIntoJs())return f.setLastError(f.moduleApiVersion>=10?23:10);f.clearLastError();try{if(!e)return f.setLastError(1);if((n>>>=0)>0&&!o)return f.setLastError(1);var c=d.handleStore.get(e).value;if(!t)return f.setLastError(1);var l=d.handleStore.get(t).value;if("function"!=typeof l)return f.setLastError(1);for(var p=[],v=new DataView(a.buffer);u=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(!n)return u.setLastError(1);var f=rr(u,e,t,n,o);if(0!==f.status)return u.setLastError(f.status);var c=f.f;return i=d.addToCurrentScope(c).id,new DataView(a.buffer).setUint32(s,i,!0),u.getReturnStatus()}catch(r){return u.tryCatch.setError(r),u.setLastError(10)}},napi_get_cb_info:function(r,e,t,n,o,s){if(!r)return 1;var i=d.envStore.get(r);if(!e)return i.setLastError(1);var u=d.scopeStore.get(e).callbackInfo,f=new DataView(a.buffer);if(n){if(!t)return i.setLastError(1);for(var c=f.getUint32(t,!0),l=u.args.length,p=c=10?23:10);u.clearLastError();try{if(!e)return u.setLastError(1);if((t>>>=0)>0&&!n)return u.setLastError(1);if(!o)return u.setLastError(1);var f=d.handleStore.get(e).value;if("function"!=typeof f)return u.setLastError(1);var c=void 0,l=new DataView(a.buffer);if(d.feature.supportReflect){var p=Array(t);for(s=0;s>>0,1);return new DataView(a.buffer).setUint32(n,i.id,!0),o.clearLastError()},napi_delete_reference:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(d.refStore.get(e).dispose(),t.clearLastError()):t.setLastError(1)},napi_escape_handle:function(r,e,t,n){if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!e)return o.setLastError(1);if(!t)return o.setLastError(1);if(!n)return o.setLastError(1);var s=d.scopeStore.get(e);if(!s.escapeCalled()){var i=s.escape(t),u=i?i.id:0;return new DataView(a.buffer).setUint32(n,u,!0),o.clearLastError()}return o.setLastError(12)},napi_get_reference_value:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.refStore.get(e).get(n);return new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_open_escapable_handle_scope:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.openScope(t);return new DataView(a.buffer).setUint32(e,n.id,!0),t.clearLastError()},napi_open_handle_scope:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.openScope(t);return new DataView(a.buffer).setUint32(e,n.id,!0),t.clearLastError()},napi_reference_ref:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);var o=d.refStore.get(e).ref();return t&&new DataView(a.buffer).setUint32(t,o,!0),n.clearLastError()},napi_reference_unref:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);var o=d.refStore.get(e);if(0===o.refcount())return n.setLastError(9);var s=o.unref();return t&&new DataView(a.buffer).setUint32(t,s,!0),n.clearLastError()},napi_remove_env_cleanup_hook:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);return e?(d.removeCleanupHook(n,e,t),0):n.setLastError(1)}});var hr=Object.freeze({__proto__:null,_emnapi_get_filename:function(r,e,t){var n=d.envStore.get(r).filename;return e?q.stringToUTF8(n,e,t):q.lengthBytesUTF8(n)}});var Er=Object.freeze({__proto__:null,napi_create_promise:function(r,e,t){var n,o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=new DataView(a.buffer),u=new Promise(function(r,t){var a=d.createDeferred({resolve:r,reject:t});n=a.id,i.setUint32(e,n,!0)});return o=d.addToCurrentScope(u).id,i.setUint32(t,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_is_promise:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isPromise()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_reject_deferred:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(d.deferredStore.get(e).reject(d.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_resolve_deferred:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{return e&&t?(d.deferredStore.get(e).resolve(d.handleStore.get(t).value),n.getReturnStatus()):n.setLastError(1)}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}}});function _r(r,e,t,n,o,s){var i;if(!r)return 1;var u=d.envStore.get(r);if(u.checkGCAccess(),!u.tryCatch.isEmpty())return u.setLastError(10);if(!u.canCallIntoJs())return u.setLastError(u.moduleApiVersion>=10?23:10);u.clearLastError();try{if(!s)return u.setLastError(1);if(!e)return u.setLastError(1);var f=d.handleStore.get(e);if(null==f.value)throw new TypeError("Cannot convert undefined or null to object");var c=void 0;try{c=f.isObject()||f.isFunction()?f.value:Object(f.value)}catch(r){return u.setLastError(2)}if(0!==t&&1!==t)return u.setLastError(1);if(0!==o&&1!==o)return u.setLastError(1);var l=[],p=void 0,v=void 0,g=void 0,y=!0,h=/^(0|[1-9][0-9]*)$/;do{for(p=Object.getOwnPropertyNames(c),v=Object.getOwnPropertySymbols(c),g=0;g=10?23:10);i.clearLastError();try{if((t>>>=0)>0&&!n)return i.setLastError(1);if(!e)return i.setLastError(1);var u=d.handleStore.get(e),f=u.value;if(!u.isObject()&&!u.isFunction())return i.setLastError(2);for(var c=void 0,l=new DataView(a.buffer),p=0;p=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(2);if(d.feature.supportReflect)o=Reflect.deleteProperty(i.value,t>>>0);else try{o=delete i.value[t>>>0]}catch(r){o=!1}if(n)new DataView(a.buffer).setInt8(n,o?1:0,!0);return s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_delete_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isObject()&&!i.isFunction())return s.setLastError(2);var u=d.handleStore.get(t).value;if(d.feature.supportReflect)o=Reflect.deleteProperty(i.value,u);else try{o=delete i.value[u]}catch(r){o=!1}if(n)new DataView(a.buffer).setInt8(n,o?1:0,!0);return s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_all_property_names:_r,napi_get_element:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[t>>>0]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_named_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[q.UTF8ToString(t,-1)]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=s.ensureHandleId(u[d.handleStore.get(t).value]),new DataView(a.buffer).setUint32(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_get_property_names:function(r,e,t){return _r(r,e,0,18,1,t)},napi_has_element:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=t>>>0 in u?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_named_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=q.UTF8ToString(t,-1)in u,new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_own_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}var f=d.handleStore.get(t).value;return"string"!=typeof f&&"symbol"!=typeof f?s.setLastError(4):(o=Object.prototype.hasOwnProperty.call(u,d.handleStore.get(t).value),new DataView(a.buffer).setInt8(n,o?1:0,!0),s.getReturnStatus())}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_has_property:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!t)return s.setLastError(1);if(!n)return s.setLastError(1);if(!e)return s.setLastError(1);var i=d.handleStore.get(e);if(null==i.value)throw new TypeError("Cannot convert undefined or null to object");var u=void 0;try{u=i.isObject()||i.isFunction()?i.value:Object(i.value)}catch(r){return s.setLastError(2)}return o=d.handleStore.get(t).value in u?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_object_freeze:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=d.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.freeze(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_object_seal:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!t.tryCatch.isEmpty())return t.setLastError(10);if(!t.canCallIntoJs())return t.setLastError(t.moduleApiVersion>=10?23:10);t.clearLastError();try{if(!e)return t.setLastError(1);var n=d.handleStore.get(e),a=n.value;return n.isObject()||n.isFunction()?(Object.seal(a),t.getReturnStatus()):t.setLastError(2)}catch(r){return t.tryCatch.setError(r),t.setLastError(10)}},napi_set_element:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[t>>>0]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_named_property:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?t?(d.handleStore.get(e).value[q.UTF8ToString(t,-1)]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(1):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}},napi_set_property:function(r,e,t,n){if(!r)return 1;var a=d.envStore.get(r);if(a.checkGCAccess(),!a.tryCatch.isEmpty())return a.setLastError(10);if(!a.canCallIntoJs())return a.setLastError(a.moduleApiVersion>=10?23:10);a.clearLastError();try{if(!t)return a.setLastError(1);if(!n)return a.setLastError(1);if(!e)return a.setLastError(1);var o=d.handleStore.get(e);return o.isObject()||o.isFunction()?(o.value[d.handleStore.get(t).value]=d.handleStore.get(n).value,a.getReturnStatus()):a.setLastError(2)}catch(r){return a.tryCatch.setError(r),a.setLastError(10)}}});var Lr=Object.freeze({__proto__:null,napi_run_script:function(r,e,t){var n,o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!t)return s.setLastError(1);var i=d.handleStore.get(e);if(!i.isString())return s.setLastError(3);var u=d.handleStore.get(5).value.eval(i.value);o=s.ensureHandleId(u),new DataView(a.buffer).setUint32(t,o,!0),n=s.getReturnStatus()}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}return n}});var mr=Object.freeze({__proto__:null,napi_coerce_to_bool:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{return e&&t?(n=d.handleStore.get(e).value?4:3,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()):o.setLastError(1)}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_number:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(s.isBigInt())throw new TypeError("Cannot convert a BigInt value to a number");return n=d.addToCurrentScope(Number(s.value)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_object:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(null==s.value)throw new TypeError("Cannot convert undefined or null to object");return n=o.ensureHandleId(Object(s.value)),new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_coerce_to_string:function(r,e,t){var n;if(!r)return 1;var o=d.envStore.get(r);if(o.checkGCAccess(),!o.tryCatch.isEmpty())return o.setLastError(10);if(!o.canCallIntoJs())return o.setLastError(o.moduleApiVersion>=10?23:10);o.clearLastError();try{if(!e)return o.setLastError(1);if(!t)return o.setLastError(1);var s=d.handleStore.get(e);if(s.isSymbol())throw new TypeError("Cannot convert a Symbol value to a string");return n=d.addToCurrentScope(String(s.value)).id,new DataView(a.buffer).setUint32(t,n,!0),o.getReturnStatus()}catch(r){return o.tryCatch.setError(r),o.setLastError(10)}},napi_detach_arraybuffer:function(r,e){if(!r)return 1;var t=d.envStore.get(r);if(t.checkGCAccess(),!e)return t.setLastError(1);var n=d.handleStore.get(e).value;if(!(n instanceof ArrayBuffer))return"function"==typeof SharedArrayBuffer&&n instanceof SharedArrayBuffer?t.setLastError(20):t.setLastError(19);try{(new(0,d.feature.MessageChannel)).port1.postMessage(n,[n])}catch(r){return t.setLastError(9)}return t.clearLastError()},napi_instanceof:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{if(!e)return s.setLastError(1);if(!n)return s.setLastError(1);if(!t)return s.setLastError(1);var i=new DataView(a.buffer);i.setInt8(n,0,!0);var u=d.handleStore.get(t);return u.isFunction()?(o=d.handleStore.get(e).value instanceof u.value?1:0,i.setInt8(n,o,!0),s.getReturnStatus()):s.setLastError(5)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_is_array:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isArray()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_arraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isArrayBuffer()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_buffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isBuffer(d.feature.Buffer)?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_dataview:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isDataView()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_date:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isDate()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_detached_arraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!n.tryCatch.isEmpty())return n.setLastError(10);if(!n.canCallIntoJs())return n.setLastError(n.moduleApiVersion>=10?23:10);n.clearLastError();try{if(!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e),s=new DataView(a.buffer);if(o.isArrayBuffer()&&0===o.value.byteLength)try{new Uint8Array(o.value)}catch(r){return s.setInt8(t,1,!0),n.getReturnStatus()}return s.setInt8(t,0,!0),n.getReturnStatus()}catch(r){return n.tryCatch.setError(r),n.setLastError(10)}},napi_is_error:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).value instanceof Error?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_is_typedarray:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e).isTypedArray()?1:0;return new DataView(a.buffer).setInt8(t,o,!0),n.clearLastError()},napi_strict_equals:function(r,e,t,n){var o;if(!r)return 1;var s=d.envStore.get(r);if(s.checkGCAccess(),!s.tryCatch.isEmpty())return s.setLastError(10);if(!s.canCallIntoJs())return s.setLastError(s.moduleApiVersion>=10?23:10);s.clearLastError();try{return e&&(t&&n)?(o=d.handleStore.get(e).value===d.handleStore.get(t).value?1:0,new DataView(a.buffer).setInt8(n,o,!0),s.getReturnStatus()):s.setLastError(1)}catch(r){return s.tryCatch.setError(r),s.setLastError(10)}},napi_typeof:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o,s=d.handleStore.get(e);if(s.isNumber())o=3;else if(s.isBigInt())o=9;else if(s.isString())o=4;else if(s.isFunction())o=7;else if(s.isExternal())o=8;else if(s.isObject())o=6;else if(s.isBoolean())o=2;else if(s.isUndefined())o=0;else if(s.isSymbol())o=5;else{if(!s.isNull())return n.setLastError(1);o=1}return new DataView(a.buffer).setInt32(t,o,!0),n.clearLastError()},node_api_is_sharedarraybuffer:function(r,e,t){if(!r)return 1;var n=d.envStore.get(r);if(n.checkGCAccess(),!e)return n.setLastError(1);if(!t)return n.setLastError(1);var o=d.handleStore.get(e),s="function"==typeof SharedArrayBuffer&&o.value instanceof SharedArrayBuffer||"[object SharedArrayBuffer]"===Object.prototype.toString.call(o.value)?1:0;return new DataView(a.buffer).setInt8(t,s,!0),n.clearLastError()}});var br=Object.freeze({__proto__:null,napi_get_version:function(r,e){if(!r)return 1;var t=d.envStore.get(r);return e?(new DataView(a.buffer).setUint32(e,10,!0),t.clearLastError()):t.setLastError(1)}});function Sr(r){for(var e=Object.keys(r),t=0;t>>=0,0===(u>>>=0))return g.setLastError(1);if(!v)return g.setLastError(1);var y,h=0;if(e){if("function"!=typeof d.handleStore.get(e).value)return g.setLastError(1);h=d.createReference(g,e,1,1).id}else if(!p)return g.setLastError(1);if(t){if(null==(y=d.handleStore.get(t).value))return g.setLastError(2);y=Object(y)}else y={};var E=g.ensureHandleId(y),_=d.handleStore.get(n).value;if("symbol"==typeof _)return g.setLastError(3);_=String(_);var w=g.ensureHandleId(_),L=z.offset.end,m=s(L);if(!m)return g.setLastError(9);new Uint8Array(a.buffer).subarray(m,m+L).fill(0);var b=d.createReference(g,E,1,1),S=b.id,C=new DataView(a.buffer);return C.setUint32(m,S,!0),z.initQueue(m)?(R(E,w,-1,m+z.offset.async_id),C.setUint32(m+z.offset.thread_count,u,!0),C.setUint32(m+z.offset.context,l,!0),C.setUint32(m+z.offset.max_queue_size,o,!0),C.setUint32(m+z.offset.ref,h,!0),C.setUint32(m+z.offset.env,r,!0),C.setUint32(m+z.offset.finalize_data,f,!0),C.setUint32(m+z.offset.finalize_cb,c,!0),C.setUint32(m+z.offset.call_js_cb,p,!0),d.addCleanupHook(g,z.cleanup,m),g.ref(),d.increaseWaitingRequestCounter(),C.setInt32(m+z.offset.async_ref,1,!0),C.setUint32(v,m,!0),g.clearLastError()):(i(m),b.dispose(),g.setLastError(9))},g.imports.napi.napi_get_threadsafe_function_context=function(r,e){if(!r||!e)return l(),1;var t=z.getContext(r);return new DataView(a.buffer).setUint32(e,t,!0),0},g.imports.napi.napi_call_threadsafe_function=function(r,e,t){return r?z.push(r,e,t):(l(),1)},g.imports.napi.napi_acquire_threadsafe_function=function(r){return r?z.getMutex(r).execute(function(){return z.getIsClosing(r)?16:(z.addThreadCount(r),0)}):(l(),1)},g.imports.napi.napi_release_threadsafe_function=function(r,e){if(!r)return l(),1;var t=z.getMutex(r),n=z.getCond(r);return t.execute(function(){if(0===z.getThreadCount(r))return 1;if((z.subThreadCount(r),0===z.getThreadCount(r)||1===e)&&!z.getIsClosing(r)){var t=1===e?1:0;z.setIsClosing(r,t),t&&z.getMaxQueueSize(r)>0&&n.signal(),z.send(r)}return 0})},g.imports.napi.napi_unref_threadsafe_function=function(r,e){if(!e)return l(),1;var t=e+z.offset.async_ref>>2,n=new Int32Array(a.buffer);return Atomics.load(n,t)&&(Atomics.store(n,t,0),d.decreaseWaitingRequestCounter()),0},g.imports.napi.napi_ref_threadsafe_function=function(r,e){if(!e)return l(),1;var t=e+z.offset.async_ref>>2,n=new Int32Array(a.buffer);return Atomics.load(n,t)||(Atomics.store(n,t,1),d.increaseWaitingRequestCounter()),0},g}();return t}function i(r,t,n,a){const o=(a=null!=a?a:{}).getMemory,i=a.getTable,f=a.beforeInit;if(null!=o&&"function"!=typeof o)throw new TypeError("options.getMemory is not a function");if(null!=i&&"function"!=typeof i)throw new TypeError("options.getTable is not a function");if(null!=f&&"function"!=typeof f)throw new TypeError("options.beforeInit is not a function");let c;const l="object"==typeof t&&null!==t;if(l){if(t.loaded)throw new Error("napiModule has already loaded");c=t}else c=s(a);const d=a.wasi;let p,v={env:c.imports.env,napi:c.imports.napi,emnapi:c.imports.emnapi};d&&(p=new e(c.childThread?{wasi:d,childThread:!0,postMessage:c.postMessage}:{wasi:d,threadManager:c.PThread,waitThreadStart:c.waitThreadStart}),Object.assign(v,"function"==typeof d.getImportObject?d.getImportObject():{wasi_snapshot_preview1:d.wasiImport}),Object.assign(v,p.getImportObject()));const g=a.overwriteImports;if("function"==typeof g){const r=g(v);"object"==typeof r&&null!==r&&(v=r)}return r(n,v,(e,t)=>{if(e)throw e;const n=t.instance;let a=n;const s=n.exports,g="memory"in s,y="memory"in v.env,h=o?o(s):g?s.memory:y?v.env.memory:void 0;if(!h)throw new Error("memory is neither exported nor imported");const E=i?i(s):s.__indirect_function_table;if(d&&!g){const r=Object.create(null);Object.assign(r,s,{memory:h}),a={exports:r}}const _=t.module;d?a=p.initialize(a,_,h):c.PThread.setup(_,h);const w=()=>{f&&f({instance:n,module:_}),c.init({instance:a,module:_,memory:h,table:E});const r={instance:n,module:_,usedInstance:a};return l||(r.napiModule=c),r};if(c.PThread.shouldPreloadWorkers()){const e=c.PThread.loadWasmModuleToAllWorkers();if(r===u)return e.then(w);throw new Error("Synchronous loading is not supported with worker pool (reuseWorker.size > 0)")}return w()})}function u(r,e,t){return o(r,e).then(r=>t(null,r),r=>t(r))}function f(r,e,t){let o;try{o=function(r,e){if(!r)throw new TypeError("Invalid wasm source");let t;if(a(e),e=null!=e?e:{},r instanceof ArrayBuffer||ArrayBuffer.isView(r))t=new n.Module(r);else{if(!(r instanceof WebAssembly.Module))throw new TypeError("Invalid wasm source");t=r}return{instance:new n.Instance(t,e),module:t}}(r,e)}catch(r){return t(r)}return t(null,o)}function c(r,e,t){if("object"!=typeof r||null===r)throw new TypeError("Invalid napiModule");return i(u,r,e,t)}function l(r,e,t){if("object"!=typeof r||null===r)throw new TypeError("Invalid napiModule");return i(f,r,e,t)}function d(r,e){return i(u,void 0,r,e)}function p(r,e){return i(f,void 0,r,e)}class v extends t{constructor(r){if("function"!=typeof r.onLoad)throw new TypeError("options.onLoad is not a function");const e=r.onError;super({...r,onError:(r,t)=>{var n;const a=null===(n=this.instance)||void 0===n?void 0:n.exports.emnapi_thread_crashed;if("function"==typeof a&&a(),"function"!=typeof e)throw r;e(r,t)}}),this.napiModule=void 0}instantiate(r){const e=this.onLoad(r);return"function"==typeof e.then?e.then(r=>(this.napiModule=r.napiModule,r)):(this.napiModule=e.napiModule,e)}handle(r){var e;if(super.handle(r),null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.__emnapi__){const e=r.data.__emnapi__.type,t=r.data.__emnapi__.payload;try{"async-worker-init"===e?this.handleAfterLoad(r,()=>{this.napiModule.initWorker(t.arg)}):"async-work-execute"===e&&this.handleAfterLoad(r,()=>{this.napiModule.executeAsyncWork(t.work)})}catch(r){this.onError(r,e)}}}}const g="1.8.1";export{v as MessageHandler,s as createNapiModule,d as instantiateNapiModule,p as instantiateNapiModuleSync,c as loadNapiModule,l as loadNapiModuleSync,g as version};
diff --git a/node_modules/@emnapi/core/dist/emnapi-core.mjs b/node_modules/@emnapi/core/dist/emnapi-core.mjs
deleted file mode 100644
index e9565fe..0000000
--- a/node_modules/@emnapi/core/dist/emnapi-core.mjs
+++ /dev/null
@@ -1,6839 +0,0 @@
-import { ThreadManager, WASIThreads, ThreadMessageHandler } from '@emnapi/wasi-threads';
-export * from '@emnapi/wasi-threads';
-
-const _WebAssembly = typeof WebAssembly !== 'undefined'
- ? WebAssembly
- : typeof WXWebAssembly !== 'undefined'
- ? WXWebAssembly
- : undefined;
-function validateImports(imports) {
- if (imports && typeof imports !== 'object') {
- throw new TypeError('imports must be an object or undefined');
- }
- return true;
-}
-function load(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- try {
- const then = typeof wasmInput === 'object' && wasmInput !== null && 'then' in wasmInput ? wasmInput.then : undefined;
- if (typeof then === 'function') {
- return then.call(wasmInput, (input) => load(input, imports));
- }
- }
- catch (_) { }
- if (wasmInput instanceof ArrayBuffer || ArrayBuffer.isView(wasmInput)) {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- if (wasmInput instanceof _WebAssembly.Module) {
- return _WebAssembly.instantiate(wasmInput, imports).then((instance) => {
- return { instance, module: wasmInput };
- });
- }
- if (typeof Response !== 'undefined' && wasmInput instanceof Response) {
- return wasmInput.arrayBuffer().then(buffer => {
- return _WebAssembly.instantiate(buffer, imports);
- });
- }
- const inputIsString = typeof wasmInput === 'string';
- if (inputIsString || (typeof URL !== 'undefined' && wasmInput instanceof URL)) {
- if (inputIsString && typeof wx !== 'undefined' && typeof __wxConfig !== 'undefined') {
- return _WebAssembly.instantiate(wasmInput, imports);
- }
- if (typeof fetch !== 'function') {
- throw new TypeError('wasm source can not be a string or URL in this environment');
- }
- if (typeof _WebAssembly.instantiateStreaming === 'function') {
- try {
- return _WebAssembly.instantiateStreaming(fetch(wasmInput), imports).catch(() => {
- return load(fetch(wasmInput), imports);
- });
- }
- catch (_) {
- return load(fetch(wasmInput), imports);
- }
- }
- else {
- return load(fetch(wasmInput), imports);
- }
- }
- throw new TypeError('Invalid wasm source');
-}
-function loadSync(wasmInput, imports) {
- if (!wasmInput)
- throw new TypeError('Invalid wasm source');
- validateImports(imports);
- imports = imports !== null && imports !== void 0 ? imports : {};
- let module;
- if ((wasmInput instanceof ArrayBuffer) || ArrayBuffer.isView(wasmInput)) {
- module = new _WebAssembly.Module(wasmInput);
- }
- else if (wasmInput instanceof WebAssembly.Module) {
- module = wasmInput;
- }
- else {
- throw new TypeError('Invalid wasm source');
- }
- const instance = new _WebAssembly.Instance(module, imports);
- const source = { instance, module };
- return source;
-}
-
-function createNapiModule(options) {
- var napiModule = (function () {
- var ENVIRONMENT_IS_NODE = typeof process === 'object' && process !== null && typeof process.versions === 'object' && process.versions !== null && typeof process.versions.node === 'string';
- var ENVIRONMENT_IS_PTHREAD = Boolean(options.childThread);
- var waitThreadStart = typeof options.waitThreadStart === 'number' ? options.waitThreadStart : Boolean(options.waitThreadStart);
- var wasmInstance;
- var wasmMemory;
- var wasmTable;
- var _malloc;
- var _free;
- function abort(msg) {
- if (typeof _WebAssembly.RuntimeError === 'function') {
- throw new _WebAssembly.RuntimeError(msg);
- }
- throw Error(msg);
- }
- var napiModule = {
- imports: {
- env: {},
- napi: {},
- emnapi: {}
- },
- exports: {},
- emnapi: {},
- loaded: false,
- filename: '',
- childThread: ENVIRONMENT_IS_PTHREAD,
- initWorker: undefined,
- executeAsyncWork: undefined,
- waitThreadStart: waitThreadStart,
- PThread: undefined,
- init: function (options) {
- if (napiModule.loaded)
- return napiModule.exports;
- if (!options)
- throw new TypeError('Invalid napi init options');
- var instance = options.instance;
- if (!(instance === null || instance === void 0 ? void 0 : instance.exports))
- throw new TypeError('Invalid wasm instance');
- wasmInstance = instance;
- var exports$1 = instance.exports;
- var module = options.module;
- var memory = options.memory || exports$1.memory;
- var table = options.table || exports$1.__indirect_function_table;
- if (!(module instanceof _WebAssembly.Module))
- throw new TypeError('Invalid wasm module');
- if (!(memory instanceof _WebAssembly.Memory))
- throw new TypeError('Invalid wasm memory');
- if (!(table instanceof _WebAssembly.Table))
- throw new TypeError('Invalid wasm table');
- wasmMemory = memory;
- wasmTable = table;
- if (typeof exports$1.malloc !== 'function')
- throw new TypeError('malloc is not exported');
- if (typeof exports$1.free !== 'function')
- throw new TypeError('free is not exported');
- _malloc = exports$1.malloc;
- _free = exports$1.free;
- if (!napiModule.childThread) {
- var moduleApiVersion = 8;
- var node_api_module_get_api_version_v1 = instance.exports.node_api_module_get_api_version_v1;
- if (typeof node_api_module_get_api_version_v1 === 'function') {
- moduleApiVersion = node_api_module_get_api_version_v1();
- }
- var envObject = napiModule.envObject || (napiModule.envObject = emnapiCtx.createEnv(napiModule.filename, moduleApiVersion, function (cb) { return (wasmTable.get(cb)); }, function (cb) { return (wasmTable.get(cb)); }, abort, emnapiNodeBinding));
- var scope_1 = emnapiCtx.openScope(envObject);
- try {
- envObject.callIntoModule(function (_envObject) {
- var exports$1 = napiModule.exports;
- var exportsHandle = scope_1.add(exports$1);
- var napi_register_wasm_v1 = instance.exports.napi_register_wasm_v1;
- var napiValue = napi_register_wasm_v1(_envObject.id, exportsHandle.id);
- napiModule.exports = (!napiValue) ? exports$1 : emnapiCtx.handleStore.get(napiValue).value;
- });
- }
- catch (e) {
- if (e !== 'unwind') {
- throw e;
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope_1);
- }
- napiModule.loaded = true;
- delete napiModule.envObject;
- return napiModule.exports;
- }
- }
- };
- var emnapiCtx;
- var emnapiNodeBinding;
- var onCreateWorker = undefined;
- var err;
- if (!ENVIRONMENT_IS_PTHREAD) {
- var context = options.context;
- if (typeof context !== 'object' || context === null) {
- throw new TypeError("Invalid `options.context`. Use `import { getDefaultContext } from '@emnapi/runtime'`");
- }
- emnapiCtx = context;
- }
- else {
- emnapiCtx = options === null || options === void 0 ? void 0 : options.context;
- var postMsg = typeof options.postMessage === 'function'
- ? options.postMessage
- : typeof postMessage === 'function'
- ? postMessage
- : undefined;
- if (typeof postMsg !== 'function') {
- throw new TypeError('No postMessage found');
- }
- napiModule.postMessage = postMsg;
- }
- if (typeof options.filename === 'string') {
- napiModule.filename = options.filename;
- }
- if (typeof options.onCreateWorker === 'function') {
- onCreateWorker = options.onCreateWorker;
- }
- if (typeof options.print === 'function') {
- options.print;
- }
- else {
- console.log.bind(console);
- }
- if (typeof options.printErr === 'function') {
- err = options.printErr;
- }
- else {
- err = console.warn.bind(console);
- }
- if ('nodeBinding' in options) {
- var nodeBinding = options.nodeBinding;
- if (typeof nodeBinding !== 'object' || nodeBinding === null) {
- throw new TypeError('Invalid `options.nodeBinding`. Use @emnapi/node-binding package');
- }
- emnapiNodeBinding = nodeBinding;
- }
- var emnapiAsyncWorkPoolSize = 0;
- if ('asyncWorkPoolSize' in options) {
- if (typeof options.asyncWorkPoolSize !== 'number') {
- throw new TypeError('options.asyncWorkPoolSize must be a integer');
- }
- emnapiAsyncWorkPoolSize = options.asyncWorkPoolSize >> 0;
- if (emnapiAsyncWorkPoolSize > 1024) {
- emnapiAsyncWorkPoolSize = 1024;
- }
- else if (emnapiAsyncWorkPoolSize < -1024) {
- emnapiAsyncWorkPoolSize = -1024;
- }
- }
- var singleThreadAsyncWork = ENVIRONMENT_IS_PTHREAD ? false : (emnapiAsyncWorkPoolSize <= 0);
- function _emnapi_async_work_pool_size() {
- return Math.abs(emnapiAsyncWorkPoolSize);
- }
- napiModule.imports.env._emnapi_async_work_pool_size = _emnapi_async_work_pool_size;
- function emnapiAddSendListener(worker) {
- if (!worker)
- return false;
- if (worker._emnapiSendListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-send') {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({ __emnapi__: __emnapi__ });
- }
- else {
- var callback = __emnapi__.payload.callback;
- (wasmTable.get(callback))(__emnapi__.payload.data);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiSendListener;
- };
- worker._emnapiSendListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- }
- napiModule.emnapi.addSendListener = emnapiAddSendListener;
- var PThread = new ThreadManager(ENVIRONMENT_IS_PTHREAD
- ? {
- printErr: err,
- childThread: true
- }
- : {
- printErr: err,
- beforeLoad: function (worker) {
- emnapiAddSendListener(worker);
- },
- reuseWorker: options.reuseWorker,
- onCreateWorker: onCreateWorker
- });
- napiModule.PThread = PThread;
- function napi_set_last_error(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.setLastError(error_code, engine_error_code, engine_reserved);
- }
- function napi_clear_last_error(env) {
- var envObject = emnapiCtx.envStore.get(env);
- return envObject.clearLastError();
- }
- function _emnapi_get_node_version(major, minor, patch) {
- var versions = (typeof process === 'object' && process !== null &&
- typeof process.versions === 'object' && process.versions !== null &&
- typeof process.versions.node === 'string')
- ? process.versions.node.split('.').map(function (n) { return Number(n); })
- : [0, 0, 0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(major, versions[0], true);
- HEAP_DATA_VIEW.setUint32(minor, versions[1], true);
- HEAP_DATA_VIEW.setUint32(patch, versions[2], true);
- }
- function _emnapi_runtime_keepalive_push() {
- }
- function _emnapi_runtime_keepalive_pop() {
- }
- function _emnapi_set_immediate(callback, data) {
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(callback))(data);
- });
- }
- function _emnapi_next_tick(callback, data) {
- Promise.resolve().then(function () {
- (wasmTable.get(callback))(data);
- });
- }
- function _emnapi_callback_into_module(forceUncaught, env, callback, data, close_scope_if_throw) {
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(Boolean(forceUncaught), function () {
- (wasmTable.get(callback))(env, data);
- });
- }
- catch (err) {
- emnapiCtx.closeScope(envObject, scope);
- if (close_scope_if_throw) {
- emnapiCtx.closeScope(envObject);
- }
- throw err;
- }
- emnapiCtx.closeScope(envObject, scope);
- }
- function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
- }
- function _emnapi_ctx_increase_waiting_request_counter() {
- emnapiCtx.increaseWaitingRequestCounter();
- }
- function _emnapi_ctx_decrease_waiting_request_counter() {
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- function _emnapi_is_main_runtime_thread() {
- return ENVIRONMENT_IS_PTHREAD ? 0 : 1;
- }
- function _emnapi_is_main_browser_thread() {
- return (typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE) ? 1 : 0;
- }
- function _emnapi_unwind() {
- throw 'unwind';
- }
- function _emnapi_get_now() {
- return performance.timeOrigin + performance.now();
- }
- function $emnapiSetValueI64(result, numberValue) {
- var tempDouble;
- var tempI64 = [
- numberValue >>> 0,
- (tempDouble = numberValue, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
- ];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, tempI64[0], true);
- HEAP_DATA_VIEW.setInt32(result + 4, tempI64[1], true);
- }
- function _emnapi_open_handle_scope() {
- return emnapiCtx.openScope().id;
- }
- function _emnapi_close_handle_scope(_scope) {
- return emnapiCtx.closeScope();
- }
- var utilMod = Object.freeze({
- __proto__: null,
- $emnapiSetValueI64: $emnapiSetValueI64,
- _emnapi_call_finalizer: _emnapi_call_finalizer,
- _emnapi_callback_into_module: _emnapi_callback_into_module,
- _emnapi_close_handle_scope: _emnapi_close_handle_scope,
- _emnapi_ctx_decrease_waiting_request_counter: _emnapi_ctx_decrease_waiting_request_counter,
- _emnapi_ctx_increase_waiting_request_counter: _emnapi_ctx_increase_waiting_request_counter,
- _emnapi_get_node_version: _emnapi_get_node_version,
- _emnapi_get_now: _emnapi_get_now,
- _emnapi_is_main_browser_thread: _emnapi_is_main_browser_thread,
- _emnapi_is_main_runtime_thread: _emnapi_is_main_runtime_thread,
- _emnapi_next_tick: _emnapi_next_tick,
- _emnapi_open_handle_scope: _emnapi_open_handle_scope,
- _emnapi_runtime_keepalive_pop: _emnapi_runtime_keepalive_pop,
- _emnapi_runtime_keepalive_push: _emnapi_runtime_keepalive_push,
- _emnapi_set_immediate: _emnapi_set_immediate,
- _emnapi_unwind: _emnapi_unwind,
- napi_clear_last_error: napi_clear_last_error,
- napi_set_last_error: napi_set_last_error
- });
- function emnapiGetWorkerByPthreadPtr(pthreadPtr) {
- var view = new DataView(wasmMemory.buffer);
- var tidOffset = 20;
- var tid = view.getInt32(pthreadPtr + tidOffset, true);
- var worker = PThread.pthreads[tid];
- return worker;
- }
- function _emnapi_worker_unref(pthreadPtr) {
- if (ENVIRONMENT_IS_PTHREAD)
- return;
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- }
- function _emnapi_async_send_js(type, callback, data) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-send',
- payload: {
- callback: callback,
- data: data
- }
- }
- });
- }
- else {
- switch (type) {
- case 0:
- _emnapi_set_immediate(callback, data);
- break;
- case 1:
- _emnapi_next_tick(callback, data);
- break;
- }
- }
- }
- var uvThreadpoolReadyResolve;
- var uvThreadpoolReady = new Promise(function (resolve) {
- uvThreadpoolReadyResolve = function () {
- uvThreadpoolReady.ready = true;
- resolve();
- };
- });
- uvThreadpoolReady.ready = false;
- function _emnapi_after_uvthreadpool_ready(callback, q, type) {
- if (uvThreadpoolReady.ready) {
- (wasmTable.get(callback))(q, type);
- }
- else {
- uvThreadpoolReady.then(function () {
- (wasmTable.get(callback))(q, type);
- });
- }
- }
- function _emnapi_tell_js_uvthreadpool(threads, size) {
- var p = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var _loop_1 = function (i) {
- var pthreadPtr = HEAP_DATA_VIEW.getUint32(threads + i * 4, true);
- var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
- p.push(new Promise(function (resolve) {
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__ && __emnapi__.type === 'async-thread-ready') {
- resolve();
- if (worker && typeof worker.unref === 'function') {
- worker.unref();
- }
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler);
- }
- }
- };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler);
- }
- }));
- };
- for (var i = 0; i < size; i++) {
- _loop_1(i);
- }
- Promise.all(p).then(uvThreadpoolReadyResolve);
- }
- function _emnapi_emit_async_thread_ready() {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-thread-ready',
- payload: {}
- }
- });
- }
- var asyncMod = Object.freeze({
- __proto__: null,
- _emnapi_after_uvthreadpool_ready: _emnapi_after_uvthreadpool_ready,
- _emnapi_async_send_js: _emnapi_async_send_js,
- _emnapi_emit_async_thread_ready: _emnapi_emit_async_thread_ready,
- _emnapi_tell_js_uvthreadpool: _emnapi_tell_js_uvthreadpool,
- _emnapi_worker_unref: _emnapi_worker_unref
- });
- function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!adjusted_value)
- return envObject.setLastError(1);
- var change_in_bytes_number = Number(change_in_bytes);
- if (change_in_bytes_number < 0) {
- return envObject.setLastError(1);
- }
- var old_size = wasmMemory.buffer.byteLength;
- var new_size = old_size + change_in_bytes_number;
- new_size = new_size + ((65536 - new_size % 65536) % 65536);
- if (wasmMemory.grow((new_size - old_size + 65535) >> 16) === -1) {
- return envObject.setLastError(9);
- }
- if (emnapiCtx.feature.supportBigInt) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(wasmMemory.buffer.byteLength), true);
- }
- else {
- $emnapiSetValueI64(adjusted_value, wasmMemory.buffer.byteLength);
- }
- return envObject.clearLastError();
- }
- var memoryMod = Object.freeze({
- __proto__: null,
- napi_adjust_external_memory: napi_adjust_external_memory
- });
- var emnapiAWST = {
- idGen: {},
- values: [undefined],
- queued: new Set(),
- pending: [],
- init: function () {
- var idGen = {
- nextId: 1,
- list: [],
- generate: function () {
- var id;
- if (idGen.list.length) {
- id = idGen.list.shift();
- }
- else {
- id = idGen.nextId;
- idGen.nextId++;
- }
- return id;
- },
- reuse: function (id) {
- idGen.list.push(id);
- }
- };
- emnapiAWST.idGen = idGen;
- emnapiAWST.values = [undefined];
- emnapiAWST.queued = new Set();
- emnapiAWST.pending = [];
- },
- create: function (env, resource, resourceName, execute, complete, data) {
- var asyncId = 0;
- var triggerAsyncId = 0;
- if (emnapiNodeBinding) {
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resourceName, -1);
- asyncId = asyncContext.asyncId;
- triggerAsyncId = asyncContext.triggerAsyncId;
- }
- var id = emnapiAWST.idGen.generate();
- emnapiAWST.values[id] = {
- env: env,
- id: id,
- resource: resource,
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId,
- status: 0,
- execute: execute,
- complete: complete,
- data: data
- };
- return id;
- },
- callComplete: function (work, status) {
- var complete = work.complete;
- var env = work.env;
- var data = work.data;
- var callback = function () {
- if (!complete)
- return;
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- try {
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- };
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.makeCallback(work.resource, callback, [], {
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- else {
- callback();
- }
- },
- queue: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (work.status === 0) {
- work.status = 1;
- if (emnapiAWST.queued.size >= (Math.abs(emnapiAsyncWorkPoolSize) || 4)) {
- emnapiAWST.pending.push(id);
- return;
- }
- emnapiAWST.queued.add(id);
- var env_1 = work.env;
- var data_1 = work.data;
- var execute = work.execute;
- work.status = 2;
- emnapiCtx.feature.setImmediate(function () {
- (wasmTable.get(execute))(env_1, data_1);
- emnapiAWST.queued.delete(id);
- work.status = 3;
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work, 0);
- });
- if (emnapiAWST.pending.length > 0) {
- var nextWorkId = emnapiAWST.pending.shift();
- emnapiAWST.values[nextWorkId].status = 0;
- emnapiAWST.queue(nextWorkId);
- }
- });
- }
- },
- cancel: function (id) {
- var index = emnapiAWST.pending.indexOf(id);
- if (index !== -1) {
- var work_1 = emnapiAWST.values[id];
- if (work_1 && (work_1.status === 1)) {
- work_1.status = 4;
- emnapiAWST.pending.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiAWST.callComplete(work_1, 11);
- });
- return 0;
- }
- else {
- return 9;
- }
- }
- return 9;
- },
- remove: function (id) {
- var work = emnapiAWST.values[id];
- if (!work)
- return;
- if (emnapiNodeBinding) {
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: work.asyncId,
- triggerAsyncId: work.triggerAsyncId
- });
- }
- emnapiAWST.values[id] = undefined;
- emnapiAWST.idGen.reuse(id);
- }
- };
- function _emnapi_node_emit_async_init(async_resource, async_resource_name, trigger_async_id, result) {
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var resource_name = emnapiCtx.handleStore.get(async_resource_name).value;
- var asyncContext = emnapiNodeBinding.node.emitAsyncInit(resource, resource_name, trigger_async_id);
- var asyncId = asyncContext.asyncId;
- var triggerAsyncId = asyncContext.triggerAsyncId;
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
- HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
- }
- }
- function _emnapi_node_emit_async_destroy(async_id, trigger_async_id) {
- if (!emnapiNodeBinding)
- return;
- emnapiNodeBinding.node.emitAsyncDestroy({
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- }
- function _emnapi_node_make_callback(env, async_resource, cb, argv, size, async_id, trigger_async_id, result) {
- var i = 0;
- var v;
- if (!emnapiNodeBinding)
- return;
- var resource = emnapiCtx.handleStore.get(async_resource).value;
- var callback = emnapiCtx.handleStore.get(cb).value;
- size = size >>> 0;
- var arr = Array(size);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < size; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.node.makeCallback(resource, callback, arr, {
- asyncId: async_id,
- triggerAsyncId: trigger_async_id
- });
- if (result) {
- var envObject = emnapiCtx.envStore.get(env);
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- }
- function _emnapi_async_init_js(async_resource, async_resource_name, result) {
- if (!emnapiNodeBinding) {
- return 9;
- }
- var resource;
- if (async_resource) {
- resource = Object(emnapiCtx.handleStore.get(async_resource).value);
- }
- var name = emnapiCtx.handleStore.get(async_resource_name).value;
- var ret = emnapiNodeBinding.napi.asyncInit(resource, name);
- if (ret.status !== 0)
- return ret.status;
- var numberValue = ret.value;
- if (!((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63))))) {
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return 0;
- }
- function _emnapi_async_destroy_js(async_context) {
- if (!emnapiNodeBinding) {
- return 9;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var pointer = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- var ret = emnapiNodeBinding.napi.asyncDestroy(pointer);
- if (ret.status !== 0)
- return ret.status;
- return 0;
- }
- function napi_open_callback_scope(env, ignored, async_context_handle, result) {
- throw new Error('napi_open_callback_scope has not been implemented yet');
- }
- function napi_close_callback_scope(env, scope) {
- throw new Error('napi_close_callback_scope has not been implemented yet');
- }
- function napi_make_callback(env, async_context, recv, func, argc, argv, result) {
- var i = 0;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiNodeBinding) {
- return envObject.setLastError(9);
- }
- if (!recv)
- return envObject.setLastError(1);
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- var v8recv = Object(emnapiCtx.handleStore.get(recv).value);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function') {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var low = HEAP_DATA_VIEW.getInt32(async_context, true);
- var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
- var ctx = BigInt(low >>> 0) | (BigInt(high) << BigInt(32));
- argc = argc >>> 0;
- var arr = Array(argc);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- arr[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- var ret = emnapiNodeBinding.napi.makeCallback(ctx, v8recv, v8func, arr);
- if (ret.error) {
- throw ret.error;
- }
- if (ret.status !== 0)
- return envObject.setLastError(ret.status);
- if (result) {
- v = envObject.ensureHandleId(ret.value);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function _emnapi_env_check_gc_access(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- }
- var nodeMod = Object.freeze({
- __proto__: null,
- _emnapi_async_destroy_js: _emnapi_async_destroy_js,
- _emnapi_async_init_js: _emnapi_async_init_js,
- _emnapi_env_check_gc_access: _emnapi_env_check_gc_access,
- _emnapi_node_emit_async_destroy: _emnapi_node_emit_async_destroy,
- _emnapi_node_emit_async_init: _emnapi_node_emit_async_init,
- _emnapi_node_make_callback: _emnapi_node_make_callback,
- napi_close_callback_scope: napi_close_callback_scope,
- napi_make_callback: napi_make_callback,
- napi_open_callback_scope: napi_open_callback_scope
- });
- var emnapiTSFN = {
- offset: {
- resource: 0,
- async_id: 8,
- trigger_async_id: 16,
- queue_size: 24,
- queue: 1 * 4 + 24,
- thread_count: 2 * 4 + 24,
- is_closing: 3 * 4 + 24,
- dispatch_state: 3 * 4 + 28,
- context: 3 * 4 + 32,
- max_queue_size: 4 * 4 + 32,
- ref: 5 * 4 + 32,
- env: 6 * 4 + 32,
- finalize_data: 7 * 4 + 32,
- finalize_cb: 8 * 4 + 32,
- call_js_cb: 9 * 4 + 32,
- handles_closing: 10 * 4 + 32,
- async_ref: 10 * 4 + 36,
- mutex: 10 * 4 + 40,
- cond: 10 * 4 + 44,
- end: 10 * 4 + 48
- },
- init: function () {
- if (typeof PThread !== 'undefined') {
- PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
- PThread.runningWorkers.forEach(emnapiTSFN.addListener);
- var __original_getNewWorker_1 = PThread.getNewWorker;
- PThread.getNewWorker = function () {
- var r = __original_getNewWorker_1.apply(this, arguments);
- emnapiTSFN.addListener(r);
- return r;
- };
- }
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiTSFNListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'tsfn-send') {
- emnapiTSFN.dispatch(payload.tsfn);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiTSFNListener;
- };
- worker._emnapiTSFNListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initQueue: function (func) {
- var size = 2 * 4;
- var queue = _malloc(size);
- if (!queue)
- return false;
- new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
- emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
- return true;
- },
- destroyQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- if (queue) {
- _free(queue);
- }
- },
- pushQueue: function (func, data) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- var tail = emnapiTSFN.loadSizeTypeValue(queue + 4, false);
- var size = 2 * 4;
- var node = _malloc(size);
- if (!node)
- throw new Error('OOM');
- emnapiTSFN.storeSizeTypeValue(node, data, false);
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- if (head === 0 && tail === 0) {
- emnapiTSFN.storeSizeTypeValue(queue, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- else {
- emnapiTSFN.storeSizeTypeValue(tail + 4, node, false);
- emnapiTSFN.storeSizeTypeValue(queue + 4, node, false);
- }
- emnapiTSFN.addQueueSize(func);
- },
- shiftQueue: function (func) {
- var queue = emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue, false);
- var head = emnapiTSFN.loadSizeTypeValue(queue, false);
- if (head === 0)
- return 0;
- var node = head;
- var next = emnapiTSFN.loadSizeTypeValue(head + 4, false);
- emnapiTSFN.storeSizeTypeValue(queue, next, false);
- if (next === 0) {
- emnapiTSFN.storeSizeTypeValue(queue + 4, 0, false);
- }
- emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
- var value = emnapiTSFN.loadSizeTypeValue(node, false);
- _free(node);
- emnapiTSFN.subQueueSize(func);
- return value;
- },
- push: function (func, data, mode) {
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- var waitCondition = function () {
- var queueSize = emnapiTSFN.getQueueSize(func);
- var maxSize = emnapiTSFN.getMaxQueueSize(func);
- var isClosing = emnapiTSFN.getIsClosing(func);
- return queueSize >= maxSize && maxSize > 0 && !isClosing;
- };
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- return mutex.execute(function () {
- while (waitCondition()) {
- if (mode === 0) {
- return 15;
- }
- if (isBrowserMain) {
- return 21;
- }
- cond.wait();
- }
- if (emnapiTSFN.getIsClosing(func)) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1;
- }
- else {
- emnapiTSFN.subThreadCount(func);
- return 16;
- }
- }
- else {
- emnapiTSFN.pushQueue(func, data);
- emnapiTSFN.send(func);
- return 0;
- }
- });
- },
- getMutex: function (func) {
- var index = func + emnapiTSFN.offset.mutex;
- var mutex = {
- lock: function () {
- var isBrowserMain = typeof window !== 'undefined' && typeof document !== 'undefined' && !ENVIRONMENT_IS_NODE;
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- if (isBrowserMain) {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- }
- }
- else {
- while (true) {
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
- if (oldValue === 0) {
- return;
- }
- Atomics.wait(i32a, 0, 1);
- }
- }
- },
- unlock: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var oldValue = Atomics.compareExchange(i32a, 0, 1, 0);
- if (oldValue !== 1) {
- throw new Error('Tried to unlock while not holding the mutex');
- }
- Atomics.notify(i32a, 0, 1);
- },
- execute: function (fn) {
- mutex.lock();
- try {
- return fn();
- }
- finally {
- mutex.unlock();
- }
- }
- };
- return mutex;
- },
- getCond: function (func) {
- var index = func + emnapiTSFN.offset.cond;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = {
- wait: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- var value = Atomics.load(i32a, 0);
- mutex.unlock();
- Atomics.wait(i32a, 0, value);
- mutex.lock();
- },
- signal: function () {
- var i32a = new Int32Array(wasmMemory.buffer, index, 1);
- Atomics.add(i32a, 0, 1);
- Atomics.notify(i32a, 0, 1);
- }
- };
- return cond;
- },
- getQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.queue_size, true);
- },
- addQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subQueueSize: function (func) {
- var offset = emnapiTSFN.offset.queue_size;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getThreadCount: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.thread_count, true);
- },
- addThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.add(arr, index, 1);
- },
- subThreadCount: function (func) {
- var offset = emnapiTSFN.offset.thread_count;
- var arr, index;
- arr = new Uint32Array(wasmMemory.buffer);
- index = (func + offset) >> 2;
- Atomics.sub(arr, index, 1);
- },
- getIsClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2);
- },
- setIsClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.is_closing) >> 2, value);
- },
- getHandlesClosing: function (func) {
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2);
- },
- setHandlesClosing: function (func, value) {
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing) >> 2, value);
- },
- getDispatchState: function (func) {
- return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2);
- },
- getContext: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
- },
- getMaxQueueSize: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.max_queue_size, true);
- },
- getEnv: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.env, false);
- },
- getCallJSCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.call_js_cb, false);
- },
- getRef: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.ref, false);
- },
- getResource: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.resource, false);
- },
- getFinalizeCb: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_cb, false);
- },
- getFinalizeData: function (func) {
- return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.finalize_data, false);
- },
- loadSizeTypeValue: function (offset, unsigned) {
- var ret;
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- ret = Atomics.load(arr, offset >> 2);
- return ret;
- }
- },
- storeSizeTypeValue: function (offset, value, unsigned) {
- var arr;
- if (unsigned) {
- arr = new Uint32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value);
- return undefined;
- }
- else {
- arr = new Int32Array(wasmMemory.buffer);
- Atomics.store(arr, offset >> 2, value >>> 0);
- return undefined;
- }
- },
- destroy: function (func) {
- emnapiTSFN.destroyQueue(func);
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- var ref = emnapiTSFN.getRef(func);
- if (ref) {
- emnapiCtx.refStore.get(ref).dispose();
- }
- emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
- envObject.unref();
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- var resource = emnapiTSFN.getResource(func);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(func);
- },
- emptyQueueAndDelete: function (func) {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var context = emnapiTSFN.getContext(func);
- var data;
- while (emnapiTSFN.getQueueSize(func) > 0) {
- data = emnapiTSFN.shiftQueue(func);
- if (callJsCb) {
- (wasmTable.get(callJsCb))(0, 0, context, data);
- }
- }
- emnapiTSFN.destroy(func);
- },
- finalize: function (func) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- var finalize = emnapiTSFN.getFinalizeCb(func);
- var data = emnapiTSFN.getFinalizeData(func);
- var context = emnapiTSFN.getContext(func);
- var f = function () {
- envObject.callFinalizerInternal(0, finalize, data, context);
- };
- try {
- if (finalize) {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- f();
- }
- }
- emnapiTSFN.emptyQueueAndDelete(func);
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- cleanup: function (func) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 1);
- },
- closeHandlesAndMaybeDelete: function (func, set_closing) {
- var env = emnapiTSFN.getEnv(func);
- var envObject = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject);
- try {
- if (set_closing) {
- emnapiTSFN.getMutex(func).execute(function () {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- emnapiTSFN.getCond(func).signal();
- }
- });
- }
- if (emnapiTSFN.getHandlesClosing(func)) {
- return;
- }
- emnapiTSFN.setHandlesClosing(func, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.finalize(func);
- });
- }
- finally {
- emnapiCtx.closeScope(envObject);
- }
- },
- dispatchOne: function (func) {
- var data = 0;
- var popped_value = false;
- var has_more = false;
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- else {
- var size = emnapiTSFN.getQueueSize(func);
- if (size > 0) {
- data = emnapiTSFN.shiftQueue(func);
- popped_value = true;
- var maxQueueSize = emnapiTSFN.getMaxQueueSize(func);
- if (size === maxQueueSize && maxQueueSize > 0) {
- cond.signal();
- }
- size--;
- }
- if (size === 0) {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- emnapiTSFN.setIsClosing(func, 1);
- if (emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
- }
- }
- else {
- has_more = true;
- }
- }
- });
- if (popped_value) {
- var env = emnapiTSFN.getEnv(func);
- var envObject_1 = emnapiCtx.envStore.get(env);
- emnapiCtx.openScope(envObject_1);
- var f = function () {
- envObject_1.callbackIntoModule(false, function () {
- var callJsCb = emnapiTSFN.getCallJSCb(func);
- var ref = emnapiTSFN.getRef(func);
- var js_callback = ref ? emnapiCtx.refStore.get(ref).get() : 0;
- if (callJsCb) {
- var context = emnapiTSFN.getContext(func);
- (wasmTable.get(callJsCb))(env, js_callback, context, data);
- }
- else {
- var jsCallback = js_callback ? emnapiCtx.handleStore.get(js_callback).value : null;
- if (typeof jsCallback === 'function') {
- jsCallback();
- }
- }
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiTSFN.getResource(func);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- emnapiNodeBinding.node.makeCallback(resourceObject, f, [], {
- asyncId: view.getFloat64(func + emnapiTSFN.offset.async_id, true),
- triggerAsyncId: view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true)
- });
- }
- else {
- f();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject_1);
- }
- }
- return has_more;
- },
- dispatch: function (func) {
- var has_more = true;
- var iterations_left = 1000;
- var ui32a = new Uint32Array(wasmMemory.buffer);
- var index = (func + emnapiTSFN.offset.dispatch_state) >> 2;
- while (has_more && --iterations_left !== 0) {
- Atomics.store(ui32a, index, 1);
- has_more = emnapiTSFN.dispatchOne(func);
- if (Atomics.exchange(ui32a, index, 0) !== 1) {
- has_more = true;
- }
- }
- if (has_more) {
- emnapiTSFN.send(func);
- }
- },
- send: function (func) {
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2, 1 << 1);
- if ((current_state & 1) === 1) {
- return;
- }
- if ((typeof ENVIRONMENT_IS_PTHREAD !== 'undefined') && ENVIRONMENT_IS_PTHREAD) {
- postMessage({
- __emnapi__: {
- type: 'tsfn-send',
- payload: {
- tsfn: func
- }
- }
- });
- }
- else {
- emnapiCtx.feature.setImmediate(function () {
- emnapiTSFN.dispatch(func);
- });
- }
- }
- };
- function napi_create_threadsafe_function(env, func, async_resource, async_resource_name, max_queue_size, initial_thread_count, thread_finalize_data, thread_finalize_cb, context, call_js_cb, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!async_resource_name)
- return envObject.setLastError(1);
- max_queue_size = max_queue_size >>> 0;
- initial_thread_count = initial_thread_count >>> 0;
- if (initial_thread_count === 0) {
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- var ref = 0;
- if (!func) {
- if (!call_js_cb)
- return envObject.setLastError(1);
- }
- else {
- var funcValue = emnapiCtx.handleStore.get(func).value;
- if (typeof funcValue !== 'function') {
- return envObject.setLastError(1);
- }
- ref = emnapiCtx.createReference(envObject, func, 1, 1).id;
- }
- var asyncResourceObject;
- if (async_resource) {
- asyncResourceObject = emnapiCtx.handleStore.get(async_resource).value;
- if (asyncResourceObject == null) {
- return envObject.setLastError(2);
- }
- asyncResourceObject = Object(asyncResourceObject);
- }
- else {
- asyncResourceObject = {};
- }
- var resource = envObject.ensureHandleId(asyncResourceObject);
- var asyncResourceName = emnapiCtx.handleStore.get(async_resource_name).value;
- if (typeof asyncResourceName === 'symbol') {
- return envObject.setLastError(3);
- }
- asyncResourceName = String(asyncResourceName);
- var resource_name = envObject.ensureHandleId(asyncResourceName);
- var sizeofTSFN = emnapiTSFN.offset.end;
- var tsfn = _malloc(sizeofTSFN);
- if (!tsfn)
- return envObject.setLastError(9);
- new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
- var resourceRef = emnapiCtx.createReference(envObject, resource, 1, 1);
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
- if (!emnapiTSFN.initQueue(tsfn)) {
- _free(tsfn);
- resourceRef.dispose();
- return envObject.setLastError(9);
- }
- _emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.ref, ref, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_data, thread_finalize_data, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.finalize_cb, thread_finalize_cb, true);
- HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.call_js_cb, call_js_cb, true);
- emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
- envObject.ref();
- emnapiCtx.increaseWaitingRequestCounter();
- HEAP_DATA_VIEW.setInt32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
- HEAP_DATA_VIEW.setUint32(result, tsfn, true);
- return envObject.clearLastError();
- }
- function napi_get_threadsafe_function_context(func, result) {
- if (!func || !result) {
- abort();
- return 1;
- }
- var context = emnapiTSFN.getContext(func);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, context, true);
- return 0;
- }
- function napi_call_threadsafe_function(func, data, mode) {
- if (!func) {
- abort();
- return 1;
- }
- return emnapiTSFN.push(func, data, mode);
- }
- function napi_acquire_threadsafe_function(func) {
- if (!func) {
- abort();
- return 1;
- }
- var mutex = emnapiTSFN.getMutex(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getIsClosing(func)) {
- return 16;
- }
- emnapiTSFN.addThreadCount(func);
- return 0;
- });
- }
- function napi_release_threadsafe_function(func, mode) {
- if (!func) {
- abort();
- return 1;
- }
- var mutex = emnapiTSFN.getMutex(func);
- var cond = emnapiTSFN.getCond(func);
- return mutex.execute(function () {
- if (emnapiTSFN.getThreadCount(func) === 0) {
- return 1;
- }
- emnapiTSFN.subThreadCount(func);
- if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1) {
- var isClosing = emnapiTSFN.getIsClosing(func);
- if (!isClosing) {
- var isClosingValue = (mode === 1) ? 1 : 0;
- emnapiTSFN.setIsClosing(func, isClosingValue);
- if (isClosingValue && emnapiTSFN.getMaxQueueSize(func) > 0) {
- cond.signal();
- }
- emnapiTSFN.send(func);
- }
- }
- return 0;
- });
- }
- function napi_unref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 0);
- emnapiCtx.decreaseWaitingRequestCounter();
- }
- return 0;
- }
- function napi_ref_threadsafe_function(env, func) {
- if (!func) {
- abort();
- return 1;
- }
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
- var arr = new Int32Array(wasmMemory.buffer);
- if (!Atomics.load(arr, asyncRefOffset)) {
- Atomics.store(arr, asyncRefOffset, 1);
- emnapiCtx.increaseWaitingRequestCounter();
- }
- return 0;
- }
- var emnapiAWMT = {
- unusedWorkers: [],
- runningWorkers: [],
- workQueue: [],
- workerReady: null,
- offset: {
- resource: 0,
- async_id: 8,
- trigger_async_id: 16,
- env: 24,
- data: 1 * 4 + 24,
- execute: 2 * 4 + 24,
- complete: 3 * 4 + 24,
- end: 4 * 4 + 24
- },
- init: function () {
- emnapiAWMT.unusedWorkers = [];
- emnapiAWMT.runningWorkers = [];
- emnapiAWMT.workQueue = [];
- emnapiAWMT.workerReady = null;
- },
- addListener: function (worker) {
- if (!worker)
- return false;
- if (worker._emnapiAWMTListener)
- return true;
- var handler = function (e) {
- var data = ENVIRONMENT_IS_NODE ? e : e.data;
- var __emnapi__ = data.__emnapi__;
- if (__emnapi__) {
- var type = __emnapi__.type;
- var payload = __emnapi__.payload;
- if (type === 'async-work-complete') {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
- emnapiAWMT.unusedWorkers.push(worker);
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(payload.work, 0);
- }
- else if (type === 'async-work-queue') {
- emnapiAWMT.scheduleWork(payload.work);
- }
- else if (type === 'async-work-cancel') {
- emnapiAWMT.cancelWork(payload.work);
- }
- }
- };
- var dispose = function () {
- if (ENVIRONMENT_IS_NODE) {
- worker.off('message', handler);
- }
- else {
- worker.removeEventListener('message', handler, false);
- }
- delete worker._emnapiAWMTListener;
- };
- worker._emnapiAWMTListener = { handler: handler, dispose: dispose };
- if (ENVIRONMENT_IS_NODE) {
- worker.on('message', handler);
- }
- else {
- worker.addEventListener('message', handler, false);
- }
- return true;
- },
- initWorkers: function (n) {
- if (ENVIRONMENT_IS_PTHREAD) {
- return emnapiAWMT.workerReady || (emnapiAWMT.workerReady = Promise.resolve());
- }
- if (emnapiAWMT.workerReady)
- return emnapiAWMT.workerReady;
- if (typeof onCreateWorker !== 'function') {
- throw new TypeError('`options.onCreateWorker` is not a function');
- }
- var promises = [];
- var args = [];
- if (!('emnapi_async_worker_create' in wasmInstance.exports)) {
- throw new TypeError('`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags');
- }
- for (var i = 0; i < n; ++i) {
- args.push(wasmInstance.exports.emnapi_async_worker_create());
- }
- try {
- var _loop_1 = function (i) {
- var worker = onCreateWorker({ type: 'async-work', name: 'emnapi-async-worker' });
- var p = PThread.loadWasmModuleToWorker(worker);
- emnapiAWMT.addListener(worker);
- promises.push(p.then(function () {
- if (typeof worker.unref === 'function') {
- worker.unref();
- }
- }));
- emnapiAWMT.unusedWorkers.push(worker);
- var arg = args[i];
- worker.threadBlockBase = arg;
- worker.postMessage({
- __emnapi__: {
- type: 'async-worker-init',
- payload: { arg: arg }
- }
- });
- };
- for (var i = 0; i < n; ++i) {
- _loop_1(i);
- }
- }
- catch (err) {
- for (var i = 0; i < n; ++i) {
- var arg = args[i];
- _free(arg);
- }
- throw err;
- }
- emnapiAWMT.workerReady = Promise.all(promises);
- return emnapiAWMT.workerReady;
- },
- checkIdleWorker: function () {
- if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
- var worker = emnapiAWMT.unusedWorkers.shift();
- var work = emnapiAWMT.workQueue.shift();
- emnapiAWMT.runningWorkers.push(worker);
- worker.postMessage({
- __emnapi__: {
- type: 'async-work-execute',
- payload: { work: work }
- }
- });
- }
- },
- getResource: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.resource, false);
- },
- getExecute: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.execute, false);
- },
- getComplete: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.complete, false);
- },
- getEnv: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.env, false);
- },
- getData: function (work) {
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.data, false);
- },
- scheduleWork: function (work) {
- var _a;
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_1 = napiModule.postMessage;
- postMessage_1({
- __emnapi__: {
- type: 'async-work-queue',
- payload: { work: work }
- }
- });
- return;
- }
- emnapiCtx.increaseWaitingRequestCounter();
- emnapiAWMT.workQueue.push(work);
- if ((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready) {
- emnapiAWMT.checkIdleWorker();
- }
- else {
- var fail = function (err) {
- emnapiCtx.decreaseWaitingRequestCounter();
- throw err;
- };
- try {
- emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function () {
- emnapiAWMT.workerReady.ready = true;
- emnapiAWMT.checkIdleWorker();
- }, fail);
- }
- catch (err) {
- fail(err);
- }
- }
- },
- cancelWork: function (work) {
- if (ENVIRONMENT_IS_PTHREAD) {
- var postMessage_2 = napiModule.postMessage;
- postMessage_2({
- __emnapi__: {
- type: 'async-work-cancel',
- payload: { work: work }
- }
- });
- return 0;
- }
- var index = emnapiAWMT.workQueue.indexOf(work);
- if (index !== -1) {
- emnapiAWMT.workQueue.splice(index, 1);
- emnapiCtx.feature.setImmediate(function () {
- emnapiCtx.decreaseWaitingRequestCounter();
- emnapiAWMT.checkIdleWorker();
- emnapiAWMT.callComplete(work, 11);
- });
- return 0;
- }
- return 9;
- },
- callComplete: function (work, status) {
- var complete = emnapiAWMT.getComplete(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- var envObject = emnapiCtx.envStore.get(env);
- var scope = emnapiCtx.openScope(envObject);
- var callback = function () {
- if (!complete)
- return;
- envObject.callbackIntoModule(true, function () {
- (wasmTable.get(complete))(env, status, data);
- });
- };
- try {
- if (emnapiNodeBinding) {
- var resource = emnapiAWMT.getResource(work);
- var resource_value = emnapiCtx.refStore.get(resource).get();
- var resourceObject = emnapiCtx.handleStore.get(resource_value).value;
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- emnapiNodeBinding.node.makeCallback(resourceObject, callback, [], {
- asyncId: asyncId,
- triggerAsyncId: triggerAsyncId
- });
- }
- else {
- callback();
- }
- }
- finally {
- emnapiCtx.closeScope(envObject, scope);
- }
- }
- };
- var napi_create_async_work = singleThreadAsyncWork
- ? function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1);
- var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
- var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, id, true);
- return envObject.clearLastError();
- }
- : function (env, resource, resource_name, execute, complete, data, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!execute)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var resourceObject;
- if (resource) {
- resourceObject = Object(emnapiCtx.handleStore.get(resource).value);
- }
- else {
- resourceObject = {};
- }
- if (!resource_name)
- return envObject.setLastError(1);
- var sizeofAW = emnapiAWMT.offset.end;
- var aw = _malloc(sizeofAW);
- if (!aw)
- return envObject.setLastError(9);
- new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
- var s = envObject.ensureHandleId(resourceObject);
- var resourceRef = emnapiCtx.createReference(envObject, s, 1, 1);
- var resource_ = resourceRef.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(aw, resource_, true);
- _emnapi_node_emit_async_init(s, resource_name, -1, aw + emnapiAWMT.offset.async_id);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.env, env, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
- HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
- HEAP_DATA_VIEW.setUint32(result, aw, true);
- return envObject.clearLastError();
- };
- var napi_delete_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1);
- emnapiAWST.remove(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!work)
- return envObject.setLastError(1);
- var resource = emnapiAWMT.getResource(work);
- emnapiCtx.refStore.get(resource).dispose();
- if (emnapiNodeBinding) {
- var view = new DataView(wasmMemory.buffer);
- var asyncId = view.getFloat64(work + emnapiAWMT.offset.async_id, true);
- var triggerAsyncId = view.getFloat64(work + emnapiAWMT.offset.trigger_async_id, true);
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
- }
- _free(work);
- return envObject.clearLastError();
- };
- var napi_queue_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- emnapiAWST.queue(work);
- return envObject.clearLastError();
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- emnapiAWMT.scheduleWork(work);
- return envObject.clearLastError();
- };
- var napi_cancel_async_work = singleThreadAsyncWork
- ? function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- var status = emnapiAWST.cancel(work);
- if (status === 0)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- }
- : function (env, work) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!work)
- return envObject.setLastError(1);
- var status = emnapiAWMT.cancelWork(work);
- if (status === 0)
- return envObject.clearLastError();
- return envObject.setLastError(status);
- };
- function initWorker(startArg) {
- if (napiModule.childThread) {
- if (typeof wasmInstance.exports.emnapi_async_worker_init !== 'function') {
- throw new TypeError('`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags');
- }
- wasmInstance.exports.emnapi_async_worker_init(startArg);
- }
- else {
- throw new Error('startThread is only available in child threads');
- }
- }
- function executeAsyncWork(work) {
- if (!ENVIRONMENT_IS_PTHREAD)
- return;
- var execute = emnapiAWMT.getExecute(work);
- var env = emnapiAWMT.getEnv(work);
- var data = emnapiAWMT.getData(work);
- (wasmTable.get(execute))(env, data);
- var postMessage = napiModule.postMessage;
- postMessage({
- __emnapi__: {
- type: 'async-work-complete',
- payload: { work: work }
- }
- });
- }
- napiModule.initWorker = initWorker;
- napiModule.executeAsyncWork = executeAsyncWork;
- var asyncWorkMod = Object.freeze({
- __proto__: null,
- napi_cancel_async_work: napi_cancel_async_work,
- napi_create_async_work: napi_create_async_work,
- napi_delete_async_work: napi_delete_async_work,
- napi_queue_async_work: napi_queue_async_work
- });
- var emnapiExternalMemory = {
- registry: typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined,
- table: new WeakMap(),
- wasmMemoryViewTable: new WeakMap(),
- init: function () {
- emnapiExternalMemory.registry = typeof FinalizationRegistry === 'function' ? new FinalizationRegistry(function (_pointer) { _free(_pointer); }) : undefined;
- emnapiExternalMemory.table = new WeakMap();
- emnapiExternalMemory.wasmMemoryViewTable = new WeakMap();
- },
- isSharedArrayBuffer: function (value) {
- return ((typeof SharedArrayBuffer === 'function' && value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(value) === '[object SharedArrayBuffer]'));
- },
- isDetachedArrayBuffer: function (arrayBuffer) {
- if (arrayBuffer.byteLength === 0) {
- try {
- new Uint8Array(arrayBuffer);
- }
- catch (_) {
- return true;
- }
- }
- return false;
- },
- getArrayBufferPointer: function (arrayBuffer, shouldCopy) {
- var _a;
- var info = {
- address: 0,
- ownership: 0,
- runtimeAllocated: 0
- };
- if (arrayBuffer === wasmMemory.buffer) {
- return info;
- }
- var isDetached = emnapiExternalMemory.isDetachedArrayBuffer(arrayBuffer);
- if (emnapiExternalMemory.table.has(arrayBuffer)) {
- var cachedInfo = emnapiExternalMemory.table.get(arrayBuffer);
- if (isDetached) {
- cachedInfo.address = 0;
- return cachedInfo;
- }
- if (shouldCopy && cachedInfo.ownership === 0 && cachedInfo.runtimeAllocated === 1) {
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), cachedInfo.address);
- }
- return cachedInfo;
- }
- if (isDetached || (arrayBuffer.byteLength === 0)) {
- return info;
- }
- if (!shouldCopy) {
- return info;
- }
- var pointer = _malloc(arrayBuffer.byteLength);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
- info.address = pointer;
- info.ownership = emnapiExternalMemory.registry ? 0 : 1;
- info.runtimeAllocated = 1;
- emnapiExternalMemory.table.set(arrayBuffer, info);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(arrayBuffer, pointer);
- return info;
- },
- getOrUpdateMemoryView: function (view) {
- if (view.buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(view, {
- Ctor: view.constructor,
- address: view.byteOffset,
- length: view instanceof DataView ? view.byteLength : view.length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- return view;
- }
- var maybeOldWasmMemory = emnapiExternalMemory.isDetachedArrayBuffer(view.buffer) ||
- ((typeof SharedArrayBuffer === 'function') && (view.buffer instanceof SharedArrayBuffer));
- if (maybeOldWasmMemory && emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var info = emnapiExternalMemory.wasmMemoryViewTable.get(view);
- var Ctor = info.Ctor;
- var newView = void 0;
- var Buffer_1 = emnapiCtx.feature.Buffer;
- if (typeof Buffer_1 === 'function' && Ctor === Buffer_1) {
- newView = Buffer_1.from(wasmMemory.buffer, info.address, info.length);
- }
- else {
- newView = new Ctor(wasmMemory.buffer, info.address, info.length);
- }
- emnapiExternalMemory.wasmMemoryViewTable.set(newView, info);
- return newView;
- }
- return view;
- },
- getViewPointer: function (view, shouldCopy) {
- view = emnapiExternalMemory.getOrUpdateMemoryView(view);
- if (view.buffer === wasmMemory.buffer) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(view)) {
- var _a = emnapiExternalMemory.wasmMemoryViewTable.get(view), address_1 = _a.address, ownership_1 = _a.ownership, runtimeAllocated_1 = _a.runtimeAllocated;
- return { address: address_1, ownership: ownership_1, runtimeAllocated: runtimeAllocated_1, view: view };
- }
- return { address: view.byteOffset, ownership: 1, runtimeAllocated: 0, view: view };
- }
- var _b = emnapiExternalMemory.getArrayBufferPointer(view.buffer, shouldCopy), address = _b.address, ownership = _b.ownership, runtimeAllocated = _b.runtimeAllocated;
- return { address: address === 0 ? 0 : (address + view.byteOffset), ownership: ownership, runtimeAllocated: runtimeAllocated, view: view };
- }
- };
- var emnapiString = {
- utf8Decoder: undefined,
- utf16Decoder: undefined,
- init: function () {
- var fallbackDecoder = {
- decode: function (bytes) {
- var inputIndex = 0;
- var pendingSize = Math.min(0x1000, bytes.length + 1);
- var pending = new Uint16Array(pendingSize);
- var chunks = [];
- var pendingIndex = 0;
- for (;;) {
- var more = inputIndex < bytes.length;
- if (!more || (pendingIndex >= pendingSize - 1)) {
- var subarray = pending.subarray(0, pendingIndex);
- var arraylike = subarray;
- chunks.push(String.fromCharCode.apply(null, arraylike));
- if (!more) {
- return chunks.join('');
- }
- bytes = bytes.subarray(inputIndex);
- inputIndex = 0;
- pendingIndex = 0;
- }
- var byte1 = bytes[inputIndex++];
- if ((byte1 & 0x80) === 0) {
- pending[pendingIndex++] = byte1;
- }
- else if ((byte1 & 0xe0) === 0xc0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 6) | byte2;
- }
- else if ((byte1 & 0xf0) === 0xe0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- pending[pendingIndex++] = ((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3;
- }
- else if ((byte1 & 0xf8) === 0xf0) {
- var byte2 = bytes[inputIndex++] & 0x3f;
- var byte3 = bytes[inputIndex++] & 0x3f;
- var byte4 = bytes[inputIndex++] & 0x3f;
- var codepoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
- if (codepoint > 0xffff) {
- codepoint -= 0x10000;
- pending[pendingIndex++] = (codepoint >>> 10) & 0x3ff | 0xd800;
- codepoint = 0xdc00 | codepoint & 0x3ff;
- }
- pending[pendingIndex++] = codepoint;
- }
- else ;
- }
- }
- };
- var utf8Decoder;
- utf8Decoder = typeof TextDecoder === 'function' ? new TextDecoder() : fallbackDecoder;
- emnapiString.utf8Decoder = utf8Decoder;
- var fallbackDecoder2 = {
- decode: function (input) {
- var bytes = new Uint16Array(input.buffer, input.byteOffset, input.byteLength / 2);
- if (bytes.length <= 0x1000) {
- return String.fromCharCode.apply(null, bytes);
- }
- var chunks = [];
- var i = 0;
- var len = 0;
- for (; i < bytes.length; i += len) {
- len = Math.min(0x1000, bytes.length - i);
- chunks.push(String.fromCharCode.apply(null, bytes.subarray(i, i + len)));
- }
- return chunks.join('');
- }
- };
- var utf16Decoder;
- utf16Decoder = typeof TextDecoder === 'function' ? new TextDecoder('utf-16le') : fallbackDecoder2;
- emnapiString.utf16Decoder = utf16Decoder;
- },
- lengthBytesUTF8: function (str) {
- var c;
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- c = str.charCodeAt(i);
- if (c <= 0x7F) {
- len++;
- }
- else if (c <= 0x7FF) {
- len += 2;
- }
- else if (c >= 0xD800 && c <= 0xDFFF) {
- len += 4;
- ++i;
- }
- else {
- len += 3;
- }
- }
- return len;
- },
- UTF8ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var end = ptr;
- if (length === -1) {
- for (; HEAPU8[end];)
- ++end;
- }
- else {
- end = ptr + (length >>> 0);
- }
- length = end - ptr;
- if (length <= 16) {
- var idx = ptr;
- var str = '';
- while (idx < end) {
- var u0 = HEAPU8[idx++];
- if (!(u0 & 0x80)) {
- str += String.fromCharCode(u0);
- continue;
- }
- var u1 = HEAPU8[idx++] & 63;
- if ((u0 & 0xE0) === 0xC0) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- var u2 = HEAPU8[idx++] & 63;
- if ((u0 & 0xF0) === 0xE0) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- }
- else {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (HEAPU8[idx++] & 63);
- }
- if (u0 < 0x10000) {
- str += String.fromCharCode(u0);
- }
- else {
- var ch = u0 - 0x10000;
- str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
- }
- }
- return str;
- }
- return emnapiString.utf8Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF8: function (str, outPtr, maxBytesToWrite) {
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- var outIdx = outPtr;
- outIdx >>>= 0;
- if (!(maxBytesToWrite > 0)) {
- return 0;
- }
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 0xD800 && u <= 0xDFFF) {
- var u1 = str.charCodeAt(++i);
- u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
- }
- if (u <= 0x7F) {
- if (outIdx >= endIdx)
- break;
- HEAPU8[outIdx++] = u;
- }
- else if (u <= 0x7FF) {
- if (outIdx + 1 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xC0 | (u >> 6);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else if (u <= 0xFFFF) {
- if (outIdx + 2 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xE0 | (u >> 12);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- else {
- if (outIdx + 3 >= endIdx)
- break;
- HEAPU8[outIdx++] = 0xF0 | (u >> 18);
- HEAPU8[outIdx++] = 0x80 | ((u >> 12) & 63);
- HEAPU8[outIdx++] = 0x80 | ((u >> 6) & 63);
- HEAPU8[outIdx++] = 0x80 | (u & 63);
- }
- }
- HEAPU8[outIdx] = 0;
- return outIdx - startIdx;
- },
- UTF16ToString: function (ptr, length) {
- if (!ptr || !length)
- return '';
- ptr >>>= 0;
- var end = ptr;
- if (length === -1) {
- var idx = end >> 1;
- var HEAPU16 = new Uint16Array(wasmMemory.buffer);
- while (HEAPU16[idx])
- ++idx;
- end = idx << 1;
- }
- else {
- end = ptr + (length >>> 0) * 2;
- }
- length = end - ptr;
- if (length <= 32) {
- return String.fromCharCode.apply(null, new Uint16Array(wasmMemory.buffer, ptr, length / 2));
- }
- var HEAPU8 = new Uint8Array(wasmMemory.buffer);
- return emnapiString.utf16Decoder.decode(((typeof SharedArrayBuffer === "function" && HEAPU8.buffer instanceof SharedArrayBuffer) || (Object.prototype.toString.call(HEAPU8.buffer) === "[object SharedArrayBuffer]")) ? HEAPU8.slice(ptr, end) : HEAPU8.subarray(ptr, end));
- },
- stringToUTF16: function (str, outPtr, maxBytesToWrite) {
- if (maxBytesToWrite === undefined) {
- maxBytesToWrite = 0x7FFFFFFF;
- }
- if (maxBytesToWrite < 2)
- return 0;
- maxBytesToWrite -= 2;
- var startPtr = outPtr;
- var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < numCharsToWrite; ++i) {
- var codeUnit = str.charCodeAt(i);
- HEAP_DATA_VIEW.setInt16(outPtr, codeUnit, true);
- outPtr += 2;
- }
- HEAP_DATA_VIEW.setInt16(outPtr, 0, true);
- return outPtr - startPtr;
- },
- newString: function (env, str, length, result, stringMaker) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1);
- var strValue = stringMaker(str, autoLength, sizelength);
- var value = emnapiCtx.addToCurrentScope(strValue).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- },
- newExternalString: function (env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!str)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- if (!(autoLength || (sizelength <= 2147483647)))
- return envObject.setLastError(1);
- var status = createApi(env, str, length, result);
- if (status === 0) {
- if (copied) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(copied, 1, true);
- }
- if (finalize_callback) {
- envObject.callFinalizer(finalize_callback, str, finalize_hint);
- }
- }
- return status;
- }
- };
- function napi_get_array_length(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isArray()) {
- return envObject.setLastError(8);
- }
- var v = handle.value.length >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_arraybuffer_info(env, arraybuffer, data, byte_length) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (data) {
- var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
- }
- return envObject.clearLastError();
- }
- function node_api_set_prototype(env, object, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- var obj = emnapiCtx.handleStore.get(object).value;
- if (obj == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var type = typeof obj;
- var v = void 0;
- try {
- v = (type === 'object' && obj !== null) || type === 'function' ? obj : Object(obj);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var val = emnapiCtx.handleStore.get(value).value;
- Object.setPrototypeOf(v, val);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_prototype(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = handle.isObject() || handle.isFunction() ? handle.value : Object(handle.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_typedarray_info(env, typedarray, type, length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!typedarray)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(typedarray);
- if (!handle.isTypedArray()) {
- return envObject.setLastError(1);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (type) {
- var t = void 0;
- if (v instanceof Int8Array) {
- t = 0;
- }
- else if (v instanceof Uint8Array) {
- t = 1;
- }
- else if (v instanceof Uint8ClampedArray) {
- t = 2;
- }
- else if (v instanceof Int16Array) {
- t = 3;
- }
- else if (v instanceof Uint16Array) {
- t = 4;
- }
- else if (v instanceof Int32Array) {
- t = 5;
- }
- else if (v instanceof Uint32Array) {
- t = 6;
- }
- else if (typeof Float16Array === 'function' && v instanceof Float16Array) {
- t = 11;
- }
- else if (v instanceof Float32Array) {
- t = 7;
- }
- else if (v instanceof Float64Array) {
- t = 8;
- }
- else if (v instanceof BigInt64Array) {
- t = 9;
- }
- else if (v instanceof BigUint64Array) {
- t = 10;
- }
- else {
- return envObject.setLastError(9);
- }
- HEAP_DATA_VIEW.setInt32(type, t, true);
- }
- if (length) {
- HEAP_DATA_VIEW.setUint32(length, v.length, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_buffer_info(env, buffer, data, length) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!buffer)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(buffer);
- if (!handle.isBuffer(emnapiCtx.feature.Buffer))
- return envObject.setLastError(1);
- if (handle.isDataView()) {
- return napi_get_dataview_info(env, buffer, length, data, 0, 0);
- }
- return napi_get_typedarray_info(env, buffer, 0, length, data, 0, 0);
- }
- function napi_get_dataview_info(env, dataview, byte_length, data, arraybuffer, byte_offset) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!dataview)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(dataview);
- if (!handle.isDataView()) {
- return envObject.setLastError(1);
- }
- var v = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (byte_length) {
- HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
- }
- var buffer;
- if (data || arraybuffer) {
- buffer = v.buffer;
- if (data) {
- var p = emnapiExternalMemory.getViewPointer(v, true).address;
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- if (arraybuffer) {
- var ab = envObject.ensureHandleId(buffer);
- HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
- }
- }
- if (byte_offset) {
- HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_date_value(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isDate()) {
- return envObject.setLastError(1);
- }
- v = handle.value.valueOf();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_value_bool(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'boolean') {
- return envObject.setLastError(7);
- }
- var r = handle.value ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_get_value_double(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var r = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setFloat64(result, r, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_int64(env, value, result, lossless) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!lossless)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= (BigInt(-1) * (BigInt(1) << BigInt(63)))) && (numberValue < (BigInt(1) << BigInt(63)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- if (numberValue >= (BigInt(1) << BigInt(63))) {
- numberValue = numberValue - (BigInt(1) << BigInt(64));
- }
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setInt32(result, low, true);
- HEAP_DATA_VIEW.setInt32(result + 4, high, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_uint64(env, value, result, lossless) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!lossless)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- var numberValue = handle.value;
- if (typeof numberValue !== 'bigint') {
- return envObject.setLastError(6);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if ((numberValue >= BigInt(0)) && (numberValue < (BigInt(1) << BigInt(64)))) {
- HEAP_DATA_VIEW.setInt8(lossless, 1, true);
- }
- else {
- HEAP_DATA_VIEW.setInt8(lossless, 0, true);
- numberValue = numberValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- }
- var low = Number(numberValue & BigInt(0xffffffff));
- var high = Number(numberValue >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(result, low, true);
- HEAP_DATA_VIEW.setUint32(result + 4, high, true);
- return envObject.clearLastError();
- }
- function napi_get_value_bigint_words(env, value, sign_bit, word_count, words) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!value)
- return envObject.setLastError(1);
- if (!word_count)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isBigInt()) {
- return envObject.setLastError(17);
- }
- var isMinus = handle.value < BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
- var wordCount = 0;
- var bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- while (bigintValue !== BigInt(0)) {
- wordCount++;
- bigintValue = bigintValue >> BigInt(64);
- }
- bigintValue = isMinus ? (handle.value * BigInt(-1)) : handle.value;
- if (!sign_bit && !words) {
- word_count_int = wordCount;
- HEAP_DATA_VIEW.setUint32(word_count, word_count_int, true);
- }
- else {
- if (!sign_bit)
- return envObject.setLastError(1);
- if (!words)
- return envObject.setLastError(1);
- var wordsArr = [];
- while (bigintValue !== BigInt(0)) {
- var uint64 = bigintValue & ((BigInt(1) << BigInt(64)) - BigInt(1));
- wordsArr.push(uint64);
- bigintValue = bigintValue >> BigInt(64);
- }
- var len = Math.min(word_count_int, wordsArr.length);
- for (var i = 0; i < len; i++) {
- var low = Number(wordsArr[i] & BigInt(0xffffffff));
- var high = Number(wordsArr[i] >> BigInt(32));
- HEAP_DATA_VIEW.setUint32(words + i * 8, low, true);
- HEAP_DATA_VIEW.setUint32(words + (i * 8 + 4), high, true);
- }
- HEAP_DATA_VIEW.setInt32(sign_bit, isMinus ? 1 : 0, true);
- HEAP_DATA_VIEW.setUint32(word_count, len, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_external(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (!handle.isExternal()) {
- return envObject.setLastError(1);
- }
- var p = handle.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, p, true);
- return envObject.clearLastError();
- }
- function napi_get_value_int32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var v = new Int32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_get_value_int64(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var numberValue = handle.value;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 0, true);
- }
- else if (numberValue < -9223372036854776e3) {
- HEAP_DATA_VIEW.setInt32(result, 0, true);
- HEAP_DATA_VIEW.setInt32(result + 4, 2147483648, true);
- }
- else if (numberValue >= 9223372036854776000) {
- HEAP_DATA_VIEW.setUint32(result, 4294967295, true);
- HEAP_DATA_VIEW.setUint32(result + 4, 2147483647, true);
- }
- else {
- $emnapiSetValueI64(result, Math.trunc(numberValue));
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_latin1(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = 0;
- var v = void 0;
- for (var i = 0; i < buf_size - 1; ++i) {
- v = handle.value.charCodeAt(i) & 0xff;
- HEAP_DATA_VIEW.setUint8(buf + i, v, true);
- copied++;
- }
- HEAP_DATA_VIEW.setUint8(buf + copied, 0, true);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_utf8(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- var strLength = emnapiString.lengthBytesUTF8(handle.value);
- HEAP_DATA_VIEW.setUint32(result, strLength, true);
- }
- else if (buf_size !== 0) {
- var copied = emnapiString.stringToUTF8(handle.value, buf, buf_size);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_string_utf16(env, value, buf, buf_size, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- buf_size = buf_size >>> 0;
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'string') {
- return envObject.setLastError(3);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!buf) {
- if (!result)
- return envObject.setLastError(1);
- HEAP_DATA_VIEW.setUint32(result, handle.value.length, true);
- }
- else if (buf_size !== 0) {
- var copied = emnapiString.stringToUTF16(handle.value, buf, buf_size * 2);
- if (result) {
- HEAP_DATA_VIEW.setUint32(result, copied / 2, true);
- }
- }
- else if (result) {
- HEAP_DATA_VIEW.setUint32(result, 0, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_value_uint32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (typeof handle.value !== 'number') {
- return envObject.setLastError(6);
- }
- var v = new Uint32Array([handle.value])[0];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- var convert2cMod = Object.freeze({
- __proto__: null,
- napi_get_array_length: napi_get_array_length,
- napi_get_arraybuffer_info: napi_get_arraybuffer_info,
- napi_get_buffer_info: napi_get_buffer_info,
- napi_get_dataview_info: napi_get_dataview_info,
- napi_get_date_value: napi_get_date_value,
- napi_get_prototype: napi_get_prototype,
- napi_get_typedarray_info: napi_get_typedarray_info,
- napi_get_value_bigint_int64: napi_get_value_bigint_int64,
- napi_get_value_bigint_uint64: napi_get_value_bigint_uint64,
- napi_get_value_bigint_words: napi_get_value_bigint_words,
- napi_get_value_bool: napi_get_value_bool,
- napi_get_value_double: napi_get_value_double,
- napi_get_value_external: napi_get_value_external,
- napi_get_value_int32: napi_get_value_int32,
- napi_get_value_int64: napi_get_value_int64,
- napi_get_value_string_latin1: napi_get_value_string_latin1,
- napi_get_value_string_utf16: napi_get_value_string_utf16,
- napi_get_value_string_utf8: napi_get_value_string_utf8,
- napi_get_value_uint32: napi_get_value_uint32,
- node_api_set_prototype: node_api_set_prototype
- });
- function napi_create_int32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_uint32(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_int64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = Number(low);
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_double(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_create_string_latin1(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str, autoLength, sizeLength) {
- var latin1String = '';
- var len = 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (autoLength) {
- while (true) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- str++;
- }
- }
- else {
- while (len < sizeLength) {
- var ch = HEAP_DATA_VIEW.getUint8(str, true);
- if (!ch)
- break;
- latin1String += String.fromCharCode(ch);
- len++;
- str++;
- }
- }
- return latin1String;
- });
- }
- function napi_create_string_utf16(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF16ToString(str, length);
- });
- }
- function napi_create_string_utf8(env, str, length, result) {
- return emnapiString.newString(env, str, length, result, function (str) {
- return emnapiString.UTF8ToString(str, length);
- });
- }
- function node_api_create_external_string_latin1(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_latin1, undefined);
- }
- function node_api_create_external_string_utf16(env, str, length, finalize_callback, finalize_hint, result, copied) {
- return emnapiString.newExternalString(env, str, length, finalize_callback, finalize_hint, result, copied, napi_create_string_utf16, undefined);
- }
- function node_api_create_property_key_latin1(env, str, length, result) {
- return napi_create_string_latin1(env, str, length, result);
- }
- function node_api_create_property_key_utf8(env, str, length, result) {
- return napi_create_string_utf8(env, str, length, result);
- }
- function node_api_create_property_key_utf16(env, str, length, result) {
- return napi_create_string_utf16(env, str, length, result);
- }
- function napi_create_bigint_int64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = low;
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_bigint_uint64(env, low, high, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- var value;
- if (!high)
- return envObject.setLastError(1);
- value = low & ((BigInt(1) << BigInt(64)) - BigInt(1));
- var v1 = emnapiCtx.addToCurrentScope(value).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(high, v1, true);
- return envObject.clearLastError();
- }
- function napi_create_bigint_words(env, sign_bit, word_count, words, result) {
- var v, i;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportBigInt) {
- return envObject.setLastError(9);
- }
- if (!result)
- return envObject.setLastError(1);
- word_count = word_count >>> 0;
- if (word_count > 2147483647) {
- return envObject.setLastError(1);
- }
- if (word_count > (1024 * 1024 / (4 * 8) / 2)) {
- throw new RangeError('Maximum BigInt size exceeded');
- }
- var value = BigInt(0);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (i = 0; i < word_count; i++) {
- var low = HEAP_DATA_VIEW.getUint32(words + i * 8, true);
- var high = HEAP_DATA_VIEW.getUint32(words + (i * 8 + 4), true);
- var wordi = BigInt(low) | (BigInt(high) << BigInt(32));
- value += wordi << BigInt(64 * i);
- }
- value *= ((BigInt(sign_bit) % BigInt(2) === BigInt(0)) ? BigInt(1) : BigInt(-1));
- v = emnapiCtx.addToCurrentScope(value).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var convert2napiMod = Object.freeze({
- __proto__: null,
- napi_create_bigint_int64: napi_create_bigint_int64,
- napi_create_bigint_uint64: napi_create_bigint_uint64,
- napi_create_bigint_words: napi_create_bigint_words,
- napi_create_double: napi_create_double,
- napi_create_int32: napi_create_int32,
- napi_create_int64: napi_create_int64,
- napi_create_string_latin1: napi_create_string_latin1,
- napi_create_string_utf16: napi_create_string_utf16,
- napi_create_string_utf8: napi_create_string_utf8,
- napi_create_uint32: napi_create_uint32,
- node_api_create_external_string_latin1: node_api_create_external_string_latin1,
- node_api_create_external_string_utf16: node_api_create_external_string_utf16,
- node_api_create_property_key_latin1: node_api_create_property_key_latin1,
- node_api_create_property_key_utf16: node_api_create_property_key_utf16,
- node_api_create_property_key_utf8: node_api_create_property_key_utf8
- });
- function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
- var functionName = (!utf8name || !length) ? '' : (emnapiString.UTF8ToString(utf8name, length));
- var f;
- var napiCallback = (wasmTable.get(cb));
- var callback = function (envObject) {
- return napiCallback(envObject.id, envObject.ctx.scopeStore.currentScope.id);
- };
- var makeFunction = function (envObject, callback) {
- return function () {
- var scope = envObject.ctx.openScope(envObject);
- var callbackInfo = scope.callbackInfo;
- callbackInfo.data = data;
- callbackInfo.args = arguments;
- callbackInfo.thiz = this;
- callbackInfo.fn = f;
- try {
- var napiValue = envObject.callIntoModule(callback);
- return (!napiValue) ? undefined : envObject.ctx.handleStore.get(napiValue).value;
- }
- finally {
- callbackInfo.data = 0;
- callbackInfo.args = undefined;
- callbackInfo.thiz = undefined;
- callbackInfo.fn = undefined;
- envObject.ctx.closeScope(envObject, scope);
- }
- };
- };
- if (functionName === '') {
- f = makeFunction(envObject, callback);
- return { status: 0, f: f };
- }
- if (!(/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(functionName))) {
- return { status: 1, f: undefined };
- }
- if (emnapiCtx.feature.supportNewFunction) {
- var _ = makeFunction(envObject, callback);
- try {
- f = (new Function('_', 'return function ' + functionName + '(){' +
- '"use strict";' +
- 'return _.apply(this,arguments);' +
- '};'))(_);
- }
- catch (_err) {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- }
- else {
- f = makeFunction(envObject, callback);
- if (emnapiCtx.feature.canSetFunctionName)
- Object.defineProperty(f, 'name', { value: functionName });
- }
- return { status: 0, f: f };
- }
- function emnapiDefineProperty(envObject, obj, propertyName, method, getter, setter, value, attributes, data) {
- if (getter || setter) {
- var localGetter = void 0;
- var localSetter = void 0;
- if (getter) {
- localGetter = emnapiCreateFunction(envObject, 0, 0, getter, data).f;
- }
- if (setter) {
- localSetter = emnapiCreateFunction(envObject, 0, 0, setter, data).f;
- }
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- get: localGetter,
- set: localSetter
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else if (method) {
- var localMethod = emnapiCreateFunction(envObject, 0, 0, method, data).f;
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- writable: (attributes & 1) !== 0,
- value: localMethod
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- else {
- var desc = {
- configurable: (attributes & 4) !== 0,
- enumerable: (attributes & 2) !== 0,
- writable: (attributes & 1) !== 0,
- value: emnapiCtx.handleStore.get(value).value
- };
- Object.defineProperty(obj, propertyName, desc);
- }
- }
- function emnapiGetHandle(js_object) {
- var handle = emnapiCtx.handleStore.get(js_object);
- if (!(handle.isObject() || handle.isFunction())) {
- return { status: 1 };
- }
- if (typeof emnapiExternalMemory !== 'undefined' && ArrayBuffer.isView(handle.value)) {
- if (emnapiExternalMemory.wasmMemoryViewTable.has(handle.value)) {
- handle = emnapiCtx.addToCurrentScope(emnapiExternalMemory.wasmMemoryViewTable.get(handle.value));
- }
- }
- return { status: 0, handle: handle };
- }
- function emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- var referenceId;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!emnapiCtx.feature.supportFinalizer) {
- if (finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- if (result) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_wrap', 'Parameter "result" must be 0(NULL)');
- }
- }
- if (!js_object)
- return envObject.setLastError(1);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- if (envObject.getObjectBinding(handle.value).wrapped !== 0) {
- return envObject.setLastError(1);
- }
- var reference = void 0;
- if (result) {
- if (!finalize_cb)
- return envObject.setLastError(1);
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1, finalize_cb, native_object, finalize_hint);
- referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- else {
- if (finalize_cb) {
- reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 0, finalize_cb, native_object, finalize_hint);
- }
- else {
- reference = emnapiCtx.createReferenceWithData(envObject, handle.id, 0, 0, native_object);
- }
- }
- envObject.getObjectBinding(handle.value).wrapped = reference.id;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapiUnwrap(env, js_object, result, action) {
- var data;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!js_object)
- return envObject.setLastError(1);
- if (action === 0) {
- if (!result)
- return envObject.setLastError(1);
- }
- var value = emnapiCtx.handleStore.get(js_object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(1);
- }
- var binding = envObject.getObjectBinding(value.value);
- var referenceId = binding.wrapped;
- var ref = emnapiCtx.refStore.get(referenceId);
- if (!ref)
- return envObject.setLastError(1);
- if (result) {
- data = ref.data();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, data, true);
- }
- if (action === 1) {
- binding.wrapped = 0;
- if (ref.ownership() === 1) {
- ref.resetFinalizer();
- }
- else {
- ref.dispose();
- }
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_define_class(env, utf8name, length, constructor, callback_data, property_count, properties, result) {
- var propPtr, valueHandleId, attributes;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!constructor)
- return envObject.setLastError(1);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1);
- }
- if ((length < -1) || (length > 2147483647) || (!utf8name)) {
- return envObject.setLastError(1);
- }
- var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
- if (fresult.status !== 0)
- return envObject.setLastError(fresult.status);
- var F = fresult.f;
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_1 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_1) {
- return envObject.setLastError(4);
- }
- propertyName = emnapiCtx.handleStore.get(name_1).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4);
- }
- }
- if ((attributes & 1024) !== 0) {
- emnapiDefineProperty(envObject, F, propertyName, method, getter, setter, value, attributes, data);
- continue;
- }
- emnapiDefineProperty(envObject, F.prototype, propertyName, method, getter, setter, value, attributes, data);
- }
- var valueHandle = emnapiCtx.addToCurrentScope(F);
- valueHandleId = valueHandle.id;
- HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_wrap(env, js_object, native_object, finalize_cb, finalize_hint, result) {
- return emnapiWrap(env, js_object, native_object, finalize_cb, finalize_hint, result);
- }
- function napi_unwrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 0);
- }
- function napi_remove_wrap(env, js_object, result) {
- return emnapiUnwrap(env, js_object, result, 1);
- }
- function napi_type_tag_object(env, object, type_tag) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 2);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var tag = new Uint8Array(16);
- tag.set(new Uint8Array(wasmMemory.buffer, type_tag, 16));
- binding.tag = new Uint32Array(tag.buffer);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_check_object_type_tag(env, object, type_tag, result) {
- var ret = true;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var value = emnapiCtx.handleStore.get(object);
- if (!(value.isObject() || value.isFunction())) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 2);
- }
- if (!type_tag) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- if (!result) {
- return envObject.setLastError(envObject.tryCatch.hasCaught() ? 10 : 1);
- }
- var binding = envObject.getObjectBinding(value.value);
- if (binding.tag !== null) {
- var tag = binding.tag;
- var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
- ret = (tag[0] === typeTag[0] &&
- tag[1] === typeTag[1] &&
- tag[2] === typeTag[2] &&
- tag[3] === typeTag[3]);
- }
- else {
- ret = false;
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_add_finalizer(env, js_object, finalize_data, finalize_cb, finalize_hint, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!emnapiCtx.feature.supportFinalizer) {
- return envObject.setLastError(9);
- }
- if (!js_object)
- return envObject.setLastError(1);
- if (!finalize_cb)
- return envObject.setLastError(1);
- var handleResult = emnapiGetHandle(js_object);
- if (handleResult.status !== 0) {
- return envObject.setLastError(handleResult.status);
- }
- var handle = handleResult.handle;
- var ownership = !result ? 0 : 1;
- var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
- if (result) {
- var referenceId = reference.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, referenceId, true);
- }
- return envObject.clearLastError();
- }
- function node_api_post_finalizer(env, finalize_cb, finalize_data, finalize_hint) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.enqueueFinalizer(emnapiCtx.createTrackedFinalizer(envObject, finalize_cb, finalize_data, finalize_hint));
- return envObject.clearLastError();
- }
- var wrapMod = Object.freeze({
- __proto__: null,
- napi_add_finalizer: napi_add_finalizer,
- napi_check_object_type_tag: napi_check_object_type_tag,
- napi_define_class: napi_define_class,
- napi_remove_wrap: napi_remove_wrap,
- napi_type_tag_object: napi_type_tag_object,
- napi_unwrap: napi_unwrap,
- napi_wrap: napi_wrap,
- node_api_post_finalizer: node_api_post_finalizer
- });
- function emnapi_create_memory_view(env, typedarray_type, external_data, byte_length, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if (byte_length > 2147483647) {
- throw new RangeError('Cannot create a memory view larger than 2147483647 bytes');
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('emnapi_create_memory_view', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var viewDescriptor = void 0;
- switch (typedarray_type) {
- case 0:
- viewDescriptor = { Ctor: Int8Array, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 1:
- viewDescriptor = { Ctor: Uint8Array, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 2:
- viewDescriptor = { Ctor: Uint8ClampedArray, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 3:
- viewDescriptor = { Ctor: Int16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case 4:
- viewDescriptor = { Ctor: Uint16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case 5:
- viewDescriptor = { Ctor: Int32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 6:
- viewDescriptor = { Ctor: Uint32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 7:
- viewDescriptor = { Ctor: Float32Array, address: external_data, length: byte_length >> 2, ownership: 1, runtimeAllocated: 0 };
- break;
- case 8:
- viewDescriptor = { Ctor: Float64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case 9:
- viewDescriptor = { Ctor: BigInt64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case 10:
- viewDescriptor = { Ctor: BigUint64Array, address: external_data, length: byte_length >> 3, ownership: 1, runtimeAllocated: 0 };
- break;
- case -1:
- viewDescriptor = { Ctor: DataView, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- case 11:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1);
- }
- viewDescriptor = { Ctor: Float16Array, address: external_data, length: byte_length >> 1, ownership: 1, runtimeAllocated: 0 };
- break;
- case -2: {
- if (!emnapiCtx.feature.Buffer) {
- throw emnapiCtx.createNotSupportBufferError('emnapi_create_memory_view', '');
- }
- viewDescriptor = { Ctor: emnapiCtx.feature.Buffer, address: external_data, length: byte_length, ownership: 1, runtimeAllocated: 0 };
- break;
- }
- default: return envObject.setLastError(1);
- }
- var Ctor = viewDescriptor.Ctor;
- var typedArray = typedarray_type === -2
- ? emnapiCtx.feature.Buffer.from(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length)
- : new Ctor(wasmMemory.buffer, viewDescriptor.address, viewDescriptor.length);
- var handle = emnapiCtx.addToCurrentScope(typedArray);
- emnapiExternalMemory.wasmMemoryViewTable.set(typedArray, viewDescriptor);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, 0);
- if (status_1 === 10) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapi_is_support_weakref() {
- return emnapiCtx.feature.supportFinalizer ? 1 : 0;
- }
- function emnapi_is_support_bigint() {
- return emnapiCtx.feature.supportBigInt ? 1 : 0;
- }
- function emnapi_is_node_binding_available() {
- return emnapiNodeBinding ? 1 : 0;
- }
- function $emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
- offset = offset !== null && offset !== void 0 ? offset : 0;
- offset = offset >>> 0;
- var view;
- if (arrayBufferOrView instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = arrayBufferOrView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return arrayBufferOrView;
- view = new Uint8Array(arrayBufferOrView, offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return arrayBufferOrView;
- }
- if (ArrayBuffer.isView(arrayBufferOrView)) {
- var viewPointerInfo = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- var latestView = viewPointerInfo.view;
- var pointer = viewPointerInfo.address;
- if (!pointer)
- throw new Error('Unknown ArrayBuffer address');
- if (typeof len !== 'number' || len === -1) {
- len = latestView.byteLength - offset;
- }
- len = len >>> 0;
- if (len === 0)
- return latestView;
- view = new Uint8Array(latestView.buffer, latestView.byteOffset + offset, len);
- var wasmMemoryU8 = new Uint8Array(wasmMemory.buffer);
- if (!js_to_wasm) {
- view.set(wasmMemoryU8.subarray(pointer, pointer + len));
- }
- else {
- wasmMemoryU8.set(view, pointer);
- }
- return latestView;
- }
- throw new TypeError('emnapiSyncMemory expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- function emnapi_sync_memory(env, js_to_wasm, arraybuffer_or_view, offset, len) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
- var handle = envObject.ctx.handleStore.get(handleId);
- if (!handle.isArrayBuffer() && !handle.isTypedArray() && !handle.isDataView() && !emnapiExternalMemory.isSharedArrayBuffer(handle.value)) {
- return envObject.setLastError(1);
- }
- var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
- if (handle.value !== ret) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function $emnapiGetMemoryAddress(arrayBufferOrView) {
- var isArrayBuffer = arrayBufferOrView instanceof ArrayBuffer;
- var isDataView = arrayBufferOrView instanceof DataView;
- var isTypedArray = ArrayBuffer.isView(arrayBufferOrView) && !isDataView;
- if (!isArrayBuffer && !isTypedArray && !isDataView && !emnapiExternalMemory.isSharedArrayBuffer(arrayBufferOrView)) {
- throw new TypeError('emnapiGetMemoryAddress expect ArrayBuffer or ArrayBufferView as first parameter');
- }
- var info;
- if (isArrayBuffer) {
- info = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false);
- }
- else {
- info = emnapiExternalMemory.getViewPointer(arrayBufferOrView, false);
- }
- return {
- address: info.address,
- ownership: info.ownership,
- runtimeAllocated: info.runtimeAllocated
- };
- }
- function emnapi_get_memory_address(env, arraybuffer_or_view, address, ownership, runtime_allocated) {
- var p, runtimeAllocated, ownershipOut;
- var info;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer_or_view)
- return envObject.setLastError(1);
- if (!address && !ownership && !runtime_allocated) {
- return envObject.setLastError(1);
- }
- var handle = envObject.ctx.handleStore.get(arraybuffer_or_view);
- info = $emnapiGetMemoryAddress(handle.value);
- p = info.address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (address) {
- HEAP_DATA_VIEW.setUint32(address, p, true);
- }
- if (ownership) {
- ownershipOut = info.ownership;
- HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
- }
- if (runtime_allocated) {
- runtimeAllocated = info.runtimeAllocated;
- HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function emnapi_get_runtime_version(env, version) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!version)
- return envObject.setLastError(1);
- var runtimeVersion;
- try {
- runtimeVersion = emnapiCtx.getRuntimeVersions().version;
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- var versions = runtimeVersion.split('.')
- .map(function (n) { return Number(n); });
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(version, versions[0], true);
- HEAP_DATA_VIEW.setUint32(version + 4, versions[1], true);
- HEAP_DATA_VIEW.setUint32(version + 8, versions[2], true);
- return envObject.clearLastError();
- }
- var emnapiMod = Object.freeze({
- __proto__: null,
- $emnapiGetMemoryAddress: $emnapiGetMemoryAddress,
- $emnapiSyncMemory: $emnapiSyncMemory,
- emnapi_create_memory_view: emnapi_create_memory_view,
- emnapi_get_memory_address: emnapi_get_memory_address,
- emnapi_get_runtime_version: emnapi_get_runtime_version,
- emnapi_is_node_binding_available: emnapi_is_node_binding_available,
- emnapi_is_support_bigint: emnapi_is_support_bigint,
- emnapi_is_support_weakref: emnapi_is_support_weakref,
- emnapi_sync_memory: emnapi_sync_memory
- });
- function napi_create_array(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = emnapiCtx.addToCurrentScope([]).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_array_with_length(env, length, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- length = length >>> 0;
- var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function emnapiCreateArrayBuffer(byte_length, data, shared) {
- byte_length = byte_length >>> 0;
- var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
- if (data) {
- var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, p, true);
- }
- return arrayBuffer;
- }
- function napi_create_arraybuffer(env, byte_length, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_create_sharedarraybuffer(env, byte_length, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
- value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_date(env, time, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- value = emnapiCtx.addToCurrentScope(new Date(time)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external(env, data, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var externalHandle = emnapiCtx.getCurrentScope().addExternal(data);
- if (finalize_cb) {
- emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0, finalize_cb, data, finalize_hint);
- }
- value = externalHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external_arraybuffer(env, external_data, byte_length, finalize_cb, finalize_hint, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- if (!external_data) {
- byte_length = 0;
- }
- if ((external_data + byte_length) > wasmMemory.buffer.byteLength) {
- throw new RangeError('Memory out of range');
- }
- if (!emnapiCtx.feature.supportFinalizer && finalize_cb) {
- throw emnapiCtx.createNotSupportWeakRefError('napi_create_external_arraybuffer', 'Parameter "finalize_cb" must be 0(NULL)');
- }
- var arrayBuffer = new ArrayBuffer(byte_length);
- if (byte_length === 0) {
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(arrayBuffer, [arrayBuffer]);
- }
- catch (_) { }
- }
- else {
- var u8arr = new Uint8Array(arrayBuffer);
- u8arr.set(new Uint8Array(wasmMemory.buffer).subarray(external_data, external_data + byte_length));
- emnapiExternalMemory.table.set(arrayBuffer, {
- address: external_data,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- var handle = emnapiCtx.addToCurrentScope(arrayBuffer);
- if (finalize_cb) {
- var status_1 = napi_add_finalizer(env, handle.id, external_data, finalize_cb, finalize_hint, 0);
- if (status_1 === 10) {
- var err = envObject.tryCatch.extractException();
- envObject.clearLastError();
- throw err;
- }
- else if (status_1 !== 0) {
- return envObject.setLastError(status_1);
- }
- }
- value = handle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_object(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = emnapiCtx.addToCurrentScope({}).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!property_names)
- return envObject.setLastError(1);
- if (!property_values)
- return envObject.setLastError(1);
- }
- var v8_prototype_or_null = prototype_or_null
- ? emnapiCtx.handleStore.get(prototype_or_null).value
- : null;
- var properties = {};
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
- if (!(typeof name_value === "string" || typeof name_value === "symbol"))
- return envObject.setLastError(4);
- properties[name_value] = {
- value: emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_values + i * 4, true)).value,
- writable: true,
- enumerable: true,
- configurable: true
- };
- }
- var obj;
- try {
- obj = Object.defineProperties(Object.create(v8_prototype_or_null), properties);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- var value = emnapiCtx.addToCurrentScope(obj).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_symbol(env, description, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!description) {
- var value = emnapiCtx.addToCurrentScope(Symbol()).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- var handle = emnapiCtx.handleStore.get(description);
- var desc = handle.value;
- if (typeof desc !== 'string') {
- return envObject.setLastError(3);
- }
- var v = emnapiCtx.addToCurrentScope(Symbol(desc)).id;
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- function napi_create_typedarray(env, type, length, arraybuffer, byte_offset, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1);
- }
- var buffer = handle.value;
- var createTypedArray = function (envObject, Type, size_of_element, buffer, byte_offset, length) {
- var _a;
- byte_offset = byte_offset >>> 0;
- length = length >>> 0;
- if (size_of_element > 1) {
- if ((byte_offset) % (size_of_element) !== 0) {
- var err = new RangeError("start offset of ".concat((_a = Type.name) !== null && _a !== void 0 ? _a : '', " should be a multiple of ").concat(size_of_element));
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9);
- }
- }
- if (((length * size_of_element) + byte_offset) > buffer.byteLength) {
- var err = new RangeError('Invalid typed array length');
- err.code = 'ERR_NAPI_INVALID_TYPEDARRAY_LENGTH';
- envObject.tryCatch.setError(err);
- return envObject.setLastError(9);
- }
- var out = new Type(buffer, byte_offset, length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Type,
- address: byte_offset,
- length: length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- };
- switch (type) {
- case 0:
- return createTypedArray(envObject, Int8Array, 1, buffer, byte_offset, length);
- case 1:
- return createTypedArray(envObject, Uint8Array, 1, buffer, byte_offset, length);
- case 2:
- return createTypedArray(envObject, Uint8ClampedArray, 1, buffer, byte_offset, length);
- case 3:
- return createTypedArray(envObject, Int16Array, 2, buffer, byte_offset, length);
- case 4:
- return createTypedArray(envObject, Uint16Array, 2, buffer, byte_offset, length);
- case 5:
- return createTypedArray(envObject, Int32Array, 4, buffer, byte_offset, length);
- case 6:
- return createTypedArray(envObject, Uint32Array, 4, buffer, byte_offset, length);
- case 7:
- return createTypedArray(envObject, Float32Array, 4, buffer, byte_offset, length);
- case 8:
- return createTypedArray(envObject, Float64Array, 8, buffer, byte_offset, length);
- case 9:
- return createTypedArray(envObject, BigInt64Array, 8, buffer, byte_offset, length);
- case 10:
- return createTypedArray(envObject, BigUint64Array, 8, buffer, byte_offset, length);
- case 11:
- if (typeof Float16Array !== 'function') {
- return envObject.setLastError(1);
- }
- return createTypedArray(envObject, Float16Array, 2, buffer, byte_offset, length);
- default:
- return envObject.setLastError(1);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_buffer(env, size, data, result) {
- var _a;
- var value, pointer;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer', '');
- }
- var buffer = void 0;
- size = size >>> 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!data || (size === 0)) {
- buffer = Buffer.alloc(size);
- value = emnapiCtx.addToCurrentScope(buffer).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- }
- else {
- pointer = _malloc(size);
- if (!pointer)
- throw new Error('Out of memory');
- new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
- var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
- var viewDescriptor = {
- Ctor: Buffer,
- address: pointer,
- length: size,
- ownership: emnapiExternalMemory.registry ? 0 : 1,
- runtimeAllocated: 1
- };
- emnapiExternalMemory.wasmMemoryViewTable.set(buffer_1, viewDescriptor);
- (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
- value = emnapiCtx.addToCurrentScope(buffer_1).id;
- HEAP_DATA_VIEW.setUint32(result, value, true);
- HEAP_DATA_VIEW.setUint32(data, pointer, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_buffer_copy(env, length, data, result_data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('napi_create_buffer_copy', '');
- }
- var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
- var buffer = Buffer.from(arrayBuffer);
- buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
- value = emnapiCtx.addToCurrentScope(buffer).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_external_buffer(env, length, data, finalize_cb, finalize_hint, result) {
- return emnapi_create_memory_view(env, -2, data, length, finalize_cb, finalize_hint, result);
- }
- function node_api_create_buffer_from_arraybuffer(env, arraybuffer, byte_offset, byte_length, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- byte_offset = byte_offset >>> 0;
- byte_length = byte_length >>> 0;
- var handle = emnapiCtx.handleStore.get(arraybuffer);
- if (!handle.isArrayBuffer()) {
- return envObject.setLastError(1);
- }
- var buffer = handle.value;
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('The byte offset + length is out of range');
- err.code = 'ERR_OUT_OF_RANGE';
- throw err;
- }
- var Buffer = emnapiCtx.feature.Buffer;
- if (!Buffer) {
- throw emnapiCtx.createNotSupportBufferError('node_api_create_buffer_from_arraybuffer', '');
- }
- var out = Buffer.from(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(out)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(out, {
- Ctor: Buffer,
- address: byte_offset,
- length: byte_length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- value = emnapiCtx.addToCurrentScope(out).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_create_dataview(env, byte_length, arraybuffer, byte_offset, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- byte_length = byte_length >>> 0;
- byte_offset = byte_offset >>> 0;
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- var createDataview = function (buffer) {
- if ((byte_length + byte_offset) > buffer.byteLength) {
- var err = new RangeError('byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in');
- err.code = 'ERR_NAPI_INVALID_DATAVIEW_ARGS';
- throw err;
- }
- var dataview = new DataView(buffer, byte_offset, byte_length);
- if (buffer === wasmMemory.buffer) {
- if (!emnapiExternalMemory.wasmMemoryViewTable.has(dataview)) {
- emnapiExternalMemory.wasmMemoryViewTable.set(dataview, {
- Ctor: DataView,
- address: byte_offset,
- length: byte_length,
- ownership: 1,
- runtimeAllocated: 0
- });
- }
- }
- var v = emnapiCtx.addToCurrentScope(dataview).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- };
- if (value instanceof ArrayBuffer || emnapiExternalMemory.isSharedArrayBuffer(value)) {
- return createDataview(value);
- }
- else {
- return envObject.setLastError(1);
- }
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_symbol_for(env, utf8description, length, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var autoLength = length === -1;
- var sizelength = length >>> 0;
- if (length !== 0) {
- if (!utf8description)
- return envObject.setLastError(1);
- }
- if (!(autoLength || (sizelength <= 2147483647))) {
- return envObject.setLastError(1);
- }
- var descriptionString = emnapiString.UTF8ToString(utf8description, length);
- var value = emnapiCtx.addToCurrentScope(Symbol.for(descriptionString)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var createMod = Object.freeze({
- __proto__: null,
- napi_create_array: napi_create_array,
- napi_create_array_with_length: napi_create_array_with_length,
- napi_create_arraybuffer: napi_create_arraybuffer,
- napi_create_buffer: napi_create_buffer,
- napi_create_buffer_copy: napi_create_buffer_copy,
- napi_create_dataview: napi_create_dataview,
- napi_create_date: napi_create_date,
- napi_create_external: napi_create_external,
- napi_create_external_arraybuffer: napi_create_external_arraybuffer,
- napi_create_external_buffer: napi_create_external_buffer,
- napi_create_object: napi_create_object,
- napi_create_object_with_properties: napi_create_object_with_properties,
- napi_create_symbol: napi_create_symbol,
- napi_create_typedarray: napi_create_typedarray,
- node_api_create_buffer_from_arraybuffer: node_api_create_buffer_from_arraybuffer,
- node_api_create_sharedarraybuffer: node_api_create_sharedarraybuffer,
- node_api_symbol_for: node_api_symbol_for
- });
- function napi_get_boolean(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var v = value === 0 ? 3 : 4;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.clearLastError();
- }
- function napi_get_global(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 5;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_null(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 2;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_undefined(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var value = 1;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var globalMod = Object.freeze({
- __proto__: null,
- napi_get_boolean: napi_get_boolean,
- napi_get_global: napi_get_global,
- napi_get_null: napi_get_null,
- napi_get_undefined: napi_get_undefined
- });
- function napi_set_instance_data(env, data, finalize_cb, finalize_hint) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.setInstanceData(data, finalize_cb, finalize_hint);
- return envObject.clearLastError();
- }
- function napi_get_instance_data(env, data) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!data)
- return envObject.setLastError(1);
- var value = envObject.getInstanceData();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(data, value, true);
- return envObject.clearLastError();
- }
- var envMod = Object.freeze({
- __proto__: null,
- napi_get_instance_data: napi_get_instance_data,
- napi_set_instance_data: napi_set_instance_data
- });
- function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
- var envObject = emnapiCtx.envStore.get(env);
- var lastError = envObject.lastError;
- var errorCode = lastError.errorCode;
- var engineErrorCode = lastError.engineErrorCode >>> 0;
- var engineReserved = lastError.engineReserved;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
- HEAP_DATA_VIEW.setUint32(engine_reserved, engineReserved, true);
- }
- function napi_throw(env, error) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!error)
- return envObject.setLastError(1);
- envObject.tryCatch.setError(emnapiCtx.handleStore.get(error).value);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new Error(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_type_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_throw_range_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function node_api_throw_syntax_error(env, code, msg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!msg)
- return envObject.setLastError(1);
- var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
- if (code)
- error.code = emnapiString.UTF8ToString(code, -1);
- envObject.tryCatch.setError(error);
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_exception_pending(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var r = envObject.tryCatch.hasCaught();
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.clearLastError();
- }
- function napi_create_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new Error(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_type_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new TypeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_create_range_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new RangeError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function node_api_create_syntax_error(env, code, msg, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!msg)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var msgValue = emnapiCtx.handleStore.get(msg).value;
- if (typeof msgValue !== 'string') {
- return envObject.setLastError(3);
- }
- var error = new SyntaxError(msgValue);
- if (code) {
- var codeValue = emnapiCtx.handleStore.get(code).value;
- if (typeof codeValue !== 'string') {
- return envObject.setLastError(3);
- }
- error.code = codeValue;
- }
- var value = emnapiCtx.addToCurrentScope(error).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- function napi_get_and_clear_last_exception(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (!envObject.tryCatch.hasCaught()) {
- HEAP_DATA_VIEW.setUint32(result, 1, true);
- return envObject.clearLastError();
- }
- else {
- var err = envObject.tryCatch.exception();
- var value = envObject.ensureHandleId(err);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- envObject.tryCatch.reset();
- }
- return envObject.clearLastError();
- }
- function napi_fatal_error(location, location_len, message, message_len) {
- var locationStr = emnapiString.UTF8ToString(location, location_len);
- var messageStr = emnapiString.UTF8ToString(message, message_len);
- if (emnapiNodeBinding) {
- emnapiNodeBinding.napi.fatalError(locationStr, messageStr);
- }
- else {
- abort('FATAL ERROR: ' + locationStr + ' ' + messageStr);
- }
- }
- function napi_fatal_exception(env, err) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!err)
- return envObject.setLastError(1);
- var error = envObject.ctx.handleStore.get(err);
- try {
- envObject.triggerFatalException(error.value);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var errorMod = Object.freeze({
- __proto__: null,
- _emnapi_get_last_error_info: _emnapi_get_last_error_info,
- napi_create_error: napi_create_error,
- napi_create_range_error: napi_create_range_error,
- napi_create_type_error: napi_create_type_error,
- napi_fatal_error: napi_fatal_error,
- napi_fatal_exception: napi_fatal_exception,
- napi_get_and_clear_last_exception: napi_get_and_clear_last_exception,
- napi_is_exception_pending: napi_is_exception_pending,
- napi_throw: napi_throw,
- napi_throw_error: napi_throw_error,
- napi_throw_range_error: napi_throw_range_error,
- napi_throw_type_error: napi_throw_type_error,
- node_api_create_syntax_error: node_api_create_syntax_error,
- node_api_throw_syntax_error: node_api_throw_syntax_error
- });
- function napi_create_function(env, utf8name, length, cb, data, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!cb)
- return envObject.setLastError(1);
- var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
- if (fresult.status !== 0)
- return envObject.setLastError(fresult.status);
- var f = fresult.f;
- var valueHandle = emnapiCtx.addToCurrentScope(f);
- value = valueHandle.id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_cb_info(env, cbinfo, argc, argv, this_arg, data) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!cbinfo)
- return envObject.setLastError(1);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (argv) {
- if (!argc)
- return envObject.setLastError(1);
- var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
- var len = cbinfoValue.args.length;
- var arrlen = argcValue < len ? argcValue : len;
- var i = 0;
- for (; i < arrlen; i++) {
- var argVal = envObject.ensureHandleId(cbinfoValue.args[i]);
- HEAP_DATA_VIEW.setUint32(argv + i * 4, argVal, true);
- }
- if (i < argcValue) {
- for (; i < argcValue; i++) {
- HEAP_DATA_VIEW.setUint32(argv + i * 4, 1, true);
- }
- }
- }
- if (argc) {
- HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
- }
- if (this_arg) {
- var v = envObject.ensureHandleId(cbinfoValue.thiz);
- HEAP_DATA_VIEW.setUint32(this_arg, v, true);
- }
- if (data) {
- HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
- }
- return envObject.clearLastError();
- }
- function napi_call_function(env, recv, func, argc, argv, result) {
- var i = 0;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!recv)
- return envObject.setLastError(1);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- var v8recv = emnapiCtx.handleStore.get(recv).value;
- if (!func)
- return envObject.setLastError(1);
- var v8func = emnapiCtx.handleStore.get(func).value;
- if (typeof v8func !== 'function')
- return envObject.setLastError(1);
- var args = [];
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args.push(emnapiCtx.handleStore.get(argVal).value);
- }
- var ret = v8func.apply(v8recv, args);
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.clearLastError();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_new_instance(env, constructor, argc, argv, result) {
- var i;
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!constructor)
- return envObject.setLastError(1);
- argc = argc >>> 0;
- if (argc > 0) {
- if (!argv)
- return envObject.setLastError(1);
- }
- if (!result)
- return envObject.setLastError(1);
- var Ctor = emnapiCtx.handleStore.get(constructor).value;
- if (typeof Ctor !== 'function')
- return envObject.setLastError(1);
- var ret = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (emnapiCtx.feature.supportReflect) {
- var argList = Array(argc);
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- argList[i] = emnapiCtx.handleStore.get(argVal).value;
- }
- ret = Reflect.construct(Ctor, argList, Ctor);
- }
- else {
- var args = Array(argc + 1);
- args[0] = undefined;
- for (i = 0; i < argc; i++) {
- var argVal = HEAP_DATA_VIEW.getUint32(argv + i * 4, true);
- args[i + 1] = emnapiCtx.handleStore.get(argVal).value;
- }
- var BoundCtor = Ctor.bind.apply(Ctor, args);
- ret = new BoundCtor();
- }
- if (result) {
- v = envObject.ensureHandleId(ret);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_new_target(env, cbinfo, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!cbinfo)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
- var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
- var value = thiz == null || thiz.constructor == null
- ? 0
- : thiz instanceof fn
- ? envObject.ensureHandleId(thiz.constructor)
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- var functionMod = Object.freeze({
- __proto__: null,
- napi_call_function: napi_call_function,
- napi_create_function: napi_create_function,
- napi_get_cb_info: napi_get_cb_info,
- napi_get_new_target: napi_get_new_target,
- napi_new_instance: napi_new_instance
- });
- function napi_open_handle_scope(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- function napi_close_handle_scope(env, scope) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if ((envObject.openHandleScopes === 0)) {
- return 13;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- function napi_open_escapable_handle_scope(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!result)
- return envObject.setLastError(1);
- var scope = emnapiCtx.openScope(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, scope.id, true);
- return envObject.clearLastError();
- }
- function napi_close_escapable_handle_scope(env, scope) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if ((envObject.openHandleScopes === 0)) {
- return 13;
- }
- emnapiCtx.closeScope(envObject);
- return envObject.clearLastError();
- }
- function napi_escape_handle(env, scope, escapee, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!scope)
- return envObject.setLastError(1);
- if (!escapee)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var scopeObject = emnapiCtx.scopeStore.get(scope);
- if (!scopeObject.escapeCalled()) {
- var newHandle = scopeObject.escape(escapee);
- var value = newHandle ? newHandle.id : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.clearLastError();
- }
- return envObject.setLastError(12);
- }
- function napi_create_reference(env, value, initial_refcount, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (envObject.moduleApiVersion < 10) {
- if (!(handle.isObject() || handle.isFunction() || handle.isSymbol())) {
- return envObject.setLastError(1);
- }
- }
- var ref = emnapiCtx.createReference(envObject, handle.id, initial_refcount >>> 0, 1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, ref.id, true);
- return envObject.clearLastError();
- }
- function napi_delete_reference(env, ref) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!ref)
- return envObject.setLastError(1);
- emnapiCtx.refStore.get(ref).dispose();
- return envObject.clearLastError();
- }
- function napi_reference_ref(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- var count = emnapiCtx.refStore.get(ref).ref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- function napi_reference_unref(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- var reference = emnapiCtx.refStore.get(ref);
- var refcount = reference.refcount();
- if (refcount === 0) {
- return envObject.setLastError(9);
- }
- var count = reference.unref();
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, count, true);
- }
- return envObject.clearLastError();
- }
- function napi_get_reference_value(env, ref, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!ref)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var reference = emnapiCtx.refStore.get(ref);
- var handleId = reference.get(envObject);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, handleId, true);
- return envObject.clearLastError();
- }
- function napi_add_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1);
- emnapiCtx.addCleanupHook(envObject, fun, arg);
- return 0;
- }
- function napi_remove_env_cleanup_hook(env, fun, arg) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!fun)
- return envObject.setLastError(1);
- emnapiCtx.removeCleanupHook(envObject, fun, arg);
- return 0;
- }
- function _emnapi_env_ref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.ref();
- }
- function _emnapi_env_unref(env) {
- var envObject = emnapiCtx.envStore.get(env);
- envObject.unref();
- }
- var lifeMod = Object.freeze({
- __proto__: null,
- _emnapi_env_ref: _emnapi_env_ref,
- _emnapi_env_unref: _emnapi_env_unref,
- napi_add_env_cleanup_hook: napi_add_env_cleanup_hook,
- napi_close_escapable_handle_scope: napi_close_escapable_handle_scope,
- napi_close_handle_scope: napi_close_handle_scope,
- napi_create_reference: napi_create_reference,
- napi_delete_reference: napi_delete_reference,
- napi_escape_handle: napi_escape_handle,
- napi_get_reference_value: napi_get_reference_value,
- napi_open_escapable_handle_scope: napi_open_escapable_handle_scope,
- napi_open_handle_scope: napi_open_handle_scope,
- napi_reference_ref: napi_reference_ref,
- napi_reference_unref: napi_reference_unref,
- napi_remove_env_cleanup_hook: napi_remove_env_cleanup_hook
- });
- function _emnapi_get_filename(env, buf, len) {
- var envObject = emnapiCtx.envStore.get(env);
- var filename = envObject.filename;
- if (!buf) {
- return emnapiString.lengthBytesUTF8(filename);
- }
- return emnapiString.stringToUTF8(filename, buf, len);
- }
- var miscellaneousMod = Object.freeze({
- __proto__: null,
- _emnapi_get_filename: _emnapi_get_filename
- });
- function napi_create_promise(env, deferred, promise) {
- var deferredObjectId, value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!promise)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- var p = new Promise(function (resolve, reject) {
- var deferredObject = emnapiCtx.createDeferred({ resolve: resolve, reject: reject });
- deferredObjectId = deferredObject.id;
- HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
- });
- value = emnapiCtx.addToCurrentScope(p).id;
- HEAP_DATA_VIEW.setUint32(promise, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_resolve_deferred(env, deferred, resolution) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!resolution)
- return envObject.setLastError(1);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.resolve(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_reject_deferred(env, deferred, resolution) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!deferred)
- return envObject.setLastError(1);
- if (!resolution)
- return envObject.setLastError(1);
- var deferredObject = emnapiCtx.deferredStore.get(deferred);
- deferredObject.reject(emnapiCtx.handleStore.get(resolution).value);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_promise(env, value, is_promise) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!is_promise)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isPromise() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(is_promise, r, true);
- return envObject.clearLastError();
- }
- var promiseMod = Object.freeze({
- __proto__: null,
- napi_create_promise: napi_create_promise,
- napi_is_promise: napi_is_promise,
- napi_reject_deferred: napi_reject_deferred,
- napi_resolve_deferred: napi_resolve_deferred
- });
- function napi_get_all_property_names(env, object, key_mode, key_filter, key_conversion, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var obj = void 0;
- try {
- obj = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- if (key_mode !== 0 && key_mode !== 1) {
- return envObject.setLastError(1);
- }
- if (key_conversion !== 0 && key_conversion !== 1) {
- return envObject.setLastError(1);
- }
- var props = [];
- var names = void 0;
- var symbols = void 0;
- var i = void 0;
- var own = true;
- var integerIndiceRegex = /^(0|[1-9][0-9]*)$/;
- do {
- names = Object.getOwnPropertyNames(obj);
- symbols = Object.getOwnPropertySymbols(obj);
- for (i = 0; i < names.length; i++) {
- props.push({
- name: integerIndiceRegex.test(names[i]) ? Number(names[i]) : names[i],
- desc: Object.getOwnPropertyDescriptor(obj, names[i]),
- own: own
- });
- }
- for (i = 0; i < symbols.length; i++) {
- props.push({
- name: symbols[i],
- desc: Object.getOwnPropertyDescriptor(obj, symbols[i]),
- own: own
- });
- }
- if (key_mode === 1) {
- break;
- }
- obj = Object.getPrototypeOf(obj);
- own = false;
- } while (obj);
- var ret = [];
- var addName = function (ret, name, key_filter, conversion_mode) {
- if (ret.indexOf(name) !== -1)
- return;
- if (conversion_mode === 0) {
- ret.push(name);
- }
- else if (conversion_mode === 1) {
- var realName = typeof name === 'number' ? String(name) : name;
- if (typeof realName === 'string') {
- if (!(key_filter & 8)) {
- ret.push(realName);
- }
- }
- else {
- ret.push(realName);
- }
- }
- };
- for (i = 0; i < props.length; i++) {
- var prop = props[i];
- var name_1 = prop.name;
- var desc = prop.desc;
- if (key_filter === 0) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- else {
- if (key_filter & 8 && typeof name_1 === 'string') {
- continue;
- }
- if (key_filter & 16 && typeof name_1 === 'symbol') {
- continue;
- }
- var shouldAdd = true;
- switch (key_filter & 7) {
- case 1: {
- shouldAdd = Boolean(desc.writable);
- break;
- }
- case 2: {
- shouldAdd = Boolean(desc.enumerable);
- break;
- }
- case (1 | 2): {
- shouldAdd = Boolean(desc.writable && desc.enumerable);
- break;
- }
- case 4: {
- shouldAdd = Boolean(desc.configurable);
- break;
- }
- case (4 | 1): {
- shouldAdd = Boolean(desc.configurable && desc.writable);
- break;
- }
- case (4 | 2): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable);
- break;
- }
- case (4 | 2 | 1): {
- shouldAdd = Boolean(desc.configurable && desc.enumerable && desc.writable);
- break;
- }
- }
- if (shouldAdd) {
- addName(ret, name_1, key_filter, key_conversion);
- }
- }
- }
- value = emnapiCtx.addToCurrentScope(ret).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_property_names(env, object, result) {
- return napi_get_all_property_names(env, object, 0, 2 | 16, 1, result);
- }
- function napi_set_property(env, object, key, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- h.value[emnapiCtx.handleStore.get(key).value] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = (emnapiCtx.handleStore.get(key).value in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_property(env, object, key, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_delete_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- var propertyKey = emnapiCtx.handleStore.get(key).value;
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, propertyKey);
- }
- else {
- try {
- r = delete h.value[propertyKey];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_own_property(env, object, key, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!key)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- var prop = emnapiCtx.handleStore.get(key).value;
- if (typeof prop !== 'string' && typeof prop !== 'symbol') {
- return envObject.setLastError(4);
- }
- r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_set_named_property(env, object, cname, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- if (!cname) {
- return envObject.setLastError(1);
- }
- emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_named_property(env, object, utf8name, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- if (!utf8name) {
- return envObject.setLastError(1);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = emnapiString.UTF8ToString(utf8name, -1) in v;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_named_property(env, object, utf8name, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- if (!utf8name) {
- return envObject.setLastError(1);
- }
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_set_element(env, object, index, value) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- h.value[index >>> 0] = emnapiCtx.handleStore.get(value).value;
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_has_element(env, object, index, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- r = ((index >>> 0) in v) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_get_element(env, object, index, result) {
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!result)
- return envObject.setLastError(1);
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (h.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- var v = void 0;
- try {
- v = h.isObject() || h.isFunction() ? h.value : Object(h.value);
- }
- catch (_) {
- return envObject.setLastError(2);
- }
- value = envObject.ensureHandleId(v[index >>> 0]);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_delete_element(env, object, index, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- if (emnapiCtx.feature.supportReflect) {
- r = Reflect.deleteProperty(h.value, index >>> 0);
- }
- else {
- try {
- r = delete h.value[index >>> 0];
- }
- catch (_) {
- r = false;
- }
- }
- if (result) {
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_define_properties(env, object, property_count, properties) {
- var propPtr, attributes;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- property_count = property_count >>> 0;
- if (property_count > 0) {
- if (!properties)
- return envObject.setLastError(1);
- }
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- var propertyName = void 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- for (var i = 0; i < property_count; i++) {
- propPtr = properties + (i * (4 * 8));
- var utf8Name = HEAP_DATA_VIEW.getUint32(propPtr, true);
- var name_2 = HEAP_DATA_VIEW.getUint32(propPtr + 4, true);
- var method = HEAP_DATA_VIEW.getUint32(propPtr + 8, true);
- var getter = HEAP_DATA_VIEW.getUint32(propPtr + 12, true);
- var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
- var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
- attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
- var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
- if (utf8Name) {
- propertyName = emnapiString.UTF8ToString(utf8Name, -1);
- }
- else {
- if (!name_2) {
- return envObject.setLastError(4);
- }
- propertyName = emnapiCtx.handleStore.get(name_2).value;
- if (typeof propertyName !== 'string' && typeof propertyName !== 'symbol') {
- return envObject.setLastError(4);
- }
- }
- emnapiDefineProperty(envObject, maybeObject, propertyName, method, getter, setter, value, attributes, data);
- }
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_object_freeze(env, object) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- Object.freeze(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_object_seal(env, object) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(object);
- var maybeObject = h.value;
- if (!(h.isObject() || h.isFunction())) {
- return envObject.setLastError(2);
- }
- Object.seal(maybeObject);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var propertyMod = Object.freeze({
- __proto__: null,
- napi_define_properties: napi_define_properties,
- napi_delete_element: napi_delete_element,
- napi_delete_property: napi_delete_property,
- napi_get_all_property_names: napi_get_all_property_names,
- napi_get_element: napi_get_element,
- napi_get_named_property: napi_get_named_property,
- napi_get_property: napi_get_property,
- napi_get_property_names: napi_get_property_names,
- napi_has_element: napi_has_element,
- napi_has_named_property: napi_has_named_property,
- napi_has_own_property: napi_has_own_property,
- napi_has_property: napi_has_property,
- napi_object_freeze: napi_object_freeze,
- napi_object_seal: napi_object_seal,
- napi_set_element: napi_set_element,
- napi_set_named_property: napi_set_named_property,
- napi_set_property: napi_set_property
- });
- function napi_run_script(env, script, result) {
- var status;
- var value;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!script)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var v8Script = emnapiCtx.handleStore.get(script);
- if (!v8Script.isString()) {
- return envObject.setLastError(3);
- }
- var g = emnapiCtx.handleStore.get(5).value;
- var ret = g.eval(v8Script.value);
- value = envObject.ensureHandleId(ret);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, value, true);
- status = envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- return status;
- }
- var scriptMod = Object.freeze({
- __proto__: null,
- napi_run_script: napi_run_script
- });
- function napi_typeof(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var v = emnapiCtx.handleStore.get(value);
- var r;
- if (v.isNumber()) {
- r = 3;
- }
- else if (v.isBigInt()) {
- r = 9;
- }
- else if (v.isString()) {
- r = 4;
- }
- else if (v.isFunction()) {
- r = 7;
- }
- else if (v.isExternal()) {
- r = 8;
- }
- else if (v.isObject()) {
- r = 6;
- }
- else if (v.isBoolean()) {
- r = 2;
- }
- else if (v.isUndefined()) {
- r = 0;
- }
- else if (v.isSymbol()) {
- r = 5;
- }
- else if (v.isNull()) {
- r = 1;
- }
- else {
- return envObject.setLastError(1);
- }
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt32(result, r, true);
- return envObject.clearLastError();
- }
- function napi_coerce_to_bool(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- v = handle.value ? 4 : 3;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_number(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isBigInt()) {
- throw new TypeError('Cannot convert a BigInt value to a number');
- }
- v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_object(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.value == null) {
- throw new TypeError('Cannot convert undefined or null to object');
- }
- v = envObject.ensureHandleId(Object(handle.value));
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_coerce_to_string(env, value, result) {
- var v;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var handle = emnapiCtx.handleStore.get(value);
- if (handle.isSymbol()) {
- throw new TypeError('Cannot convert a Symbol value to a string');
- }
- v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, v, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_instanceof(env, object, constructor, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!object)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- if (!constructor)
- return envObject.setLastError(1);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- var ctor = emnapiCtx.handleStore.get(constructor);
- if (!ctor.isFunction()) {
- return envObject.setLastError(5);
- }
- var val = emnapiCtx.handleStore.get(object).value;
- var ret = val instanceof ctor.value;
- r = ret ? 1 : 0;
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_is_array(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_arraybuffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isArrayBuffer() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function node_api_is_sharedarraybuffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = ((typeof SharedArrayBuffer === 'function' && h.value instanceof SharedArrayBuffer) ||
- (Object.prototype.toString.call(h.value) === '[object SharedArrayBuffer]'))
- ? 1
- : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_date(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isDate() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_error(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var val = emnapiCtx.handleStore.get(value).value;
- var r = (val instanceof Error) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_typedarray(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isTypedArray() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_buffer(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_is_dataview(env, value, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!value)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(value);
- var r = h.isDataView() ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.clearLastError();
- }
- function napi_strict_equals(env, lhs, rhs, result) {
- var r;
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!lhs)
- return envObject.setLastError(1);
- if (!rhs)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var lv = emnapiCtx.handleStore.get(lhs).value;
- var rv = emnapiCtx.handleStore.get(rhs).value;
- r = (lv === rv) ? 1 : 0;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setInt8(result, r, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- function napi_detach_arraybuffer(env, arraybuffer) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!arraybuffer)
- return envObject.setLastError(1);
- var value = emnapiCtx.handleStore.get(arraybuffer).value;
- if (!(value instanceof ArrayBuffer)) {
- if (typeof SharedArrayBuffer === 'function' && (value instanceof SharedArrayBuffer)) {
- return envObject.setLastError(20);
- }
- return envObject.setLastError(19);
- }
- try {
- var MessageChannel_1 = emnapiCtx.feature.MessageChannel;
- var messageChannel = new MessageChannel_1();
- messageChannel.port1.postMessage(value, [value]);
- }
- catch (_) {
- return envObject.setLastError(9);
- }
- return envObject.clearLastError();
- }
- function napi_is_detached_arraybuffer(env, arraybuffer, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- envObject.checkGCAccess();
- if (!envObject.tryCatch.isEmpty())
- return envObject.setLastError(10);
- if (!envObject.canCallIntoJs())
- return envObject.setLastError(envObject.moduleApiVersion >= 10 ? 23 : 10);
- envObject.clearLastError();
- try {
- if (!arraybuffer)
- return envObject.setLastError(1);
- if (!result)
- return envObject.setLastError(1);
- var h = emnapiCtx.handleStore.get(arraybuffer);
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- if (h.isArrayBuffer() && h.value.byteLength === 0) {
- try {
- new Uint8Array(h.value);
- }
- catch (_) {
- HEAP_DATA_VIEW.setInt8(result, 1, true);
- return envObject.getReturnStatus();
- }
- }
- HEAP_DATA_VIEW.setInt8(result, 0, true);
- return envObject.getReturnStatus();
- }
- catch (err) {
- envObject.tryCatch.setError(err);
- return envObject.setLastError(10);
- }
- }
- var valueOperationMod = Object.freeze({
- __proto__: null,
- napi_coerce_to_bool: napi_coerce_to_bool,
- napi_coerce_to_number: napi_coerce_to_number,
- napi_coerce_to_object: napi_coerce_to_object,
- napi_coerce_to_string: napi_coerce_to_string,
- napi_detach_arraybuffer: napi_detach_arraybuffer,
- napi_instanceof: napi_instanceof,
- napi_is_array: napi_is_array,
- napi_is_arraybuffer: napi_is_arraybuffer,
- napi_is_buffer: napi_is_buffer,
- napi_is_dataview: napi_is_dataview,
- napi_is_date: napi_is_date,
- napi_is_detached_arraybuffer: napi_is_detached_arraybuffer,
- napi_is_error: napi_is_error,
- napi_is_typedarray: napi_is_typedarray,
- napi_strict_equals: napi_strict_equals,
- napi_typeof: napi_typeof,
- node_api_is_sharedarraybuffer: node_api_is_sharedarraybuffer
- });
- function napi_get_version(env, result) {
- if (!env)
- return 1;
- var envObject = emnapiCtx.envStore.get(env);
- if (!result)
- return envObject.setLastError(1);
- var NODE_API_SUPPORTED_VERSION_MAX = 10;
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
- HEAP_DATA_VIEW.setUint32(result, NODE_API_SUPPORTED_VERSION_MAX, true);
- return envObject.clearLastError();
- }
- var versionMod = Object.freeze({
- __proto__: null,
- napi_get_version: napi_get_version
- });
- emnapiAWST.init();
- emnapiExternalMemory.init();
- emnapiString.init();
- emnapiTSFN.init();
- PThread.init();
- napiModule.emnapi.syncMemory = $emnapiSyncMemory;
- napiModule.emnapi.getMemoryAddress = $emnapiGetMemoryAddress;
- function addImports(mod) {
- var keys = Object.keys(mod);
- for (var i = 0; i < keys.length; ++i) {
- var k = keys[i];
- if (k.indexOf('$') === 0)
- continue;
- if (k.indexOf('emnapi_') === 0) {
- napiModule.imports.emnapi[k] = mod[k];
- }
- else if (k.indexOf('_emnapi_') === 0 || k === 'napi_set_last_error' || k === 'napi_clear_last_error') {
- napiModule.imports.env[k] = mod[k];
- }
- else {
- napiModule.imports.napi[k] = mod[k];
- }
- }
- }
- addImports(asyncMod);
- addImports(memoryMod);
- addImports(asyncWorkMod);
- addImports(utilMod);
- addImports(convert2cMod);
- addImports(convert2napiMod);
- addImports(createMod);
- addImports(globalMod);
- addImports(wrapMod);
- addImports(envMod);
- addImports(emnapiMod);
- addImports(errorMod);
- addImports(functionMod);
- addImports(lifeMod);
- addImports(miscellaneousMod);
- addImports(nodeMod);
- addImports(promiseMod);
- addImports(propertyMod);
- addImports(scriptMod);
- addImports(valueOperationMod);
- addImports(versionMod);
- napiModule.imports.napi.napi_create_threadsafe_function = napi_create_threadsafe_function;
- napiModule.imports.napi.napi_get_threadsafe_function_context = napi_get_threadsafe_function_context;
- napiModule.imports.napi.napi_call_threadsafe_function = napi_call_threadsafe_function;
- napiModule.imports.napi.napi_acquire_threadsafe_function = napi_acquire_threadsafe_function;
- napiModule.imports.napi.napi_release_threadsafe_function = napi_release_threadsafe_function;
- napiModule.imports.napi.napi_unref_threadsafe_function = napi_unref_threadsafe_function;
- napiModule.imports.napi.napi_ref_threadsafe_function = napi_ref_threadsafe_function;
- return napiModule;
- })();
- return napiModule;
-}
-
-function loadNapiModuleImpl(loadFn, userNapiModule, wasmInput, options) {
- options = options !== null && options !== void 0 ? options : {};
- const getMemory = options.getMemory;
- const getTable = options.getTable;
- const beforeInit = options.beforeInit;
- if (getMemory != null && typeof getMemory !== 'function') {
- throw new TypeError('options.getMemory is not a function');
- }
- if (getTable != null && typeof getTable !== 'function') {
- throw new TypeError('options.getTable is not a function');
- }
- if (beforeInit != null && typeof beforeInit !== 'function') {
- throw new TypeError('options.beforeInit is not a function');
- }
- let napiModule;
- const isLoad = typeof userNapiModule === 'object' && userNapiModule !== null;
- if (isLoad) {
- if (userNapiModule.loaded) {
- throw new Error('napiModule has already loaded');
- }
- napiModule = userNapiModule;
- }
- else {
- napiModule = createNapiModule(options);
- }
- const wasi = options.wasi;
- let wasiThreads;
- let importObject = {
- env: napiModule.imports.env,
- napi: napiModule.imports.napi,
- emnapi: napiModule.imports.emnapi
- };
- if (wasi) {
- wasiThreads = new WASIThreads(napiModule.childThread
- ? {
- wasi,
- childThread: true,
- postMessage: napiModule.postMessage
- }
- : {
- wasi,
- threadManager: napiModule.PThread,
- waitThreadStart: napiModule.waitThreadStart
- });
- Object.assign(importObject, typeof wasi.getImportObject === 'function'
- ? wasi.getImportObject()
- : { wasi_snapshot_preview1: wasi.wasiImport });
- Object.assign(importObject, wasiThreads.getImportObject());
- }
- const overwriteImports = options.overwriteImports;
- if (typeof overwriteImports === 'function') {
- const newImportObject = overwriteImports(importObject);
- if (typeof newImportObject === 'object' && newImportObject !== null) {
- importObject = newImportObject;
- }
- }
- return loadFn(wasmInput, importObject, (err, source) => {
- if (err) {
- throw err;
- }
- const originalInstance = source.instance;
- let instance = originalInstance;
- const originalExports = originalInstance.exports;
- const exportMemory = 'memory' in originalExports;
- const importMemory = 'memory' in importObject.env;
- const memory = getMemory
- ? getMemory(originalExports)
- : exportMemory
- ? originalExports.memory
- : importMemory
- ? importObject.env.memory
- : undefined;
- if (!memory) {
- throw new Error('memory is neither exported nor imported');
- }
- const table = getTable ? getTable(originalExports) : originalExports.__indirect_function_table;
- if (wasi && !exportMemory) {
- const exports$1 = Object.create(null);
- Object.assign(exports$1, originalExports, { memory });
- instance = { exports: exports$1 };
- }
- const module = source.module;
- if (wasi) {
- instance = wasiThreads.initialize(instance, module, memory);
- }
- else {
- napiModule.PThread.setup(module, memory);
- }
- const emnapiInit = () => {
- if (beforeInit) {
- beforeInit({
- instance: originalInstance,
- module
- });
- }
- napiModule.init({
- instance,
- module,
- memory,
- table
- });
- const ret = {
- instance: originalInstance,
- module,
- usedInstance: instance
- };
- if (!isLoad) {
- ret.napiModule = napiModule;
- }
- return ret;
- };
- if (napiModule.PThread.shouldPreloadWorkers()) {
- const poolReady = napiModule.PThread.loadWasmModuleToAllWorkers();
- if (loadFn === loadCallback) {
- return poolReady.then(emnapiInit);
- }
- else {
- throw new Error('Synchronous loading is not supported with worker pool (reuseWorker.size > 0)');
- }
- }
- return emnapiInit();
- });
-}
-function loadCallback(wasmInput, importObject, callback) {
- return load(wasmInput, importObject).then((source) => {
- return callback(null, source);
- }, err => {
- return callback(err);
- });
-}
-function loadSyncCallback(wasmInput, importObject, callback) {
- let source;
- try {
- source = loadSync(wasmInput, importObject);
- }
- catch (err) {
- return callback(err);
- }
- return callback(null, source);
-}
-function loadNapiModule(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadCallback, napiModule, wasmInput, options);
-}
-function loadNapiModuleSync(napiModule, wasmInput, options) {
- if (typeof napiModule !== 'object' || napiModule === null) {
- throw new TypeError('Invalid napiModule');
- }
- return loadNapiModuleImpl(loadSyncCallback, napiModule, wasmInput, options);
-}
-function instantiateNapiModule(wasmInput, options) {
- return loadNapiModuleImpl(loadCallback, undefined, wasmInput, options);
-}
-function instantiateNapiModuleSync(wasmInput, options) {
- return loadNapiModuleImpl(loadSyncCallback, undefined, wasmInput, options);
-}
-
-class MessageHandler extends ThreadMessageHandler {
- constructor(options) {
- if (typeof options.onLoad !== 'function') {
- throw new TypeError('options.onLoad is not a function');
- }
- const userOnError = options.onError;
- super({
- ...options,
- onError: (err, type) => {
- var _a;
- const emnapi_thread_crashed = (_a = this.instance) === null || _a === void 0 ? void 0 : _a.exports.emnapi_thread_crashed;
- if (typeof emnapi_thread_crashed === 'function') {
- emnapi_thread_crashed();
- }
- if (typeof userOnError === 'function') {
- userOnError(err, type);
- }
- else {
- throw err;
- }
- }
- });
- this.napiModule = undefined;
- }
- instantiate(data) {
- const source = this.onLoad(data);
- const then = source.then;
- if (typeof then === 'function') {
- return source.then((result) => {
- this.napiModule = result.napiModule;
- return result;
- });
- }
- this.napiModule = source.napiModule;
- return source;
- }
- handle(e) {
- var _a;
- super.handle(e);
- if ((_a = e === null || e === void 0 ? void 0 : e.data) === null || _a === void 0 ? void 0 : _a.__emnapi__) {
- const type = e.data.__emnapi__.type;
- const payload = e.data.__emnapi__.payload;
- try {
- if (type === 'async-worker-init') {
- this.handleAfterLoad(e, () => {
- this.napiModule.initWorker(payload.arg);
- });
- }
- else if (type === 'async-work-execute') {
- this.handleAfterLoad(e, () => {
- this.napiModule.executeAsyncWork(payload.work);
- });
- }
- }
- catch (err) {
- this.onError(err, type);
- }
- }
- }
-}
-
-const version = "1.8.1";
-
-export { MessageHandler, createNapiModule, instantiateNapiModule, instantiateNapiModuleSync, loadNapiModule, loadNapiModuleSync, version };
diff --git a/node_modules/@emnapi/core/index.js b/node_modules/@emnapi/core/index.js
deleted file mode 100644
index 11764ed..0000000
--- a/node_modules/@emnapi/core/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/emnapi-core.cjs.min.js')
-} else {
- module.exports = require('./dist/emnapi-core.cjs.js')
-}
diff --git a/node_modules/@emnapi/core/package.json b/node_modules/@emnapi/core/package.json
deleted file mode 100644
index 590c982..0000000
--- a/node_modules/@emnapi/core/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "name": "@emnapi/core",
- "version": "1.8.1",
- "description": "emnapi core",
- "main": "index.js",
- "module": "./dist/emnapi-core.esm-bundler.js",
- "types": "./dist/emnapi-core.d.ts",
- "sideEffects": false,
- "exports": {
- ".": {
- "types": {
- "module": "./dist/emnapi-core.d.ts",
- "import": "./dist/emnapi-core.d.mts",
- "default": "./dist/emnapi-core.d.ts"
- },
- "module": "./dist/emnapi-core.esm-bundler.js",
- "import": "./dist/emnapi-core.mjs",
- "default": "./index.js"
- },
- "./dist/emnapi-core.cjs.min": {
- "types": "./dist/emnapi-core.d.ts",
- "default": "./dist/emnapi-core.cjs.min.js"
- },
- "./dist/emnapi-core.min.mjs": {
- "types": "./dist/emnapi-core.d.mts",
- "default": "./dist/emnapi-core.min.mjs"
- }
- },
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
- },
- "scripts": {
- "build": "node ./script/build.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/toyobayashi/emnapi.git"
- },
- "author": "toyobayashi",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/toyobayashi/emnapi/issues"
- },
- "homepage": "https://github.com/toyobayashi/emnapi#readme",
- "publishConfig": {
- "access": "public"
- }
-}
diff --git a/node_modules/@emnapi/runtime/LICENSE b/node_modules/@emnapi/runtime/LICENSE
deleted file mode 100644
index 05a5944..0000000
--- a/node_modules/@emnapi/runtime/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021-present Toyobayashi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/@emnapi/runtime/README.md b/node_modules/@emnapi/runtime/README.md
deleted file mode 100644
index c98dddc..0000000
--- a/node_modules/@emnapi/runtime/README.md
+++ /dev/null
@@ -1 +0,0 @@
-See [https://github.com/toyobayashi/emnapi](https://github.com/toyobayashi/emnapi)
diff --git a/node_modules/@emnapi/runtime/dist/emnapi.cjs.js b/node_modules/@emnapi/runtime/dist/emnapi.cjs.js
deleted file mode 100644
index 9b2105c..0000000
--- a/node_modules/@emnapi/runtime/dist/emnapi.cjs.js
+++ /dev/null
@@ -1,1354 +0,0 @@
-const externalValue = new WeakMap();
-function isExternal(object) {
- return externalValue.has(object);
-}
-const External = (() => {
- function External(value) {
- Object.setPrototypeOf(this, null);
- externalValue.set(this, value);
- }
- External.prototype = null;
- return External;
-})();
-function getExternalValue(external) {
- if (!isExternal(external)) {
- throw new TypeError('not external');
- }
- return externalValue.get(external);
-}
-
-const supportNewFunction = (function () {
- let f;
- try {
- f = new Function();
- }
- catch (_) {
- return false;
- }
- return typeof f === 'function';
-})();
-const _global = (function () {
- if (typeof globalThis !== 'undefined')
- return globalThis;
- let g = (function () { return this; })();
- if (!g && supportNewFunction) {
- try {
- g = new Function('return this')();
- }
- catch (_) { }
- }
- if (!g) {
- if (typeof __webpack_public_path__ === 'undefined') {
- if (typeof global !== 'undefined')
- return global;
- }
- if (typeof window !== 'undefined')
- return window;
- if (typeof self !== 'undefined')
- return self;
- }
- return g;
-})();
-class TryCatch {
- constructor() {
- this._exception = undefined;
- this._caught = false;
- }
- isEmpty() {
- return !this._caught;
- }
- hasCaught() {
- return this._caught;
- }
- exception() {
- return this._exception;
- }
- setError(err) {
- this._caught = true;
- this._exception = err;
- }
- reset() {
- this._caught = false;
- this._exception = undefined;
- }
- extractException() {
- const e = this._exception;
- this.reset();
- return e;
- }
-}
-const canSetFunctionName = (function () {
- var _a;
- try {
- return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable);
- }
- catch (_) {
- return false;
- }
-})();
-const supportReflect = typeof Reflect === 'object';
-const supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined');
-const supportWeakSymbol = (function () {
- try {
- const sym = Symbol();
- new WeakRef(sym);
- new WeakMap().set(sym, undefined);
- }
- catch (_) {
- return false;
- }
- return true;
-})();
-const supportBigInt = typeof BigInt !== 'undefined';
-function isReferenceType(v) {
- return (typeof v === 'object' && v !== null) || typeof v === 'function';
-}
-const _require = (function () {
- let nativeRequire;
- if (typeof __webpack_public_path__ !== 'undefined') {
- nativeRequire = (function () {
- return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined;
- })();
- }
- else {
- nativeRequire = (function () {
- return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined);
- })();
- }
- return nativeRequire;
-})();
-const _MessageChannel = typeof MessageChannel === 'function'
- ? MessageChannel
- : (function () {
- try {
- return _require('worker_threads').MessageChannel;
- }
- catch (_) { }
- return undefined;
- })();
-const _setImmediate = typeof setImmediate === 'function'
- ? setImmediate
- : function (callback) {
- if (typeof callback !== 'function') {
- throw new TypeError('The "callback" argument must be of type function');
- }
- if (_MessageChannel) {
- let channel = new _MessageChannel();
- channel.port1.onmessage = function () {
- channel.port1.onmessage = null;
- channel = undefined;
- callback();
- };
- channel.port2.postMessage(null);
- }
- else {
- setTimeout(callback, 0);
- }
- };
-const _Buffer = typeof Buffer === 'function'
- ? Buffer
- : (function () {
- try {
- return _require('buffer').Buffer;
- }
- catch (_) { }
- return undefined;
- })();
-const version = "1.8.1";
-const NODE_API_SUPPORTED_VERSION_MIN = 1;
-const NODE_API_SUPPORTED_VERSION_MAX = 10;
-const NAPI_VERSION_EXPERIMENTAL = 2147483647;
-const NODE_API_DEFAULT_MODULE_API_VERSION = 8;
-
-class Handle {
- constructor(id, value) {
- this.id = id;
- this.value = value;
- }
- data() {
- return getExternalValue(this.value);
- }
- isNumber() {
- return typeof this.value === 'number';
- }
- isBigInt() {
- return typeof this.value === 'bigint';
- }
- isString() {
- return typeof this.value === 'string';
- }
- isFunction() {
- return typeof this.value === 'function';
- }
- isExternal() {
- return isExternal(this.value);
- }
- isObject() {
- return typeof this.value === 'object' && this.value !== null;
- }
- isArray() {
- return Array.isArray(this.value);
- }
- isArrayBuffer() {
- return (this.value instanceof ArrayBuffer);
- }
- isTypedArray() {
- return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView);
- }
- isBuffer(BufferConstructor) {
- if (ArrayBuffer.isView(this.value))
- return true;
- BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer);
- return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value);
- }
- isDataView() {
- return (this.value instanceof DataView);
- }
- isDate() {
- return (this.value instanceof Date);
- }
- isPromise() {
- return (this.value instanceof Promise);
- }
- isBoolean() {
- return typeof this.value === 'boolean';
- }
- isUndefined() {
- return this.value === undefined;
- }
- isSymbol() {
- return typeof this.value === 'symbol';
- }
- isNull() {
- return this.value === null;
- }
- dispose() {
- this.value = undefined;
- }
-}
-class ConstHandle extends Handle {
- constructor(id, value) {
- super(id, value);
- }
- dispose() { }
-}
-class HandleStore {
- constructor() {
- this._values = [
- undefined,
- HandleStore.UNDEFINED,
- HandleStore.NULL,
- HandleStore.FALSE,
- HandleStore.TRUE,
- HandleStore.GLOBAL
- ];
- this._next = HandleStore.MIN_ID;
- }
- push(value) {
- let h;
- const next = this._next;
- const values = this._values;
- if (next < values.length) {
- h = values[next];
- h.value = value;
- }
- else {
- h = new Handle(next, value);
- values[next] = h;
- }
- this._next++;
- return h;
- }
- erase(start, end) {
- this._next = start;
- const values = this._values;
- for (let i = start; i < end; ++i) {
- values[i].dispose();
- }
- }
- get(id) {
- return this._values[id];
- }
- swap(a, b) {
- const values = this._values;
- const h = values[a];
- values[a] = values[b];
- values[a].id = Number(a);
- values[b] = h;
- h.id = Number(b);
- }
- dispose() {
- this._values.length = HandleStore.MIN_ID;
- this._next = HandleStore.MIN_ID;
- }
-}
-HandleStore.UNDEFINED = new ConstHandle(1, undefined);
-HandleStore.NULL = new ConstHandle(2, null);
-HandleStore.FALSE = new ConstHandle(3, false);
-HandleStore.TRUE = new ConstHandle(4, true);
-HandleStore.GLOBAL = new ConstHandle(5, _global);
-HandleStore.MIN_ID = 6;
-
-class HandleScope {
- constructor(handleStore, id, parentScope, start, end = start) {
- this.handleStore = handleStore;
- this.id = id;
- this.parent = parentScope;
- this.child = null;
- if (parentScope !== null)
- parentScope.child = this;
- this.start = start;
- this.end = end;
- this._escapeCalled = false;
- this.callbackInfo = {
- thiz: undefined,
- data: 0,
- args: undefined,
- fn: undefined
- };
- }
- add(value) {
- const h = this.handleStore.push(value);
- this.end++;
- return h;
- }
- addExternal(data) {
- return this.add(new External(data));
- }
- dispose() {
- if (this._escapeCalled)
- this._escapeCalled = false;
- if (this.start === this.end)
- return;
- this.handleStore.erase(this.start, this.end);
- }
- escape(handle) {
- if (this._escapeCalled)
- return null;
- this._escapeCalled = true;
- if (handle < this.start || handle >= this.end) {
- return null;
- }
- this.handleStore.swap(handle, this.start);
- const h = this.handleStore.get(this.start);
- this.start++;
- this.parent.end++;
- return h;
- }
- escapeCalled() {
- return this._escapeCalled;
- }
-}
-
-class ScopeStore {
- constructor() {
- this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID);
- this.currentScope = this._rootScope;
- this._values = [undefined];
- }
- get(id) {
- return this._values[id];
- }
- openScope(handleStore) {
- const currentScope = this.currentScope;
- let scope = currentScope.child;
- if (scope !== null) {
- scope.start = scope.end = currentScope.end;
- }
- else {
- const id = currentScope.id + 1;
- scope = new HandleScope(handleStore, id, currentScope, currentScope.end);
- this._values[id] = scope;
- }
- this.currentScope = scope;
- return scope;
- }
- closeScope() {
- const scope = this.currentScope;
- this.currentScope = scope.parent;
- scope.dispose();
- }
- dispose() {
- this.currentScope = this._rootScope;
- this._values.length = 1;
- }
-}
-
-class RefTracker {
- constructor() {
- this._next = null;
- this._prev = null;
- }
- dispose() { }
- finalize() { }
- link(list) {
- this._prev = list;
- this._next = list._next;
- if (this._next !== null) {
- this._next._prev = this;
- }
- list._next = this;
- }
- unlink() {
- if (this._prev !== null) {
- this._prev._next = this._next;
- }
- if (this._next !== null) {
- this._next._prev = this._prev;
- }
- this._prev = null;
- this._next = null;
- }
- static finalizeAll(list) {
- while (list._next !== null) {
- list._next.finalize();
- }
- }
-}
-
-class Finalizer {
- constructor(envObject, _finalizeCallback = 0, _finalizeData = 0, _finalizeHint = 0) {
- this.envObject = envObject;
- this._finalizeCallback = _finalizeCallback;
- this._finalizeData = _finalizeData;
- this._finalizeHint = _finalizeHint;
- this._makeDynCall_vppp = envObject.makeDynCall_vppp;
- }
- callback() { return this._finalizeCallback; }
- data() { return this._finalizeData; }
- hint() { return this._finalizeHint; }
- resetEnv() {
- this.envObject = undefined;
- }
- resetFinalizer() {
- this._finalizeCallback = 0;
- this._finalizeData = 0;
- this._finalizeHint = 0;
- }
- callFinalizer() {
- const finalize_callback = this._finalizeCallback;
- const finalize_data = this._finalizeData;
- const finalize_hint = this._finalizeHint;
- this.resetFinalizer();
- if (!finalize_callback)
- return;
- const fini = Number(finalize_callback);
- if (!this.envObject) {
- this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint);
- }
- else {
- this.envObject.callFinalizer(fini, finalize_data, finalize_hint);
- }
- }
- dispose() {
- this.envObject = undefined;
- this._makeDynCall_vppp = undefined;
- }
-}
-
-class TrackedFinalizer extends RefTracker {
- static create(envObject, finalize_callback, finalize_data, finalize_hint) {
- const finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- finalizer.link(envObject.finalizing_reflist);
- return finalizer;
- }
- constructor(envObject, finalize_callback, finalize_data, finalize_hint) {
- super();
- this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- data() {
- return this._finalizer.data();
- }
- dispose() {
- if (!this._finalizer)
- return;
- this.unlink();
- this._finalizer.envObject.dequeueFinalizer(this);
- this._finalizer.dispose();
- this._finalizer = undefined;
- super.dispose();
- }
- finalize() {
- this.unlink();
- let error;
- let caught = false;
- try {
- this._finalizer.callFinalizer();
- }
- catch (err) {
- caught = true;
- error = err;
- }
- this.dispose();
- if (caught) {
- throw error;
- }
- }
-}
-
-function throwNodeApiVersionError(moduleName, moduleApiVersion) {
- const errorMessage = `${moduleName} requires Node-API version ${moduleApiVersion}, but this version of Node.js only supports version ${NODE_API_SUPPORTED_VERSION_MAX} add-ons.`;
- throw new Error(errorMessage);
-}
-function handleThrow(envObject, value) {
- if (envObject.terminatedOrTerminating()) {
- return;
- }
- throw value;
-}
-class Env {
- constructor(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) {
- this.ctx = ctx;
- this.moduleApiVersion = moduleApiVersion;
- this.makeDynCall_vppp = makeDynCall_vppp;
- this.makeDynCall_vp = makeDynCall_vp;
- this.abort = abort;
- this.openHandleScopes = 0;
- this.instanceData = null;
- this.tryCatch = new TryCatch();
- this.refs = 1;
- this.reflist = new RefTracker();
- this.finalizing_reflist = new RefTracker();
- this.pendingFinalizers = [];
- this.lastError = {
- errorCode: 0,
- engineErrorCode: 0,
- engineReserved: 0
- };
- this.inGcFinalizer = false;
- this._bindingMap = new WeakMap();
- this.id = 0;
- }
- canCallIntoJs() {
- return true;
- }
- terminatedOrTerminating() {
- return !this.canCallIntoJs();
- }
- ref() {
- this.refs++;
- }
- unref() {
- this.refs--;
- if (this.refs === 0) {
- this.dispose();
- }
- }
- ensureHandle(value) {
- return this.ctx.ensureHandle(value);
- }
- ensureHandleId(value) {
- return this.ensureHandle(value).id;
- }
- clearLastError() {
- const lastError = this.lastError;
- if (lastError.errorCode !== 0)
- lastError.errorCode = 0;
- if (lastError.engineErrorCode !== 0)
- lastError.engineErrorCode = 0;
- if (lastError.engineReserved !== 0)
- lastError.engineReserved = 0;
- return 0;
- }
- setLastError(error_code, engine_error_code = 0, engine_reserved = 0) {
- const lastError = this.lastError;
- if (lastError.errorCode !== error_code)
- lastError.errorCode = error_code;
- if (lastError.engineErrorCode !== engine_error_code)
- lastError.engineErrorCode = engine_error_code;
- if (lastError.engineReserved !== engine_reserved)
- lastError.engineReserved = engine_reserved;
- return error_code;
- }
- getReturnStatus() {
- return !this.tryCatch.hasCaught() ? 0 : this.setLastError(10);
- }
- callIntoModule(fn, handleException = handleThrow) {
- const openHandleScopesBefore = this.openHandleScopes;
- this.clearLastError();
- const r = fn(this);
- if (openHandleScopesBefore !== this.openHandleScopes) {
- this.abort('open_handle_scopes != open_handle_scopes_before');
- }
- if (this.tryCatch.hasCaught()) {
- const err = this.tryCatch.extractException();
- handleException(this, err);
- }
- return r;
- }
- invokeFinalizerFromGC(finalizer) {
- if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {
- this.enqueueFinalizer(finalizer);
- }
- else {
- const saved = this.inGcFinalizer;
- this.inGcFinalizer = true;
- try {
- finalizer.finalize();
- }
- finally {
- this.inGcFinalizer = saved;
- }
- }
- }
- checkGCAccess() {
- if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) {
- this.abort('Finalizer is calling a function that may affect GC state.\n' +
- 'The finalizers are run directly from GC and must not affect GC ' +
- 'state.\n' +
- 'Use `node_api_post_finalizer` from inside of the finalizer to work ' +
- 'around this issue.\n' +
- 'It schedules the call as a new task in the event loop.');
- }
- }
- enqueueFinalizer(finalizer) {
- if (this.pendingFinalizers.indexOf(finalizer) === -1) {
- this.pendingFinalizers.push(finalizer);
- }
- }
- dequeueFinalizer(finalizer) {
- const index = this.pendingFinalizers.indexOf(finalizer);
- if (index !== -1) {
- this.pendingFinalizers.splice(index, 1);
- }
- }
- deleteMe() {
- RefTracker.finalizeAll(this.finalizing_reflist);
- RefTracker.finalizeAll(this.reflist);
- this.tryCatch.extractException();
- this.ctx.envStore.remove(this.id);
- }
- dispose() {
- if (this.id === 0)
- return;
- this.deleteMe();
- this.finalizing_reflist.dispose();
- this.reflist.dispose();
- this.id = 0;
- }
- initObjectBinding(value) {
- const binding = {
- wrapped: 0,
- tag: null
- };
- this._bindingMap.set(value, binding);
- return binding;
- }
- getObjectBinding(value) {
- if (this._bindingMap.has(value)) {
- return this._bindingMap.get(value);
- }
- return this.initObjectBinding(value);
- }
- setInstanceData(data, finalize_cb, finalize_hint) {
- if (this.instanceData) {
- this.instanceData.dispose();
- }
- this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint);
- }
- getInstanceData() {
- return this.instanceData ? this.instanceData.data() : 0;
- }
-}
-class NodeEnv extends Env {
- constructor(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- super(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort);
- this.filename = filename;
- this.nodeBinding = nodeBinding;
- this.destructing = false;
- this.finalizationScheduled = false;
- }
- deleteMe() {
- this.destructing = true;
- this.drainFinalizerQueue();
- super.deleteMe();
- }
- canCallIntoJs() {
- return super.canCallIntoJs() && this.ctx.canCallIntoJs();
- }
- triggerFatalException(err) {
- if (this.nodeBinding) {
- this.nodeBinding.napi.fatalException(err);
- }
- else {
- if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') {
- const handled = process._fatalException(err);
- if (!handled) {
- console.error(err);
- process.exit(1);
- }
- }
- else {
- throw err;
- }
- }
- }
- callbackIntoModule(enforceUncaughtExceptionPolicy, fn) {
- return this.callIntoModule(fn, (envObject, err) => {
- if (envObject.terminatedOrTerminating()) {
- return;
- }
- const hasProcess = typeof process === 'object' && process !== null;
- const hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false;
- if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) {
- const warn = hasProcess && typeof process.emitWarning === 'function'
- ? process.emitWarning
- : function (warning, type, code) {
- if (warning instanceof Error) {
- console.warn(warning.toString());
- }
- else {
- const prefix = code ? `[${code}] ` : '';
- console.warn(`${prefix}${type || 'Warning'}: ${warning}`);
- }
- };
- warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168');
- return;
- }
- envObject.triggerFatalException(err);
- });
- }
- callFinalizer(cb, data, hint) {
- this.callFinalizerInternal(1, cb, data, hint);
- }
- callFinalizerInternal(forceUncaught, cb, data, hint) {
- const f = this.makeDynCall_vppp(cb);
- const env = this.id;
- const scope = this.ctx.openScope(this);
- try {
- this.callbackIntoModule(Boolean(forceUncaught), () => { f(env, data, hint); });
- }
- finally {
- this.ctx.closeScope(this, scope);
- }
- }
- enqueueFinalizer(finalizer) {
- super.enqueueFinalizer(finalizer);
- if (!this.finalizationScheduled && !this.destructing) {
- this.finalizationScheduled = true;
- this.ref();
- _setImmediate(() => {
- this.finalizationScheduled = false;
- this.unref();
- this.drainFinalizerQueue();
- });
- }
- }
- drainFinalizerQueue() {
- while (this.pendingFinalizers.length > 0) {
- const refTracker = this.pendingFinalizers.shift();
- refTracker.finalize();
- }
- }
-}
-function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion;
- if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) {
- moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION;
- }
- else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {
- throwNodeApiVersionError(filename, moduleApiVersion);
- }
- const env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
- ctx.envStore.add(env);
- ctx.addCleanupHook(env, () => { env.unref(); }, 0);
- return env;
-}
-
-class EmnapiError extends Error {
- constructor(message) {
- super(message);
- const ErrorConstructor = new.target;
- const proto = ErrorConstructor.prototype;
- if (!(this instanceof EmnapiError)) {
- const setPrototypeOf = Object.setPrototypeOf;
- if (typeof setPrototypeOf === 'function') {
- setPrototypeOf.call(Object, this, proto);
- }
- else {
- this.__proto__ = proto;
- }
- if (typeof Error.captureStackTrace === 'function') {
- Error.captureStackTrace(this, ErrorConstructor);
- }
- }
- }
-}
-Object.defineProperty(EmnapiError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'EmnapiError'
-});
-class NotSupportWeakRefError extends EmnapiError {
- constructor(api, message) {
- super(`${api}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${message ? ` ${message}` : ''}`);
- }
-}
-Object.defineProperty(NotSupportWeakRefError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'NotSupportWeakRefError'
-});
-class NotSupportBufferError extends EmnapiError {
- constructor(api, message) {
- super(`${api}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${message ? ` ${message}` : ''}`);
- }
-}
-Object.defineProperty(NotSupportBufferError.prototype, 'name', {
- configurable: true,
- writable: true,
- value: 'NotSupportBufferError'
-});
-
-class StrongRef {
- constructor(value) {
- this._value = value;
- }
- deref() {
- return this._value;
- }
- dispose() {
- this._value = undefined;
- }
-}
-class Persistent {
- constructor(value) {
- this._ref = new StrongRef(value);
- }
- setWeak(param, callback) {
- if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef)
- return;
- const value = this._ref.deref();
- try {
- Persistent._registry.register(value, this, this);
- const weakRef = new WeakRef(value);
- this._ref.dispose();
- this._ref = weakRef;
- this._param = param;
- this._callback = callback;
- }
- catch (err) {
- if (typeof value === 'symbol') ;
- else {
- throw err;
- }
- }
- }
- clearWeak() {
- if (!supportFinalizer || this._ref === undefined)
- return;
- if (this._ref instanceof WeakRef) {
- try {
- Persistent._registry.unregister(this);
- }
- catch (_) { }
- this._param = undefined;
- this._callback = undefined;
- const value = this._ref.deref();
- if (value === undefined) {
- this._ref = value;
- }
- else {
- this._ref = new StrongRef(value);
- }
- }
- }
- reset() {
- if (supportFinalizer) {
- try {
- Persistent._registry.unregister(this);
- }
- catch (_) { }
- }
- this._param = undefined;
- this._callback = undefined;
- if (this._ref instanceof StrongRef) {
- this._ref.dispose();
- }
- this._ref = undefined;
- }
- isEmpty() {
- return this._ref === undefined;
- }
- deref() {
- if (this._ref === undefined)
- return undefined;
- return this._ref.deref();
- }
-}
-Persistent._registry = supportFinalizer
- ? new FinalizationRegistry((value) => {
- value._ref = undefined;
- const callback = value._callback;
- const param = value._param;
- value._callback = undefined;
- value._param = undefined;
- if (typeof callback === 'function') {
- callback(param);
- }
- })
- : undefined;
-
-exports.ReferenceOwnership = void 0;
-(function (ReferenceOwnership) {
- ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime";
- ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland";
-})(exports.ReferenceOwnership || (exports.ReferenceOwnership = {}));
-function canBeHeldWeakly(value) {
- return value.isObject() || value.isFunction() || value.isSymbol();
-}
-class Reference extends RefTracker {
- static weakCallback(ref) {
- ref.persistent.reset();
- ref.invokeFinalizerFromGC();
- }
- static create(envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) {
- const ref = new Reference(envObject, handle_id, initialRefcount, ownership);
- envObject.ctx.refStore.add(ref);
- ref.link(envObject.reflist);
- return ref;
- }
- constructor(envObject, handle_id, initialRefcount, ownership) {
- super();
- this.envObject = envObject;
- this._refcount = initialRefcount;
- this._ownership = ownership;
- const handle = envObject.ctx.handleStore.get(handle_id);
- this.canBeWeak = canBeHeldWeakly(handle);
- this.persistent = new Persistent(handle.value);
- this.id = 0;
- if (initialRefcount === 0) {
- this._setWeak();
- }
- }
- ref() {
- if (this.persistent.isEmpty()) {
- return 0;
- }
- if (++this._refcount === 1 && this.canBeWeak) {
- this.persistent.clearWeak();
- }
- return this._refcount;
- }
- unref() {
- if (this.persistent.isEmpty() || this._refcount === 0) {
- return 0;
- }
- if (--this._refcount === 0) {
- this._setWeak();
- }
- return this._refcount;
- }
- get(envObject = this.envObject) {
- if (this.persistent.isEmpty()) {
- return 0;
- }
- const obj = this.persistent.deref();
- const handle = envObject.ensureHandle(obj);
- return handle.id;
- }
- resetFinalizer() { }
- data() { return 0; }
- refcount() { return this._refcount; }
- ownership() { return this._ownership; }
- callUserFinalizer() { }
- invokeFinalizerFromGC() {
- this.finalize();
- }
- _setWeak() {
- if (this.canBeWeak) {
- this.persistent.setWeak(this, Reference.weakCallback);
- }
- else {
- this.persistent.reset();
- }
- }
- finalize() {
- this.persistent.reset();
- const deleteMe = this._ownership === exports.ReferenceOwnership.kRuntime;
- this.unlink();
- this.callUserFinalizer();
- if (deleteMe) {
- this.dispose();
- }
- }
- dispose() {
- if (this.id === 0)
- return;
- this.unlink();
- this.persistent.reset();
- this.envObject.ctx.refStore.remove(this.id);
- super.dispose();
- this.envObject = undefined;
- this.id = 0;
- }
-}
-class ReferenceWithData extends Reference {
- static create(envObject, value, initialRefcount, ownership, data) {
- const reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data);
- envObject.ctx.refStore.add(reference);
- reference.link(envObject.reflist);
- return reference;
- }
- constructor(envObject, value, initialRefcount, ownership, _data) {
- super(envObject, value, initialRefcount, ownership);
- this._data = _data;
- }
- data() {
- return this._data;
- }
-}
-class ReferenceWithFinalizer extends Reference {
- static create(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) {
- const reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint);
- envObject.ctx.refStore.add(reference);
- reference.link(envObject.finalizing_reflist);
- return reference;
- }
- constructor(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) {
- super(envObject, value, initialRefcount, ownership);
- this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- resetFinalizer() {
- this._finalizer.resetFinalizer();
- }
- data() {
- return this._finalizer.data();
- }
- callUserFinalizer() {
- this._finalizer.callFinalizer();
- }
- invokeFinalizerFromGC() {
- this._finalizer.envObject.invokeFinalizerFromGC(this);
- }
- dispose() {
- if (!this._finalizer)
- return;
- this._finalizer.envObject.dequeueFinalizer(this);
- this._finalizer.dispose();
- super.dispose();
- this._finalizer = undefined;
- }
-}
-
-class Deferred {
- static create(ctx, value) {
- const deferred = new Deferred(ctx, value);
- ctx.deferredStore.add(deferred);
- return deferred;
- }
- constructor(ctx, value) {
- this.id = 0;
- this.ctx = ctx;
- this.value = value;
- }
- resolve(value) {
- this.value.resolve(value);
- this.dispose();
- }
- reject(reason) {
- this.value.reject(reason);
- this.dispose();
- }
- dispose() {
- this.ctx.deferredStore.remove(this.id);
- this.id = 0;
- this.value = null;
- this.ctx = null;
- }
-}
-
-class Store {
- constructor() {
- this._values = [undefined];
- this._values.length = 4;
- this._size = 1;
- this._freeList = [];
- }
- add(value) {
- let id;
- if (this._freeList.length) {
- id = this._freeList.shift();
- }
- else {
- id = this._size;
- this._size++;
- const capacity = this._values.length;
- if (id >= capacity) {
- this._values.length = capacity + (capacity >> 1) + 16;
- }
- }
- value.id = id;
- this._values[id] = value;
- }
- get(id) {
- return this._values[id];
- }
- has(id) {
- return this._values[id] !== undefined;
- }
- remove(id) {
- const value = this._values[id];
- if (value) {
- value.id = 0;
- this._values[id] = undefined;
- this._freeList.push(Number(id));
- }
- }
- dispose() {
- for (let i = 1; i < this._size; ++i) {
- const value = this._values[i];
- value === null || value === void 0 ? void 0 : value.dispose();
- }
- this._values = [undefined];
- this._size = 1;
- this._freeList = [];
- }
-}
-
-class CleanupHookCallback {
- constructor(envObject, fn, arg, order) {
- this.envObject = envObject;
- this.fn = fn;
- this.arg = arg;
- this.order = order;
- }
-}
-class CleanupQueue {
- constructor() {
- this._cleanupHooks = [];
- this._cleanupHookCounter = 0;
- }
- empty() {
- return this._cleanupHooks.length === 0;
- }
- add(envObject, fn, arg) {
- if (this._cleanupHooks.filter((hook) => (hook.envObject === envObject && hook.fn === fn && hook.arg === arg)).length > 0) {
- throw new Error('Can not add same fn and arg twice');
- }
- this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++));
- }
- remove(envObject, fn, arg) {
- for (let i = 0; i < this._cleanupHooks.length; ++i) {
- const hook = this._cleanupHooks[i];
- if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) {
- this._cleanupHooks.splice(i, 1);
- return;
- }
- }
- }
- drain() {
- const hooks = this._cleanupHooks.slice();
- hooks.sort((a, b) => (b.order - a.order));
- for (let i = 0; i < hooks.length; ++i) {
- const cb = hooks[i];
- if (typeof cb.fn === 'number') {
- cb.envObject.makeDynCall_vp(cb.fn)(cb.arg);
- }
- else {
- cb.fn(cb.arg);
- }
- this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1);
- }
- }
- dispose() {
- this._cleanupHooks.length = 0;
- this._cleanupHookCounter = 0;
- }
-}
-class NodejsWaitingRequestCounter {
- constructor() {
- this.refHandle = new _MessageChannel().port1;
- this.count = 0;
- }
- increase() {
- if (this.count === 0) {
- if (this.refHandle.ref) {
- this.refHandle.ref();
- }
- }
- this.count++;
- }
- decrease() {
- if (this.count === 0)
- return;
- if (this.count === 1) {
- if (this.refHandle.unref) {
- this.refHandle.unref();
- }
- }
- this.count--;
- }
-}
-class Context {
- constructor() {
- this._isStopping = false;
- this._canCallIntoJs = true;
- this._suppressDestroy = false;
- this.envStore = new Store();
- this.scopeStore = new ScopeStore();
- this.refStore = new Store();
- this.deferredStore = new Store();
- this.handleStore = new HandleStore();
- this.feature = {
- supportReflect,
- supportFinalizer,
- supportWeakSymbol,
- supportBigInt,
- supportNewFunction,
- canSetFunctionName,
- setImmediate: _setImmediate,
- Buffer: _Buffer,
- MessageChannel: _MessageChannel
- };
- this.cleanupQueue = new CleanupQueue();
- if (typeof process === 'object' && process !== null && typeof process.once === 'function') {
- this.refCounter = new NodejsWaitingRequestCounter();
- process.once('beforeExit', () => {
- if (!this._suppressDestroy) {
- this.destroy();
- }
- });
- }
- }
- suppressDestroy() {
- this._suppressDestroy = true;
- }
- getRuntimeVersions() {
- return {
- version,
- NODE_API_SUPPORTED_VERSION_MAX,
- NAPI_VERSION_EXPERIMENTAL,
- NODE_API_DEFAULT_MODULE_API_VERSION
- };
- }
- createNotSupportWeakRefError(api, message) {
- return new NotSupportWeakRefError(api, message);
- }
- createNotSupportBufferError(api, message) {
- return new NotSupportBufferError(api, message);
- }
- createReference(envObject, handle_id, initialRefcount, ownership) {
- return Reference.create(envObject, handle_id, initialRefcount, ownership);
- }
- createReferenceWithData(envObject, handle_id, initialRefcount, ownership, data) {
- return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data);
- }
- createReferenceWithFinalizer(envObject, handle_id, initialRefcount, ownership, finalize_callback = 0, finalize_data = 0, finalize_hint = 0) {
- return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint);
- }
- createDeferred(value) {
- return Deferred.create(this, value);
- }
- createEnv(filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
- return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
- }
- createTrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) {
- return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint);
- }
- getCurrentScope() {
- return this.scopeStore.currentScope;
- }
- addToCurrentScope(value) {
- return this.scopeStore.currentScope.add(value);
- }
- openScope(envObject) {
- const scope = this.scopeStore.openScope(this.handleStore);
- if (envObject)
- envObject.openHandleScopes++;
- return scope;
- }
- closeScope(envObject, _scope) {
- if (envObject && envObject.openHandleScopes === 0)
- return;
- this.scopeStore.closeScope();
- if (envObject)
- envObject.openHandleScopes--;
- }
- ensureHandle(value) {
- switch (value) {
- case undefined: return HandleStore.UNDEFINED;
- case null: return HandleStore.NULL;
- case true: return HandleStore.TRUE;
- case false: return HandleStore.FALSE;
- case _global: return HandleStore.GLOBAL;
- }
- return this.addToCurrentScope(value);
- }
- addCleanupHook(envObject, fn, arg) {
- this.cleanupQueue.add(envObject, fn, arg);
- }
- removeCleanupHook(envObject, fn, arg) {
- this.cleanupQueue.remove(envObject, fn, arg);
- }
- runCleanup() {
- while (!this.cleanupQueue.empty()) {
- this.cleanupQueue.drain();
- }
- }
- increaseWaitingRequestCounter() {
- var _a;
- (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase();
- }
- decreaseWaitingRequestCounter() {
- var _a;
- (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease();
- }
- setCanCallIntoJs(value) {
- this._canCallIntoJs = value;
- }
- setStopping(value) {
- this._isStopping = value;
- }
- canCallIntoJs() {
- return this._canCallIntoJs && !this._isStopping;
- }
- destroy() {
- this.setStopping(true);
- this.setCanCallIntoJs(false);
- this.runCleanup();
- }
-}
-let defaultContext;
-function createContext() {
- return new Context();
-}
-function getDefaultContext() {
- if (!defaultContext) {
- defaultContext = createContext();
- }
- return defaultContext;
-}
-
-exports.ConstHandle = ConstHandle;
-exports.Context = Context;
-exports.Deferred = Deferred;
-exports.EmnapiError = EmnapiError;
-exports.Env = Env;
-exports.External = External;
-exports.Finalizer = Finalizer;
-exports.Handle = Handle;
-exports.HandleScope = HandleScope;
-exports.HandleStore = HandleStore;
-exports.NAPI_VERSION_EXPERIMENTAL = NAPI_VERSION_EXPERIMENTAL;
-exports.NODE_API_DEFAULT_MODULE_API_VERSION = NODE_API_DEFAULT_MODULE_API_VERSION;
-exports.NODE_API_SUPPORTED_VERSION_MAX = NODE_API_SUPPORTED_VERSION_MAX;
-exports.NODE_API_SUPPORTED_VERSION_MIN = NODE_API_SUPPORTED_VERSION_MIN;
-exports.NodeEnv = NodeEnv;
-exports.NotSupportBufferError = NotSupportBufferError;
-exports.NotSupportWeakRefError = NotSupportWeakRefError;
-exports.Persistent = Persistent;
-exports.RefTracker = RefTracker;
-exports.Reference = Reference;
-exports.ReferenceWithData = ReferenceWithData;
-exports.ReferenceWithFinalizer = ReferenceWithFinalizer;
-exports.ScopeStore = ScopeStore;
-exports.Store = Store;
-exports.TrackedFinalizer = TrackedFinalizer;
-exports.TryCatch = TryCatch;
-exports.createContext = createContext;
-exports.getDefaultContext = getDefaultContext;
-exports.getExternalValue = getExternalValue;
-exports.isExternal = isExternal;
-exports.isReferenceType = isReferenceType;
-exports.version = version;
diff --git a/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts b/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts
deleted file mode 100644
index 6f33058..0000000
--- a/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts
+++ /dev/null
@@ -1,665 +0,0 @@
-export declare type Ptr = number | bigint
-
-export declare interface IBuffer extends Uint8Array {}
-export declare interface BufferCtor {
- readonly prototype: IBuffer
- /** @deprecated */
- new (...args: any[]): IBuffer
- from: {
- (buffer: ArrayBufferLike): IBuffer
- (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer
- }
- alloc: (size: number) => IBuffer
- isBuffer: (obj: unknown) => obj is IBuffer
-}
-
-export declare const enum GlobalHandle {
- UNDEFINED = 1,
- NULL,
- FALSE,
- TRUE,
- GLOBAL
-}
-
-export declare const enum Version {
- NODE_API_SUPPORTED_VERSION_MIN = 1,
- NODE_API_DEFAULT_MODULE_API_VERSION = 8,
- NODE_API_SUPPORTED_VERSION_MAX = 10,
- NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX
-}
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export declare type Pointer = number
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export declare type PointerPointer = number
-export declare type FunctionPointer any> = Pointer
-export declare type Const = T
-
-export declare type void_p = Pointer
-export declare type void_pp = Pointer
-export declare type bool = number
-export declare type char = number
-export declare type char_p = Pointer
-export declare type unsigned_char = number
-export declare type const_char = Const
-export declare type const_char_p = Pointer
-export declare type char16_t_p = number
-export declare type const_char16_t_p = number
-
-export declare type short = number
-export declare type unsigned_short = number
-export declare type int = number
-export declare type unsigned_int = number
-export declare type long = number
-export declare type unsigned_long = number
-export declare type long_long = bigint
-export declare type unsigned_long_long = bigint
-export declare type float = number
-export declare type double = number
-export declare type long_double = number
-export declare type size_t = number
-
-export declare type int8_t = number
-export declare type uint8_t = number
-export declare type int16_t = number
-export declare type uint16_t = number
-export declare type int32_t = number
-export declare type uint32_t = number
-export declare type int64_t = bigint
-export declare type uint64_t = bigint
-export declare type napi_env = Pointer
-
-export declare type napi_value = Pointer
-export declare type napi_ref = Pointer
-export declare type napi_deferred = Pointer
-export declare type napi_handle_scope = Pointer
-export declare type napi_escapable_handle_scope = Pointer
-
-export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value>
-
-export declare type napi_callback_info = Pointer
-export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value>
-
-export declare interface napi_extended_error_info {
- error_message: const_char_p
- engine_reserved: void_p
- engine_error_code: uint32_t
- error_code: napi_status
-}
-
-export declare interface napi_property_descriptor {
- // One of utf8name or name should be NULL.
- utf8name: const_char_p
- name: napi_value
-
- method: napi_callback
- getter: napi_callback
- setter: napi_callback
- value: napi_value
- /* napi_property_attributes */
- attributes: number
- data: void_p
-}
-
-export declare type napi_finalize = FunctionPointer<(
- env: napi_env,
- finalize_data: void_p,
- finalize_hint: void_p
-) => void>
-
-export declare interface node_module {
- nm_version: int32_t
- nm_flags: uint32_t
- nm_filename: Pointer
- nm_register_func: napi_addon_register_func
- nm_modname: Pointer
- nm_priv: Pointer
- reserved: PointerPointer
-}
-
-export declare interface napi_node_version {
- major: uint32_t
- minor: uint32_t
- patch: uint32_t
- release: const_char_p
-}
-
-export declare interface emnapi_emscripten_version {
- major: uint32_t
- minor: uint32_t
- patch: uint32_t
-}
-
-export declare const enum napi_status {
- napi_ok,
- napi_invalid_arg,
- napi_object_expected,
- napi_string_expected,
- napi_name_expected,
- napi_function_expected,
- napi_number_expected,
- napi_boolean_expected,
- napi_array_expected,
- napi_generic_failure,
- napi_pending_exception,
- napi_cancelled,
- napi_escape_called_twice,
- napi_handle_scope_mismatch,
- napi_callback_scope_mismatch,
- napi_queue_full,
- napi_closing,
- napi_bigint_expected,
- napi_date_expected,
- napi_arraybuffer_expected,
- napi_detachable_arraybuffer_expected,
- napi_would_deadlock, // unused
- napi_no_external_buffers_allowed,
- napi_cannot_run_js
-}
-
-export declare const enum napi_property_attributes {
- napi_default = 0,
- napi_writable = 1 << 0,
- napi_enumerable = 1 << 1,
- napi_configurable = 1 << 2,
-
- // Used with napi_define_class to distinguish static properties
- // from instance properties. Ignored by napi_define_properties.
- napi_static = 1 << 10,
-
- /// #ifdef NAPI_EXPERIMENTAL
- // Default for class methods.
- napi_default_method = napi_writable | napi_configurable,
-
- // Default for object properties, like in JS obj[prop].
- napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable
- /// #endif // NAPI_EXPERIMENTAL
-}
-
-export declare const enum napi_valuetype {
- napi_undefined,
- napi_null,
- napi_boolean,
- napi_number,
- napi_string,
- napi_symbol,
- napi_object,
- napi_function,
- napi_external,
- napi_bigint
-}
-
-export declare const enum napi_typedarray_type {
- napi_int8_array,
- napi_uint8_array,
- napi_uint8_clamped_array,
- napi_int16_array,
- napi_uint16_array,
- napi_int32_array,
- napi_uint32_array,
- napi_float32_array,
- napi_float64_array,
- napi_bigint64_array,
- napi_biguint64_array,
- napi_float16_array,
-}
-
-export declare const enum napi_key_collection_mode {
- napi_key_include_prototypes,
- napi_key_own_only
-}
-
-export declare const enum napi_key_filter {
- napi_key_all_properties = 0,
- napi_key_writable = 1,
- napi_key_enumerable = 1 << 1,
- napi_key_configurable = 1 << 2,
- napi_key_skip_strings = 1 << 3,
- napi_key_skip_symbols = 1 << 4
-}
-
-export declare const enum napi_key_conversion {
- napi_key_keep_numbers,
- napi_key_numbers_to_strings
-}
-
-export declare const enum emnapi_memory_view_type {
- emnapi_int8_array,
- emnapi_uint8_array,
- emnapi_uint8_clamped_array,
- emnapi_int16_array,
- emnapi_uint16_array,
- emnapi_int32_array,
- emnapi_uint32_array,
- emnapi_float32_array,
- emnapi_float64_array,
- emnapi_bigint64_array,
- emnapi_biguint64_array,
- emnapi_float16_array,
- emnapi_data_view = -1,
- emnapi_buffer = -2
-}
-
-export declare const enum napi_threadsafe_function_call_mode {
- napi_tsfn_nonblocking,
- napi_tsfn_blocking
-}
-
-export declare const enum napi_threadsafe_function_release_mode {
- napi_tsfn_release,
- napi_tsfn_abort
-}
-export declare type CleanupHookCallbackFunction = number | ((arg: number) => void);
-
-export declare class ConstHandle extends Handle {
- constructor(id: number, value: S);
- dispose(): void;
-}
-
-export declare class Context {
- private _isStopping;
- private _canCallIntoJs;
- private _suppressDestroy;
- envStore: Store;
- scopeStore: ScopeStore;
- refStore: Store;
- deferredStore: Store>;
- handleStore: HandleStore;
- private readonly refCounter?;
- private readonly cleanupQueue;
- feature: {
- supportReflect: boolean;
- supportFinalizer: boolean;
- supportWeakSymbol: boolean;
- supportBigInt: boolean;
- supportNewFunction: boolean;
- canSetFunctionName: boolean;
- setImmediate: (callback: () => void) => void;
- Buffer: BufferCtor | undefined;
- MessageChannel: {
- new (): MessageChannel;
- prototype: MessageChannel;
- } | undefined;
- };
- constructor();
- /**
- * Suppress the destroy on `beforeExit` event in Node.js.
- * Call this method if you want to keep the context and
- * all associated {@link Env | Env} alive,
- * this also means that cleanup hooks will not be called.
- * After call this method, you should call
- * {@link Context.destroy | `Context.prototype.destroy`} method manually.
- */
- suppressDestroy(): void;
- getRuntimeVersions(): {
- version: string;
- NODE_API_SUPPORTED_VERSION_MAX: Version;
- NAPI_VERSION_EXPERIMENTAL: Version;
- NODE_API_DEFAULT_MODULE_API_VERSION: Version;
- };
- createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError;
- createNotSupportBufferError(api: string, message: string): NotSupportBufferError;
- createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference;
- createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference;
- createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference;
- createDeferred(value: IDeferrdValue): Deferred;
- createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env;
- createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer;
- getCurrentScope(): HandleScope | null;
- addToCurrentScope(value: V): Handle;
- openScope(envObject?: Env): HandleScope;
- closeScope(envObject?: Env, _scope?: HandleScope): void;
- ensureHandle(value: S): Handle;
- addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
- removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
- runCleanup(): void;
- increaseWaitingRequestCounter(): void;
- decreaseWaitingRequestCounter(): void;
- setCanCallIntoJs(value: boolean): void;
- setStopping(value: boolean): void;
- canCallIntoJs(): boolean;
- /**
- * Destroy the context and call cleanup hooks.
- * Associated {@link Env | Env} will be destroyed.
- */
- destroy(): void;
-}
-
-export declare function createContext(): Context;
-
-export declare class Deferred implements IStoreValue {
- static create(ctx: Context, value: IDeferrdValue): Deferred;
- id: number;
- ctx: Context;
- value: IDeferrdValue;
- constructor(ctx: Context, value: IDeferrdValue);
- resolve(value: T): void;
- reject(reason?: any): void;
- dispose(): void;
-}
-
-export declare class EmnapiError extends Error {
- constructor(message?: string);
-}
-
-export declare abstract class Env implements IStoreValue {
- readonly ctx: Context;
- moduleApiVersion: number;
- makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void;
- makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void;
- abort: (msg?: string) => never;
- id: number;
- openHandleScopes: number;
- instanceData: TrackedFinalizer | null;
- tryCatch: TryCatch;
- refs: number;
- reflist: RefTracker;
- finalizing_reflist: RefTracker;
- pendingFinalizers: RefTracker[];
- lastError: {
- errorCode: napi_status;
- engineErrorCode: number;
- engineReserved: Ptr;
- };
- inGcFinalizer: boolean;
- constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never);
- /** @virtual */
- canCallIntoJs(): boolean;
- terminatedOrTerminating(): boolean;
- ref(): void;
- unref(): void;
- ensureHandle(value: S): Handle;
- ensureHandleId(value: any): napi_value;
- clearLastError(): napi_status;
- setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status;
- getReturnStatus(): napi_status;
- callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T;
- /** @virtual */
- abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void;
- invokeFinalizerFromGC(finalizer: RefTracker): void;
- checkGCAccess(): void;
- /** @virtual */
- enqueueFinalizer(finalizer: RefTracker): void;
- /** @virtual */
- dequeueFinalizer(finalizer: RefTracker): void;
- /** @virtual */
- deleteMe(): void;
- dispose(): void;
- private readonly _bindingMap;
- initObjectBinding(value: S): IReferenceBinding;
- getObjectBinding(value: S): IReferenceBinding;
- setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void;
- getInstanceData(): number;
-}
-
-/** @public */
-declare interface External_2 extends Record {
-}
-
-/** @public */
-declare const External_2: {
- new (value: number | bigint): External_2;
- prototype: null;
-};
-export { External_2 as External }
-
-export declare class Finalizer {
- envObject: Env;
- private _finalizeCallback;
- private _finalizeData;
- private _finalizeHint;
- private _makeDynCall_vppp;
- constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p);
- callback(): napi_finalize;
- data(): void_p;
- hint(): void_p;
- resetEnv(): void;
- resetFinalizer(): void;
- callFinalizer(): void;
- dispose(): void;
-}
-
-export declare function getDefaultContext(): Context;
-
-/** @public */
-export declare function getExternalValue(external: External_2): number | bigint;
-
-export declare class Handle {
- id: number;
- value: S;
- constructor(id: number, value: S);
- data(): void_p;
- isNumber(): boolean;
- isBigInt(): boolean;
- isString(): boolean;
- isFunction(): boolean;
- isExternal(): boolean;
- isObject(): boolean;
- isArray(): boolean;
- isArrayBuffer(): boolean;
- isTypedArray(): boolean;
- isBuffer(BufferConstructor?: BufferCtor): boolean;
- isDataView(): boolean;
- isDate(): boolean;
- isPromise(): boolean;
- isBoolean(): boolean;
- isUndefined(): boolean;
- isSymbol(): boolean;
- isNull(): boolean;
- dispose(): void;
-}
-
-export declare class HandleScope {
- handleStore: HandleStore;
- id: number;
- parent: HandleScope | null;
- child: HandleScope | null;
- start: number;
- end: number;
- private _escapeCalled;
- callbackInfo: ICallbackInfo;
- constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number);
- add(value: V): Handle;
- addExternal(data: void_p): Handle