UNPKG

@valkey/valkey-glide

Version:

General Language Independent Driver for the Enterprise (GLIDE) for Valkey

372 lines (362 loc) 13.9 kB
/* tslint:disable */ /* eslint-disable */ /* prettier-ignore */ /* auto-generated by NAPI-RS */ const { existsSync, readFileSync } = require('fs') const { join } = require("path"); const { platform, arch } = process; let nativeBinding = null; let localFileExisted = false; let loadError = null; function isMusl() { // For Node 10 if (!process.report || typeof process.report.getReport !== "function") { try { const lddPath = require("child_process") .execSync("which ldd") .toString() .trim(); return readFileSync(lddPath, "utf8").includes("musl"); } catch (e) { return true; } } else { const { glibcVersionRuntime } = process.report.getReport().header; return !glibcVersionRuntime; } } switch (platform) { case "android": switch (arch) { case "arm64": localFileExisted = existsSync( join(__dirname, "valkey-glide.android-arm64.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.android-arm64.node"); } else { nativeBinding = require("@valkey/valkey-glide-android-arm64"); } } catch (e) { loadError = e; } break; case "arm": localFileExisted = existsSync( join(__dirname, "valkey-glide.android-arm-eabi.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.android-arm-eabi.node"); } else { nativeBinding = require("@valkey/valkey-glide-android-arm-eabi"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Android ${arch}`); } break; case "win32": switch (arch) { case "x64": localFileExisted = existsSync( join(__dirname, "valkey-glide.win32-x64-msvc.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.win32-x64-msvc.node"); } else { nativeBinding = require("@valkey/valkey-glide-win32-x64-msvc"); } } catch (e) { loadError = e; } break; case "ia32": localFileExisted = existsSync( join(__dirname, "valkey-glide.win32-ia32-msvc.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.win32-ia32-msvc.node"); } else { nativeBinding = require("@valkey/valkey-glide-win32-ia32-msvc"); } } catch (e) { loadError = e; } break; case "arm64": localFileExisted = existsSync( join(__dirname, "valkey-glide.win32-arm64-msvc.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.win32-arm64-msvc.node"); } else { nativeBinding = require("@valkey/valkey-glide-win32-arm64-msvc"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Windows: ${arch}`); } break; case "darwin": localFileExisted = existsSync( join(__dirname, "valkey-glide.darwin-universal.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.darwin-universal.node"); } else { nativeBinding = require("@valkey/valkey-glide-darwin-universal"); } break; } catch {} switch (arch) { case "x64": localFileExisted = existsSync( join(__dirname, "valkey-glide.darwin-x64.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.darwin-x64.node"); } else { nativeBinding = require("@valkey/valkey-glide-darwin-x64"); } } catch (e) { loadError = e; } break; case "arm64": localFileExisted = existsSync( join(__dirname, "valkey-glide.darwin-arm64.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.darwin-arm64.node"); } else { nativeBinding = require("@valkey/valkey-glide-darwin-arm64"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on macOS: ${arch}`); } break; case "freebsd": if (arch !== "x64") { throw new Error(`Unsupported architecture on FreeBSD: ${arch}`); } localFileExisted = existsSync( join(__dirname, "valkey-glide.freebsd-x64.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.freebsd-x64.node"); } else { nativeBinding = require("@valkey/valkey-glide-freebsd-x64"); } } catch (e) { loadError = e; } break; case "linux": switch (arch) { case "x64": if (isMusl()) { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-x64-musl.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-x64-musl.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-x64-musl"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-x64-gnu.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-x64-gnu.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-x64-gnu"); } } catch (e) { loadError = e; } } break; case "arm64": if (isMusl()) { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-arm64-musl.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-arm64-musl.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-arm64-musl"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-arm64-gnu.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-arm64-gnu.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-arm64-gnu"); } } catch (e) { loadError = e; } } break; case "arm": if (isMusl()) { localFileExisted = existsSync( join( __dirname, "valkey-glide.linux-arm-musleabihf.node", ), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-arm-musleabihf.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-arm-musleabihf"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join( __dirname, "valkey-glide.linux-arm-gnueabihf.node", ), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-arm-gnueabihf.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-arm-gnueabihf"); } } catch (e) { loadError = e; } } break; case "riscv64": if (isMusl()) { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-riscv64-musl.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-riscv64-musl.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-riscv64-musl"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-riscv64-gnu.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-riscv64-gnu.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-riscv64-gnu"); } } catch (e) { loadError = e; } } break; case "s390x": localFileExisted = existsSync( join(__dirname, "valkey-glide.linux-s390x-gnu.node"), ); try { if (localFileExisted) { nativeBinding = require("./valkey-glide.linux-s390x-gnu.node"); } else { nativeBinding = require("@valkey/valkey-glide-linux-s390x-gnu"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Linux: ${arch}`); } break; default: throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); } if (!nativeBinding) { if (loadError) { throw loadError; } throw new Error(`Failed to load native binding`); } const { Level, MAX_REQUEST_ARGS_LEN, DEFAULT_REQUEST_TIMEOUT_IN_MILLISECONDS, DEFAULT_CONNECTION_TIMEOUT_IN_MILLISECONDS, DEFAULT_INFLIGHT_REQUESTS_LIMIT, AsyncClient, StartSocketConnection, InitOpenTelemetry, log, InitInternalLogger, valueFromSplitPointer, createLeakedStringVec, createLeakedOtelSpan, dropOtelSpan, Script, ClusterScanCursor, getStatistics, } = nativeBinding; module.exports.Level = Level; module.exports.MAX_REQUEST_ARGS_LEN = MAX_REQUEST_ARGS_LEN; module.exports.DEFAULT_REQUEST_TIMEOUT_IN_MILLISECONDS = DEFAULT_REQUEST_TIMEOUT_IN_MILLISECONDS; module.exports.DEFAULT_CONNECTION_TIMEOUT_IN_MILLISECONDS = DEFAULT_CONNECTION_TIMEOUT_IN_MILLISECONDS; module.exports.DEFAULT_INFLIGHT_REQUESTS_LIMIT = DEFAULT_INFLIGHT_REQUESTS_LIMIT; module.exports.AsyncClient = AsyncClient; module.exports.StartSocketConnection = StartSocketConnection; module.exports.InitOpenTelemetry = InitOpenTelemetry; module.exports.log = log; module.exports.InitInternalLogger = InitInternalLogger; module.exports.valueFromSplitPointer = valueFromSplitPointer; module.exports.createLeakedStringVec = createLeakedStringVec; module.exports.createLeakedOtelSpan = createLeakedOtelSpan; module.exports.dropOtelSpan = dropOtelSpan; module.exports.Script = Script; module.exports.ClusterScanCursor = ClusterScanCursor; module.exports.getStatistics = getStatistics;