addon-static-import.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const os = require('os');
  2. let addon = null;
  3. const platform = os.platform() === 'win32' ? 'win' : os.platform();
  4. const arch = os.arch();
  5. try {
  6. if (arch === 'x64') {
  7. if (platform === 'win') {
  8. // @ts-expect-error
  9. addon = require('../sherpa-onnx-win-x64/sherpa-onnx.node')
  10. } else if (platform === 'darwin') {
  11. // @ts-expect-error
  12. addon = require('../sherpa-onnx-darwin-x64/sherpa-onnx.node')
  13. } else if (platform === 'linux') {
  14. // @ts-expect-error
  15. addon = require('../sherpa-onnx-linux-x64/sherpa-onnx.node')
  16. }
  17. } else if (arch === 'arm64') {
  18. if (platform === 'darwin') {
  19. // @ts-expect-error
  20. addon = require('../sherpa-onnx-darwin-arm64/sherpa-onnx.node')
  21. } else if (platform === 'linux') {
  22. // @ts-expect-error
  23. addon = require('../sherpa-onnx-linux-arm64/sherpa-onnx.node')
  24. }
  25. } else if (arch === 'ia32') {
  26. if (platform === 'win') {
  27. // @ts-expect-error
  28. addon = require('../sherpa-onnx-win-ia32/sherpa-onnx.node')
  29. }
  30. }
  31. } catch (error) {
  32. //
  33. }
  34. if (!addon) {
  35. try {
  36. if (arch === 'x64') {
  37. if (platform === 'win') {
  38. // @ts-expect-error
  39. addon = require('./node_modules/sherpa-onnx-win-x64/sherpa-onnx.node')
  40. } else if (platform === 'darwin') {
  41. // @ts-expect-error
  42. addon = require('./node_modules/sherpa-onnx-darwin-x64/sherpa-onnx.node')
  43. } else if (platform === 'linux') {
  44. // @ts-expect-error
  45. addon = require('./node_modules/sherpa-onnx-linux-x64/sherpa-onnx.node')
  46. }
  47. } else if (arch === 'arm64') {
  48. if (platform === 'darwin') {
  49. // @ts-expect-error
  50. addon = require('./node_modules/sherpa-onnx-darwin-arm64/sherpa-onnx.node')
  51. } else if (platform === 'linux') {
  52. // @ts-expect-error
  53. addon = require('./node_modules/sherpa-onnx-linux-arm64/sherpa-onnx.node')
  54. }
  55. } else if (arch === 'ia32') {
  56. if (platform === 'win') {
  57. // @ts-expect-error
  58. addon = require('./node_modules/sherpa-onnx-win-ia32/sherpa-onnx.node')
  59. }
  60. }
  61. } catch (error) {
  62. //
  63. }
  64. }
  65. module.exports = addon;