UNPKG

@c9up/technical-indicators-napi

Version:

A Rust-based indicator and Charts library compiled to napi.

371 lines (361 loc) 14.1 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, 'technical-indicators-napi.android-arm64.node')) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.android-arm64.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-android-arm64') } } catch (e) { loadError = e } break case 'arm': localFileExisted = existsSync(join(__dirname, 'technical-indicators-napi.android-arm-eabi.node')) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.android-arm-eabi.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-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, 'technical-indicators-napi.win32-x64-msvc.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.win32-x64-msvc.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-win32-x64-msvc') } } catch (e) { loadError = e } break case 'ia32': localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.win32-ia32-msvc.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.win32-ia32-msvc.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-win32-ia32-msvc') } } catch (e) { loadError = e } break case 'arm64': localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.win32-arm64-msvc.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.win32-arm64-msvc.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-win32-arm64-msvc') } } catch (e) { loadError = e } break default: throw new Error(`Unsupported architecture on Windows: ${arch}`) } break case 'darwin': localFileExisted = existsSync(join(__dirname, 'technical-indicators-napi.darwin-universal.node')) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.darwin-universal.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-darwin-universal') } break } catch {} switch (arch) { case 'x64': localFileExisted = existsSync(join(__dirname, 'technical-indicators-napi.darwin-x64.node')) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.darwin-x64.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-darwin-x64') } } catch (e) { loadError = e } break case 'arm64': localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.darwin-arm64.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.darwin-arm64.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-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, 'technical-indicators-napi.freebsd-x64.node')) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.freebsd-x64.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-freebsd-x64') } } catch (e) { loadError = e } break case 'linux': switch (arch) { case 'x64': if (isMusl()) { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-x64-musl.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-x64-musl.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-x64-musl') } } catch (e) { loadError = e } } else { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-x64-gnu.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-x64-gnu.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-x64-gnu') } } catch (e) { loadError = e } } break case 'arm64': if (isMusl()) { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-arm64-musl.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-arm64-musl.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-arm64-musl') } } catch (e) { loadError = e } } else { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-arm64-gnu.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-arm64-gnu.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-arm64-gnu') } } catch (e) { loadError = e } } break case 'arm': if (isMusl()) { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-arm-musleabihf.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-arm-musleabihf.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-arm-musleabihf') } } catch (e) { loadError = e } } else { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-arm-gnueabihf.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-arm-gnueabihf.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-arm-gnueabihf') } } catch (e) { loadError = e } } break case 'riscv64': if (isMusl()) { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-riscv64-musl.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-riscv64-musl.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-riscv64-musl') } } catch (e) { loadError = e } } else { localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-riscv64-gnu.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-riscv64-gnu.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-linux-riscv64-gnu') } } catch (e) { loadError = e } } break case 's390x': localFileExisted = existsSync( join(__dirname, 'technical-indicators-napi.linux-s390x-gnu.node') ) try { if (localFileExisted) { nativeBinding = require('./technical-indicators-napi.linux-s390x-gnu.node') } else { nativeBinding = require('@c9up/technical-indicators-napi-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 { renkoChart, kagiChart, lowHighOpenCloseVolumeDateToArray, anchoredRegressionStatic, anchoredRegressionRolling, awesomeOscillator, bollingerBands, candlestickPatterns, choppinessIndex, conditionalProbability, conditionalProbabilityMatrix, quantileTransform, gaussianCopulaSample, gaussianConditionalSample, claytonCopulaSample, gumbelCopulaSample, frankCopulaSample, fitCopula, portfolioScenario, directionalMovementIndex, disparityIndex, entryExitSignals, exponentialMovingAverage, extractImportantLevels, featureEngine, frama, gaussianMixture, harVolatility, ichimoku, kReversal, optionsFlowScore, parabolicSar, patternMemory, performanceMetrics, sharpeRatio, sortinoRatio, maxDrawdown, covarianceMatrix, portfolioStats, efficientFrontier, pivotPoints, regimeLeverage, relativeStrengthIndex, relativeVigorIndex, simpleMovingAverage, spreadEstimator, rollSpreadEstimator, corwinSchultzSpreadEstimator, stochasticMomentumIndex, stochasticOscillator, threeWayIndicator, trendsMeter, volatilityEngine, volatilityBucket, yangZhangVolatility, sum } = nativeBinding module.exports.renkoChart = renkoChart module.exports.kagiChart = kagiChart module.exports.lowHighOpenCloseVolumeDateToArray = lowHighOpenCloseVolumeDateToArray module.exports.anchoredRegressionStatic = anchoredRegressionStatic module.exports.anchoredRegressionRolling = anchoredRegressionRolling module.exports.awesomeOscillator = awesomeOscillator module.exports.bollingerBands = bollingerBands module.exports.candlestickPatterns = candlestickPatterns module.exports.choppinessIndex = choppinessIndex module.exports.conditionalProbability = conditionalProbability module.exports.conditionalProbabilityMatrix = conditionalProbabilityMatrix module.exports.quantileTransform = quantileTransform module.exports.gaussianCopulaSample = gaussianCopulaSample module.exports.gaussianConditionalSample = gaussianConditionalSample module.exports.claytonCopulaSample = claytonCopulaSample module.exports.gumbelCopulaSample = gumbelCopulaSample module.exports.frankCopulaSample = frankCopulaSample module.exports.fitCopula = fitCopula module.exports.portfolioScenario = portfolioScenario module.exports.directionalMovementIndex = directionalMovementIndex module.exports.disparityIndex = disparityIndex module.exports.entryExitSignals = entryExitSignals module.exports.exponentialMovingAverage = exponentialMovingAverage module.exports.extractImportantLevels = extractImportantLevels module.exports.featureEngine = featureEngine module.exports.frama = frama module.exports.gaussianMixture = gaussianMixture module.exports.harVolatility = harVolatility module.exports.ichimoku = ichimoku module.exports.kReversal = kReversal module.exports.optionsFlowScore = optionsFlowScore module.exports.parabolicSar = parabolicSar module.exports.patternMemory = patternMemory module.exports.performanceMetrics = performanceMetrics module.exports.sharpeRatio = sharpeRatio module.exports.sortinoRatio = sortinoRatio module.exports.maxDrawdown = maxDrawdown module.exports.covarianceMatrix = covarianceMatrix module.exports.portfolioStats = portfolioStats module.exports.efficientFrontier = efficientFrontier module.exports.pivotPoints = pivotPoints module.exports.regimeLeverage = regimeLeverage module.exports.relativeStrengthIndex = relativeStrengthIndex module.exports.relativeVigorIndex = relativeVigorIndex module.exports.simpleMovingAverage = simpleMovingAverage module.exports.spreadEstimator = spreadEstimator module.exports.rollSpreadEstimator = rollSpreadEstimator module.exports.corwinSchultzSpreadEstimator = corwinSchultzSpreadEstimator module.exports.stochasticMomentumIndex = stochasticMomentumIndex module.exports.stochasticOscillator = stochasticOscillator module.exports.threeWayIndicator = threeWayIndicator module.exports.trendsMeter = trendsMeter module.exports.volatilityEngine = volatilityEngine module.exports.volatilityBucket = volatilityBucket module.exports.yangZhangVolatility = yangZhangVolatility module.exports.sum = sum