@tradecanvas/core 1.4.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -107
- package/dist/WebGLSeriesRenderer-DQOPCwno.js +1643 -0
- package/dist/WebGLSeriesRenderer-DQOPCwno.js.map +1 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs +429 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs.map +1 -0
- package/dist/axis/GridRenderer.d.ts.map +1 -1
- package/dist/axis/PriceAxis.d.ts +12 -1
- package/dist/axis/PriceAxis.d.ts.map +1 -1
- package/dist/axis/TimeAxis.d.ts +7 -4
- package/dist/axis/TimeAxis.d.ts.map +1 -1
- package/dist/axis/gridLines.d.ts +9 -0
- package/dist/axis/gridLines.d.ts.map +1 -0
- package/dist/charts/BarRenderer.d.ts.map +1 -1
- package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
- package/dist/charts/CompareRenderer.d.ts +21 -4
- package/dist/charts/CompareRenderer.d.ts.map +1 -1
- package/dist/charts/HiLoRenderer.d.ts +14 -0
- package/dist/charts/HiLoRenderer.d.ts.map +1 -0
- package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
- package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeRenderer.d.ts +6 -3
- package/dist/charts/VolumeRenderer.d.ts.map +1 -1
- package/dist/charts/denseBars.d.ts +28 -0
- package/dist/charts/denseBars.d.ts.map +1 -0
- package/dist/charts/index.d.ts +3 -0
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/pixelGrid.d.ts +49 -0
- package/dist/charts/pixelGrid.d.ts.map +1 -0
- package/dist/charts/transforms/kagi.d.ts +3 -2
- package/dist/charts/transforms/kagi.d.ts.map +1 -1
- package/dist/charts/transforms/renko.d.ts.map +1 -1
- package/dist/drawings/DrawingBase.d.ts +34 -1
- package/dist/drawings/DrawingBase.d.ts.map +1 -1
- package/dist/drawings/DrawingCreator.d.ts +51 -0
- package/dist/drawings/DrawingCreator.d.ts.map +1 -0
- package/dist/drawings/DrawingDrag.d.ts +36 -0
- package/dist/drawings/DrawingDrag.d.ts.map +1 -0
- package/dist/drawings/DrawingManager.d.ts +156 -33
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/DrawingRenderer.d.ts +2 -2
- package/dist/drawings/DrawingRenderer.d.ts.map +1 -1
- package/dist/drawings/DrawingSelection.d.ts +28 -0
- package/dist/drawings/DrawingSelection.d.ts.map +1 -0
- package/dist/drawings/drawingHistory.d.ts +12 -0
- package/dist/drawings/drawingHistory.d.ts.map +1 -0
- package/dist/drawings/drawingShortcuts.d.ts +11 -0
- package/dist/drawings/drawingShortcuts.d.ts.map +1 -0
- package/dist/drawings/drawingState.d.ts +29 -0
- package/dist/drawings/drawingState.d.ts.map +1 -0
- package/dist/drawings/index.d.ts +2 -1
- package/dist/drawings/index.d.ts.map +1 -1
- package/dist/drawings/magnetSnap.d.ts +12 -0
- package/dist/drawings/magnetSnap.d.ts.map +1 -0
- package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
- package/dist/drawings/tools/Circle.d.ts +1 -0
- package/dist/drawings/tools/Circle.d.ts.map +1 -1
- package/dist/drawings/tools/CrossLine.d.ts.map +1 -1
- package/dist/drawings/tools/DateRange.d.ts.map +1 -1
- package/dist/drawings/tools/ElliottWave.d.ts +128 -3
- package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
- package/dist/drawings/tools/Ellipse.d.ts +1 -0
- package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
- package/dist/drawings/tools/ExtendedLine.d.ts +1 -0
- package/dist/drawings/tools/ExtendedLine.d.ts.map +1 -1
- package/dist/drawings/tools/FibChannel.d.ts +7 -0
- package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
- package/dist/drawings/tools/FibExtension.d.ts +20 -0
- package/dist/drawings/tools/FibExtension.d.ts.map +1 -1
- package/dist/drawings/tools/FibRetracement.d.ts +28 -0
- package/dist/drawings/tools/FibRetracement.d.ts.map +1 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +9 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
- package/dist/drawings/tools/FibTimeZones.d.ts +16 -0
- package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
- package/dist/drawings/tools/GannBox.d.ts.map +1 -1
- package/dist/drawings/tools/GannFan.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalLine.d.ts +1 -0
- package/dist/drawings/tools/HorizontalLine.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalRay.d.ts +1 -0
- package/dist/drawings/tools/HorizontalRay.d.ts.map +1 -1
- package/dist/drawings/tools/Measure.d.ts.map +1 -1
- package/dist/drawings/tools/ParallelChannel.d.ts +12 -0
- package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceLabel.d.ts +1 -0
- package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
- package/dist/drawings/tools/Ray.d.ts +1 -0
- package/dist/drawings/tools/Ray.d.ts.map +1 -1
- package/dist/drawings/tools/Rectangle.d.ts +1 -0
- package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
- package/dist/drawings/tools/RegressionChannel.d.ts +1 -0
- package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
- package/dist/drawings/tools/RiskReward.d.ts +59 -6
- package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
- package/dist/drawings/tools/TextAnnotation.d.ts +1 -0
- package/dist/drawings/tools/TextAnnotation.d.ts.map +1 -1
- package/dist/drawings/tools/TrendAngle.d.ts.map +1 -1
- package/dist/drawings/tools/TrendLine.d.ts +3 -0
- package/dist/drawings/tools/TrendLine.d.ts.map +1 -1
- package/dist/drawings/tools/Triangle.d.ts +1 -0
- package/dist/drawings/tools/Triangle.d.ts.map +1 -1
- package/dist/drawings/tools/VerticalLine.d.ts.map +1 -1
- package/dist/drawings/tools/VolumeProfileRange.d.ts +1 -0
- package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
- package/dist/drawings/tools/annotations.d.ts +113 -0
- package/dist/drawings/tools/annotations.d.ts.map +1 -0
- package/dist/drawings/tools/cycles.d.ts +37 -0
- package/dist/drawings/tools/cycles.d.ts.map +1 -0
- package/dist/drawings/tools/fibGeometry.d.ts +202 -0
- package/dist/drawings/tools/fibGeometry.d.ts.map +1 -0
- package/dist/drawings/tools/forecast.d.ts +85 -0
- package/dist/drawings/tools/forecast.d.ts.map +1 -0
- package/dist/drawings/tools/freehand.d.ts +81 -0
- package/dist/drawings/tools/freehand.d.ts.map +1 -0
- package/dist/drawings/tools/index.d.ts +7 -0
- package/dist/drawings/tools/index.d.ts.map +1 -1
- package/dist/drawings/tools/labels.d.ts +32 -3
- package/dist/drawings/tools/labels.d.ts.map +1 -1
- package/dist/drawings/tools/options.d.ts +16 -0
- package/dist/drawings/tools/options.d.ts.map +1 -0
- package/dist/drawings/tools/patterns.d.ts +32 -0
- package/dist/drawings/tools/patterns.d.ts.map +1 -1
- package/dist/drawings/tools/priceLevels.d.ts +29 -0
- package/dist/drawings/tools/priceLevels.d.ts.map +1 -0
- package/dist/drawings/tools/textBox.d.ts +39 -0
- package/dist/drawings/tools/textBox.d.ts.map +1 -0
- package/dist/engine/LayerManager.d.ts +23 -0
- package/dist/engine/LayerManager.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +53 -1
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/engine/gpu.d.ts +83 -0
- package/dist/engine/gpu.d.ts.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/loadWebGL.d.ts +9 -0
- package/dist/engine/loadWebGL.d.ts.map +1 -0
- package/dist/engine/plotSteps.d.ts +39 -0
- package/dist/engine/plotSteps.d.ts.map +1 -0
- package/dist/events/EventBus.d.ts +2 -0
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts +117 -6
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/ChartState.d.ts +19 -1
- package/dist/features/ChartState.d.ts.map +1 -1
- package/dist/features/DataExporter.d.ts +7 -2
- package/dist/features/DataExporter.d.ts.map +1 -1
- package/dist/features/ReplayManager.d.ts +7 -0
- package/dist/features/ReplayManager.d.ts.map +1 -1
- package/dist/features/SignalMarkerManager.d.ts +8 -0
- package/dist/features/SignalMarkerManager.d.ts.map +1 -1
- package/dist/features/TradeZoneManager.d.ts.map +1 -1
- package/dist/features/UndoRedoManager.d.ts +30 -1
- package/dist/features/UndoRedoManager.d.ts.map +1 -1
- package/dist/features/index.d.ts +3 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/gridLines-J41F0DQ6.cjs +2 -0
- package/dist/gridLines-J41F0DQ6.cjs.map +1 -0
- package/dist/gridLines-kFhXyH-u.js +218 -0
- package/dist/gridLines-kFhXyH-u.js.map +1 -0
- package/dist/index.cjs +11 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10638 -4930
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorBase.d.ts +5 -1
- package/dist/indicators/IndicatorBase.d.ts.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +123 -11
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/indicators/PointwiseIndicator.d.ts +25 -0
- package/dist/indicators/PointwiseIndicator.d.ts.map +1 -0
- package/dist/indicators/index.d.ts +32 -0
- package/dist/indicators/index.d.ts.map +1 -1
- package/dist/indicators/linePen.d.ts +38 -0
- package/dist/indicators/linePen.d.ts.map +1 -0
- package/dist/indicators/math.d.ts +47 -0
- package/dist/indicators/math.d.ts.map +1 -0
- package/dist/indicators/overlay/ALMA.d.ts +20 -0
- package/dist/indicators/overlay/ALMA.d.ts.map +1 -0
- package/dist/indicators/overlay/Alligator.d.ts +2 -14
- package/dist/indicators/overlay/Alligator.d.ts.map +1 -1
- package/dist/indicators/overlay/AnchoredVWAP.d.ts +2 -9
- package/dist/indicators/overlay/AnchoredVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/BollingerBands.d.ts +2 -10
- package/dist/indicators/overlay/BollingerBands.d.ts.map +1 -1
- package/dist/indicators/overlay/ChandeKrollStop.d.ts +16 -0
- package/dist/indicators/overlay/ChandeKrollStop.d.ts.map +1 -0
- package/dist/indicators/overlay/ChandelierExit.d.ts +2 -10
- package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -1
- package/dist/indicators/overlay/DEMA.d.ts +11 -0
- package/dist/indicators/overlay/DEMA.d.ts.map +1 -0
- package/dist/indicators/overlay/DonchianChannel.d.ts +2 -9
- package/dist/indicators/overlay/DonchianChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/EMA.d.ts +2 -9
- package/dist/indicators/overlay/EMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Envelope.d.ts +2 -10
- package/dist/indicators/overlay/Envelope.d.ts.map +1 -1
- package/dist/indicators/overlay/GuppyMMA.d.ts +11 -0
- package/dist/indicators/overlay/GuppyMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/HullMA.d.ts +2 -9
- package/dist/indicators/overlay/HullMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Ichimoku.d.ts +2 -12
- package/dist/indicators/overlay/Ichimoku.d.ts.map +1 -1
- package/dist/indicators/overlay/KAMA.d.ts +15 -0
- package/dist/indicators/overlay/KAMA.d.ts.map +1 -0
- package/dist/indicators/overlay/KeltnerChannel.d.ts +2 -11
- package/dist/indicators/overlay/KeltnerChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/LSMA.d.ts +19 -0
- package/dist/indicators/overlay/LSMA.d.ts.map +1 -0
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts +2 -10
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/MACross.d.ts +9 -0
- package/dist/indicators/overlay/MACross.d.ts.map +1 -0
- package/dist/indicators/overlay/MARibbon.d.ts +8 -0
- package/dist/indicators/overlay/MARibbon.d.ts.map +1 -0
- package/dist/indicators/overlay/MTFMovingAverage.d.ts +2 -10
- package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -1
- package/dist/indicators/overlay/McGinleyDynamic.d.ts +13 -0
- package/dist/indicators/overlay/McGinleyDynamic.d.ts.map +1 -0
- package/dist/indicators/overlay/ParabolicSAR.d.ts +2 -10
- package/dist/indicators/overlay/ParabolicSAR.d.ts.map +1 -1
- package/dist/indicators/overlay/PivotPoints.d.ts +2 -9
- package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
- package/dist/indicators/overlay/SMA.d.ts +2 -9
- package/dist/indicators/overlay/SMA.d.ts.map +1 -1
- package/dist/indicators/overlay/SMMA.d.ts +13 -0
- package/dist/indicators/overlay/SMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/SessionVWAP.d.ts +2 -9
- package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/StandardErrorBands.d.ts +12 -0
- package/dist/indicators/overlay/StandardErrorBands.d.ts.map +1 -0
- package/dist/indicators/overlay/Supertrend.d.ts +2 -10
- package/dist/indicators/overlay/Supertrend.d.ts.map +1 -1
- package/dist/indicators/overlay/TEMA.d.ts +2 -9
- package/dist/indicators/overlay/TEMA.d.ts.map +1 -1
- package/dist/indicators/overlay/VWAP.d.ts +2 -7
- package/dist/indicators/overlay/VWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/VWMA.d.ts +2 -9
- package/dist/indicators/overlay/VWMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WMA.d.ts +2 -9
- package/dist/indicators/overlay/WMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WilliamsFractals.d.ts +15 -0
- package/dist/indicators/overlay/WilliamsFractals.d.ts.map +1 -0
- package/dist/indicators/overlay/ZigZag.d.ts +2 -9
- package/dist/indicators/overlay/ZigZag.d.ts.map +1 -1
- package/dist/indicators/panel/ADX.d.ts +2 -10
- package/dist/indicators/panel/ADX.d.ts.map +1 -1
- package/dist/indicators/panel/ATR.d.ts +2 -10
- package/dist/indicators/panel/ATR.d.ts.map +1 -1
- package/dist/indicators/panel/AcceleratorOscillator.d.ts +5 -10
- package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/AccumulationDistribution.d.ts +2 -8
- package/dist/indicators/panel/AccumulationDistribution.d.ts.map +1 -1
- package/dist/indicators/panel/Aroon.d.ts +2 -10
- package/dist/indicators/panel/Aroon.d.ts.map +1 -1
- package/dist/indicators/panel/AverageDayRange.d.ts +9 -0
- package/dist/indicators/panel/AverageDayRange.d.ts.map +1 -0
- package/dist/indicators/panel/AwesomeOscillator.d.ts +2 -11
- package/dist/indicators/panel/AwesomeOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/BalanceOfPower.d.ts +2 -10
- package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -1
- package/dist/indicators/panel/BollingerBandWidth.d.ts +18 -0
- package/dist/indicators/panel/BollingerBandWidth.d.ts.map +1 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts +21 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts.map +1 -0
- package/dist/indicators/panel/CCI.d.ts +2 -10
- package/dist/indicators/panel/CCI.d.ts.map +1 -1
- package/dist/indicators/panel/CMF.d.ts +2 -10
- package/dist/indicators/panel/CMF.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinOscillator.d.ts +2 -11
- package/dist/indicators/panel/ChaikinOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinVolatility.d.ts +2 -11
- package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -1
- package/dist/indicators/panel/ChandeMomentum.d.ts +2 -10
- package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -1
- package/dist/indicators/panel/ChoppinessIndex.d.ts +2 -10
- package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -1
- package/dist/indicators/panel/ConnorsRSI.d.ts +2 -12
- package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -1
- package/dist/indicators/panel/Coppock.d.ts +2 -12
- package/dist/indicators/panel/Coppock.d.ts.map +1 -1
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +2 -10
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/DisparityIndex.d.ts +2 -10
- package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -1
- package/dist/indicators/panel/EaseOfMovement.d.ts +2 -12
- package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -1
- package/dist/indicators/panel/ElderRay.d.ts +3 -9
- package/dist/indicators/panel/ElderRay.d.ts.map +1 -1
- package/dist/indicators/panel/FisherTransform.d.ts +2 -10
- package/dist/indicators/panel/FisherTransform.d.ts.map +1 -1
- package/dist/indicators/panel/ForceIndex.d.ts +2 -10
- package/dist/indicators/panel/ForceIndex.d.ts.map +1 -1
- package/dist/indicators/panel/HistoricalVolatility.d.ts +22 -0
- package/dist/indicators/panel/HistoricalVolatility.d.ts.map +1 -0
- package/dist/indicators/panel/KST.d.ts +2 -18
- package/dist/indicators/panel/KST.d.ts.map +1 -1
- package/dist/indicators/panel/Klinger.d.ts +2 -12
- package/dist/indicators/panel/Klinger.d.ts.map +1 -1
- package/dist/indicators/panel/LinearRegressionSlope.d.ts +9 -0
- package/dist/indicators/panel/LinearRegressionSlope.d.ts.map +1 -0
- package/dist/indicators/panel/MACD.d.ts +2 -12
- package/dist/indicators/panel/MACD.d.ts.map +1 -1
- package/dist/indicators/panel/MFI.d.ts +2 -10
- package/dist/indicators/panel/MFI.d.ts.map +1 -1
- package/dist/indicators/panel/MassIndex.d.ts +2 -11
- package/dist/indicators/panel/MassIndex.d.ts.map +1 -1
- package/dist/indicators/panel/Momentum.d.ts +9 -0
- package/dist/indicators/panel/Momentum.d.ts.map +1 -0
- package/dist/indicators/panel/NetVolume.d.ts +11 -0
- package/dist/indicators/panel/NetVolume.d.ts.map +1 -0
- package/dist/indicators/panel/OBV.d.ts +2 -8
- package/dist/indicators/panel/OBV.d.ts.map +1 -1
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts +2 -12
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts +2 -10
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PriceVolumeTrend.d.ts +2 -8
- package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -1
- package/dist/indicators/panel/Qstick.d.ts +2 -10
- package/dist/indicators/panel/Qstick.d.ts.map +1 -1
- package/dist/indicators/panel/ROC.d.ts +2 -10
- package/dist/indicators/panel/ROC.d.ts.map +1 -1
- package/dist/indicators/panel/RSI.d.ts +2 -10
- package/dist/indicators/panel/RSI.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts +2 -11
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVigor.d.ts +2 -10
- package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts +12 -0
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts.map +1 -0
- package/dist/indicators/panel/SchaffTrendCycle.d.ts +2 -12
- package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -1
- package/dist/indicators/panel/StandardError.d.ts +9 -0
- package/dist/indicators/panel/StandardError.d.ts.map +1 -0
- package/dist/indicators/panel/StdDev.d.ts +2 -10
- package/dist/indicators/panel/StdDev.d.ts.map +1 -1
- package/dist/indicators/panel/Stochastic.d.ts +2 -12
- package/dist/indicators/panel/Stochastic.d.ts.map +1 -1
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts +12 -0
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts.map +1 -0
- package/dist/indicators/panel/StochasticRSI.d.ts +2 -13
- package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -1
- package/dist/indicators/panel/TRIX.d.ts +2 -11
- package/dist/indicators/panel/TRIX.d.ts.map +1 -1
- package/dist/indicators/panel/TSI.d.ts +2 -12
- package/dist/indicators/panel/TSI.d.ts.map +1 -1
- package/dist/indicators/panel/TrendStrengthIndex.d.ts +9 -0
- package/dist/indicators/panel/TrendStrengthIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UlcerIndex.d.ts +15 -0
- package/dist/indicators/panel/UlcerIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UltimateOscillator.d.ts +2 -12
- package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/VROC.d.ts +2 -10
- package/dist/indicators/panel/VROC.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeDelta.d.ts +2 -10
- package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeOscillator.d.ts +11 -0
- package/dist/indicators/panel/VolumeOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeProfile.d.ts +2 -9
- package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
- package/dist/indicators/panel/Vortex.d.ts +2 -10
- package/dist/indicators/panel/Vortex.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsAD.d.ts +2 -10
- package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsR.d.ts +2 -10
- package/dist/indicators/panel/WilliamsR.d.ts.map +1 -1
- package/dist/indicators/plots.d.ts +49 -0
- package/dist/indicators/plots.d.ts.map +1 -0
- package/dist/indicators/registry.d.ts.map +1 -1
- package/dist/indicators/sources.d.ts +37 -0
- package/dist/indicators/sources.d.ts.map +1 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts +21 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts.map +1 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts +34 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -0
- package/dist/interaction/CrosshairHandler.d.ts +7 -4
- package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
- package/dist/interaction/CrosshairTooltip.d.ts +11 -5
- package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +63 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
- package/dist/interaction/PinnedTooltip.d.ts +9 -1
- package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
- package/dist/interaction/PriceAxisAddButton.d.ts +17 -0
- package/dist/interaction/PriceAxisAddButton.d.ts.map +1 -0
- package/dist/interaction/ZoomHandler.d.ts +8 -0
- package/dist/interaction/ZoomHandler.d.ts.map +1 -1
- package/dist/interaction/index.d.ts +2 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
- package/dist/realtime/StreamManager.d.ts +5 -0
- package/dist/realtime/StreamManager.d.ts.map +1 -1
- package/dist/realtime/TickAggregator.d.ts.map +1 -1
- package/dist/realtime/TickBars.d.ts +58 -0
- package/dist/realtime/TickBars.d.ts.map +1 -0
- package/dist/realtime/adapters/BinanceAdapter.d.ts +24 -1
- package/dist/realtime/adapters/BinanceAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts +3 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/CoinbaseAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/KrakenAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/MockAdapter.d.ts +19 -1
- package/dist/realtime/adapters/MockAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts +14 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/ResamplingAdapter.d.ts +84 -0
- package/dist/realtime/adapters/ResamplingAdapter.d.ts.map +1 -0
- package/dist/realtime/adapters/WebSocketAdapter.d.ts +14 -1
- package/dist/realtime/adapters/WebSocketAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/binanceTypes.d.ts +10 -1
- package/dist/realtime/adapters/binanceTypes.d.ts.map +1 -1
- package/dist/realtime/adapters/index.d.ts +1 -0
- package/dist/realtime/adapters/index.d.ts.map +1 -1
- package/dist/realtime/index.d.ts +1 -0
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/trading/BracketTool.d.ts.map +1 -1
- package/dist/trading/OrderDraftTool.d.ts.map +1 -1
- package/dist/trading/OrderRenderer.d.ts +2 -1
- package/dist/trading/OrderRenderer.d.ts.map +1 -1
- package/dist/trading/PaperExecutionAdapter.d.ts +17 -3
- package/dist/trading/PaperExecutionAdapter.d.ts.map +1 -1
- package/dist/trading/PositionRenderer.d.ts +6 -1
- package/dist/trading/PositionRenderer.d.ts.map +1 -1
- package/dist/trading/TradingContextMenu.d.ts +1 -1
- package/dist/trading/TradingContextMenu.d.ts.map +1 -1
- package/dist/trading/TradingDragHandler.d.ts.map +1 -1
- package/dist/trading/TradingManager.d.ts +26 -2
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/TradingRenderer.d.ts +2 -0
- package/dist/trading/TradingRenderer.d.ts.map +1 -1
- package/dist/trading/fillMarks.d.ts +14 -0
- package/dist/trading/fillMarks.d.ts.map +1 -0
- package/dist/trading/lineButtons.d.ts +31 -0
- package/dist/trading/lineButtons.d.ts.map +1 -0
- package/dist/trading/plot.d.ts +4 -0
- package/dist/trading/plot.d.ts.map +1 -0
- package/dist/trading/positionFormat.d.ts +1 -1
- package/dist/trading/positionFormat.d.ts.map +1 -1
- package/dist/ui/BarCountdown.d.ts.map +1 -1
- package/dist/ui/PriceLines.d.ts +38 -0
- package/dist/ui/PriceLines.d.ts.map +1 -0
- package/dist/ui/SessionBreaks.d.ts +14 -1
- package/dist/ui/SessionBreaks.d.ts.map +1 -1
- package/dist/ui/SessionShading.d.ts +5 -0
- package/dist/ui/SessionShading.d.ts.map +1 -1
- package/dist/ui/Watermark.d.ts +2 -0
- package/dist/ui/Watermark.d.ts.map +1 -1
- package/dist/ui/axisValueLabels.d.ts +52 -0
- package/dist/ui/axisValueLabels.d.ts.map +1 -0
- package/dist/ui/index.d.ts +7 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/sessionHours.d.ts +12 -2
- package/dist/ui/sessionHours.d.ts.map +1 -1
- package/dist/ui/shapes.d.ts +9 -0
- package/dist/ui/shapes.d.ts.map +1 -0
- package/dist/viewport/Viewport.d.ts +35 -2
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/dist/viewport/index.d.ts +1 -1
- package/dist/viewport/index.d.ts.map +1 -1
- package/dist/viewport/rangePresets.d.ts +4 -2
- package/dist/viewport/rangePresets.d.ts.map +1 -1
- package/dist/webgl/WebGLSeriesRenderer.d.ts +70 -0
- package/dist/webgl/WebGLSeriesRenderer.d.ts.map +1 -0
- package/dist/webgl/commandDrawer.d.ts +31 -0
- package/dist/webgl/commandDrawer.d.ts.map +1 -0
- package/dist/webgl/glColor.d.ts +13 -0
- package/dist/webgl/glColor.d.ts.map +1 -0
- package/dist/webgl/glKit.d.ts +26 -0
- package/dist/webgl/glKit.d.ts.map +1 -0
- package/dist/webgl/index.d.ts +5 -0
- package/dist/webgl/index.d.ts.map +1 -0
- package/dist/webgl/polygonSpans.d.ts +20 -0
- package/dist/webgl/polygonSpans.d.ts.map +1 -0
- package/dist/webgl/recordedCommands.d.ts +75 -0
- package/dist/webgl/recordedCommands.d.ts.map +1 -0
- package/dist/webgl/recordedPath.d.ts +51 -0
- package/dist/webgl/recordedPath.d.ts.map +1 -0
- package/dist/webgl/recordedShaders.d.ts +38 -0
- package/dist/webgl/recordedShaders.d.ts.map +1 -0
- package/dist/webgl/recorder.d.ts +67 -0
- package/dist/webgl/recorder.d.ts.map +1 -0
- package/dist/webgl/seriesUploads.d.ts +40 -0
- package/dist/webgl/seriesUploads.d.ts.map +1 -0
- package/dist/webgl/shaders.d.ts +39 -0
- package/dist/webgl/shaders.d.ts.map +1 -0
- package/dist/webgl/strokeGeometry.d.ts +28 -0
- package/dist/webgl/strokeGeometry.d.ts.map +1 -0
- package/dist/webgl/yMapping.d.ts +32 -0
- package/dist/webgl/yMapping.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DataSeries, IndicatorConfig, IndicatorDescriptor, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
import { SymbolSeriesStore } from './SymbolSeriesStore.js';
|
|
4
|
+
interface SymbolParams {
|
|
5
|
+
symbol: string;
|
|
6
|
+
}
|
|
7
|
+
interface SpreadParams extends SymbolParams {
|
|
8
|
+
ratio: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Another symbol's close on the chart's bars, by time (its bar at or before
|
|
12
|
+
* each one): compare it on its own scale (`scale: 'left'`) or in a pane of
|
|
13
|
+
* its own. Its bars come from the chart's `setSymbolSeries`.
|
|
14
|
+
*/
|
|
15
|
+
export declare class CompareSymbolIndicator extends PointwiseIndicator<SymbolParams> {
|
|
16
|
+
private readonly store;
|
|
17
|
+
descriptor: IndicatorDescriptor;
|
|
18
|
+
constructor(store: SymbolSeriesStore);
|
|
19
|
+
protected read(config: IndicatorConfig): SymbolParams;
|
|
20
|
+
protected pointAt(data: DataSeries, i: number, { symbol }: SymbolParams): IndicatorValue | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The chart's close against another symbol's, bar by bar: their difference
|
|
24
|
+
* (`mode` 'spread') or their ratio ('ratio').
|
|
25
|
+
*/
|
|
26
|
+
export declare class SpreadIndicator extends PointwiseIndicator<SpreadParams> {
|
|
27
|
+
private readonly store;
|
|
28
|
+
descriptor: IndicatorDescriptor;
|
|
29
|
+
constructor(store: SymbolSeriesStore);
|
|
30
|
+
protected read(config: IndicatorConfig): SpreadParams;
|
|
31
|
+
protected pointAt(data: DataSeries, i: number, { symbol, ratio }: SpreadParams): IndicatorValue | null;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=symbolIndicators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolIndicators.d.ts","sourceRoot":"","sources":["../../../src/indicators/symbols/symbolIndicators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAU9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IATlC,UAAU,EAAE,mBAAmB,CAO7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAKhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAWvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVlC,UAAU,EAAE,mBAAmB,CAQ7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAOvG"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { Point, ViewportState, Theme, DataSeries } from '@tradecanvas/commons';
|
|
1
|
+
import { Point, ViewportState, Theme, DataSeries, TimeFormatter, TimeZoneSetting } from '@tradecanvas/commons';
|
|
2
2
|
export type CrosshairCallback = (barIndex: number | null, point: Point | null) => void;
|
|
3
3
|
export type CrosshairMode = 'normal' | 'magnet' | 'hidden';
|
|
4
4
|
export declare class CrosshairHandler {
|
|
5
5
|
private position;
|
|
6
6
|
private callback;
|
|
7
7
|
private data;
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
private tz;
|
|
9
|
+
private timeFormatter;
|
|
10
|
+
/** An IANA zone, a fixed UTC offset in minutes, or null for the browser's zone. */
|
|
11
|
+
/** Times in your words (the crosshair's label), or null for its own. */
|
|
12
|
+
setTimeFormatter(formatter: TimeFormatter | null): void;
|
|
13
|
+
setTimezoneOffset(tz: TimeZoneSetting): void;
|
|
11
14
|
private magnetMode;
|
|
12
15
|
private mode;
|
|
13
16
|
/** Fixed decimals for the price pill; `null` follows the price axis. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrosshairHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CrosshairHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOpH,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,aAAa,CAA8B;IAEnD,mFAAmF;IACnF,wEAAwE;IACxE,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvD,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAG5C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,IAAI,CAA2B;IACvC,wEAAwE;IACxE,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAW;IAGzB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,oBAAoB,CAAM;IAClC,wFAAwF;IACxF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAuB;IAE3C,WAAW,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAIxC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKrC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAKlC,OAAO,IAAI,aAAa;IAIxB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,IAAI,KAAK,GAAG,IAAI;IAI3B;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIxC,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI;IAKrE,aAAa,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAI/B,cAAc,IAAI,IAAI;IAQtB,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAyDlF;;;;;;;OAOG;IACH,gBAAgB,CACd,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAsCP,kFAAkF;IAClF,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,YAAY;IA2BpB,0DAA0D;IAC1D,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OHLCBar, Theme, Point } from '@tradecanvas/commons';
|
|
1
|
+
import { OHLCBar, Theme, Point, TimeFormatter, TimeZoneSetting } from '@tradecanvas/commons';
|
|
2
2
|
/** Per-show context the chart knows and the bar alone does not. */
|
|
3
3
|
export interface CrosshairTooltipContext {
|
|
4
4
|
/** Previous bar's close: the change is measured from it, like the legend. */
|
|
@@ -25,7 +25,7 @@ export interface CrosshairTooltipContext {
|
|
|
25
25
|
* Pass the bar spacing in ms when known: without it, a midnight bar can't be
|
|
26
26
|
* told from a daily one.
|
|
27
27
|
*/
|
|
28
|
-
export declare function formatTooltipTime(rawTime: number,
|
|
28
|
+
export declare function formatTooltipTime(rawTime: number, tz: TimeZoneSetting, barStepMs?: number, locale?: string): string;
|
|
29
29
|
/**
|
|
30
30
|
* Floating OHLCV card that follows the crosshair.
|
|
31
31
|
*
|
|
@@ -39,7 +39,9 @@ export declare class CrosshairTooltip {
|
|
|
39
39
|
private appliedTheme;
|
|
40
40
|
private locale;
|
|
41
41
|
private pricePrecision;
|
|
42
|
-
private
|
|
42
|
+
private tz;
|
|
43
|
+
private priceFormatter;
|
|
44
|
+
private timeFormatter;
|
|
43
45
|
private dirEl;
|
|
44
46
|
private timeEl;
|
|
45
47
|
private changeEl;
|
|
@@ -53,8 +55,12 @@ export declare class CrosshairTooltip {
|
|
|
53
55
|
setLocale(locale: string): void;
|
|
54
56
|
/** Fixed decimals (a market's precision); `null` picks them from the visible range. */
|
|
55
57
|
setPricePrecision(precision: number | null): void;
|
|
56
|
-
/** Timezone for the time line:
|
|
57
|
-
setTimezoneOffset(
|
|
58
|
+
/** Timezone for the time line: an IANA zone, a UTC offset in minutes, or `null` for the browser's. */
|
|
59
|
+
setTimezoneOffset(tz: TimeZoneSetting): void;
|
|
60
|
+
/** Prices in the chart's format (null: decimals). */
|
|
61
|
+
setPriceFormatter(formatter: ((price: number) => string) | null): void;
|
|
62
|
+
/** The time line in your words (null: its own). */
|
|
63
|
+
setTimeFormatter(formatter: TimeFormatter | null): void;
|
|
58
64
|
show(pos: Point, bar: OHLCBar, theme: Theme, containerRect: {
|
|
59
65
|
width: number;
|
|
60
66
|
height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrosshairTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CrosshairTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AASlG,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+EAA+E;IAC/E,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,SAAU,GACf,MAAM,CAYR;AAUD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAuG;IACvH,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAO;IAErB,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IA4DpC,6CAA6C;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,uFAAuF;IACvF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAI5C,qDAAqD;IACrD,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,mDAAmD;IACnD,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvD,IAAI,CACF,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAChD,OAAO,GAAE,uBAA4B,GACpC,IAAI;IAqDP,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,UAAU;CAenB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Point, ViewportState } from '@tradecanvas/commons';
|
|
1
|
+
import { Point, Rect, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
import { PanHandler } from './PanHandler.js';
|
|
3
3
|
import { ZoomHandler } from './ZoomHandler.js';
|
|
4
4
|
import { CrosshairHandler } from './CrosshairHandler.js';
|
|
@@ -7,6 +7,23 @@ import { AlertDragHandler } from './AlertDragHandler.js';
|
|
|
7
7
|
import { DrawingManager } from '../drawings/DrawingManager.js';
|
|
8
8
|
import { TradingManager } from '../trading/TradingManager.js';
|
|
9
9
|
import { PaneResizeHandler } from './PaneResizeHandler.js';
|
|
10
|
+
import { PriceAxisAddButton } from './PriceAxisAddButton.js';
|
|
11
|
+
/** Where the axis strips are around the plot. */
|
|
12
|
+
export interface AxisStrips {
|
|
13
|
+
/** The price pane's plot; its axis strip is to the right of it. */
|
|
14
|
+
plot: Rect;
|
|
15
|
+
/** Top of the time axis: below the price pane and every pane under it. */
|
|
16
|
+
timeAxisTop: number;
|
|
17
|
+
/** The left price scale's strip, which ends at the plot's left edge. */
|
|
18
|
+
left: {
|
|
19
|
+
/** Its width; 0 while it is hidden. */
|
|
20
|
+
width: number;
|
|
21
|
+
/** Whether a drag there scales the price range (it mirrors the price scale). */
|
|
22
|
+
scales: boolean;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Where on the chart a point is, for a menu that depends on it. */
|
|
26
|
+
export type ChartArea = 'plot' | 'pane' | 'priceAxis' | 'timeAxis';
|
|
10
27
|
export declare class InteractionManager {
|
|
11
28
|
private element;
|
|
12
29
|
private panHandler;
|
|
@@ -16,6 +33,16 @@ export declare class InteractionManager {
|
|
|
16
33
|
private alertDragHandler;
|
|
17
34
|
private axisViewportGetter;
|
|
18
35
|
private onAxisDoubleClick;
|
|
36
|
+
private onDrawingDoubleClick;
|
|
37
|
+
private onDrawingContextMenu;
|
|
38
|
+
/** The zoom-area tool: a drag draws the box to zoom into. */
|
|
39
|
+
private zoomArea;
|
|
40
|
+
/** The host's menu for a right-click off any drawing; true when it took it. */
|
|
41
|
+
private onChartContextMenu;
|
|
42
|
+
/** The "+" by the price axis, and what a click on it does. */
|
|
43
|
+
private priceAxisAdd;
|
|
44
|
+
private axisStrips;
|
|
45
|
+
private savedTouchAction;
|
|
19
46
|
private measureHandlers;
|
|
20
47
|
private measuring;
|
|
21
48
|
private boxSelectHandlers;
|
|
@@ -24,6 +51,13 @@ export declare class InteractionManager {
|
|
|
24
51
|
private onEscape;
|
|
25
52
|
private onConfirm;
|
|
26
53
|
private onClick;
|
|
54
|
+
/** Signal markers: the one under a point, and who hears when the hovered one changes. */
|
|
55
|
+
private markerAt;
|
|
56
|
+
private onMarkerHover;
|
|
57
|
+
private markerClickable;
|
|
58
|
+
/** Where the pointer was over the hovered marker. */
|
|
59
|
+
private markerPos;
|
|
60
|
+
private hoveredMarker;
|
|
27
61
|
private downPos;
|
|
28
62
|
private downMoved;
|
|
29
63
|
private pressForClick;
|
|
@@ -71,6 +105,14 @@ export declare class InteractionManager {
|
|
|
71
105
|
setEscapeHandler(handler: () => void): void;
|
|
72
106
|
/** Wire an `Enter` keydown — used to confirm bracket placement. Return true if handled. */
|
|
73
107
|
setConfirmHandler(handler: () => boolean): void;
|
|
108
|
+
/**
|
|
109
|
+
* Markers that react to the pointer: word of the one hovered (null when the
|
|
110
|
+
* pointer leaves it), and a hand over them while `clickable()` says a click
|
|
111
|
+
* on one does something.
|
|
112
|
+
*/
|
|
113
|
+
setSignalMarkerHitTest(markerAt: ((pos: Point) => unknown | null) | null, onHover: ((marker: unknown | null, pos: Point) => void) | null, clickable?: () => boolean): void;
|
|
114
|
+
/** Leave the hovered marker (the pointer left, or a press started). */
|
|
115
|
+
private leaveMarker;
|
|
74
116
|
/** Wire a plain left-click on the chart area (press + release without drag). */
|
|
75
117
|
setClickHandler(handler: (pos: Point) => void): void;
|
|
76
118
|
/**
|
|
@@ -91,9 +133,29 @@ export declare class InteractionManager {
|
|
|
91
133
|
}): void;
|
|
92
134
|
setAxisDragHandler(handler: AxisDragHandler, viewportGetter: () => ViewportState, onDoubleClick?: (axis: 'price' | 'time') => void): void;
|
|
93
135
|
setDrawingManager(manager: DrawingManager, viewportGetter: () => ViewportState): void;
|
|
136
|
+
/**
|
|
137
|
+
* Called for a right-click that no drawing or trading menu took, with where
|
|
138
|
+
* it was; return true to keep the browser's own menu shut.
|
|
139
|
+
*/
|
|
140
|
+
setChartContextMenu(cb: ((area: ChartArea, pos: Point) => boolean) | null): void;
|
|
141
|
+
/** The "+" by the price axis: a click on it (not while placing something) calls `onClick`. */
|
|
142
|
+
setPriceAxisAddButton(button: PriceAxisAddButton, onClick: (pos: Point) => void): void;
|
|
143
|
+
/** While on, a plain drag draws a box (the box-select handlers get it) instead of panning. */
|
|
144
|
+
setZoomAreaMode(on: boolean): void;
|
|
145
|
+
/** Called when a drawing is right-clicked (to open its menu); the browser's menu stays shut. */
|
|
146
|
+
setDrawingContextMenu(cb: (id: string, pos: Point) => void): void;
|
|
147
|
+
/** Called with a drawing's id when it is double-clicked (to open its settings, say). */
|
|
148
|
+
setDrawingDoubleClick(cb: (id: string) => void): void;
|
|
94
149
|
/** Enable dragging price-alert lines. Hit-tested after trading/drawing. */
|
|
95
150
|
setAlertDragHandler(handler: AlertDragHandler): void;
|
|
96
151
|
setTradingManager(manager: TradingManager, viewportGetter: () => ViewportState): void;
|
|
152
|
+
/**
|
|
153
|
+
* The time axis below the panes, and the left price scale's strip. Presses
|
|
154
|
+
* on a strip that scales nothing (beside a pane, or a left scale carrying
|
|
155
|
+
* overlays) never draw or pan; a left scale that mirrors the price scale
|
|
156
|
+
* drags and resets like the price axis.
|
|
157
|
+
*/
|
|
158
|
+
setAxisStrips(getter: () => AxisStrips): void;
|
|
97
159
|
/** Enable dragging pane dividers to resize indicator panels. */
|
|
98
160
|
setPaneResizeHandler(handler: PaneResizeHandler): void;
|
|
99
161
|
attach(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaneResizeHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PaneResizeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAQ,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASvF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAA0D;gBAE7C,SAAS,SAAI;IAE1C,SAAS,CACP,YAAY,EAAE,MAAM,cAAc,EAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAChD,IAAI;IAKP,yFAAyF;IACzF,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"PaneResizeHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PaneResizeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAQ,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASvF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAA0D;gBAE7C,SAAS,SAAI;IAE1C,SAAS,CACP,YAAY,EAAE,MAAM,cAAc,EAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAChD,IAAI;IAKP,yFAAyF;IACzF,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAkB9D,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAQnC,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAc7B,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAKtB,8FAA8F;IAC9F,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqBjE,GAAG,IAAI,IAAI;IAIX,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OHLCBar, Theme, ViewportState } from '@tradecanvas/commons';
|
|
1
|
+
import { OHLCBar, Theme, TimeZoneSetting, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
/**
|
|
3
3
|
* Pinned OHLC tooltip — a second DOM tooltip anchored to a specific bar index.
|
|
4
4
|
*
|
|
@@ -23,6 +23,14 @@ export declare class PinnedTooltip {
|
|
|
23
23
|
private ohlcEl;
|
|
24
24
|
private pinnedBar;
|
|
25
25
|
private pinnedIndex;
|
|
26
|
+
private tz;
|
|
27
|
+
private priceFormatter;
|
|
28
|
+
/** The time zone the bar's time is shown in; null for the browser's. */
|
|
29
|
+
setTimezone(tz: TimeZoneSetting): void;
|
|
30
|
+
/** Prices in the chart's format (null: two decimals). */
|
|
31
|
+
setPriceFormatter(formatter: ((price: number) => string) | null): void;
|
|
32
|
+
/** A price as markup-safe text. */
|
|
33
|
+
private fmt;
|
|
26
34
|
create(container: HTMLElement): void;
|
|
27
35
|
pin(bar: OHLCBar, barIndex: number, theme: Theme): void;
|
|
28
36
|
unpin(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/PinnedTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PinnedTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/PinnedTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI3F;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,EAAE,CAAyB;IAEnC,OAAO,CAAC,cAAc,CAA4C;IAElE,wEAAwE;IACxE,WAAW,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAItC,yDAAyD;IACzD,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,mCAAmC;IACnC,OAAO,CAAC,GAAG;IAIX,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IA4CpC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IA+BvD,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAInB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAiC5G,OAAO,IAAI,IAAI;CAShB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Point, Theme, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* A "+" at the right edge of the price pane, level with the crosshair: a
|
|
4
|
+
* click on it offers what to do at that price (an alert, an order, a line).
|
|
5
|
+
* It follows the pointer up and down, so a click anywhere in its narrow strip
|
|
6
|
+
* is on it.
|
|
7
|
+
*/
|
|
8
|
+
export declare class PriceAxisAddButton {
|
|
9
|
+
private enabled;
|
|
10
|
+
setEnabled(enabled: boolean): void;
|
|
11
|
+
isEnabled(): boolean;
|
|
12
|
+
/** Whether `pos` is on the button: in the price pane, in the strip by the axis. */
|
|
13
|
+
hit(pos: Point, viewport: ViewportState): boolean;
|
|
14
|
+
/** Draw it level with the crosshair at `cursor` (when it is over the price pane). */
|
|
15
|
+
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, cursor: Point | null): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=PriceAxisAddButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceAxisAddButton.d.ts","sourceRoot":"","sources":["../../src/interaction/PriceAxisAddButton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMxE;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IAExB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,SAAS,IAAI,OAAO;IAIpB,mFAAmF;IACnF,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOjD,qFAAqF;IACrF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;CAsBzG"}
|
|
@@ -8,10 +8,18 @@ export declare class ZoomHandler {
|
|
|
8
8
|
private callback;
|
|
9
9
|
private sensitivity;
|
|
10
10
|
private pendingDelta;
|
|
11
|
+
/** Pinch steps this frame, multiplied: the change in finger distance. */
|
|
12
|
+
private pendingScale;
|
|
11
13
|
private pendingCenterX;
|
|
12
14
|
private rafId;
|
|
13
15
|
constructor(callback: ZoomCallback, sensitivity?: number);
|
|
14
16
|
onWheel(deltaY: number, pos: Point): void;
|
|
17
|
+
/**
|
|
18
|
+
* A pinch step: `scale` is the new finger distance over the last one, so
|
|
19
|
+
* the bars grow or shrink as much as the fingers spread or close.
|
|
20
|
+
*/
|
|
21
|
+
onPinch(scale: number, pos: Point): void;
|
|
22
|
+
private schedule;
|
|
15
23
|
dispose(): void;
|
|
16
24
|
}
|
|
17
25
|
//# sourceMappingURL=ZoomHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoomHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/ZoomHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,KAAK,CAAK;gBAEN,QAAQ,EAAE,YAAY,EAAE,WAAW,SAAQ;IAKvD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ZoomHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/ZoomHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpE;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,YAAY,CAAK;IACzB,yEAAyE;IACzE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,KAAK,CAAK;gBAEN,QAAQ,EAAE,YAAY,EAAE,WAAW,SAAQ;IAKvD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAMzC;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAOxC,OAAO,CAAC,QAAQ;IAYhB,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { InteractionManager } from './InteractionManager.js';
|
|
2
|
+
export type { AxisStrips, ChartArea } from './InteractionManager.js';
|
|
3
|
+
export { PriceAxisAddButton } from './PriceAxisAddButton.js';
|
|
2
4
|
export { PanHandler } from './PanHandler.js';
|
|
3
5
|
export { ZoomHandler } from './ZoomHandler.js';
|
|
4
6
|
export { AxisDragHandler } from './AxisDragHandler.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentPriceLine.d.ts","sourceRoot":"","sources":["../../src/realtime/CurrentPriceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CurrentPriceLine.d.ts","sourceRoot":"","sources":["../../src/realtime/CurrentPriceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKjE;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,iEAAiE;IACjE,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAW;IAEzB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrD,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5B,SAAS,IAAI,OAAO;IAIpB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAkDnF"}
|
|
@@ -15,6 +15,11 @@ export interface StreamEvents {
|
|
|
15
15
|
price: number;
|
|
16
16
|
previousClose: number | null;
|
|
17
17
|
};
|
|
18
|
+
/** The best bid and ask changed (from ticks that carry them) */
|
|
19
|
+
quote: {
|
|
20
|
+
bid?: number;
|
|
21
|
+
ask?: number;
|
|
22
|
+
};
|
|
18
23
|
/** Connection state changed */
|
|
19
24
|
connectionChange: ConnectionInfo;
|
|
20
25
|
/** Error occurred */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamManager.d.ts","sourceRoot":"","sources":["../../src/realtime/StreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"StreamManager.d.ts","sourceRoot":"","sources":["../../src/realtime/StreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,gEAAgE;IAChE,KAAK,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,+BAA+B;IAC/B,gBAAgB,EAAE,cAAc,CAAC;IACjC,qBAAqB;IACrB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAc,SAAQ,OAAO,CAAC,YAAY,CAAC;IACtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAAmB;IACtC,QAAQ,CAAC,SAAS,mBAA0B;IAE5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,eAAe,CAAK;IAC5B,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAAK;;IAUjB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmClD,UAAU,IAAI,IAAI;IAuBlB;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAQnC,YAAY,IAAI,MAAM,GAAG,IAAI;YAMf,SAAS;IAuCvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;IAOrB,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TickAggregator.d.ts","sourceRoot":"","sources":["../../src/realtime/TickAggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,gBAAgB;IACxB,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC3D,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAGpC,UAAU,EAAE,SAAS,EACrB,UAAU,SAAO;IAQnB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAOjC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA2ChC;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkB/C,aAAa,IAAI,aAAa,GAAG,IAAI;IAIrC,aAAa,IAAI,SAAS,OAAO,EAAE;IASnC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"TickAggregator.d.ts","sourceRoot":"","sources":["../../src/realtime/TickAggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,gBAAgB;IACxB,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC3D,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAGpC,UAAU,EAAE,SAAS,EACrB,UAAU,SAAO;IAQnB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAOjC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA2ChC;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkB/C,aAAa,IAAI,aAAa,GAAG,IAAI;IAIrC,aAAa,IAAI,SAAS,OAAO,EAAE;IASnC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,gBAAgB;CAKzB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ConnectionState, DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListener, NewsItem, OHLCBar, Quote, SymbolInfo, SymbolSearchOptions, TimeFrame, Trade } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* Bars of N trades each: a bar opens with its first trade (and is stamped
|
|
4
|
+
* with its time) and closes with its Nth.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TickBarBuilder {
|
|
7
|
+
private readonly tradesPerBar;
|
|
8
|
+
private bar;
|
|
9
|
+
private count;
|
|
10
|
+
/** The last bar's time: a bar never shares one (trades in the same millisecond). */
|
|
11
|
+
private lastTime;
|
|
12
|
+
constructor(tradesPerBar: number);
|
|
13
|
+
/** Add trades; the bars they touched, oldest first: closed ones, then the one left forming. */
|
|
14
|
+
push(trades: readonly Trade[]): {
|
|
15
|
+
bar: OHLCBar;
|
|
16
|
+
closed: boolean;
|
|
17
|
+
}[];
|
|
18
|
+
/** Every bar of `trades` (the last one may be forming), from a fresh start. */
|
|
19
|
+
build(trades: readonly Trade[]): OHLCBar[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Tick timeframes (`'100T'`: bars of 100 trades) for a feed with trades
|
|
23
|
+
* (`fetchTrades` and `subscribeTrades`): history from its recent trades,
|
|
24
|
+
* then live bars from its trades. Time timeframes go to the feed as they are.
|
|
25
|
+
*/
|
|
26
|
+
export declare class TickBarAdapter implements DataAdapter {
|
|
27
|
+
private readonly inner;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly supportedTimeframes?: readonly TimeFrame[];
|
|
30
|
+
readonly searchSymbols?: (query: string, options?: SymbolSearchOptions) => Promise<SymbolInfo[]>;
|
|
31
|
+
readonly resolveSymbol?: (symbol: string) => Promise<SymbolInfo | null>;
|
|
32
|
+
readonly subscribeQuotes?: (symbols: readonly string[], onQuotes: (quotes: Quote[]) => void) => () => void;
|
|
33
|
+
readonly fetchNews?: (symbol: string, limit?: number) => Promise<NewsItem[]>;
|
|
34
|
+
readonly fetchTrades: (symbol: string, limit?: number) => Promise<Trade[]>;
|
|
35
|
+
readonly subscribeTrades: (symbol: string, onTrades: (trades: Trade[]) => void) => () => void;
|
|
36
|
+
private readonly listeners;
|
|
37
|
+
/** The tick chart being served: its builder, and the last trade its history had. */
|
|
38
|
+
private tick;
|
|
39
|
+
private stopTrades;
|
|
40
|
+
private keepAlive;
|
|
41
|
+
private tickMode;
|
|
42
|
+
private state;
|
|
43
|
+
constructor(inner: DataAdapter & Required<Pick<DataAdapter, 'fetchTrades' | 'subscribeTrades'>>);
|
|
44
|
+
fetchHistory(symbol: string, timeframe: TimeFrame, limit?: number): Promise<OHLCBar[]>;
|
|
45
|
+
fetchHistoryBefore(symbol: string, timeframe: TimeFrame, before: number, limit: number): Promise<OHLCBar[]>;
|
|
46
|
+
connect(config: DataAdapterConfig): void;
|
|
47
|
+
disconnect(): void;
|
|
48
|
+
getConnectionState(): ConnectionState;
|
|
49
|
+
dispose(): void;
|
|
50
|
+
on<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
51
|
+
off<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
52
|
+
private emit;
|
|
53
|
+
}
|
|
54
|
+
/** A feed with trades, able to serve tick timeframes too; any other feed as it is. */
|
|
55
|
+
export declare function withTickBars(adapter: DataAdapter): DataAdapter;
|
|
56
|
+
/** Whether the feed has trades to build tick bars from. */
|
|
57
|
+
export declare function hasTrades(adapter: DataAdapter): adapter is DataAdapter & Required<Pick<DataAdapter, 'fetchTrades' | 'subscribeTrades'>>;
|
|
58
|
+
//# sourceMappingURL=TickBars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TickBars.d.ts","sourceRoot":"","sources":["../../src/realtime/TickBars.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListener, ConnectionState, OHLCBar, TimeFrame } from '@tradecanvas/commons';
|
|
1
|
+
import { DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListener, ConnectionState, OHLCBar, Quote, Trade, SymbolInfo, SymbolSearchOptions, TimeFrame } from '@tradecanvas/commons';
|
|
2
2
|
/**
|
|
3
3
|
* Binance public API adapter (no API key required).
|
|
4
4
|
*
|
|
@@ -14,12 +14,16 @@ import { DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListen
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class BinanceAdapter implements DataAdapter {
|
|
16
16
|
readonly name = "binance";
|
|
17
|
+
/** Binance's kline intervals; other timeframes are built from these. */
|
|
18
|
+
readonly supportedTimeframes: TimeFrame[];
|
|
17
19
|
private ws;
|
|
18
20
|
private state;
|
|
19
21
|
private listeners;
|
|
20
22
|
private config;
|
|
21
23
|
private restBase;
|
|
22
24
|
private wsBase;
|
|
25
|
+
/** Every trading symbol, loaded on the first search. */
|
|
26
|
+
private symbolList;
|
|
23
27
|
constructor(options?: {
|
|
24
28
|
restBase?: string;
|
|
25
29
|
wsBase?: string;
|
|
@@ -28,6 +32,25 @@ export declare class BinanceAdapter implements DataAdapter {
|
|
|
28
32
|
disconnect(): void;
|
|
29
33
|
getConnectionState(): ConnectionState;
|
|
30
34
|
fetchHistory(symbol: string, timeframe: TimeFrame, limit?: number): Promise<OHLCBar[]>;
|
|
35
|
+
/** Trading symbols matching `query`, best first; the list loads once, on the first search. */
|
|
36
|
+
searchSymbols(query: string, options?: SymbolSearchOptions): Promise<SymbolInfo[]>;
|
|
37
|
+
/** Name, price step and currency of one symbol, or null for one Binance doesn't trade. */
|
|
38
|
+
resolveSymbol(symbol: string): Promise<SymbolInfo | null>;
|
|
39
|
+
private loadSymbols;
|
|
40
|
+
/**
|
|
41
|
+
* Live quotes for up to 200 symbols: last price and the 24 h change, high,
|
|
42
|
+
* low and volume. A snapshot first, then the exchange's mini-ticker stream
|
|
43
|
+
* (reconnected while subscribed). Symbols that can't be Binance tickers are
|
|
44
|
+
* left out.
|
|
45
|
+
*/
|
|
46
|
+
subscribeQuotes(symbols: readonly string[], onQuotes: (quotes: Quote[]) => void): () => void;
|
|
47
|
+
/** Up to 1000 recent trades, oldest first (aggregate trades: one per taker order and price). */
|
|
48
|
+
fetchTrades(symbol: string, limit?: number): Promise<Trade[]>;
|
|
49
|
+
/** Live trades of `symbol` (the aggregate trade stream), reconnected while subscribed. */
|
|
50
|
+
subscribeTrades(symbol: string, onTrades: (trades: Trade[]) => void): () => void;
|
|
51
|
+
/** Up to `limit` klines (1000 at most) that open before `before` (ms). */
|
|
52
|
+
fetchHistoryBefore(symbol: string, timeframe: TimeFrame, before: number, limit?: number): Promise<OHLCBar[]>;
|
|
53
|
+
private fetchKlines;
|
|
31
54
|
on<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
32
55
|
off<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
33
56
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinanceAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/BinanceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,SAAS,EACV,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"BinanceAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/BinanceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,KAAK,EACL,KAAK,EACL,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAmE9B;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,aAAa;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,EAA0B,SAAS,EAAE,CAAC;IAElE,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAA6D;IAC9E,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAAsC;gBAE5C,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAO5D,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAKxC,UAAU,IAAI,IAAI;IAiBlB,kBAAkB,IAAI,eAAe;IAIrC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAInF,8FAA8F;IACxF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKxF,0FAA0F;IACpF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW/D,OAAO,CAAC,WAAW;IAanB;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IA+E5F,gGAAgG;IAC1F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAQjE,0FAA0F;IAC1F,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAiDhF,0EAA0E;IAC1E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAI3F,WAAW;IAiBzB,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IASpF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrF,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,SAAS;IAmDjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;CASlB"}
|
|
@@ -20,7 +20,9 @@ export declare class BybitAdapter extends WebSocketAdapter {
|
|
|
20
20
|
}
|
|
21
21
|
/** Parse a Bybit v5 kline push frame into the latest bar. */
|
|
22
22
|
export declare function parseBybitWsMessage(raw: unknown): WsParseResult | null;
|
|
23
|
-
export declare function fetchBybitKlines(restBase: string, category: BybitCategory, symbol: string, timeframe: TimeFrame, limit: number
|
|
23
|
+
export declare function fetchBybitKlines(restBase: string, category: BybitCategory, symbol: string, timeframe: TimeFrame, limit: number,
|
|
24
|
+
/** Latest start time to include (ms); the newest klines when omitted. */
|
|
25
|
+
end?: number): Promise<OHLCBar[]>;
|
|
24
26
|
/** Parse Bybit's `result.list` (descending) into ascending bars. */
|
|
25
27
|
export declare function parseBybitRestKlines(json: unknown): OHLCBar[];
|
|
26
28
|
/** Bybit kline tuple: `[startTime(ms), open, high, low, close, volume, turnover]`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BybitAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/BybitAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7E,KAAK,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAQnD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;gBACpC,OAAO,GAAE,mBAAwB;
|
|
1
|
+
{"version":3,"file":"BybitAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/BybitAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7E,KAAK,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAQnD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;gBACpC,OAAO,GAAE,mBAAwB;CAgB9C;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAuBtE;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM;AACb,yEAAyE;AACzE,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,EAAE,CAAC,CASpB;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAW7D;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAe9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinbaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/CoinbaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAarD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,GAAE,sBAA2B;
|
|
1
|
+
{"version":3,"file":"CoinbaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/CoinbaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAarD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,GAAE,sBAA2B;CAUjD;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAOpB;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAS7D;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAehE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KrakenAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/KrakenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAS7E,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE3D;AAED,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;gBACrC,OAAO,GAAE,oBAAyB;
|
|
1
|
+
{"version":3,"file":"KrakenAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/KrakenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAS7E,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE3D;AAED,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;gBACrC,OAAO,GAAE,oBAAyB;CAmB/C;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAuBvE;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAQpB;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAkBxD;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAe/D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListener, ConnectionState, OHLCBar, TimeFrame } from '@tradecanvas/commons';
|
|
1
|
+
import { DataAdapter, DataAdapterConfig, DataAdapterEventType, DataAdapterListener, ConnectionState, OHLCBar, Quote, Trade, SymbolInfo, SymbolSearchOptions, TimeFrame } from '@tradecanvas/commons';
|
|
2
2
|
export interface MockAdapterOptions {
|
|
3
3
|
/** Base price to generate data around */
|
|
4
4
|
basePrice?: number;
|
|
@@ -10,6 +10,8 @@ export interface MockAdapterOptions {
|
|
|
10
10
|
historySize?: number;
|
|
11
11
|
/** Custom history generator */
|
|
12
12
|
historyGenerator?: (symbol: string, timeframe: TimeFrame, limit: number) => OHLCBar[];
|
|
13
|
+
/** Symbols `searchSymbols` and `resolveSymbol` know. */
|
|
14
|
+
symbols?: SymbolInfo[];
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Mock data adapter for testing, demos, and markets without free APIs.
|
|
@@ -28,11 +30,27 @@ export declare class MockAdapter implements DataAdapter {
|
|
|
28
30
|
private options;
|
|
29
31
|
private tickTimer;
|
|
30
32
|
private currentPrice;
|
|
33
|
+
/** Open of the oldest bar handed out per symbol, where its next older page ends. */
|
|
34
|
+
private oldestOpen;
|
|
31
35
|
constructor(options?: MockAdapterOptions);
|
|
32
36
|
connect(config: DataAdapterConfig): void;
|
|
33
37
|
disconnect(): void;
|
|
34
38
|
getConnectionState(): ConnectionState;
|
|
39
|
+
/**
|
|
40
|
+
* Made-up quotes: a random walk per symbol around `basePrice` (each symbol
|
|
41
|
+
* starting at a price of its own), every symbol quoted at once and then each
|
|
42
|
+
* `tickInterval`.
|
|
43
|
+
*/
|
|
44
|
+
subscribeQuotes(symbols: readonly string[], onQuotes: (quotes: Quote[]) => void): () => void;
|
|
45
|
+
/** Made-up recent trades: a walk around `basePrice`, a second apart, oldest first. */
|
|
46
|
+
fetchTrades(symbol: string, limit?: number): Promise<Trade[]>;
|
|
47
|
+
/** Made-up live trades, a few each `tickInterval`. */
|
|
48
|
+
subscribeTrades(symbol: string, onTrades: (trades: Trade[]) => void): () => void;
|
|
35
49
|
fetchHistory(symbol: string, timeframe: TimeFrame, limit?: number): Promise<OHLCBar[]>;
|
|
50
|
+
/** Make up `limit` bars before `before` (ms) that lead into the oldest bar handed out. */
|
|
51
|
+
fetchHistoryBefore(symbol: string, timeframe: TimeFrame, before: number, limit: number): Promise<OHLCBar[]>;
|
|
52
|
+
searchSymbols(query: string, options?: SymbolSearchOptions): Promise<SymbolInfo[]>;
|
|
53
|
+
resolveSymbol(symbol: string): Promise<SymbolInfo | null>;
|
|
36
54
|
on<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
37
55
|
off<T = unknown>(event: DataAdapterEventType, listener: DataAdapterListener<T>): void;
|
|
38
56
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/MockAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,SAAS,EACV,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MockAdapter.d.ts","sourceRoot":"","sources":["../../../src/realtime/adapters/MockAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,KAAK,EACL,KAAK,EACL,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IACtF,wDAAwD;IACxD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,UAAU;IAEvB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAA6D;IAC9E,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,YAAY,CAAS;IAC7B,oFAAoF;IACpF,OAAO,CAAC,UAAU,CAA6B;gBAEnC,OAAO,CAAC,EAAE,kBAAkB;IAWxC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAOxC,UAAU,IAAI,IAAI;IAMlB,kBAAkB,IAAI,eAAe;IAIrC;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IA+B5F,sFAAsF;IAChF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAajE,sDAAsD;IACtD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAc1E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ5F,0FAA0F;IACpF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkB3G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI/D,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrF,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;CAOlB"}
|