1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.loadBinding = void 0;
|
4 | const fs_1 = require("fs");
|
5 | const os_1 = require("os");
|
6 | const path_1 = require("path");
|
7 | const triples_1 = require("@napi-rs/triples");
|
8 | const ArchName = os_1.arch();
|
9 | const PlatformName = os_1.platform();
|
10 | function loadBinding(dirname, filename = 'index', packageName) {
|
11 | const triples = triples_1.platformArchTriples[PlatformName][ArchName];
|
12 | for (const triple of triples) {
|
13 | if (packageName) {
|
14 | try {
|
15 | return require(require.resolve(`${packageName}-${triple.platformArchABI}`, { paths: [dirname] }));
|
16 | }
|
17 | catch (e) { }
|
18 | }
|
19 | const localFilePath = path_1.join(dirname, `${filename}.${triple.platformArchABI}.node`);
|
20 | if (fs_1.existsSync(localFilePath)) {
|
21 | return require(localFilePath);
|
22 | }
|
23 | }
|
24 | const errorMsg = `Can not find node binding files from ${packageName ? triples.map((triple) => `${packageName}-${triple.platformArchABI}`).join(', ') : ''} ${packageName ? 'and ' : ''}${triples
|
25 | .map((triple) => path_1.join(dirname, `${filename}.${triple.platformArchABI}.node`))
|
26 | .join(', ')}`;
|
27 | throw new TypeError(errorMsg);
|
28 | }
|
29 | exports.loadBinding = loadBinding;
|
30 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBK0I7QUFDL0IsMkJBQW1DO0FBQ25DLCtCQUEyQjtBQUUzQiw4Q0FBc0Q7QUFFdEQsTUFBTSxRQUFRLEdBQUcsU0FBSSxFQUFFLENBQUE7QUFDdkIsTUFBTSxZQUFZLEdBQUcsYUFBUSxFQUFFLENBQUE7QUFFL0IsU0FBZ0IsV0FBVyxDQUFDLE9BQWUsRUFBRSxRQUFRLEdBQUcsT0FBTyxFQUFFLFdBQW9CO0lBQ25GLE1BQU0sT0FBTyxHQUFHLDZCQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzNELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1FBRTVCLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSTtnQkFDRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsV0FBVyxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBRWxHO1lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtTQUNmO1FBQ0QsTUFBTSxhQUFhLEdBQUcsV0FBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUMsZUFBZSxPQUFPLENBQUMsQ0FBQTtRQUNqRixJQUFJLGVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM3QixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtTQUM5QjtLQUNGO0lBRUQsTUFBTSxRQUFRLEdBQUcsd0NBQ2YsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLFdBQVcsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2pHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPO1NBQ3BDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsV0FBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUMsZUFBZSxPQUFPLENBQUMsQ0FBQztTQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUVmLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDL0IsQ0FBQztBQXZCRCxrQ0F1QkMifQ== |
\ | No newline at end of file |