@valkey/valkey-glide
Version:
General Language Independent Driver for the Enterprise (GLIDE) for Valkey
220 lines (219 loc) • 8.98 kB
JavaScript
;
/**
* Copyright Valkey GLIDE Project Contributors - SPDX Identifier: Apache-2.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
const detect_libc_1 = require("detect-libc");
const process_1 = require("process");
let globalObject = global;
/* eslint-disable @typescript-eslint/no-require-imports */
function loadNativeBinding() {
let nativeBinding = null;
switch (process_1.platform) {
case "linux":
switch (process_1.arch) {
case "x64":
switch ((0, detect_libc_1.familySync)()) {
case detect_libc_1.GLIBC:
nativeBinding = require("@valkey/valkey-glide-linux-x64");
break;
case detect_libc_1.MUSL:
nativeBinding = require("@valkey/valkey-glide-linux-musl-x64");
break;
default:
nativeBinding = require("@valkey/valkey-glide-linux-x64");
break;
}
break;
case "arm64":
switch ((0, detect_libc_1.familySync)()) {
case detect_libc_1.GLIBC:
nativeBinding = require("@valkey/valkey-glide-linux-arm64");
break;
case detect_libc_1.MUSL:
nativeBinding = require("@valkey/valkey-glide-linux-musl-arm64");
break;
default:
nativeBinding = require("@valkey/valkey-glide-linux-arm64");
break;
}
break;
default:
throw new Error(`Unsupported OS: ${process_1.platform}, architecture: ${process_1.arch}`);
}
break;
case "darwin":
switch (process_1.arch) {
case "arm64":
nativeBinding = require("@valkey/valkey-glide-darwin-arm64");
break;
default:
throw new Error(`Unsupported OS: ${process_1.platform}, architecture: ${process_1.arch}`);
}
break;
default:
throw new Error(`Unsupported OS: ${process_1.platform}, architecture: ${process_1.arch}`);
}
if (!nativeBinding) {
throw new Error(`Failed to load native binding`);
}
return nativeBinding;
}
function initialize() {
const nativeBinding = loadNativeBinding();
const { AggregationType, BaseScanOptions, ScanOptions, ZScanOptions, HScanOptions, BitEncoding, BitFieldGet, BitFieldIncrBy, BitFieldOffset, BitFieldOverflow, BitFieldSet, BitFieldSubCommands, BitOffset, BitOffsetMultiplier, BitOffsetOptions, BitOverflowControl, BitmapIndexType, BitwiseOperation, ConditionalChange, Decoder, DecoderOption, GeoAddOptions, CoordOrigin, MemberOrigin, SearchOrigin, GeoBoxShape, GeoCircleShape, GeoSearchShape, GeoSearchResultOptions, GeoSearchStoreResultOptions, SortOrder, GeoUnit, GeospatialData, GlideClient, GlideClusterClient, GlideClientConfiguration, GlideJson, JsonBatch, GlideFt, Field, TextField, TagField, NumericField, VectorField, VectorFieldAttributesFlat, VectorFieldAttributesHnsw, FtCreateOptions, FtSearchOptions, FtInfoReturnType, FtAggregateOptions, FtAggregateLimit, FtAggregateFilter, FtAggregateGroupBy, FtAggregateReducer, FtAggregateSortBy, FtAggregateSortProperty, FtAggregateApply, FtAggregateReturnType, FtSearchReturnType, GlideRecord, GlideString, JsonGetOptions, JsonArrPopOptions, SortedSetDataType, StreamEntryDataType, HashDataType, FunctionListOptions, FunctionListResponse, FunctionStatsSingleResponse, FunctionStatsFullResponse, FunctionRestorePolicy, SlotIdTypes, SlotKeyTypes, TimeUnit, RouteByAddress, RouteOption, Routes, RestoreOptions, SingleNodeRoute, PeriodicChecksManualInterval, PeriodicChecks, Logger, Limit, LolwutOptions, LPosOptions, ListDirection, ExpireOptions, FlushMode, InfoOptions, InsertPosition, SetOptions, ZAddOptions, InfBoundary, KeyWeight, Boundary, ProtocolVersion, RangeByIndex, RangeByScore, RangeByLex, ReadFrom, ServerCredentials, SortOptions, StreamGroupOptions, StreamTrimOptions, StreamAddOptions, StreamReadGroupOptions, StreamReadOptions, StreamClaimOptions, StreamPendingOptions, ClosingError, ConfigurationError, ExecAbortError, ValkeyError, GlideReturnType, StreamEntries, ReturnTypeXinfoStream, RequestError, TimeoutError, ConnectionError, ClusterTransaction, Transaction, PubSubMsg, ScoreFilter, SignedEncoding, UnsignedEncoding, UpdateByScore, createLeakedArray, createLeakedAttribute, createLeakedBigint, createLeakedDouble, createLeakedMap, createLeakedString, Script, ObjectType, ClusterScanCursor, AdvancedGlideClientConfiguration, AdvancedGlideClusterClientConfiguration, BaseClientConfiguration, GlideClusterClientConfiguration, LevelOptions, ReturnTypeRecord, ReturnTypeMap, ClusterResponse, ReturnTypeAttribute, ReturnTypeJson, UniversalReturnTypeJson, Score, ElementAndScore, } = nativeBinding;
module.exports = {
AggregationType,
BaseScanOptions,
ScanOptions,
HScanOptions,
ZScanOptions,
BitEncoding,
BitFieldGet,
BitFieldIncrBy,
BitFieldOffset,
BitFieldOverflow,
BitFieldSet,
BitFieldSubCommands,
BitOffset,
BitOffsetMultiplier,
BitOffsetOptions,
BitOverflowControl,
BitmapIndexType,
BitwiseOperation,
ConditionalChange,
Decoder,
DecoderOption,
GeoAddOptions,
GlideFt,
Field,
TextField,
TagField,
NumericField,
VectorField,
VectorFieldAttributesFlat,
VectorFieldAttributesHnsw,
FtCreateOptions,
FtSearchOptions,
FtInfoReturnType,
FtAggregateOptions,
FtAggregateLimit,
FtAggregateFilter,
FtAggregateGroupBy,
FtAggregateReducer,
FtAggregateSortBy,
FtAggregateSortProperty,
FtAggregateApply,
FtAggregateReturnType,
FtSearchReturnType,
GlideRecord,
GlideJson,
JsonBatch,
GlideString,
JsonGetOptions,
JsonArrPopOptions,
SortedSetDataType,
StreamEntryDataType,
HashDataType,
CoordOrigin,
MemberOrigin,
SearchOrigin,
GeoBoxShape,
GeoCircleShape,
GeoSearchShape,
GeoSearchResultOptions,
GeoSearchStoreResultOptions,
SortOrder,
GeoUnit,
GeospatialData,
GlideClient,
GlideClusterClient,
GlideClientConfiguration,
AdvancedGlideClientConfiguration,
AdvancedGlideClusterClientConfiguration,
FunctionListOptions,
FunctionListResponse,
FunctionStatsSingleResponse,
FunctionStatsFullResponse,
FunctionRestorePolicy,
SlotIdTypes,
SlotKeyTypes,
StreamEntries,
TimeUnit,
ReturnTypeXinfoStream,
RouteByAddress,
RouteOption,
Routes,
RestoreOptions,
SingleNodeRoute,
PeriodicChecksManualInterval,
PeriodicChecks,
Logger,
LolwutOptions,
Limit,
LPosOptions,
ListDirection,
ExpireOptions,
FlushMode,
InfoOptions,
InsertPosition,
SetOptions,
ZAddOptions,
InfBoundary,
KeyWeight,
Boundary,
ProtocolVersion,
RangeByIndex,
RangeByScore,
RangeByLex,
ReadFrom,
ServerCredentials,
SortOptions,
StreamGroupOptions,
StreamTrimOptions,
StreamAddOptions,
StreamClaimOptions,
StreamReadGroupOptions,
StreamReadOptions,
StreamPendingOptions,
ClosingError,
ConfigurationError,
ExecAbortError,
ValkeyError,
GlideReturnType,
RequestError,
TimeoutError,
ConnectionError,
ClusterTransaction,
Transaction,
PubSubMsg,
ScoreFilter,
SignedEncoding,
UnsignedEncoding,
UpdateByScore,
createLeakedArray,
createLeakedAttribute,
createLeakedBigint,
createLeakedDouble,
createLeakedMap,
createLeakedString,
Script,
ObjectType,
ClusterScanCursor,
BaseClientConfiguration,
GlideClusterClientConfiguration,
LevelOptions,
ReturnTypeRecord,
ReturnTypeMap,
ClusterResponse,
ReturnTypeAttribute,
ReturnTypeJson,
UniversalReturnTypeJson,
Score,
ElementAndScore,
};
globalObject = Object.assign(global, nativeBinding);
}
initialize();
exports.default = globalObject;