wickra-wasm 0.6.0 → 0.6.1

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=429" alt="Wickra — streaming-first technical indicators" width="100%"></a>
2
+ <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=434" alt="Wickra — streaming-first technical indicators" width="100%"></a>
3
3
  </p>
4
4
 
5
5
  [![CI](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml/badge.svg)](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml)
@@ -48,7 +48,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
48
48
  [Node](https://docs.wickra.org/Quickstart-Node),
49
49
  [WASM](https://docs.wickra.org/Quickstart-WASM).
50
50
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
51
- every one of the 429 indicators; start at the
51
+ every one of the 434 indicators; start at the
52
52
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
53
53
  - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
54
54
  [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
@@ -79,7 +79,7 @@ Plenty of TA libraries are fast. Each one forces a trade-off Wickra does not:
79
79
  | finta | clean | no | Python | ~80 | stale |
80
80
  | talipp | clean | yes | Python | ~40 | yes |
81
81
 
82
- Wickra's edge is **breadth with reach**: 429 indicators that all update in O(1)
82
+ Wickra's edge is **breadth with reach**: 434 indicators that all update in O(1)
83
83
  per tick and ship natively to Python, Node.js, WebAssembly and Rust from a
84
84
  single engine.
85
85
 
@@ -188,7 +188,7 @@ python -m benchmarks.compare_libraries
188
188
 
189
189
  ## Indicators
190
190
 
191
- 429 streaming-first indicators across twenty-four families. Every one passes the
191
+ 434 streaming-first indicators across twenty-four families. Every one passes the
192
192
  `batch == streaming` equivalence test, reference-value tests, and reset
193
193
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
194
194
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -200,7 +200,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
200
200
  | Trend & Directional | MACD, MACD Fixed (MACDFIX), MACD Extended (MACDEXT), ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter, Plus DM, Minus DM, Plus DI, Minus DI, DX, TTM Trend, Trend Strength Index, Qstick, Polarized Fractal Efficiency, Wave PM, Gator Oscillator, Kase Permission Stochastic |
201
201
  | Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC, TSF Oscillator, MACD Histogram, PPO Histogram |
202
202
  | Volatility & Bands | ATR, Bollinger Bands, Keltner Channels, Donchian Channels, NATR, StdDev, Ulcer Index, Historical Volatility, Bollinger Bandwidth, %B, True Range, Chaikin Volatility, RVI (Relative Volatility Index), Parkinson Volatility, Garman-Klass Volatility, Rogers-Satchell Volatility, Yang-Zhang Volatility, Volatility Cone |
203
- | Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands |
203
+ | Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands, Quartile Bands, Bomar Bands, Median Channel, Projection Bands, Projection Oscillator |
204
204
  | Trailing Stops | Parabolic SAR, Parabolic SAR Extended (SAREXT), SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop, HiLo Activator, Volty Stop, Yo-Yo Exit, Donchian Channel Stop, Percentage Trailing Stop, Step Trailing Stop, Renko Trailing Stop |
205
205
  | Volume | OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement, Klinger Volume Oscillator, Volume Oscillator, NVI, PVI, Williams A/D, Anchored VWAP, Demand Index, TSV, VZO, Market Facilitation Index |
206
206
  | Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Pairwise Beta, Pair Spread Z-Score, Lead-Lag Cross-Correlation, Cointegration, Relative Strength A-vs-B, Spearman Correlation, Mid Price, Mid Point, Average Price, Linear Regression Intercept, Time Series Forecast, Rolling Correlation, Rolling Covariance, OU Half-Life, Spread Hurst, Distance SSD, Beta-Neutral Spread, Variance Ratio, Granger Causality, Kalman Hedge Ratio, Spread Bollinger Bands, Spread AR(1) Coefficient |
@@ -297,7 +297,7 @@ A Python live-trading example using the public `websockets` package lives at
297
297
  ```
298
298
  wickra/
299
299
  ├── crates/
300
- │ ├── wickra-core/ core engine + all 429 indicators
300
+ │ ├── wickra-core/ core engine + all 434 indicators
301
301
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
302
302
  │ ├── wickra-data/ CSV reader, tick aggregator, live exchange feeds
303
303
  │ └── wickra-bench/ internal cross-library benchmark harness (not published)
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "kingchenc <support@wickra.org>"
6
6
  ],
7
7
  "description": "WASM bindings for the Wickra streaming-first technical indicators library.",
8
- "version": "0.6.0",
8
+ "version": "0.6.1",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -471,6 +471,17 @@ export class BollingerBandwidth {
471
471
  warmupPeriod(): number;
472
472
  }
473
473
 
474
+ export class BomarBands {
475
+ free(): void;
476
+ [Symbol.dispose](): void;
477
+ batch(prices: Float64Array): Float64Array;
478
+ isReady(): boolean;
479
+ constructor(period: number, coverage: number);
480
+ reset(): void;
481
+ update(value: number): any;
482
+ warmupPeriod(): number;
483
+ }
484
+
474
485
  export class BreadthThrust {
475
486
  free(): void;
476
487
  [Symbol.dispose](): void;
@@ -2549,6 +2560,17 @@ export class MedianAbsoluteDeviation {
2549
2560
  warmupPeriod(): number;
2550
2561
  }
2551
2562
 
2563
+ export class MedianChannel {
2564
+ free(): void;
2565
+ [Symbol.dispose](): void;
2566
+ batch(prices: Float64Array): Float64Array;
2567
+ isReady(): boolean;
2568
+ constructor(period: number, multiplier: number);
2569
+ reset(): void;
2570
+ update(value: number): any;
2571
+ warmupPeriod(): number;
2572
+ }
2573
+
2552
2574
  export class MedianMA {
2553
2575
  free(): void;
2554
2576
  [Symbol.dispose](): void;
@@ -3020,6 +3042,26 @@ export class ProfitFactor {
3020
3042
  warmupPeriod(): number;
3021
3043
  }
3022
3044
 
3045
+ export class ProjectionBands {
3046
+ free(): void;
3047
+ [Symbol.dispose](): void;
3048
+ batch(high: Float64Array, low: Float64Array): Float64Array;
3049
+ isReady(): boolean;
3050
+ constructor(period: number);
3051
+ reset(): void;
3052
+ update(high: number, low: number): any;
3053
+ warmupPeriod(): number;
3054
+ }
3055
+
3056
+ export class ProjectionOscillator {
3057
+ free(): void;
3058
+ [Symbol.dispose](): void;
3059
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
3060
+ constructor(period: number);
3061
+ reset(): void;
3062
+ update(high: number, low: number, close: number): number | undefined;
3063
+ }
3064
+
3023
3065
  export class QQE {
3024
3066
  free(): void;
3025
3067
  [Symbol.dispose](): void;
@@ -3054,6 +3096,17 @@ export class Qstick {
3054
3096
  warmupPeriod(): number;
3055
3097
  }
3056
3098
 
3099
+ export class QuartileBands {
3100
+ free(): void;
3101
+ [Symbol.dispose](): void;
3102
+ batch(prices: Float64Array): Float64Array;
3103
+ isReady(): boolean;
3104
+ constructor(period: number);
3105
+ reset(): void;
3106
+ update(value: number): any;
3107
+ warmupPeriod(): number;
3108
+ }
3109
+
3057
3110
  export class QuotedSpread {
3058
3111
  free(): void;
3059
3112
  [Symbol.dispose](): void;
package/wickra_wasm.js CHANGED
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./wickra_wasm_bg.js";
5
5
  __wbg_set_wasm(wasm);
6
6
 
7
7
  export {
8
- ADL, ADX, ADXR, ALMA, APO, ATR, AVGPRICE, AbandonedBaby, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BipowerVariation, BodySizePct, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, Crab, CumulativeVolumeDelta, CumulativeVolumeIndex, CupAndHandle, CyberneticCycle, Cypher, DEMA, DPO, DX, DayOfWeekProfile, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DerivativeOscillator, DetrendedStdDev, DisparityIndex, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DoubleTopBottom, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, DynamicMomentumIndex, EHMA, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, Garch11, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KasePermissionStochastic, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LogReturn, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MacdHistogram, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianMA, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OrderFlowImbalance, OuHalfLife, OvernightGap, OvernightIntradayReturn, PGO, PLUS_DI, PLUS_DM, PMO, POLARIZED_FRACTAL_EFFICIENCY, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, PpoHistogram, ProfitFactor, QQE, Qstick, QuotedSpread, RMI, ROC, ROCP, ROCR, ROCR100, RSI, RSX, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TREND_STRENGTH_INDEX, TRIMA, TRIX, TSF, TSI, TSV, TTM_TREND, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeDrives, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeOfDayReturnProfile, TpoProfile, TradeImbalance, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, TrueRange, TsfOscillator, TtmSqueeze, TurnOfMonth, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VolatilityCone, VolatilityOfVolatility, VolatilityRatio, VoltyStop, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, WaveTrend, Wedge, WeightedClose, WickRatio, WilliamsAD, WilliamsFractals, WilliamsR, WinRate, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
8
+ ADL, ADX, ADXR, ALMA, APO, ATR, AVGPRICE, AbandonedBaby, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BipowerVariation, BodySizePct, BollingerBands, BollingerBandwidth, BomarBands, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, Crab, CumulativeVolumeDelta, CumulativeVolumeIndex, CupAndHandle, CyberneticCycle, Cypher, DEMA, DPO, DX, DayOfWeekProfile, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DerivativeOscillator, DetrendedStdDev, DisparityIndex, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DoubleTopBottom, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, DynamicMomentumIndex, EHMA, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, Garch11, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KasePermissionStochastic, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LogReturn, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MacdHistogram, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianChannel, MedianMA, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OrderFlowImbalance, OuHalfLife, OvernightGap, OvernightIntradayReturn, PGO, PLUS_DI, PLUS_DM, PMO, POLARIZED_FRACTAL_EFFICIENCY, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, PpoHistogram, ProfitFactor, ProjectionBands, ProjectionOscillator, QQE, Qstick, QuartileBands, QuotedSpread, RMI, ROC, ROCP, ROCR, ROCR100, RSI, RSX, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TREND_STRENGTH_INDEX, TRIMA, TRIX, TSF, TSI, TSV, TTM_TREND, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeDrives, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeOfDayReturnProfile, TpoProfile, TradeImbalance, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, TrueRange, TsfOscillator, TtmSqueeze, TurnOfMonth, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VolatilityCone, VolatilityOfVolatility, VolatilityRatio, VoltyStop, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, WaveTrend, Wedge, WeightedClose, WickRatio, WilliamsAD, WilliamsFractals, WilliamsR, WinRate, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
9
9
  } from "./wickra_wasm_bg.js";
package/wickra_wasm_bg.js CHANGED
@@ -3465,6 +3465,76 @@ export class BollingerBandwidth {
3465
3465
  }
3466
3466
  if (Symbol.dispose) BollingerBandwidth.prototype[Symbol.dispose] = BollingerBandwidth.prototype.free;
3467
3467
 
3468
+ export class BomarBands {
3469
+ __destroy_into_raw() {
3470
+ const ptr = this.__wbg_ptr;
3471
+ this.__wbg_ptr = 0;
3472
+ BomarBandsFinalization.unregister(this);
3473
+ return ptr;
3474
+ }
3475
+ free() {
3476
+ const ptr = this.__destroy_into_raw();
3477
+ wasm.__wbg_bomarbands_free(ptr, 0);
3478
+ }
3479
+ /**
3480
+ * @param {Float64Array} prices
3481
+ * @returns {Float64Array}
3482
+ */
3483
+ batch(prices) {
3484
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
3485
+ const len0 = WASM_VECTOR_LEN;
3486
+ const ret = wasm.bomarbands_batch(this.__wbg_ptr, ptr0, len0);
3487
+ return takeObject(ret);
3488
+ }
3489
+ /**
3490
+ * @returns {boolean}
3491
+ */
3492
+ isReady() {
3493
+ const ret = wasm.bomarbands_isReady(this.__wbg_ptr);
3494
+ return ret !== 0;
3495
+ }
3496
+ /**
3497
+ * @param {number} period
3498
+ * @param {number} coverage
3499
+ */
3500
+ constructor(period, coverage) {
3501
+ try {
3502
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3503
+ wasm.bomarbands_new(retptr, period, coverage);
3504
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3505
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3506
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
3507
+ if (r2) {
3508
+ throw takeObject(r1);
3509
+ }
3510
+ this.__wbg_ptr = r0;
3511
+ BomarBandsFinalization.register(this, this.__wbg_ptr, this);
3512
+ return this;
3513
+ } finally {
3514
+ wasm.__wbindgen_add_to_stack_pointer(16);
3515
+ }
3516
+ }
3517
+ reset() {
3518
+ wasm.bomarbands_reset(this.__wbg_ptr);
3519
+ }
3520
+ /**
3521
+ * @param {number} value
3522
+ * @returns {any}
3523
+ */
3524
+ update(value) {
3525
+ const ret = wasm.bomarbands_update(this.__wbg_ptr, value);
3526
+ return takeObject(ret);
3527
+ }
3528
+ /**
3529
+ * @returns {number}
3530
+ */
3531
+ warmupPeriod() {
3532
+ const ret = wasm.bomarbands_warmupPeriod(this.__wbg_ptr);
3533
+ return ret >>> 0;
3534
+ }
3535
+ }
3536
+ if (Symbol.dispose) BomarBands.prototype[Symbol.dispose] = BomarBands.prototype.free;
3537
+
3468
3538
  export class BreadthThrust {
3469
3539
  __destroy_into_raw() {
3470
3540
  const ptr = this.__wbg_ptr;
@@ -18391,6 +18461,76 @@ export class MedianAbsoluteDeviation {
18391
18461
  }
18392
18462
  if (Symbol.dispose) MedianAbsoluteDeviation.prototype[Symbol.dispose] = MedianAbsoluteDeviation.prototype.free;
18393
18463
 
18464
+ export class MedianChannel {
18465
+ __destroy_into_raw() {
18466
+ const ptr = this.__wbg_ptr;
18467
+ this.__wbg_ptr = 0;
18468
+ MedianChannelFinalization.unregister(this);
18469
+ return ptr;
18470
+ }
18471
+ free() {
18472
+ const ptr = this.__destroy_into_raw();
18473
+ wasm.__wbg_medianchannel_free(ptr, 0);
18474
+ }
18475
+ /**
18476
+ * @param {Float64Array} prices
18477
+ * @returns {Float64Array}
18478
+ */
18479
+ batch(prices) {
18480
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
18481
+ const len0 = WASM_VECTOR_LEN;
18482
+ const ret = wasm.medianchannel_batch(this.__wbg_ptr, ptr0, len0);
18483
+ return takeObject(ret);
18484
+ }
18485
+ /**
18486
+ * @returns {boolean}
18487
+ */
18488
+ isReady() {
18489
+ const ret = wasm.medianchannel_isReady(this.__wbg_ptr);
18490
+ return ret !== 0;
18491
+ }
18492
+ /**
18493
+ * @param {number} period
18494
+ * @param {number} multiplier
18495
+ */
18496
+ constructor(period, multiplier) {
18497
+ try {
18498
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
18499
+ wasm.medianchannel_new(retptr, period, multiplier);
18500
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18501
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
18502
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
18503
+ if (r2) {
18504
+ throw takeObject(r1);
18505
+ }
18506
+ this.__wbg_ptr = r0;
18507
+ MedianChannelFinalization.register(this, this.__wbg_ptr, this);
18508
+ return this;
18509
+ } finally {
18510
+ wasm.__wbindgen_add_to_stack_pointer(16);
18511
+ }
18512
+ }
18513
+ reset() {
18514
+ wasm.medianchannel_reset(this.__wbg_ptr);
18515
+ }
18516
+ /**
18517
+ * @param {number} value
18518
+ * @returns {any}
18519
+ */
18520
+ update(value) {
18521
+ const ret = wasm.medianchannel_update(this.__wbg_ptr, value);
18522
+ return takeObject(ret);
18523
+ }
18524
+ /**
18525
+ * @returns {number}
18526
+ */
18527
+ warmupPeriod() {
18528
+ const ret = wasm.medianchannel_warmupPeriod(this.__wbg_ptr);
18529
+ return ret >>> 0;
18530
+ }
18531
+ }
18532
+ if (Symbol.dispose) MedianChannel.prototype[Symbol.dispose] = MedianChannel.prototype.free;
18533
+
18394
18534
  export class MedianMA {
18395
18535
  __destroy_into_raw() {
18396
18536
  const ptr = this.__wbg_ptr;
@@ -21846,6 +21986,187 @@ export class ProfitFactor {
21846
21986
  }
21847
21987
  if (Symbol.dispose) ProfitFactor.prototype[Symbol.dispose] = ProfitFactor.prototype.free;
21848
21988
 
21989
+ export class ProjectionBands {
21990
+ __destroy_into_raw() {
21991
+ const ptr = this.__wbg_ptr;
21992
+ this.__wbg_ptr = 0;
21993
+ ProjectionBandsFinalization.unregister(this);
21994
+ return ptr;
21995
+ }
21996
+ free() {
21997
+ const ptr = this.__destroy_into_raw();
21998
+ wasm.__wbg_projectionbands_free(ptr, 0);
21999
+ }
22000
+ /**
22001
+ * @param {Float64Array} high
22002
+ * @param {Float64Array} low
22003
+ * @returns {Float64Array}
22004
+ */
22005
+ batch(high, low) {
22006
+ try {
22007
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22008
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
22009
+ const len0 = WASM_VECTOR_LEN;
22010
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
22011
+ const len1 = WASM_VECTOR_LEN;
22012
+ wasm.projectionbands_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
22013
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22014
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22015
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22016
+ if (r2) {
22017
+ throw takeObject(r1);
22018
+ }
22019
+ return takeObject(r0);
22020
+ } finally {
22021
+ wasm.__wbindgen_add_to_stack_pointer(16);
22022
+ }
22023
+ }
22024
+ /**
22025
+ * @returns {boolean}
22026
+ */
22027
+ isReady() {
22028
+ const ret = wasm.projectionbands_isReady(this.__wbg_ptr);
22029
+ return ret !== 0;
22030
+ }
22031
+ /**
22032
+ * @param {number} period
22033
+ */
22034
+ constructor(period) {
22035
+ try {
22036
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22037
+ wasm.projectionbands_new(retptr, period);
22038
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22039
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22040
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22041
+ if (r2) {
22042
+ throw takeObject(r1);
22043
+ }
22044
+ this.__wbg_ptr = r0;
22045
+ ProjectionBandsFinalization.register(this, this.__wbg_ptr, this);
22046
+ return this;
22047
+ } finally {
22048
+ wasm.__wbindgen_add_to_stack_pointer(16);
22049
+ }
22050
+ }
22051
+ reset() {
22052
+ wasm.projectionbands_reset(this.__wbg_ptr);
22053
+ }
22054
+ /**
22055
+ * @param {number} high
22056
+ * @param {number} low
22057
+ * @returns {any}
22058
+ */
22059
+ update(high, low) {
22060
+ try {
22061
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22062
+ wasm.projectionbands_update(retptr, this.__wbg_ptr, high, low);
22063
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22064
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22065
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22066
+ if (r2) {
22067
+ throw takeObject(r1);
22068
+ }
22069
+ return takeObject(r0);
22070
+ } finally {
22071
+ wasm.__wbindgen_add_to_stack_pointer(16);
22072
+ }
22073
+ }
22074
+ /**
22075
+ * @returns {number}
22076
+ */
22077
+ warmupPeriod() {
22078
+ const ret = wasm.projectionbands_warmupPeriod(this.__wbg_ptr);
22079
+ return ret >>> 0;
22080
+ }
22081
+ }
22082
+ if (Symbol.dispose) ProjectionBands.prototype[Symbol.dispose] = ProjectionBands.prototype.free;
22083
+
22084
+ export class ProjectionOscillator {
22085
+ __destroy_into_raw() {
22086
+ const ptr = this.__wbg_ptr;
22087
+ this.__wbg_ptr = 0;
22088
+ ProjectionOscillatorFinalization.unregister(this);
22089
+ return ptr;
22090
+ }
22091
+ free() {
22092
+ const ptr = this.__destroy_into_raw();
22093
+ wasm.__wbg_projectionoscillator_free(ptr, 0);
22094
+ }
22095
+ /**
22096
+ * @param {Float64Array} high
22097
+ * @param {Float64Array} low
22098
+ * @param {Float64Array} close
22099
+ * @returns {Float64Array}
22100
+ */
22101
+ batch(high, low, close) {
22102
+ try {
22103
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22104
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
22105
+ const len0 = WASM_VECTOR_LEN;
22106
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
22107
+ const len1 = WASM_VECTOR_LEN;
22108
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
22109
+ const len2 = WASM_VECTOR_LEN;
22110
+ wasm.projectionoscillator_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
22111
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22112
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22113
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22114
+ if (r2) {
22115
+ throw takeObject(r1);
22116
+ }
22117
+ return takeObject(r0);
22118
+ } finally {
22119
+ wasm.__wbindgen_add_to_stack_pointer(16);
22120
+ }
22121
+ }
22122
+ /**
22123
+ * @param {number} period
22124
+ */
22125
+ constructor(period) {
22126
+ try {
22127
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22128
+ wasm.projectionoscillator_new(retptr, period);
22129
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22130
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22131
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22132
+ if (r2) {
22133
+ throw takeObject(r1);
22134
+ }
22135
+ this.__wbg_ptr = r0;
22136
+ ProjectionOscillatorFinalization.register(this, this.__wbg_ptr, this);
22137
+ return this;
22138
+ } finally {
22139
+ wasm.__wbindgen_add_to_stack_pointer(16);
22140
+ }
22141
+ }
22142
+ reset() {
22143
+ wasm.projectionoscillator_reset(this.__wbg_ptr);
22144
+ }
22145
+ /**
22146
+ * @param {number} high
22147
+ * @param {number} low
22148
+ * @param {number} close
22149
+ * @returns {number | undefined}
22150
+ */
22151
+ update(high, low, close) {
22152
+ try {
22153
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
22154
+ wasm.projectionoscillator_update(retptr, this.__wbg_ptr, high, low, close);
22155
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22156
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
22157
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
22158
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
22159
+ if (r5) {
22160
+ throw takeObject(r4);
22161
+ }
22162
+ return r0 === 0 ? undefined : r2;
22163
+ } finally {
22164
+ wasm.__wbindgen_add_to_stack_pointer(32);
22165
+ }
22166
+ }
22167
+ }
22168
+ if (Symbol.dispose) ProjectionOscillator.prototype[Symbol.dispose] = ProjectionOscillator.prototype.free;
22169
+
21849
22170
  export class QQE {
21850
22171
  __destroy_into_raw() {
21851
22172
  const ptr = this.__wbg_ptr;
@@ -22017,6 +22338,75 @@ export class Qstick {
22017
22338
  }
22018
22339
  if (Symbol.dispose) Qstick.prototype[Symbol.dispose] = Qstick.prototype.free;
22019
22340
 
22341
+ export class QuartileBands {
22342
+ __destroy_into_raw() {
22343
+ const ptr = this.__wbg_ptr;
22344
+ this.__wbg_ptr = 0;
22345
+ QuartileBandsFinalization.unregister(this);
22346
+ return ptr;
22347
+ }
22348
+ free() {
22349
+ const ptr = this.__destroy_into_raw();
22350
+ wasm.__wbg_quartilebands_free(ptr, 0);
22351
+ }
22352
+ /**
22353
+ * @param {Float64Array} prices
22354
+ * @returns {Float64Array}
22355
+ */
22356
+ batch(prices) {
22357
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
22358
+ const len0 = WASM_VECTOR_LEN;
22359
+ const ret = wasm.quartilebands_batch(this.__wbg_ptr, ptr0, len0);
22360
+ return takeObject(ret);
22361
+ }
22362
+ /**
22363
+ * @returns {boolean}
22364
+ */
22365
+ isReady() {
22366
+ const ret = wasm.quartilebands_isReady(this.__wbg_ptr);
22367
+ return ret !== 0;
22368
+ }
22369
+ /**
22370
+ * @param {number} period
22371
+ */
22372
+ constructor(period) {
22373
+ try {
22374
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22375
+ wasm.quartilebands_new(retptr, period);
22376
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22377
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22378
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22379
+ if (r2) {
22380
+ throw takeObject(r1);
22381
+ }
22382
+ this.__wbg_ptr = r0;
22383
+ QuartileBandsFinalization.register(this, this.__wbg_ptr, this);
22384
+ return this;
22385
+ } finally {
22386
+ wasm.__wbindgen_add_to_stack_pointer(16);
22387
+ }
22388
+ }
22389
+ reset() {
22390
+ wasm.quartilebands_reset(this.__wbg_ptr);
22391
+ }
22392
+ /**
22393
+ * @param {number} value
22394
+ * @returns {any}
22395
+ */
22396
+ update(value) {
22397
+ const ret = wasm.quartilebands_update(this.__wbg_ptr, value);
22398
+ return takeObject(ret);
22399
+ }
22400
+ /**
22401
+ * @returns {number}
22402
+ */
22403
+ warmupPeriod() {
22404
+ const ret = wasm.quartilebands_warmupPeriod(this.__wbg_ptr);
22405
+ return ret >>> 0;
22406
+ }
22407
+ }
22408
+ if (Symbol.dispose) QuartileBands.prototype[Symbol.dispose] = QuartileBands.prototype.free;
22409
+
22020
22410
  export class QuotedSpread {
22021
22411
  __destroy_into_raw() {
22022
22412
  const ptr = this.__wbg_ptr;
@@ -35550,6 +35940,9 @@ const BodySizePctFinalization = (typeof FinalizationRegistry === 'undefined')
35550
35940
  const BollingerBandwidthFinalization = (typeof FinalizationRegistry === 'undefined')
35551
35941
  ? { register: () => {}, unregister: () => {} }
35552
35942
  : new FinalizationRegistry(ptr => wasm.__wbg_bollingerbandwidth_free(ptr, 1));
35943
+ const BomarBandsFinalization = (typeof FinalizationRegistry === 'undefined')
35944
+ ? { register: () => {}, unregister: () => {} }
35945
+ : new FinalizationRegistry(ptr => wasm.__wbg_bomarbands_free(ptr, 1));
35553
35946
  const BreadthThrustFinalization = (typeof FinalizationRegistry === 'undefined')
35554
35947
  ? { register: () => {}, unregister: () => {} }
35555
35948
  : new FinalizationRegistry(ptr => wasm.__wbg_breadththrust_free(ptr, 1));
@@ -36081,6 +36474,9 @@ const McGinleyDynamicFinalization = (typeof FinalizationRegistry === 'undefined'
36081
36474
  const MedianAbsoluteDeviationFinalization = (typeof FinalizationRegistry === 'undefined')
36082
36475
  ? { register: () => {}, unregister: () => {} }
36083
36476
  : new FinalizationRegistry(ptr => wasm.__wbg_medianabsolutedeviation_free(ptr, 1));
36477
+ const MedianChannelFinalization = (typeof FinalizationRegistry === 'undefined')
36478
+ ? { register: () => {}, unregister: () => {} }
36479
+ : new FinalizationRegistry(ptr => wasm.__wbg_medianchannel_free(ptr, 1));
36084
36480
  const MedianMAFinalization = (typeof FinalizationRegistry === 'undefined')
36085
36481
  ? { register: () => {}, unregister: () => {} }
36086
36482
  : new FinalizationRegistry(ptr => wasm.__wbg_medianma_free(ptr, 1));
@@ -36222,6 +36618,12 @@ const PpoHistogramFinalization = (typeof FinalizationRegistry === 'undefined')
36222
36618
  const ProfitFactorFinalization = (typeof FinalizationRegistry === 'undefined')
36223
36619
  ? { register: () => {}, unregister: () => {} }
36224
36620
  : new FinalizationRegistry(ptr => wasm.__wbg_profitfactor_free(ptr, 1));
36621
+ const ProjectionBandsFinalization = (typeof FinalizationRegistry === 'undefined')
36622
+ ? { register: () => {}, unregister: () => {} }
36623
+ : new FinalizationRegistry(ptr => wasm.__wbg_projectionbands_free(ptr, 1));
36624
+ const ProjectionOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
36625
+ ? { register: () => {}, unregister: () => {} }
36626
+ : new FinalizationRegistry(ptr => wasm.__wbg_projectionoscillator_free(ptr, 1));
36225
36627
  const PSARFinalization = (typeof FinalizationRegistry === 'undefined')
36226
36628
  ? { register: () => {}, unregister: () => {} }
36227
36629
  : new FinalizationRegistry(ptr => wasm.__wbg_psar_free(ptr, 1));
@@ -36234,6 +36636,9 @@ const QQEFinalization = (typeof FinalizationRegistry === 'undefined')
36234
36636
  const QstickFinalization = (typeof FinalizationRegistry === 'undefined')
36235
36637
  ? { register: () => {}, unregister: () => {} }
36236
36638
  : new FinalizationRegistry(ptr => wasm.__wbg_qstick_free(ptr, 1));
36639
+ const QuartileBandsFinalization = (typeof FinalizationRegistry === 'undefined')
36640
+ ? { register: () => {}, unregister: () => {} }
36641
+ : new FinalizationRegistry(ptr => wasm.__wbg_quartilebands_free(ptr, 1));
36237
36642
  const QuotedSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
36238
36643
  ? { register: () => {}, unregister: () => {} }
36239
36644
  : new FinalizationRegistry(ptr => wasm.__wbg_quotedspread_free(ptr, 1));
Binary file