UNPKG

2.39 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.loadBinding = void 0;
4var tslib_1 = require("tslib");
5var fs_1 = require("fs");
6var os_1 = require("os");
7var path_1 = require("path");
8var SupportedPlatforms = new Set(['darwin', 'win32', 'linux']);
9function loadBinding(dirname, filename) {
10 if (filename === void 0) { filename = 'index'; }
11 var platformName = os_1.platform();
12 if (!SupportedPlatforms.has(platformName)) {
13 throw new TypeError("Unsupported platform: " + platformName + ", only support " + tslib_1.__spread(SupportedPlatforms.values()).join(', '));
14 }
15 var bindingFilePath = path_1.join(dirname, filename + "." + platformName + ".node");
16 if (platformName === 'linux') {
17 try {
18 return require(bindingFilePath);
19 }
20 catch (_a) {
21 return require(path_1.join(dirname, filename + ".linux-musl.node"));
22 }
23 }
24 if (!fs_1.existsSync(bindingFilePath)) {
25 throw new TypeError("Could not find binding file on path " + bindingFilePath);
26 }
27 return require(bindingFilePath);
28}
29exports.loadBinding = loadBinding;
30//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseUJBQStCO0FBQy9CLHlCQUE2QjtBQUM3Qiw2QkFBMkI7QUFFM0IsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBa0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFFakYsU0FBZ0IsV0FBVyxDQUFDLE9BQWUsRUFBRSxRQUFrQjtJQUFsQix5QkFBQSxFQUFBLGtCQUFrQjtJQUM3RCxJQUFNLFlBQVksR0FBRyxhQUFRLEVBQUUsQ0FBQTtJQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxTQUFTLENBQ2pCLDJCQUF5QixZQUFZLHVCQUFrQixpQkFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFHLENBQ3JHLENBQUE7S0FDRjtJQUVELElBQU0sZUFBZSxHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUssUUFBUSxTQUFJLFlBQVksVUFBTyxDQUFDLENBQUE7SUFFekUsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO1FBQzVCLElBQUk7WUFDRixPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUNoQztRQUFDLFdBQU07WUFDTixPQUFPLE9BQU8sQ0FBQyxXQUFJLENBQUMsT0FBTyxFQUFLLFFBQVEscUJBQWtCLENBQUMsQ0FBQyxDQUFBO1NBQzdEO0tBQ0Y7SUFFRCxJQUFJLENBQUMsZUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXVDLGVBQWlCLENBQUMsQ0FBQTtLQUM5RTtJQUVELE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUF2QkQsa0NBdUJDIn0=
\No newline at end of file