napi-rs/examples/napi/index.cjs

929 lines
46 KiB
JavaScript

// prettier-ignore
/* eslint-disable */
// @ts-nocheck
/* auto-generated by NAPI-RS */
const { readFileSync } = require('node:fs')
let nativeBinding = null
const loadErrors = []
const isMusl = () => {
let musl = false
if (process.platform === 'linux') {
musl = isMuslFromFilesystem()
if (musl === null) {
musl = isMuslFromReport()
}
if (musl === null) {
musl = isMuslFromChildProcess()
}
}
return musl
}
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
const isMuslFromFilesystem = () => {
try {
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
} catch {
return null
}
}
const isMuslFromReport = () => {
let report = null
if (typeof process.report?.getReport === 'function') {
process.report.excludeNetwork = true
report = process.report.getReport()
}
if (!report) {
return null
}
if (report.header && report.header.glibcVersionRuntime) {
return false
}
if (Array.isArray(report.sharedObjects)) {
if (report.sharedObjects.some(isFileMusl)) {
return true
}
}
return false
}
const isMuslFromChildProcess = () => {
try {
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
} catch (e) {
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
return false
}
}
function requireNative() {
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
try {
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
} catch (err) {
loadErrors.push(err)
}
} else if (process.platform === 'android') {
if (process.arch === 'arm64') {
try {
return require('./example.android-arm64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-android-arm64')
const bindingPackageVersion = require('@examples/napi-android-arm64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'arm') {
try {
return require('./example.android-arm-eabi.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-android-arm-eabi')
const bindingPackageVersion = require('@examples/napi-android-arm-eabi/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
}
} else if (process.platform === 'win32') {
if (process.arch === 'x64') {
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
try {
return require('./example.win32-x64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-win32-x64-gnu')
const bindingPackageVersion = require('@examples/napi-win32-x64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.win32-x64-msvc.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-win32-x64-msvc')
const bindingPackageVersion = require('@examples/napi-win32-x64-msvc/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'ia32') {
try {
return require('./example.win32-ia32-msvc.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-win32-ia32-msvc')
const bindingPackageVersion = require('@examples/napi-win32-ia32-msvc/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'arm64') {
try {
return require('./example.win32-arm64-msvc.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-win32-arm64-msvc')
const bindingPackageVersion = require('@examples/napi-win32-arm64-msvc/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
}
} else if (process.platform === 'darwin') {
try {
return require('./example.darwin-universal.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-darwin-universal')
const bindingPackageVersion = require('@examples/napi-darwin-universal/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
if (process.arch === 'x64') {
try {
return require('./example.darwin-x64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-darwin-x64')
const bindingPackageVersion = require('@examples/napi-darwin-x64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'arm64') {
try {
return require('./example.darwin-arm64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-darwin-arm64')
const bindingPackageVersion = require('@examples/napi-darwin-arm64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
}
} else if (process.platform === 'freebsd') {
if (process.arch === 'x64') {
try {
return require('./example.freebsd-x64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-freebsd-x64')
const bindingPackageVersion = require('@examples/napi-freebsd-x64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'arm64') {
try {
return require('./example.freebsd-arm64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-freebsd-arm64')
const bindingPackageVersion = require('@examples/napi-freebsd-arm64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
}
} else if (process.platform === 'linux') {
if (process.arch === 'x64') {
if (isMusl()) {
try {
return require('./example.linux-x64-musl.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-x64-musl')
const bindingPackageVersion = require('@examples/napi-linux-x64-musl/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.linux-x64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-x64-gnu')
const bindingPackageVersion = require('@examples/napi-linux-x64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'arm64') {
if (isMusl()) {
try {
return require('./example.linux-arm64-musl.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-arm64-musl')
const bindingPackageVersion = require('@examples/napi-linux-arm64-musl/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.linux-arm64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-arm64-gnu')
const bindingPackageVersion = require('@examples/napi-linux-arm64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'arm') {
if (isMusl()) {
try {
return require('./example.linux-arm-musleabihf.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-arm-musleabihf')
const bindingPackageVersion = require('@examples/napi-linux-arm-musleabihf/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.linux-arm-gnueabihf.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-arm-gnueabihf')
const bindingPackageVersion = require('@examples/napi-linux-arm-gnueabihf/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'loong64') {
if (isMusl()) {
try {
return require('./example.linux-loong64-musl.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-loong64-musl')
const bindingPackageVersion = require('@examples/napi-linux-loong64-musl/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.linux-loong64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-loong64-gnu')
const bindingPackageVersion = require('@examples/napi-linux-loong64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'riscv64') {
if (isMusl()) {
try {
return require('./example.linux-riscv64-musl.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-riscv64-musl')
const bindingPackageVersion = require('@examples/napi-linux-riscv64-musl/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./example.linux-riscv64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-riscv64-gnu')
const bindingPackageVersion = require('@examples/napi-linux-riscv64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'ppc64') {
try {
return require('./example.linux-ppc64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-ppc64-gnu')
const bindingPackageVersion = require('@examples/napi-linux-ppc64-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 's390x') {
try {
return require('./example.linux-s390x-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-linux-s390x-gnu')
const bindingPackageVersion = require('@examples/napi-linux-s390x-gnu/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
}
} else if (process.platform === 'openharmony') {
if (process.arch === 'arm64') {
try {
return require('./example.openharmony-arm64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-openharmony-arm64')
const bindingPackageVersion = require('@examples/napi-openharmony-arm64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'x64') {
try {
return require('./example.openharmony-x64.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-openharmony-x64')
const bindingPackageVersion = require('@examples/napi-openharmony-x64/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else if (process.arch === 'arm') {
try {
return require('./example.openharmony-arm.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@examples/napi-openharmony-arm')
const bindingPackageVersion = require('@examples/napi-openharmony-arm/package.json').version
if (bindingPackageVersion !== '0.0.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
}
} else {
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
}
}
nativeBinding = requireNative()
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
let wasiBinding = null
let wasiBindingError = null
try {
wasiBinding = require('./example.wasi.cjs')
nativeBinding = wasiBinding
} catch (err) {
if (process.env.NAPI_RS_FORCE_WASI) {
wasiBindingError = err
}
}
if (!nativeBinding) {
try {
wasiBinding = require('@examples/napi-wasm32-wasi')
nativeBinding = wasiBinding
} catch (err) {
if (process.env.NAPI_RS_FORCE_WASI) {
wasiBindingError.cause = err
loadErrors.push(err)
}
}
}
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
error.cause = wasiBindingError
throw error
}
}
if (!nativeBinding) {
if (loadErrors.length > 0) {
throw new Error(
`Cannot find native binding. ` +
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
{
cause: loadErrors.reduce((err, cur) => {
cur.cause = err
return cur
}),
},
)
}
throw new Error(`Failed to load native binding`)
}
module.exports = nativeBinding
module.exports.Animal = nativeBinding.Animal
module.exports.AnimalWithDefaultConstructor = nativeBinding.AnimalWithDefaultConstructor
module.exports.AnotherClassForEither = nativeBinding.AnotherClassForEither
module.exports.AnotherCssStyleSheet = nativeBinding.AnotherCssStyleSheet
module.exports.AnotherCSSStyleSheet = nativeBinding.AnotherCSSStyleSheet
module.exports.Asset = nativeBinding.Asset
module.exports.JsAsset = nativeBinding.JsAsset
module.exports.Assets = nativeBinding.Assets
module.exports.JsAssets = nativeBinding.JsAssets
module.exports.Bird = nativeBinding.Bird
module.exports.Blake2BHasher = nativeBinding.Blake2BHasher
module.exports.Blake2bHasher = nativeBinding.Blake2bHasher
module.exports.Blake2BKey = nativeBinding.Blake2BKey
module.exports.Blake2bKey = nativeBinding.Blake2bKey
module.exports.CatchOnConstructor = nativeBinding.CatchOnConstructor
module.exports.CatchOnConstructor2 = nativeBinding.CatchOnConstructor2
module.exports.ClassInArray = nativeBinding.ClassInArray
module.exports.ClassReturnInPromise = nativeBinding.ClassReturnInPromise
module.exports.ClassWithFactory = nativeBinding.ClassWithFactory
module.exports.ClassWithLifetime = nativeBinding.ClassWithLifetime
module.exports.Context = nativeBinding.Context
module.exports.CreateStringClass = nativeBinding.CreateStringClass
module.exports.CssRuleList = nativeBinding.CssRuleList
module.exports.CSSRuleList = nativeBinding.CSSRuleList
module.exports.CssStyleSheet = nativeBinding.CssStyleSheet
module.exports.CSSStyleSheet = nativeBinding.CSSStyleSheet
module.exports.CustomFinalize = nativeBinding.CustomFinalize
module.exports.CustomStruct = nativeBinding.CustomStruct
module.exports.DefaultUseNullableClass = nativeBinding.DefaultUseNullableClass
module.exports.Dog = nativeBinding.Dog
module.exports.Fib = nativeBinding.Fib
module.exports.Fib2 = nativeBinding.Fib2
module.exports.Fib3 = nativeBinding.Fib3
module.exports.Fib4 = nativeBinding.Fib4
module.exports.GetterSetterWithClosures = nativeBinding.GetterSetterWithClosures
module.exports.JsClassForEither = nativeBinding.JsClassForEither
module.exports.JSOnlyMethodsClass = nativeBinding.JSOnlyMethodsClass
module.exports.RustOnlyMethodsClass = nativeBinding.RustOnlyMethodsClass
module.exports.JsRemote = nativeBinding.JsRemote
module.exports.JsRepo = nativeBinding.JsRepo
module.exports.MyJsNamedClass = nativeBinding.MyJsNamedClass
module.exports.OriginalRustNameForJsNamedStruct = nativeBinding.OriginalRustNameForJsNamedStruct
module.exports.NinjaTurtle = nativeBinding.NinjaTurtle
module.exports.NotUseNullableClass = nativeBinding.NotUseNullableClass
module.exports.NotWritableClass = nativeBinding.NotWritableClass
module.exports.Optional = nativeBinding.Optional
module.exports.PackageJsonReader = nativeBinding.PackageJsonReader
module.exports.Reader = nativeBinding.Reader
module.exports.Selector = nativeBinding.Selector
module.exports.Thing = nativeBinding.Thing
module.exports.ThingList = nativeBinding.ThingList
module.exports.UseNullableClass = nativeBinding.UseNullableClass
module.exports.Width = nativeBinding.Width
module.exports.acceptArraybuffer = nativeBinding.acceptArraybuffer
module.exports.acceptSlice = nativeBinding.acceptSlice
module.exports.acceptStream = nativeBinding.acceptStream
module.exports.acceptThreadsafeFunction = nativeBinding.acceptThreadsafeFunction
module.exports.acceptThreadsafeFunctionFatal = nativeBinding.acceptThreadsafeFunctionFatal
module.exports.acceptThreadsafeFunctionTupleArgs = nativeBinding.acceptThreadsafeFunctionTupleArgs
module.exports.acceptUint8ClampedSlice = nativeBinding.acceptUint8ClampedSlice
module.exports.acceptUint8ClampedSliceAndBufferSlice = nativeBinding.acceptUint8ClampedSliceAndBufferSlice
module.exports.acceptUntypedTypedArray = nativeBinding.acceptUntypedTypedArray
module.exports.add = nativeBinding.add
module.exports.ALIAS = nativeBinding.ALIAS
module.exports.AliasedEnum = nativeBinding.AliasedEnum
module.exports.appendBuffer = nativeBinding.appendBuffer
module.exports.apply0 = nativeBinding.apply0
module.exports.apply1 = nativeBinding.apply1
module.exports.arrayBufferFromData = nativeBinding.arrayBufferFromData
module.exports.arrayBufferFromExternal = nativeBinding.arrayBufferFromExternal
module.exports.arrayBufferPassThrough = nativeBinding.arrayBufferPassThrough
module.exports.arrayParams = nativeBinding.arrayParams
module.exports.asyncBufferToArray = nativeBinding.asyncBufferToArray
module.exports.asyncMultiTwo = nativeBinding.asyncMultiTwo
module.exports.asyncPlus100 = nativeBinding.asyncPlus100
module.exports.asyncReduceBuffer = nativeBinding.asyncReduceBuffer
module.exports.asyncResolveArray = nativeBinding.asyncResolveArray
module.exports.asyncTaskFinally = nativeBinding.asyncTaskFinally
module.exports.asyncTaskOptionalReturn = nativeBinding.asyncTaskOptionalReturn
module.exports.asyncTaskReadFile = nativeBinding.asyncTaskReadFile
module.exports.asyncTaskVoidReturn = nativeBinding.asyncTaskVoidReturn
module.exports.bigintAdd = nativeBinding.bigintAdd
module.exports.bigintFromI128 = nativeBinding.bigintFromI128
module.exports.bigintFromI64 = nativeBinding.bigintFromI64
module.exports.bigintGetU64AsString = nativeBinding.bigintGetU64AsString
module.exports.btreeSetToJs = nativeBinding.btreeSetToJs
module.exports.btreeSetToRust = nativeBinding.btreeSetToRust
module.exports.bufferPassThrough = nativeBinding.bufferPassThrough
module.exports.bufferWithAsyncBlock = nativeBinding.bufferWithAsyncBlock
module.exports.buildThreadsafeFunctionFromFunction = nativeBinding.buildThreadsafeFunctionFromFunction
module.exports.buildThreadsafeFunctionFromFunctionCalleeHandle = nativeBinding.buildThreadsafeFunctionFromFunctionCalleeHandle
module.exports.call0 = nativeBinding.call0
module.exports.call1 = nativeBinding.call1
module.exports.call2 = nativeBinding.call2
module.exports.callAsyncWithUnknownReturnValue = nativeBinding.callAsyncWithUnknownReturnValue
module.exports.callbackInSpawn = nativeBinding.callbackInSpawn
module.exports.callbackReturnPromise = nativeBinding.callbackReturnPromise
module.exports.callbackReturnPromiseAndSpawn = nativeBinding.callbackReturnPromiseAndSpawn
module.exports.callCatchOnPromise = nativeBinding.callCatchOnPromise
module.exports.callFinallyOnPromise = nativeBinding.callFinallyOnPromise
module.exports.callFunction = nativeBinding.callFunction
module.exports.callFunctionWithArg = nativeBinding.callFunctionWithArg
module.exports.callFunctionWithArgAndCtx = nativeBinding.callFunctionWithArgAndCtx
module.exports.callLongThreadsafeFunction = nativeBinding.callLongThreadsafeFunction
module.exports.callRuleHandler = nativeBinding.callRuleHandler
module.exports.callThenOnPromise = nativeBinding.callThenOnPromise
module.exports.callThreadsafeFunction = nativeBinding.callThreadsafeFunction
module.exports.captureErrorInCallback = nativeBinding.captureErrorInCallback
module.exports.chronoDateAdd1Minute = nativeBinding.chronoDateAdd1Minute
module.exports.chronoDateFixtureReturn1 = nativeBinding.chronoDateFixtureReturn1
module.exports.chronoDateFixtureReturn2 = nativeBinding.chronoDateFixtureReturn2
module.exports.chronoDateWithTimezoneReturn = nativeBinding.chronoDateWithTimezoneReturn
module.exports.chronoDateWithTimezoneToMillis = nativeBinding.chronoDateWithTimezoneToMillis
module.exports.chronoLocalDateReturn = nativeBinding.chronoLocalDateReturn
module.exports.chronoLocalDateToMillis = nativeBinding.chronoLocalDateToMillis
module.exports.chronoNativeDateTime = nativeBinding.chronoNativeDateTime
module.exports.chronoNativeDateTimeReturn = nativeBinding.chronoNativeDateTimeReturn
module.exports.chronoUtcDateReturn = nativeBinding.chronoUtcDateReturn
module.exports.chronoUtcDateToMillis = nativeBinding.chronoUtcDateToMillis
module.exports.compressSync = nativeBinding.compressSync
module.exports.concatLatin1 = nativeBinding.concatLatin1
module.exports.concatStr = nativeBinding.concatStr
module.exports.concatUtf16 = nativeBinding.concatUtf16
module.exports.contains = nativeBinding.contains
module.exports.convertU32Array = nativeBinding.convertU32Array
module.exports.createArraybuffer = nativeBinding.createArraybuffer
module.exports.createBigInt = nativeBinding.createBigInt
module.exports.createBigIntI64 = nativeBinding.createBigIntI64
module.exports.createBufferSliceFromCopiedData = nativeBinding.createBufferSliceFromCopiedData
module.exports.createExternal = nativeBinding.createExternal
module.exports.createExternalBufferSlice = nativeBinding.createExternalBufferSlice
module.exports.createExternalLatin1CustomFinalize = nativeBinding.createExternalLatin1CustomFinalize
module.exports.createExternalLatin1Empty = nativeBinding.createExternalLatin1Empty
module.exports.createExternalLatin1Long = nativeBinding.createExternalLatin1Long
module.exports.createExternalLatin1Short = nativeBinding.createExternalLatin1Short
module.exports.createExternalLatin1String = nativeBinding.createExternalLatin1String
module.exports.createExternalLatin1WithLatin1Chars = nativeBinding.createExternalLatin1WithLatin1Chars
module.exports.createExternalRef = nativeBinding.createExternalRef
module.exports.createExternalString = nativeBinding.createExternalString
module.exports.createExternalTypedArray = nativeBinding.createExternalTypedArray
module.exports.createExternalUtf16String = nativeBinding.createExternalUtf16String
module.exports.createFunction = nativeBinding.createFunction
module.exports.createI32ArrayFromExternal = nativeBinding.createI32ArrayFromExternal
module.exports.createObj = nativeBinding.createObj
module.exports.createObjectRef = nativeBinding.createObjectRef
module.exports.createObjectWithClassField = nativeBinding.createObjectWithClassField
module.exports.createObjWithProperty = nativeBinding.createObjWithProperty
module.exports.createOptionalExternal = nativeBinding.createOptionalExternal
module.exports.createReadableStream = nativeBinding.createReadableStream
module.exports.createReadableStreamFromClass = nativeBinding.createReadableStreamFromClass
module.exports.createReferenceOnFunction = nativeBinding.createReferenceOnFunction
module.exports.createStaticLatin1String = nativeBinding.createStaticLatin1String
module.exports.createStaticUtf16String = nativeBinding.createStaticUtf16String
module.exports.createSymbol = nativeBinding.createSymbol
module.exports.createSymbolFor = nativeBinding.createSymbolFor
module.exports.createSymbolRef = nativeBinding.createSymbolRef
module.exports.createUint8ClampedArrayFromData = nativeBinding.createUint8ClampedArrayFromData
module.exports.createUint8ClampedArrayFromExternal = nativeBinding.createUint8ClampedArrayFromExternal
module.exports.createZeroCopyLatin1String = nativeBinding.createZeroCopyLatin1String
module.exports.createZeroCopyUtf16String = nativeBinding.createZeroCopyUtf16String
module.exports.CustomNumEnum = nativeBinding.CustomNumEnum
module.exports.customStatusCode = nativeBinding.customStatusCode
module.exports.CustomStringEnum = nativeBinding.CustomStringEnum
module.exports.dateToNumber = nativeBinding.dateToNumber
module.exports.DEFAULT_COST = nativeBinding.DEFAULT_COST
module.exports.defineClass = nativeBinding.defineClass
module.exports.derefUint8Array = nativeBinding.derefUint8Array
module.exports.either3 = nativeBinding.either3
module.exports.either4 = nativeBinding.either4
module.exports.eitherBoolOrFunction = nativeBinding.eitherBoolOrFunction
module.exports.eitherBoolOrTuple = nativeBinding.eitherBoolOrTuple
module.exports.eitherF64OrU32 = nativeBinding.eitherF64OrU32
module.exports.eitherFromObjects = nativeBinding.eitherFromObjects
module.exports.eitherFromOption = nativeBinding.eitherFromOption
module.exports.eitherPromiseInEitherA = nativeBinding.eitherPromiseInEitherA
module.exports.eitherStringOrNumber = nativeBinding.eitherStringOrNumber
module.exports.Empty = nativeBinding.Empty
module.exports.enumToI32 = nativeBinding.enumToI32
module.exports.errorMessageContainsNullByte = nativeBinding.errorMessageContainsNullByte
module.exports.esmResolve = nativeBinding.esmResolve
module.exports.extendsJavascriptError = nativeBinding.extendsJavascriptError
module.exports.f32ArrayToArray = nativeBinding.f32ArrayToArray
module.exports.f64ArrayToArray = nativeBinding.f64ArrayToArray
module.exports.fetch = nativeBinding.fetch
module.exports.fibonacci = nativeBinding.fibonacci
module.exports.fnReceivedAliased = nativeBinding.fnReceivedAliased
module.exports.generateFunctionAndCallIt = nativeBinding.generateFunctionAndCallIt
module.exports.getBigintJsonValue = nativeBinding.getBigintJsonValue
module.exports.getBtreeMapping = nativeBinding.getBtreeMapping
module.exports.getBuffer = nativeBinding.getBuffer
module.exports.getBufferSlice = nativeBinding.getBufferSlice
module.exports.getClassFromArray = nativeBinding.getClassFromArray
module.exports.getCwd = nativeBinding.getCwd
module.exports.getEmptyBuffer = nativeBinding.getEmptyBuffer
module.exports.getEmptyTypedArray = nativeBinding.getEmptyTypedArray
module.exports.getExternal = nativeBinding.getExternal
module.exports.getGlobal = nativeBinding.getGlobal
module.exports.getIndexMapping = nativeBinding.getIndexMapping
module.exports.getIndexMappingWithHasher = nativeBinding.getIndexMappingWithHasher
module.exports.getMapping = nativeBinding.getMapping
module.exports.getMappingWithHasher = nativeBinding.getMappingWithHasher
module.exports.getModuleFileName = nativeBinding.getModuleFileName
module.exports.getMyVec = nativeBinding.getMyVec
module.exports.getNestedNumArr = nativeBinding.getNestedNumArr
module.exports.getNull = nativeBinding.getNull
module.exports.getNullByteProperty = nativeBinding.getNullByteProperty
module.exports.getNumArr = nativeBinding.getNumArr
module.exports.getNums = nativeBinding.getNums
module.exports.getOptionalExternal = nativeBinding.getOptionalExternal
module.exports.getPackageJsonName = nativeBinding.getPackageJsonName
module.exports.getStrFromObject = nativeBinding.getStrFromObject
module.exports.getterFromObj = nativeBinding.getterFromObj
module.exports.getTuple = nativeBinding.getTuple
module.exports.getUndefined = nativeBinding.getUndefined
module.exports.getWords = nativeBinding.getWords
module.exports.i16ArrayToArray = nativeBinding.i16ArrayToArray
module.exports.i32ArrayToArray = nativeBinding.i32ArrayToArray
module.exports.i64ArrayToArray = nativeBinding.i64ArrayToArray
module.exports.i8ArrayToArray = nativeBinding.i8ArrayToArray
module.exports.indexmapPassthrough = nativeBinding.indexmapPassthrough
module.exports.indexSetToJs = nativeBinding.indexSetToJs
module.exports.indexSetToRust = nativeBinding.indexSetToRust
module.exports.intoUtf8 = nativeBinding.intoUtf8
module.exports.jsErrorCallback = nativeBinding.jsErrorCallback
module.exports.Kind = nativeBinding.Kind
module.exports.KindInValidate = nativeBinding.KindInValidate
module.exports.listObjKeys = nativeBinding.listObjKeys
module.exports.mapOption = nativeBinding.mapOption
module.exports.mergeTupleArray = nativeBinding.mergeTupleArray
module.exports.mutateExternal = nativeBinding.mutateExternal
module.exports.mutateOptionalExternal = nativeBinding.mutateOptionalExternal
module.exports.mutateTypedArray = nativeBinding.mutateTypedArray
module.exports.objectGetNamedPropertyShouldPerformTypecheck = nativeBinding.objectGetNamedPropertyShouldPerformTypecheck
module.exports.objectWithCApis = nativeBinding.objectWithCApis
module.exports.optionalCallbackTypes = nativeBinding.optionalCallbackTypes
module.exports.optionEnd = nativeBinding.optionEnd
module.exports.optionOnly = nativeBinding.optionOnly
module.exports.optionStart = nativeBinding.optionStart
module.exports.optionStartEnd = nativeBinding.optionStartEnd
module.exports.overrideIndividualArgOnFunction = nativeBinding.overrideIndividualArgOnFunction
module.exports.overrideIndividualArgOnFunctionWithCbArg = nativeBinding.overrideIndividualArgOnFunctionWithCbArg
module.exports.overrideWholeFunctionType = nativeBinding.overrideWholeFunctionType
module.exports.panic = nativeBinding.panic
module.exports.panicInAsync = nativeBinding.panicInAsync
module.exports.passSetToJs = nativeBinding.passSetToJs
module.exports.passSetToRust = nativeBinding.passSetToRust
module.exports.passSetWithHasherToJs = nativeBinding.passSetWithHasherToJs
module.exports.plusOne = nativeBinding.plusOne
module.exports.promiseInEither = nativeBinding.promiseInEither
module.exports.promiseRawReturnClassInstance = nativeBinding.promiseRawReturnClassInstance
module.exports.readFile = nativeBinding.readFile
module.exports.readFileAsync = nativeBinding.readFileAsync
module.exports.readPackageJson = nativeBinding.readPackageJson
module.exports.receiveAllOptionalObject = nativeBinding.receiveAllOptionalObject
module.exports.receiveBindingVitePluginMeta = nativeBinding.receiveBindingVitePluginMeta
module.exports.receiveBufferSliceWithLifetime = nativeBinding.receiveBufferSliceWithLifetime
module.exports.receiveClassOrNumber = nativeBinding.receiveClassOrNumber
module.exports.receiveDifferentClass = nativeBinding.receiveDifferentClass
module.exports.receiveMutClassOrNumber = nativeBinding.receiveMutClassOrNumber
module.exports.receiveObjectOnlyFromJs = nativeBinding.receiveObjectOnlyFromJs
module.exports.receiveObjectWithClassField = nativeBinding.receiveObjectWithClassField
module.exports.receiveStrictObject = nativeBinding.receiveStrictObject
module.exports.receiveString = nativeBinding.receiveString
module.exports.referenceAsCallback = nativeBinding.referenceAsCallback
module.exports.returnCString = nativeBinding.returnCString
module.exports.returnEither = nativeBinding.returnEither
module.exports.returnEitherClass = nativeBinding.returnEitherClass
module.exports.returnFromSharedCrate = nativeBinding.returnFromSharedCrate
module.exports.returnNull = nativeBinding.returnNull
module.exports.returnObjectOnlyToJs = nativeBinding.returnObjectOnlyToJs
module.exports.returnUndefined = nativeBinding.returnUndefined
module.exports.returnUndefinedIfInvalid = nativeBinding.returnUndefinedIfInvalid
module.exports.returnUndefinedIfInvalidPromise = nativeBinding.returnUndefinedIfInvalidPromise
module.exports.roundtripStr = nativeBinding.roundtripStr
module.exports.runScript = nativeBinding.runScript
module.exports.setNullByteProperty = nativeBinding.setNullByteProperty
module.exports.setSymbolInObj = nativeBinding.setSymbolInObj
module.exports.shorterEscapableScope = nativeBinding.shorterEscapableScope
module.exports.shorterScope = nativeBinding.shorterScope
module.exports.shutdownRuntime = nativeBinding.shutdownRuntime
module.exports.spawnFutureLifetime = nativeBinding.spawnFutureLifetime
module.exports.spawnThreadInThread = nativeBinding.spawnThreadInThread
module.exports.Status = nativeBinding.Status
module.exports.StatusInValidate = nativeBinding.StatusInValidate
module.exports.StringEnum = nativeBinding.StringEnum
module.exports.sumBtreeMapping = nativeBinding.sumBtreeMapping
module.exports.sumIndexMapping = nativeBinding.sumIndexMapping
module.exports.sumMapping = nativeBinding.sumMapping
module.exports.sumNums = nativeBinding.sumNums
module.exports.testEscapedQuotesInComments = nativeBinding.testEscapedQuotesInComments
module.exports.testLatin1Methods = nativeBinding.testLatin1Methods
module.exports.testSerdeBigNumberPrecision = nativeBinding.testSerdeBigNumberPrecision
module.exports.testSerdeBufferBytes = nativeBinding.testSerdeBufferBytes
module.exports.testSerdeRoundtrip = nativeBinding.testSerdeRoundtrip
module.exports.testWorkers = nativeBinding.testWorkers
module.exports.threadsafeFunctionBuildThrowErrorWithStatus = nativeBinding.threadsafeFunctionBuildThrowErrorWithStatus
module.exports.threadsafeFunctionClosureCapture = nativeBinding.threadsafeFunctionClosureCapture
module.exports.threadsafeFunctionFatalMode = nativeBinding.threadsafeFunctionFatalMode
module.exports.threadsafeFunctionFatalModeError = nativeBinding.threadsafeFunctionFatalModeError
module.exports.threadsafeFunctionThrowError = nativeBinding.threadsafeFunctionThrowError
module.exports.threadsafeFunctionThrowErrorWithStatus = nativeBinding.threadsafeFunctionThrowErrorWithStatus
module.exports.throwAsyncError = nativeBinding.throwAsyncError
module.exports.throwError = nativeBinding.throwError
module.exports.throwErrorWithCause = nativeBinding.throwErrorWithCause
module.exports.throwSyntaxError = nativeBinding.throwSyntaxError
module.exports.toJsObj = nativeBinding.toJsObj
module.exports.tsfnAsyncCall = nativeBinding.tsfnAsyncCall
module.exports.tsfnCallWithCallback = nativeBinding.tsfnCallWithCallback
module.exports.tsfnInEither = nativeBinding.tsfnInEither
module.exports.tsfnReturnPromise = nativeBinding.tsfnReturnPromise
module.exports.tsfnReturnPromiseTimeout = nativeBinding.tsfnReturnPromiseTimeout
module.exports.tsfnThrowFromJs = nativeBinding.tsfnThrowFromJs
module.exports.tsfnThrowFromJsCallbackContainsTsfn = nativeBinding.tsfnThrowFromJsCallbackContainsTsfn
module.exports.tsfnWeak = nativeBinding.tsfnWeak
module.exports.tsRename = nativeBinding.tsRename
module.exports.u16ArrayToArray = nativeBinding.u16ArrayToArray
module.exports.u32ArrayToArray = nativeBinding.u32ArrayToArray
module.exports.u64ArrayToArray = nativeBinding.u64ArrayToArray
module.exports.u8ArrayToArray = nativeBinding.u8ArrayToArray
module.exports.uInit8ArrayFromString = nativeBinding.uInit8ArrayFromString
module.exports.uint8ArrayFromData = nativeBinding.uint8ArrayFromData
module.exports.uint8ArrayFromExternal = nativeBinding.uint8ArrayFromExternal
module.exports.validateArray = nativeBinding.validateArray
module.exports.validateBigint = nativeBinding.validateBigint
module.exports.validateBoolean = nativeBinding.validateBoolean
module.exports.validateBuffer = nativeBinding.validateBuffer
module.exports.validateBufferSlice = nativeBinding.validateBufferSlice
module.exports.validateDate = nativeBinding.validateDate
module.exports.validateDateTime = nativeBinding.validateDateTime
module.exports.validateEnum = nativeBinding.validateEnum
module.exports.validateExternal = nativeBinding.validateExternal
module.exports.validateFunction = nativeBinding.validateFunction
module.exports.validateHashMap = nativeBinding.validateHashMap
module.exports.validateNull = nativeBinding.validateNull
module.exports.validateNumber = nativeBinding.validateNumber
module.exports.validateOptional = nativeBinding.validateOptional
module.exports.validatePromise = nativeBinding.validatePromise
module.exports.validateString = nativeBinding.validateString
module.exports.validateStringEnum = nativeBinding.validateStringEnum
module.exports.validateStructuredEnum = nativeBinding.validateStructuredEnum
module.exports.validateStructuredEnumLowercase = nativeBinding.validateStructuredEnumLowercase
module.exports.validateSymbol = nativeBinding.validateSymbol
module.exports.validateTypedArray = nativeBinding.validateTypedArray
module.exports.validateTypedArraySlice = nativeBinding.validateTypedArraySlice
module.exports.validateUint8ClampedSlice = nativeBinding.validateUint8ClampedSlice
module.exports.validateUndefined = nativeBinding.validateUndefined
module.exports.withAbortController = nativeBinding.withAbortController
module.exports.withAbortSignalHandle = nativeBinding.withAbortSignalHandle
module.exports.withinAsyncRuntimeIfAvailable = nativeBinding.withinAsyncRuntimeIfAvailable
module.exports.withoutAbortController = nativeBinding.withoutAbortController
module.exports.xxh64Alias = nativeBinding.xxh64Alias
module.exports.xxh2 = nativeBinding.xxh2
module.exports.xxh3 = nativeBinding.xxh3
module.exports.ComplexClass = nativeBinding.ComplexClass