@rekurt/openkline - v0.2.0
    Preparing search index...

    Type Alias IndicatorConfig

    IndicatorConfig:
        | { period: number; type: "sma" }
        | { period: number; type: "ema" }
        | { period: number; stdDev: number; type: "bb" }
        | { period: number; type: "rsi" }
        | { fast: number; signal: number; slow: number; type: "macd" }
        | { dPeriod: number; kPeriod: number; type: "stoch" }
        | { period: number; type: "atr" }
        | { anchor: VWAPAnchor; type: "vwap" }
        | { period: number; type: "williamsr" }
        | { type: "obv" }
        | { period: number; type: "adx" }
        | { period: number; type: "cci" }
        | { period?: number; type: "pp" }
        | {
            displacement?: number;
            kijunPeriod?: number;
            senkouBPeriod?: number;
            tenkanPeriod?: number;
            type: "ichimoku";
        }
        | { period: number; type: "mfi" }
        | { period: number; type: "wma" }
        | { period: number; type: "hma" }
        | { period: number; type: "donchian" }
        | { atrPeriod?: number; mult?: number; period?: number; type: "keltner" }
        | { mult?: number; period?: number; type: "supertrend" }
        | { max?: number; step?: number; type: "psar" }
        | {
            dSmooth?: number;
            kSmooth?: number;
            rsiPeriod?: number;
            stochPeriod?: number;
            type: "stochrsi";
        }
        | { period: number; type: "roc" }
        | { deviation?: number; type: "zigzag" }

    Discriminated union of all built-in indicator configurations. Users of the React/Vue wrappers construct these plain objects instead of calling new SMA(20) directly — the wrapper then runs them through createIndicator during reconciliation.

    Adding a new indicator:

    1. Add its type to the union below
    2. Add a case in createIndicator
    3. Add a case in indicatorId

    The switch statements in both functions are marked never-exhaustive, so forgetting one will fail typecheck.