@rfkit/spectrum-analyzer
Version:
A high-performance spectrum analyzer library for RF signal processing, supporting real-time spectrum analysis, waterfall display, and multi-segment frequency scanning
25 lines (24 loc) • 1.05 kB
TypeScript
import type { SeriesChangeCallback, SeriesConfig, SeriesSubscriber, SubscriptionOptions } from './types';
export default class SeriesManager {
private seriesMap;
private changeCallbacks;
private subscribers;
constructor(initialSeries?: SeriesConfig[]);
private initializeSeries;
addSeries(config: SeriesConfig): void;
getSeries(name: string): SeriesConfig | undefined;
getAllSeries(): SeriesConfig[];
getAllConfigs(): Record<string, SeriesConfig>;
setSeriesProperty<K extends keyof SeriesConfig>(name: string, property: K, value: SeriesConfig[K]): boolean;
removeSeries(name: string): boolean;
hasSeries(name: string): boolean;
onChange(callback: SeriesChangeCallback): void;
offChange(callback: SeriesChangeCallback): void;
private notifyChange;
clear(): void;
size(): number;
subscribe(subscriber: SeriesSubscriber, options?: SubscriptionOptions): () => void;
unsubscribe(subscriber: SeriesSubscriber): void;
private emitEvent;
private shouldNotifySubscriber;
}