@rfkit/spectrum-analyzer 0.5.0 → 0.6.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 +6 -30
- package/core/LevelStreamAnalyzer/constants.d.ts +0 -1
- package/core/LevelStreamAnalyzer/index.d.ts +0 -38
- package/core/LevelStreamAnalyzer/types.d.ts +0 -1
- package/core/SeriesManager/constants.d.ts +2 -3
- package/core/SeriesManager/index.d.ts +0 -88
- package/core/SeriesManager/types.d.ts +0 -1
- package/core/SpectrumAnalyzer/constants.d.ts +6 -7
- package/core/SpectrumAnalyzer/errors.d.ts +2 -6
- package/core/SpectrumAnalyzer/index.d.ts +0 -183
- package/core/SpectrumAnalyzer/tools.d.ts +0 -36
- package/core/SpectrumAnalyzer/types.d.ts +0 -5
- package/core/WaterfallAnalyzer/index.d.ts +0 -4
- package/core/WaterfallAnalyzer/types.d.ts +0 -7
- package/index.d.ts +2 -3
- package/index.js +1 -1
- package/package.json +1 -1
- package/wasm/core/LevelStreamAnalyzer/constants.d.ts +0 -1
- package/wasm/core/LevelStreamAnalyzer/index.d.ts +0 -38
- package/wasm/core/LevelStreamAnalyzer/types.d.ts +0 -1
- package/wasm/core/SeriesManager/constants.d.ts +2 -3
- package/wasm/core/SeriesManager/index.d.ts +0 -88
- package/wasm/core/SeriesManager/types.d.ts +0 -1
- package/wasm/core/SpectrumAnalyzer/constants.d.ts +6 -7
- package/wasm/core/SpectrumAnalyzer/errors.d.ts +2 -6
- package/wasm/core/SpectrumAnalyzer/index.d.ts +0 -183
- package/wasm/core/SpectrumAnalyzer/tools.d.ts +0 -36
- package/wasm/core/SpectrumAnalyzer/types.d.ts +0 -5
- package/wasm/core/WaterfallAnalyzer/index.d.ts +0 -4
- package/wasm/core/WaterfallAnalyzer/types.d.ts +0 -7
- package/wasm/index.d.ts +2 -3
- package/wasm/index.js +1 -1
- package/wasm/src-rust/pkg/rfkit_spectrum_analyzer_wasm.js +2 -2
- package/wasm/src-rust/pkg/rfkit_spectrum_analyzer_wasm_bg.wasm +0 -0
- package/core/LevelStreamAnalyzer/constants.d.ts.map +0 -1
- package/core/LevelStreamAnalyzer/index.d.ts.map +0 -1
- package/core/LevelStreamAnalyzer/types.d.ts.map +0 -1
- package/core/SeriesManager/constants.d.ts.map +0 -1
- package/core/SeriesManager/index.d.ts.map +0 -1
- package/core/SeriesManager/types.d.ts.map +0 -1
- package/core/SpectrumAnalyzer/constants.d.ts.map +0 -1
- package/core/SpectrumAnalyzer/errors.d.ts.map +0 -1
- package/core/SpectrumAnalyzer/index.d.ts.map +0 -1
- package/core/SpectrumAnalyzer/tools.d.ts.map +0 -1
- package/core/SpectrumAnalyzer/types.d.ts.map +0 -1
- package/core/WaterfallAnalyzer/index.d.ts.map +0 -1
- package/core/WaterfallAnalyzer/types.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/wasm/core/LevelStreamAnalyzer/constants.d.ts.map +0 -1
- package/wasm/core/LevelStreamAnalyzer/index.d.ts.map +0 -1
- package/wasm/core/LevelStreamAnalyzer/types.d.ts.map +0 -1
- package/wasm/core/SeriesManager/constants.d.ts.map +0 -1
- package/wasm/core/SeriesManager/index.d.ts.map +0 -1
- package/wasm/core/SeriesManager/types.d.ts.map +0 -1
- package/wasm/core/SpectrumAnalyzer/constants.d.ts.map +0 -1
- package/wasm/core/SpectrumAnalyzer/errors.d.ts.map +0 -1
- package/wasm/core/SpectrumAnalyzer/index.d.ts.map +0 -1
- package/wasm/core/SpectrumAnalyzer/tools.d.ts.map +0 -1
- package/wasm/core/SpectrumAnalyzer/types.d.ts.map +0 -1
- package/wasm/core/WaterfallAnalyzer/index.d.ts.map +0 -1
- package/wasm/core/WaterfallAnalyzer/types.d.ts.map +0 -1
- package/wasm/index.d.ts.map +0 -1
|
@@ -40,228 +40,45 @@ export default class SpectrumAnalyzer {
|
|
|
40
40
|
private isProcessing;
|
|
41
41
|
private readonly onSpectrumUpdate?;
|
|
42
42
|
constructor(config: Partial<SpectrumConfig>);
|
|
43
|
-
/**
|
|
44
|
-
* 处理输入数据,包括验证、拼接、统计、采样等操作。
|
|
45
|
-
* @param {ProcessInput} input - 输入数据,包含数据、时间戳、分段偏移和偏移量。
|
|
46
|
-
*/
|
|
47
43
|
process({ data, timestamp, segmentOffset, offset, fluorescenceData, fluorescenceMaxCount }: ProcessInput): void;
|
|
48
|
-
/**
|
|
49
|
-
* 初始化扫描分段信息,并更新最大点数。
|
|
50
|
-
* @param {ScanSegment[]} segments - 扫描分段信息数组。
|
|
51
|
-
*/
|
|
52
44
|
initializeSegments(segments: ScanSegment[]): void;
|
|
53
|
-
/**
|
|
54
|
-
* 设置天线因子数据,并根据开关状态重新输出数据。
|
|
55
|
-
* @param {Float32Array} data - 天线因子数据,默认为根据最大点数创建的数组。
|
|
56
|
-
*/
|
|
57
45
|
setAntennaFactor(d: Float32Array | number[]): void;
|
|
58
|
-
/**
|
|
59
|
-
* 设置天线因子开关,并根据开关状态重新输出数据。
|
|
60
|
-
* @param {boolean} newAntennaFactorSwitch - 新的天线因子开关状态。
|
|
61
|
-
*/
|
|
62
46
|
setAntennaFactorSwitch(newAntennaFactorSwitch: boolean): void;
|
|
63
|
-
/**
|
|
64
|
-
* 动态更新处理选项
|
|
65
|
-
* @param {Partial<ProcessingOptions>} next - 要更新的处理选项
|
|
66
|
-
*
|
|
67
|
-
* 语义:
|
|
68
|
-
* - enableMetrics 从 false→true 后从后续帧开始累计;true→false 立即停止累计
|
|
69
|
-
* - enableFluorescence 同理
|
|
70
|
-
* - enablePeakStats 同理,控制峰值检测开关
|
|
71
|
-
*
|
|
72
|
-
* 注意:此方法会进行浅比较,只有值真正变化时才会更新配置和通知数据更新。
|
|
73
|
-
*/
|
|
74
47
|
updateProcessing(next: Partial<ProcessingOptions>): void;
|
|
75
|
-
/**
|
|
76
|
-
* 清空统计指标数据 (Max/Min/Avg)
|
|
77
|
-
* 将相关数组重置为初始值,并通知更新。
|
|
78
|
-
*/
|
|
79
48
|
clearMetricsData(): void;
|
|
80
|
-
/**
|
|
81
|
-
* 初始化 metrics 缓冲区(max/min/avg 及其输出缓存)。
|
|
82
|
-
* 仅负责分配内存,不负责填充初始值。
|
|
83
|
-
*/
|
|
84
49
|
private allocateMetricsBuffers;
|
|
85
|
-
/**
|
|
86
|
-
* 清空 metrics 缓冲区(max/min/avg 及其输出缓存),并重置 allValid 标记。
|
|
87
|
-
* 不会调整数组长度。
|
|
88
|
-
*/
|
|
89
50
|
private clearMetricsBuffers;
|
|
90
|
-
/**
|
|
91
|
-
* 设置瀑布图数据,用于从外部导入已缓存的瀑布图数据。
|
|
92
|
-
* @param {TimestampedFloat32Array[]} data - 瀑布图数据数组。
|
|
93
|
-
*/
|
|
94
51
|
setWaterfallData(newWaterfallData: TimestampedFloat32Array[]): void;
|
|
95
|
-
/**
|
|
96
|
-
* 设置荧光累积数据,用于传入预先计算好的荧光累积数据。
|
|
97
|
-
* @param {Uint32Array} fluorescenceData - 荧光累积数据
|
|
98
|
-
* @param {number} fluorescenceMaxCount - 荧光数据中的最大计数值
|
|
99
|
-
*/
|
|
100
52
|
setFluorescenceData(fluorescenceData: Uint32Array, fluorescenceMaxCount: number): void;
|
|
101
|
-
/**
|
|
102
|
-
* 设置实时值数据,用于从外部导入已缓存的实时值数据。
|
|
103
|
-
* @param {TimestampedFloat32Array} data - 实时值数据。
|
|
104
|
-
*/
|
|
105
53
|
setRealData(data: TimestampedFloat32Array): void;
|
|
106
|
-
/**
|
|
107
|
-
* 设置最大值数据,用于从外部导入已缓存的最大值数据。
|
|
108
|
-
* @param {Float32Array} data - 最大值数据。
|
|
109
|
-
*/
|
|
110
54
|
setMaxData(data: Float32Array): void;
|
|
111
|
-
/**
|
|
112
|
-
* 设置最小值数据,用于从外部导入已缓存的最小值数据。
|
|
113
|
-
* @param {Float32Array} data - 最小值数据。
|
|
114
|
-
*/
|
|
115
55
|
setMinData(data: Float32Array): void;
|
|
116
|
-
/**
|
|
117
|
-
* 设置平均值数据,用于从外部导入已缓存的平均值数据。
|
|
118
|
-
* @param {Float32Array} data - 平均值数据。
|
|
119
|
-
*/
|
|
120
56
|
setAvgData(data: Float32Array): void;
|
|
121
|
-
/**
|
|
122
|
-
* 设置占用度数据
|
|
123
|
-
* @param {Float32Array | number[]} data - 占用度数据
|
|
124
|
-
*/
|
|
125
57
|
setOccupancyData(data?: Float32Array | number[]): void;
|
|
126
|
-
/**
|
|
127
|
-
* 重置频谱分析器的状态,包括数据和进度。
|
|
128
|
-
*/
|
|
129
|
-
/**
|
|
130
|
-
* 设置额外数据
|
|
131
|
-
* @param data 数据对象
|
|
132
|
-
* @param mode 操作模式:ExtraDataMode.REPLACE(替换全部), ExtraDataMode.MERGE(合并), ExtraDataMode.CLEAR(清空)
|
|
133
|
-
* @param options 可选,使用 segmentOffset/offset 对每条额外数据独立进行局部写入
|
|
134
|
-
*/
|
|
135
58
|
setExtraData(data: Record<string, Float32Array | number[]> | null, mode?: ExtraDataMode, options?: ExtraDataOptions): void;
|
|
136
59
|
reset(preserveProcessedFlag?: boolean): void;
|
|
137
|
-
/**
|
|
138
|
-
* 获取频谱分析器的性能指标,包括处理时间、数据点数、瀑布图帧数、初始化状态和内存使用情况。
|
|
139
|
-
* @returns {Readonly<Record<string, number | boolean>>} - 包含性能指标的对象。
|
|
140
|
-
*/
|
|
141
60
|
getPerformanceMetrics(): Readonly<Record<string, number | boolean>>;
|
|
142
|
-
/**
|
|
143
|
-
* 获取当前实时数据的峰值统计信息
|
|
144
|
-
* @returns {PeakStats | undefined} - 峰值统计信息,如果未启用峰值检测则返回 undefined
|
|
145
|
-
*/
|
|
146
61
|
getPeakStats(): import('./types').PeakStats | undefined;
|
|
147
|
-
/**
|
|
148
|
-
* 更新采样范围,并重新输出数据。
|
|
149
|
-
* @param {number} start - 采样范围的起始位置。
|
|
150
|
-
* @param {number} end - 采样范围的结束位置。
|
|
151
|
-
* @returns {Uint32Array} - 输出值对应的原始数据索引数组。
|
|
152
|
-
*/
|
|
153
62
|
updateSamplingRange(start: number, end: number): Uint32Array;
|
|
154
|
-
/**
|
|
155
|
-
* 设置模板数据
|
|
156
|
-
* @param {Float32Array | number[]} data - 模板数据
|
|
157
|
-
* @param {number} templateTolerance - 可选,模板超出计算的容差值
|
|
158
|
-
*/
|
|
159
63
|
setTemplateData(data?: Float32Array | number[], templateTolerance?: number): void;
|
|
160
|
-
/**
|
|
161
|
-
* 设置背景噪声数据
|
|
162
|
-
* @param {Float32Array | number[]} data - 背景噪声数据
|
|
163
|
-
*/
|
|
164
64
|
setBackgroundNoiseData(data?: Float32Array | number[]): void;
|
|
165
|
-
/**
|
|
166
|
-
* 设置阈值数据
|
|
167
|
-
* @param {Float32Array | number[]} data - 阈值数据
|
|
168
|
-
* @param {ThresholdDataOptions} options - 可选,使用 segmentOffset/offset 进行局部门限写入
|
|
169
|
-
*/
|
|
170
65
|
setThresholdData(data?: Float32Array | number[], options?: ThresholdDataOptions): void;
|
|
171
|
-
/**
|
|
172
|
-
* 统一的超出数据段计算和缓存更新方法
|
|
173
|
-
* @param forceFullCalculation - 是否强制进行全量计算
|
|
174
|
-
* @param incrementalRange - 增量计算的范围
|
|
175
|
-
* @returns 计算得到的超出数据段
|
|
176
|
-
*/
|
|
177
66
|
private updateTemplateOverData;
|
|
178
|
-
/**
|
|
179
|
-
* 将分段偏移转换为全局数据索引。
|
|
180
|
-
*/
|
|
181
67
|
private resolveGlobalIndex;
|
|
182
68
|
private clearThresholdDataState;
|
|
183
|
-
/**
|
|
184
|
-
* 对数据进行重采样,生成频谱输出数据。
|
|
185
|
-
* @returns {Partial<SpectrumOutputData>} - 包含重采样后的实时数据、最大值、最小值和平均值的对象。
|
|
186
|
-
*/
|
|
187
69
|
protected resampleDataSeries(): Partial<SpectrumOutputData>;
|
|
188
|
-
/**
|
|
189
|
-
* 处理 extraData 的重采样,生成 extraOutputData
|
|
190
|
-
* 利用现有的 srcIndexCache 进行高效重采样
|
|
191
|
-
*/
|
|
192
|
-
/**
|
|
193
|
-
* 对瀑布图输出数据进行重采样。
|
|
194
|
-
*/
|
|
195
70
|
protected resampleWaterfallOutputData(): void;
|
|
196
|
-
/**
|
|
197
|
-
* 更新瀑布图数据,包括添加新数据和移除旧数据。
|
|
198
|
-
* @param {TimestampedFloat32Array} data - 输入的实时数据。
|
|
199
|
-
* @param {TimestampedFloat32Array} outputData - 输出的实时数据。
|
|
200
|
-
*/
|
|
201
71
|
protected updateWaterfallData(data: TimestampedFloat32Array, outputData: TimestampedFloat32Array): void;
|
|
202
|
-
/**
|
|
203
|
-
* 更新最大点数,并重置。
|
|
204
|
-
* @param {number} maxPoints - 新的最大点数。
|
|
205
|
-
*/
|
|
206
72
|
protected updateMaxPoints(maxPoints: number, preserveProcessedFlag?: boolean): void;
|
|
207
|
-
/**
|
|
208
|
-
* 验证输入数据的索引是否在有效范围内。
|
|
209
|
-
* @param {Float32Array} data - 输入数据。
|
|
210
|
-
* @param {number} index - 数据的起始索引。
|
|
211
|
-
*/
|
|
212
73
|
protected validateInput(data: Float32Array, index: number): void;
|
|
213
|
-
/**
|
|
214
|
-
* 统计计算,处理数据点,更新统计值(最大值、最小值、平均值)。
|
|
215
|
-
* @param {Float32Array} data - 输入数据。
|
|
216
|
-
* @param {number} index - 数据的起始索引。
|
|
217
|
-
* @param {boolean} isOver - 数据是否处理完成。
|
|
218
|
-
*/
|
|
219
74
|
private processDataPoints;
|
|
220
|
-
/**
|
|
221
|
-
* 更新荧光谱统计数据
|
|
222
|
-
*/
|
|
223
75
|
private updateFluorescenceStats;
|
|
224
|
-
/**
|
|
225
|
-
* 设置待处理标记并更新快速检查标记
|
|
226
|
-
*/
|
|
227
76
|
private setPendingFlag;
|
|
228
|
-
/**
|
|
229
|
-
* 重采样单个数据数组(统一的重采样逻辑,避免代码重复)
|
|
230
|
-
*/
|
|
231
77
|
private resampleSingleData;
|
|
232
|
-
/**
|
|
233
|
-
* 处理待处理的数据(在 srcIndexCache 生成后)
|
|
234
|
-
* 用于解决数据设置和实时数据处理的时序问题
|
|
235
|
-
*/
|
|
236
78
|
private processPendingData;
|
|
237
|
-
/**
|
|
238
|
-
* 通知频谱数据更新,调用回调函数。
|
|
239
|
-
* @param {SpectrumOutputData} processedData - 处理后的频谱数据。
|
|
240
|
-
*/
|
|
241
79
|
private notifySpectrumUpdate;
|
|
242
|
-
/**
|
|
243
|
-
* 计算当前频谱分析器的内存使用情况。
|
|
244
|
-
* @returns {number} - 内存使用量(字节)。
|
|
245
|
-
*/
|
|
246
80
|
private calculateMemoryUsage;
|
|
247
|
-
/**
|
|
248
|
-
* 获取输出数据,根据配置的输出范围截取数据。
|
|
249
|
-
* @param {TimestampedFloat32Array} [data] - 可选的输入数据,默认为实时数据。
|
|
250
|
-
* @returns {Readonly<TimestampedFloat32Array>} - 输出数据。
|
|
251
|
-
*/
|
|
252
81
|
private getOutputData;
|
|
253
|
-
/**
|
|
254
|
-
* 获取指定范围的荧光谱数据。
|
|
255
|
-
* @param {Map<number, number>[] | undefined} data - 荧光谱数据,如果未提供则使用实例的荧光谱数据。
|
|
256
|
-
* @returns {Map<number, number>[] | undefined} - 输出范围内的荧光谱数据。
|
|
257
|
-
*/
|
|
258
82
|
private getFluorescenceOutputData;
|
|
259
|
-
/**
|
|
260
|
-
* 获取数据快照:
|
|
261
|
-
* - 输出数据(重采样后)保持原有语义
|
|
262
|
-
* - rawData 提供原始全长数据引用(零拷贝)
|
|
263
|
-
* - 传入 left 时,返回 cursorIndex 便于光标统一索引
|
|
264
|
-
*/
|
|
265
83
|
getAllRawData(left?: number): Readonly<SpectrumOutputData>;
|
|
266
84
|
}
|
|
267
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SpectrumAnalyzer 工具函数
|
|
3
|
-
*
|
|
4
|
-
* [SYNC-WASM] 本文件包含需要与 Rust WASM 版本同步维护的核心算法
|
|
5
|
-
* @see src-rust/src/spectrum_analyzer/resampler.rs
|
|
6
|
-
* @see src-rust/src/spectrum_analyzer/template.rs
|
|
7
|
-
*/
|
|
8
1
|
import type { CursorIndexData, TemplateOverData, TimestampedFloat32Array } from './types';
|
|
9
2
|
export declare const arrayKeepAttribute: (source: Float32Array & {
|
|
10
3
|
max?: number;
|
|
@@ -17,17 +10,8 @@ export declare const arrayKeepAttribute: (source: Float32Array & {
|
|
|
17
10
|
timestamp?: number;
|
|
18
11
|
progress?: number;
|
|
19
12
|
}) => void;
|
|
20
|
-
/**
|
|
21
|
-
* 将数值约束到指定范围
|
|
22
|
-
*/
|
|
23
13
|
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
24
|
-
/**
|
|
25
|
-
* 将百分比 left 映射为索引
|
|
26
|
-
*/
|
|
27
14
|
export declare const leftToIndex: (left: number, length: number) => number;
|
|
28
|
-
/**
|
|
29
|
-
* 计算光标索引信息
|
|
30
|
-
*/
|
|
31
15
|
export declare const resolveCursorIndexByLeft: (left: number | undefined, outputLength: number, maxPoints: number) => CursorIndexData | undefined;
|
|
32
16
|
export declare const resample: ({ realData, antennaFactorData, antennaFactorSwitch, outputPoints }: {
|
|
33
17
|
realData: TimestampedFloat32Array;
|
|
@@ -38,14 +22,6 @@ export declare const resample: ({ realData, antennaFactorData, antennaFactorSwit
|
|
|
38
22
|
realOutputData: TimestampedFloat32Array;
|
|
39
23
|
srcIndexCache: Uint32Array;
|
|
40
24
|
};
|
|
41
|
-
/**
|
|
42
|
-
* [SYNC-WASM] 多数据系列重采样
|
|
43
|
-
* @sync src-rust/src/spectrum_analyzer/resampler.rs:resample_multiple
|
|
44
|
-
*
|
|
45
|
-
* 从 maxPoints 重采样到 outputPoints,对每个区间取最大值
|
|
46
|
-
* 支持同时处理 real/max/min/avg/template/occupancy/backgroundNoise/threshold/fluorescence 数据
|
|
47
|
-
* 支持在重采样过程中同时检测峰值(零性能损耗)
|
|
48
|
-
*/
|
|
49
25
|
export declare const resampleMultiple: ({ antennaFactorData, antennaFactorSwitch, outputPoints, realData, maxData, minData, avgData, templateData, backgroundNoiseData, thresholdData, fluorescenceData, occupancyData, enablePeakStats, maxPeaks, outputRangeStart }: {
|
|
50
26
|
antennaFactorData: Float32Array;
|
|
51
27
|
antennaFactorSwitch?: boolean;
|
|
@@ -74,18 +50,7 @@ export declare const resampleMultiple: ({ antennaFactorData, antennaFactorSwitch
|
|
|
74
50
|
srcIndexCache: Uint32Array;
|
|
75
51
|
fluorescenceOutputData: Map<number, number>[];
|
|
76
52
|
};
|
|
77
|
-
/**
|
|
78
|
-
* [SYNC-WASM] 额外数据重采样
|
|
79
|
-
* @sync src-rust/src/spectrum_analyzer/resampler.rs:resample_extra_data
|
|
80
|
-
*
|
|
81
|
-
* 专门用于处理 extraData 的重采样,支持天线因子应用
|
|
82
|
-
* 高性能优化版本:预分配内存,消除重复代码,集成 getOutputData 处理
|
|
83
|
-
*/
|
|
84
53
|
export declare const resampleExtraData: (extraData: Record<string, Float32Array>, antennaFactorData: Float32Array, antennaFactorSwitch: boolean, srcIndexCache: Uint32Array, getOutputData: (data: Float32Array) => Float32Array) => Record<string, Float32Array>;
|
|
85
|
-
/**
|
|
86
|
-
* [SYNC-WASM] 全量版本:使用预分配优化的完整数据扫描
|
|
87
|
-
* @sync src-rust/src/spectrum_analyzer/template.rs:find_exceeding_datas
|
|
88
|
-
*/
|
|
89
54
|
export declare const findExceedingDatas: ({ realData, maxData, minData, templateData, tolerance }: {
|
|
90
55
|
realData: TimestampedFloat32Array;
|
|
91
56
|
maxData: Float32Array;
|
|
@@ -104,4 +69,3 @@ export declare const findExceedingDatasIncremental: ({ realData, maxData, minDat
|
|
|
104
69
|
previousSegments?: TemplateOverData[];
|
|
105
70
|
}) => TemplateOverData[];
|
|
106
71
|
export declare function isAllValid(arr: Float32Array): boolean;
|
|
107
|
-
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -30,10 +30,6 @@ export interface ProcessingConfig {
|
|
|
30
30
|
readonly enablePeakStats: boolean;
|
|
31
31
|
readonly fluorescenceUpdateInterval: number;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* ProcessingOptions - 用于动态更新处理选项的类型。
|
|
35
|
-
* 仅包含允许在运行时更新的字段。
|
|
36
|
-
*/
|
|
37
33
|
export type ProcessingOptions = Pick<ProcessingConfig, 'enableMetrics' | 'enableFluorescence' | 'enablePeakStats' | 'fluorescenceUpdateInterval'>;
|
|
38
34
|
export interface PeakDetectionConfig {
|
|
39
35
|
maxPeaks?: number;
|
|
@@ -127,4 +123,3 @@ export interface ISpectrumAnalyzer {
|
|
|
127
123
|
readonly antennaFactorSwitch: boolean;
|
|
128
124
|
readonly srcIndexCache: Uint32Array;
|
|
129
125
|
}
|
|
130
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -7,9 +7,6 @@ export default class WaterfallAnalyzer {
|
|
|
7
7
|
private samplingOptions?;
|
|
8
8
|
private snapshot;
|
|
9
9
|
constructor(config?: WaterfallAnalyzerConfig);
|
|
10
|
-
/**
|
|
11
|
-
* 替换完整瀑布矩阵。仅复制外层数组,调用方在分析器持有期间不得修改帧内容。
|
|
12
|
-
*/
|
|
13
10
|
setData(frames: readonly TimestampedFloat32Array[]): Readonly<WaterfallSnapshot>;
|
|
14
11
|
appendFrame(source: TimestampedFloat32Array): Readonly<WaterfallSnapshot>;
|
|
15
12
|
updateSamplingRange(options: WaterfallSamplingOptions): Readonly<WaterfallSnapshot>;
|
|
@@ -19,4 +16,3 @@ export default class WaterfallAnalyzer {
|
|
|
19
16
|
private getSourceSize;
|
|
20
17
|
private publishSnapshot;
|
|
21
18
|
}
|
|
22
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -11,24 +11,17 @@ export interface WaterfallSourceSize {
|
|
|
11
11
|
readonly height: number;
|
|
12
12
|
}
|
|
13
13
|
export interface WaterfallSnapshot {
|
|
14
|
-
/** 分析器持有的可见采样帧,未降采样时可能借用原始帧或其视图;调用方只读。 */
|
|
15
14
|
readonly data: readonly TimestampedFloat32Array[];
|
|
16
|
-
/**
|
|
17
|
-
* 原始帧的零拷贝只读借用。调用方不得修改外层数组或帧内容。
|
|
18
|
-
*/
|
|
19
15
|
readonly rawData: readonly TimestampedFloat32Array[];
|
|
20
16
|
readonly range: {
|
|
21
17
|
readonly x: WaterfallIndexRange;
|
|
22
18
|
readonly y: WaterfallIndexRange;
|
|
23
19
|
};
|
|
24
20
|
readonly sourceSize: WaterfallSourceSize;
|
|
25
|
-
/** 每个 X 输出 bin 的代表中心列,并非该 bin 最大值的真实来源列;调用方只读。 */
|
|
26
21
|
readonly columnIndices: Uint32Array;
|
|
27
|
-
/** 每个 Y 输出行对应的真实源行;调用方只读。 */
|
|
28
22
|
readonly rowIndices: Uint32Array;
|
|
29
23
|
}
|
|
30
24
|
export interface WaterfallAnalyzerConfig {
|
|
31
25
|
maxFrames?: number;
|
|
32
26
|
onWaterfallUpdate?: (snapshot: Readonly<WaterfallSnapshot>) => void;
|
|
33
27
|
}
|
|
34
|
-
//# sourceMappingURL=types.d.ts.map
|
package/wasm/index.d.ts
CHANGED
|
@@ -5,10 +5,9 @@ export type { LevelStreamConfig, LevelStreamOutputData } from './core/LevelStrea
|
|
|
5
5
|
export type { SeriesChangeCallback, SeriesConfig, SeriesEventData, SeriesSubscriber, SubscriptionOptions } from './core/SeriesManager/types';
|
|
6
6
|
export { GraphicType, OrientationType, SeriesEventType } from './core/SeriesManager/types';
|
|
7
7
|
export { ERROR_MESSAGES, SPECTRUM } from './core/SpectrumAnalyzer/constants';
|
|
8
|
-
export { ExtraDataMode } from './core/SpectrumAnalyzer/types';
|
|
9
8
|
export { DataValidationError, IndexOutOfBoundsError, SpectrumError } from './core/SpectrumAnalyzer/errors';
|
|
10
|
-
export type { BandwidthConfig, CursorIndexData, ExtraDataOptions, FrequencySegment, ProcessInput, ProcessingConfig, ProcessingOptions, ScanSegment, SpectrumConfig, SpectrumData, SpectrumOutputData, SpectrumRawData, TemplateOverData, ThresholdDataOptions, TimestampedFloat32Array } from './core/SpectrumAnalyzer/types';
|
|
9
|
+
export type { BandwidthConfig, CursorIndexData, ExtraDataOptions, FrequencySegment, PeakPoint, PeakStats, ProcessInput, ProcessingConfig, ProcessingOptions, ScanSegment, SpectrumConfig, SpectrumData, SpectrumOutputData, SpectrumRawData, TemplateOverData, ThresholdDataOptions, TimestampedFloat32Array } from './core/SpectrumAnalyzer/types';
|
|
10
|
+
export { ExtraDataMode } from './core/SpectrumAnalyzer/types';
|
|
11
11
|
export type { WaterfallAnalyzerConfig, WaterfallIndexRange, WaterfallSamplingOptions, WaterfallSnapshot, WaterfallSourceSize } from './core/WaterfallAnalyzer/types';
|
|
12
12
|
export { LevelStreamAnalyzer, SpectrumAnalyzer, WaterfallAnalyzer };
|
|
13
13
|
export { default as SeriesManager } from './core/SeriesManager';
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/wasm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var types_ExtraDataMode=/*#__PURE__*/function(ExtraDataMode){ExtraDataMode["REPLACE"]="replace";ExtraDataMode["MERGE"]="merge";ExtraDataMode["CLEAR"]="clear";return ExtraDataMode}({});let wasmModule=null;let wasmReady=false;let initPromise=null;function isNodeRuntime(){return"undefined"!=typeof process&&"object"==typeof process.versions&&!!process.versions?.node}async function initWasm(){if(wasmReady)return;if(!initPromise)initPromise=(async()=>{const module=await import("./src-rust/pkg/rfkit_spectrum_analyzer_wasm.js");if("function"==typeof module.default){if(isNodeRuntime()){const wasmUrl=new URL("./src-rust/pkg/rfkit_spectrum_analyzer_wasm_bg.wasm",import.meta.url);if("file:"===wasmUrl.protocol){const{readFile}=await import("node:fs/promises");const bytes=await readFile(wasmUrl);await module.default({module_or_path:bytes})}else await module.default()}else await module.default()}wasmModule=module;wasmReady=true})();await initPromise}function isWasmReady(){return wasmReady}function getWasmModule(){if(!wasmModule)throw new Error('WASM not initialized. Call `await initWasm()` before using WASM classes.\nExample:\n import { initWasm } from "@rfkit/spectrum-analyzer/wasm";\n await initWasm();');return wasmModule}function ensureWasmReady(){if(!wasmReady)throw new Error('WASM not initialized. Call `await initWasm()` before creating WASM instances.\nExample:\n import { initWasm, SpectrumAnalyzer } from "@rfkit/spectrum-analyzer/wasm";\n await initWasm();\n const analyzer = new SpectrumAnalyzer(config);')}class LevelStreamAnalyzer{wasmInstance;onLevelStreamUpdate;constructor(config){ensureWasmReady();const wasm=getWasmModule();this.onLevelStreamUpdate=config.onLevelStreamUpdate;const{onLevelStreamUpdate:_,...wasmConfig}=config;this.wasmInstance=new wasm.WasmLevelStreamAnalyzer(wasmConfig);if(this.onLevelStreamUpdate)this.wasmInstance.set_callback(data=>{this.onLevelStreamUpdate?.(data)})}process(level,timestamp){this.wasmInstance.process(level,timestamp)}reset(){this.wasmInstance.reset()}setConfig(config){if(config.onLevelStreamUpdate)this.onLevelStreamUpdate=config.onLevelStreamUpdate;const{onLevelStreamUpdate:_,...wasmConfig}=config;this.wasmInstance.set_config(wasmConfig);if(config.onLevelStreamUpdate)this.wasmInstance.set_callback(data=>{this.onLevelStreamUpdate?.(data)})}getAll(){return this.wasmInstance.get_all()}}const SPECTRUM={INITIAL_VALUE:Number.NaN,WATERFALL_MAX_FRAMES:100,OUTPUT_POINTS:1001};const PEAK_DETECTION={MAX_PEAKS:2};const RF_UNIT=null;const FLUORESCENCE={UPDATE_INTERVAL:1,LEVEL_MIN:-20,LEVEL_MAX:140,LEVEL_RANGE:161};const DEFAULT_SPECTRUM_CONFIG={maxPoints:SPECTRUM.OUTPUT_POINTS,waterfallMaxFrames:SPECTRUM.WATERFALL_MAX_FRAMES,initialValue:SPECTRUM.INITIAL_VALUE,processing:{enableWaterfall:false,enableMetrics:false,enableFluorescence:false,enablePeakStats:false,fluorescenceUpdateInterval:FLUORESCENCE.UPDATE_INTERVAL},peakDetection:{maxPeaks:PEAK_DETECTION.MAX_PEAKS},outputPoints:SPECTRUM.OUTPUT_POINTS,outputRange:{start:0,end:SPECTRUM.OUTPUT_POINTS},templateTolerance:0};const ERROR_MESSAGES={EMPTY_SEGMENTS:"频段配置不能为空",INVALID_CONFIG:"必须且只能配置 segments 或 bandwidthConfig 其中之一",EMPTY_BANDWIDTH:"bandwidthConfig 不能为空",INVALID_SEGMENT:index=>`无效的段索引: ${index}`,INDEX_OUT_OF_BOUNDS:index=>`索引超出范围: ${index}`,INVALID_ANTENNA_FACTOR_LENGTH:points=>`天线因子数据长度必须等于实时数据长度 (${points})`,INVALID_ANTENNA_FACTOR:"天线因子数据必须是有效的正数",INVALID_SAMPLING_RANGE:"采样范围无效",INVALID_MAX_POINTS:"点数必须大于0",INVALID_LENGTH:expected=>`频率占用度数据长度不匹配,期望长度为 ${expected}`};class SpectrumError extends Error{code;details;constructor(message,code,details){super(message),this.code=code,this.details=details;this.name="SpectrumError"}}class DataValidationError extends SpectrumError{constructor(message,details){super(message,"DATA_VALIDATION_ERROR",details)}}class IndexOutOfBoundsError extends SpectrumError{index;constructor(message,index,details){super(message,"INDEX_OUT_OF_BOUNDS_ERROR",{index,...details||{}}),this.index=index}}class SpectrumAnalyzer{wasmInstance;onSpectrumUpdate;hasSegments=false;segments=[];callbackContext=null;templateDataRaw=new Float32Array(0);backgroundNoiseDataRaw=new Float32Array(0);thresholdDataRaw=new Float32Array(0);antennaFactorData;srcIndexCache;extraData={};antennaFactorSwitch=false;config;constructor(inputConfig){ensureWasmReady();const wasm=getWasmModule();this.onSpectrumUpdate=inputConfig.onSpectrumUpdate;const{onSpectrumUpdate:_,...wasmConfig}=inputConfig;this.wasmInstance=new wasm.WasmSpectrumAnalyzer(wasmConfig);this.wasmInstance.set_callback(data=>{const outputData=this.convertOutput(data);if(!outputData)return;if(outputData.srcIndexCache)this.srcIndexCache=outputData.srcIndexCache;this.onSpectrumUpdate?.(outputData)});this.antennaFactorData=this.wasmInstance.get_antenna_factor_view();this.srcIndexCache=this.wasmInstance.get_src_index_cache_view();this.config=this.wasmInstance.get_config()}resampleSingleDataLikeJs(sourceData){const{outputRange:{start,end}}=this.config;const slicedSourceData=sourceData.subarray(start,end);const outputLength=this.srcIndexCache.length;const outputData=new Float32Array(outputLength);for(let i=0;i<outputLength;i++)outputData[i]=slicedSourceData[this.srcIndexCache[i]];return outputData}normalizeSegments(segments){let totalPoints=0;return segments.map(segment=>{const{startFrequency,stopFrequency,stepFrequency}=segment;const frequencyRange=stopFrequency-startFrequency;const stepCount=1e3*frequencyRange/stepFrequency;const pointCount=Math.round(stepCount)+1;const startIndex=totalPoints;totalPoints+=pointCount;return{startFrequency,stopFrequency,stepFrequency,pointCount,startIndex}})}resolveGlobalIndex(segmentOffset=0,offset=0){if(this.segments.length>0){const segment=this.segments[segmentOffset];if(!segment)throw new DataValidationError(ERROR_MESSAGES.INVALID_SEGMENT(segmentOffset));return segment.startIndex+offset}return offset}validateSegmentInput(data,index){if(index<0||index+data.length>this.config.maxPoints)throw new IndexOutOfBoundsError(ERROR_MESSAGES.INDEX_OUT_OF_BOUNDS(index),index)}clearLocalResetMirrors(){this.templateDataRaw=new Float32Array(0);this.backgroundNoiseDataRaw=new Float32Array(0);this.thresholdDataRaw=new Float32Array(0);this.extraData={}}convertOutput(data){const ctx=this.callbackContext;const raw=data;if(ctx?.type==="setExtraData"&&ctx.mode===types_ExtraDataMode.CLEAR)return null;const out={...raw};if(out.realData&&void 0!==out.timestamp)out.realData.timestamp=out.timestamp;delete out.timestamp;const pick=keys=>{const picked={};for(const k of keys)picked[k]=out[k];return picked};const ensureProcessLikeFields=o=>{if(!("fluorescenceData"in o))o.fluorescenceData=void 0;if(!("fluorescenceMaxCount"in o))o.fluorescenceMaxCount=0};const isResetUpdate=!("occupancyData"in out);switch(ctx?.type){case"process":if(isResetUpdate)return pick(["realData","maxData","minData","avgData","templateData","backgroundNoiseData","thresholdData","extraData","srcIndexCache","processTimes","scanProgress"]);ensureProcessLikeFields(out);if(!("templateOverData"in out))out.templateOverData=[];return pick(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache","waterfallData","scanProgress","processTimes","templateOverData"]);case"setAntennaFactorSwitch":case"updateSamplingRange":ensureProcessLikeFields(out);return pick(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache","waterfallData"]);case"setRealData":case"setMaxData":case"setMinData":case"setAvgData":ensureProcessLikeFields(out);return pick(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache"]);case"setTemplateData":return{templateData:this.resampleSingleDataLikeJs(this.templateDataRaw),templateOverData:out.templateOverData??[]};case"setOccupancyData":return{occupancyData:out.occupancyData??new Float32Array(0)};case"setBackgroundNoiseData":return{backgroundNoiseData:this.resampleSingleDataLikeJs(this.backgroundNoiseDataRaw)};case"setThresholdData":return{thresholdData:this.resampleSingleDataLikeJs(this.thresholdDataRaw)};case"setExtraData":return{extraData:out.extraData??{}};case"setWaterfallData":return{waterfallData:out.waterfallData??[]};case"reset":case"initializeSegments":return pick(["realData","maxData","minData","avgData","templateData","backgroundNoiseData","thresholdData","extraData","srcIndexCache","processTimes","scanProgress"]);default:return out}}withCallbackContext(ctx,fn){const prev=this.callbackContext;this.callbackContext=ctx;try{return fn()}finally{this.callbackContext=prev}}process(input){const prevMaxPoints=this.config.maxPoints;this.withCallbackContext({type:"process"},()=>{this.wasmInstance.process(input.data,String(input.timestamp),input.segmentOffset??0,input.offset??0)});if(!this.hasSegments&&input.data.length!==prevMaxPoints){this.config=this.wasmInstance.get_config();this.antennaFactorData=this.wasmInstance.get_antenna_factor_view();this.clearLocalResetMirrors()}}initializeSegments(segments){this.withCallbackContext({type:"initializeSegments"},()=>{this.wasmInstance.initialize_segments(segments)});this.hasSegments=true;this.segments=this.normalizeSegments(segments);this.clearLocalResetMirrors();this.config=this.wasmInstance.get_config();this.antennaFactorData=this.wasmInstance.get_antenna_factor_view();this.srcIndexCache=this.wasmInstance.get_src_index_cache_view()}updateSamplingRange(start,end){const cache=this.withCallbackContext({type:"updateSamplingRange"},()=>this.wasmInstance.update_sampling_range(start,end));this.srcIndexCache=cache;this.config=this.wasmInstance.get_config();return cache}reset(preserveProcessedFlag){this.withCallbackContext({type:"reset"},()=>{this.wasmInstance.reset(preserveProcessedFlag??false)});this.clearLocalResetMirrors();this.antennaFactorData=this.wasmInstance.get_antenna_factor_view();this.srcIndexCache=this.wasmInstance.get_src_index_cache_view();this.config=this.wasmInstance.get_config()}setAntennaFactor(data){const arr=data instanceof Float32Array?data:new Float32Array(data);this.wasmInstance.set_antenna_factor(arr);this.antennaFactorData=this.wasmInstance.get_antenna_factor_view()}setAntennaFactorSwitch(newSwitch){this.withCallbackContext({type:"setAntennaFactorSwitch"},()=>{this.wasmInstance.set_antenna_factor_switch(newSwitch)});this.antennaFactorSwitch=newSwitch}setRealData(data){this.withCallbackContext({type:"setRealData"},()=>{this.wasmInstance.set_real_data(data,String(data.timestamp))})}setMaxData(data){this.withCallbackContext({type:"setMaxData"},()=>{this.wasmInstance.set_max_data(data)})}setMinData(data){this.withCallbackContext({type:"setMinData"},()=>{this.wasmInstance.set_min_data(data)})}setAvgData(data){this.withCallbackContext({type:"setAvgData"},()=>{this.wasmInstance.set_avg_data(data)})}setWaterfallData(_data){this.withCallbackContext({type:"setWaterfallData"},()=>{this.wasmInstance.set_waterfall_data(_data)});this.config=this.wasmInstance.get_config()}setTemplateData(data,tolerance){if(data&&0!==data.length){const arr=data instanceof Float32Array?data:new Float32Array(data);this.templateDataRaw=new Float32Array(arr);this.withCallbackContext({type:"setTemplateData"},()=>{this.wasmInstance.set_template_data(arr,tolerance)})}else{this.templateDataRaw=new Float32Array(0);this.withCallbackContext({type:"setTemplateData"},()=>{this.wasmInstance.set_template_data(void 0,void 0)});return}if(void 0!==tolerance)this.config=this.wasmInstance.get_config()}setOccupancyData(data){if(data&&0!==data.length){const arr=data instanceof Float32Array?data:new Float32Array(data);this.withCallbackContext({type:"setOccupancyData"},()=>{this.wasmInstance.set_occupancy_data(arr)})}else this.withCallbackContext({type:"setOccupancyData"},()=>{this.wasmInstance.set_occupancy_data(void 0)})}setBackgroundNoiseData(data){if(data&&0!==data.length){const arr=data instanceof Float32Array?data:new Float32Array(data);this.backgroundNoiseDataRaw=new Float32Array(arr);this.withCallbackContext({type:"setBackgroundNoiseData"},()=>{this.wasmInstance.set_background_noise_data(arr)})}else{this.backgroundNoiseDataRaw=new Float32Array(0);this.withCallbackContext({type:"setBackgroundNoiseData"},()=>{this.wasmInstance.set_background_noise_data(void 0)})}}setThresholdData(data,options){if(data&&0!==data.length){const arr=data instanceof Float32Array?data:new Float32Array(data);let previousThresholdDataRaw;let previousThresholdSlice;let rollbackIndex=0;if(options){const index=this.resolveGlobalIndex(options.segmentOffset??0,options.offset??0);this.validateSegmentInput(arr,index);if(this.thresholdDataRaw.length===this.config.maxPoints){previousThresholdSlice=new Float32Array(this.thresholdDataRaw.subarray(index,index+arr.length));rollbackIndex=index}else{previousThresholdDataRaw=this.thresholdDataRaw;this.thresholdDataRaw=new Float32Array(this.config.maxPoints);this.thresholdDataRaw.fill(SPECTRUM.INITIAL_VALUE);if(previousThresholdDataRaw.length>0)this.thresholdDataRaw.set(previousThresholdDataRaw.subarray(0,this.config.maxPoints))}this.thresholdDataRaw.set(arr,index)}else{previousThresholdDataRaw=this.thresholdDataRaw;this.thresholdDataRaw=new Float32Array(this.config.maxPoints);this.thresholdDataRaw.fill(SPECTRUM.INITIAL_VALUE);this.thresholdDataRaw.set(arr.subarray(0,this.config.maxPoints))}try{this.withCallbackContext({type:"setThresholdData"},()=>{this.wasmInstance.set_threshold_data(arr,options?options.segmentOffset??0:void 0,options?options.offset??0:void 0)})}catch(error){if(previousThresholdDataRaw)this.thresholdDataRaw=previousThresholdDataRaw;else if(previousThresholdSlice)this.thresholdDataRaw.set(previousThresholdSlice,rollbackIndex);throw error}}else{this.thresholdDataRaw=new Float32Array(0);this.withCallbackContext({type:"setThresholdData"},()=>{this.wasmInstance.set_threshold_data(void 0,void 0,void 0)})}}setExtraData(data,mode=types_ExtraDataMode.MERGE,options){if(mode===types_ExtraDataMode.CLEAR){this.extraData={};this.withCallbackContext({type:"setExtraData",mode},()=>{this.wasmInstance.set_extra_data(null,mode,void 0,void 0)});return}if(!data){if(mode===types_ExtraDataMode.REPLACE)this.extraData={};return}const entries=Object.entries(data).map(([key,value])=>[key,value?.length?new Float32Array(value):null]);const index=options?this.resolveGlobalIndex(options.segmentOffset??0,options.offset??0):0;if(options){for(const[,value]of entries)if(value)this.validateSegmentInput(value,index)}if(mode===types_ExtraDataMode.REPLACE)this.extraData={};for(const[key,value]of entries){if(!value){delete this.extraData[key];continue}if(!options){this.extraData[key]=value;continue}let target=this.extraData[key];if(target?.length!==this.config.maxPoints){const next=new Float32Array(this.config.maxPoints);next.fill(SPECTRUM.INITIAL_VALUE);if(target?.length)next.set(target.subarray(0,this.config.maxPoints));target=next;this.extraData[key]=target}target.set(value,index)}this.withCallbackContext({type:"setExtraData",mode},()=>{this.wasmInstance.set_extra_data(data,mode,options?.segmentOffset,options?.offset)})}getPerformanceMetrics(){return this.wasmInstance.get_performance_metrics()}getAllRawData(left){const raw=this.wasmInstance.get_all_raw_data(left);if(!("fluorescenceData"in raw))raw.fluorescenceData=[];return raw}}export{types_ExtraDataMode as ExtraDataMode,LevelStreamAnalyzer,SpectrumAnalyzer,initWasm,isWasmReady};
|
|
1
|
+
var t=/*#__PURE__*/function(t){return t.Horizontal="horizontal",t.Vertical="vertical",t}({}),e=/*#__PURE__*/function(t){return t.Circle="circle",t.Rect="rect",t.Line="line",t.Stepline="stepline",t.Bar="bar",t.Area="area",t}({}),a=/*#__PURE__*/function(t){return t.PropertyChanged="propertyChanged",t.SeriesAdded="seriesAdded",t.SeriesRemoved="seriesRemoved",t.SeriesCleared="seriesCleared",t}({});let s={thickness:1,orientation:t.Horizontal,display:!0,type:e.Line,color:"#00000000",label:""};class n{seriesMap=new Map;changeCallbacks=[];subscribers=new Map;constructor(t=[]){this.initializeSeries(t)}initializeSeries(t){for(let e of t)this.addSeries(e)}addSeries(t){let e={...s,...t};this.seriesMap.set(t.name,e),this.emitEvent({type:a.SeriesAdded,name:t.name,series:e})}getSeries(t){return this.seriesMap.get(t)}getAllSeries(){return Array.from(this.seriesMap.values())}getAllConfigs(){let t={};for(let[e,a]of this.seriesMap)t[e]={...a};return t}setSeriesProperty(t,e,s){let n=this.seriesMap.get(t);if(!n||"name"===e)return!1;let i=n[e],r={...n,[e]:s};return this.seriesMap.set(t,r),this.notifyChange(t,e,s),this.emitEvent({type:a.PropertyChanged,name:t,property:e,value:s,oldValue:i,series:r}),!0}removeSeries(t){let e=this.seriesMap.get(t);if(!e)return!1;let s=this.seriesMap.delete(t);return s&&this.emitEvent({type:a.SeriesRemoved,name:t,series:e}),s}hasSeries(t){return this.seriesMap.has(t)}onChange(t){this.changeCallbacks.push(t)}offChange(t){let e=this.changeCallbacks.indexOf(t);e>-1&&this.changeCallbacks.splice(e,1)}notifyChange(t,e,a){for(let s of this.changeCallbacks)s(t,e,a)}clear(){this.seriesMap.clear(),this.emitEvent({type:a.SeriesCleared})}size(){return this.seriesMap.size}subscribe(t,e={}){if(this.subscribers.set(t,e),e.immediate)for(let e of this.seriesMap.values())this.shouldNotifySubscriber(t,{type:a.SeriesAdded,name:e.name,series:e})&&t({type:a.SeriesAdded,name:e.name,series:e});return()=>{this.subscribers.delete(t)}}unsubscribe(t){this.subscribers.delete(t)}emitEvent(t){for(let[e]of this.subscribers)this.shouldNotifySubscriber(e,t)&&e(t)}shouldNotifySubscriber(t,e){let a=this.subscribers.get(t);return!!a&&(!a.eventTypes||!!a.eventTypes.includes(e.type))&&(!a.seriesNames||!e.name||!!a.seriesNames.includes(e.name))}}let i={INITIAL_VALUE:0/0,WATERFALL_MAX_FRAMES:100,OUTPUT_POINTS:1001},r={MAX_PEAKS:2},l=null,o={UPDATE_INTERVAL:1,LEVEL_MIN:-20,LEVEL_MAX:140,LEVEL_RANGE:161},h={maxPoints:i.OUTPUT_POINTS,waterfallMaxFrames:i.WATERFALL_MAX_FRAMES,initialValue:i.INITIAL_VALUE,processing:{enableWaterfall:!1,enableMetrics:!1,enableFluorescence:!1,enablePeakStats:!1,fluorescenceUpdateInterval:o.UPDATE_INTERVAL},peakDetection:{maxPeaks:r.MAX_PEAKS},outputPoints:i.OUTPUT_POINTS,outputRange:{start:0,end:i.OUTPUT_POINTS},templateTolerance:0},c={EMPTY_SEGMENTS:"频段配置不能为空",INVALID_CONFIG:"必须且只能配置 segments 或 bandwidthConfig 其中之一",EMPTY_BANDWIDTH:"bandwidthConfig 不能为空",INVALID_SEGMENT:t=>`无效的段索引: ${t}`,INDEX_OUT_OF_BOUNDS:t=>`索引超出范围: ${t}`,INVALID_ANTENNA_FACTOR_LENGTH:t=>`天线因子数据长度必须等于实时数据长度 (${t})`,INVALID_ANTENNA_FACTOR:"天线因子数据必须是有效的正数",INVALID_SAMPLING_RANGE:"采样范围无效",INVALID_MAX_POINTS:"点数必须大于0",INVALID_LENGTH:t=>`频率占用度数据长度不匹配,期望长度为 ${t}`};class m extends Error{code;details;constructor(t,e,a){super(t),this.code=e,this.details=a,this.name="SpectrumError"}}class u extends m{constructor(t,e){super(t,"DATA_VALIDATION_ERROR",e)}}class p extends m{index;constructor(t,e,a){super(t,"INDEX_OUT_OF_BOUNDS_ERROR",{index:e,...a||{}}),this.index=e}}var d=/*#__PURE__*/function(t){return t.REPLACE="replace",t.MERGE="merge",t.CLEAR="clear",t}({});let g=()=>({data:[],rawData:[],range:{x:[0,0],y:[0,0]},sourceSize:{width:0,height:0},columnIndices:new Uint32Array(0),rowIndices:new Uint32Array(0)}),f=t=>{let e=new Float32Array(t);return e.timestamp=t.timestamp,void 0!==t.allValid&&(e.allValid=t.allValid),t.peaks&&(e.peaks={...t.peaks,peaks:t.peaks.peaks.map(t=>({...t}))}),e},w=(t,e)=>{if(!Number.isInteger(t)||t<=0)throw new u(`${e} 必须是正整数`)},D=(t,e,a)=>{let[s,n]=t;if(!Number.isFinite(s)||!Number.isFinite(n)||s>=n)throw new u(`${a} 采样范围无效`);let i=Math.max(0,Math.min(e,Math.floor(s))),r=Math.max(0,Math.min(e,Math.ceil(n)));if(i>=r)throw new u(`${a} 采样范围超出数据边界`);return[i,r]},_=(t,e,a)=>{if(0===t[0]&&t[1]===e)return[0,a];let s=Math.min(t[0],a-1),n=Math.max(s+1,Math.min(t[1],a));return[s,n]},x=(t,e,a)=>{if(0===t[0]&&t[1]===e)return[0,a];if(t[1]===e){let e=Math.min(t[1]-t[0],a);return[a-e,a]}return _(t,e,a)},I=(t,e,a,s)=>{if(0===t[0]&&t[1]===e)return[0,a];let n=Math.min(t[1]-t[0],a);if(t[1]===e)return[a-n,a];let i=Math.max(0,Math.min(t[0]-s,a-n));return[i,i+n]},A=(t,e)=>{let[a,s]=t,n=s-a,i=Math.min(n,e),r=new Uint32Array(i);if(n<=e){for(let t=0;t<i;t++)r[t]=a+t;return r}for(let t=0;t<i;t++){let e=Math.floor(t*n/i),s=Math.floor((t+1)*n/i);r[t]=a+Math.min(s-1,Math.floor((e+s)/2))}return r},y=(t,e)=>t[0]===e[0]&&t[1]===e[1],S=(t,e)=>{if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!==e[a])return!1;return!0},C=(t,e,a)=>{let s=t.subarray(e[0],e[1]),n=s.length,i=Math.min(n,a);if(n<=a)return 0===e[0]&&e[1]===t.length?t:(s.timestamp=t.timestamp,s);let r=new Float32Array(i);r.timestamp=t.timestamp;for(let t=0;t<i;t++){let e=Math.floor(t*n/i),a=Math.floor((t+1)*n/i),l=0/0;for(let t=e;t<a;t++){let e=s[t];Number.isFinite(e)&&(!Number.isFinite(l)||e>l)&&(l=e)}r[t]=l}return r};class b{maxFrames;onWaterfallUpdate;sourceData=[];samplingOptions;snapshot=g();constructor(t={}){if(void 0!==t.maxFrames&&(!Number.isInteger(t.maxFrames)||t.maxFrames<=0))throw new u("maxFrames 必须是正整数");this.maxFrames=t.maxFrames,this.onWaterfallUpdate=t.onWaterfallUpdate}setData(t){if(0===t.length)return this.sourceData=[],this.samplingOptions=void 0,this.publishSnapshot(g());let e=t[0].length;if(0===e)throw new u("瀑布图帧不能为空");for(let a of t)if(a.length!==e)throw new u("瀑布图数据必须是等宽矩阵");let a=this.snapshot.sourceSize,s=[...t];void 0!==this.maxFrames&&s.length>this.maxFrames&&(s=s.slice(-this.maxFrames));let n=this.samplingOptions;n&&a.width>0&&a.height>0&&(n={...n,x:_(n.x,a.width,e),y:x(n.y,a.height,s.length)});let i=this.createSnapshot(s,n);return this.sourceData=s,this.samplingOptions=n,this.publishSnapshot(i)}appendFrame(t){if(0===t.length)throw new u("瀑布图帧不能为空");let e=this.sourceData[0]?.length;if(void 0!==e&&t.length!==e)throw new u("追加帧宽度必须与现有瀑布图一致");let a=this.sourceData.length,s=[...this.sourceData,f(t)],n=0;void 0!==this.maxFrames&&s.length>this.maxFrames&&(n=s.length-this.maxFrames,s.splice(0,n));let i=this.samplingOptions;i&&a>0&&(i={...i,y:I(i.y,a,s.length,n)});let r=this.createSnapshot(s,i);return this.sourceData=s,this.samplingOptions=i,this.publishSnapshot(r)}updateSamplingRange(t){let e=this.getSourceSize(this.sourceData);if(0===e.width||0===e.height)throw new u("设置采样范围前必须先设置瀑布图数据");w(t.outputWidth,"outputWidth"),w(t.outputHeight,"outputHeight");let a={x:D(t.x,e.width,"X"),y:D(t.y,e.height,"Y"),outputWidth:t.outputWidth,outputHeight:t.outputHeight},s=this.createSnapshot(this.sourceData,a);return this.samplingOptions=a,this.publishSnapshot(s)}getSnapshot(){return this.snapshot}createSnapshot(t,e){let a=this.getSourceSize(t);if(0===a.width||0===a.height)return g();let s=e?.x??[0,a.width],n=e?.y??[0,a.height],i=e?.outputWidth??s[1]-s[0],r=e?.outputHeight??n[1]-n[0],l=A(s,i),o=A(n,r),h=this.createReusableRows(s,l);return{data:Array.from(o,e=>{let a=t[e];return h.get(a)??C(a,s,i)}),rawData:t,range:{x:s,y:n},sourceSize:a,columnIndices:l,rowIndices:o}}createReusableRows(t,e){let a=this.snapshot;if(!y(a.range.x,t)||!S(a.columnIndices,e))return new Map;let s=new Map;for(let t=0;t<a.rowIndices.length;t++){let e=a.rawData[a.rowIndices[t]],n=a.data[t];e&&n&&s.set(e,n)}return s}getSourceSize(t){return{width:t[0]?.length??0,height:t.length}}publishSnapshot(t){return this.snapshot=t,this.onWaterfallUpdate?.(t),t}}let E={DEFAULT_CACHE_TIME:15e3,DEFAULT_GRANULARITY:10,DEFAULT_RANGE:[-20,100]},v={cacheTime:E.DEFAULT_CACHE_TIME,granularity:E.DEFAULT_GRANULARITY,range:E.DEFAULT_RANGE,maxPoints:void 0,onLevelStreamUpdate:t=>{}},N=null,M=!1,T=null;function R(){return"u">typeof process&&"object"==typeof process.versions&&!!process.versions?.node}async function F(){M||(T||(T=(async()=>{let t=await import("./src-rust/pkg/rfkit_spectrum_analyzer_wasm.js");if("function"==typeof t.default)if(R()){let e=new URL("./src-rust/pkg/rfkit_spectrum_analyzer_wasm_bg.wasm",import.meta.url);if("file:"===e.protocol){let{readFile:a}=await import("node:fs/promises"),s=await a(e);await t.default({module_or_path:s})}else await t.default()}else await t.default();N=t,M=!0})()),await T)}function k(){return M}function L(){if(!N)throw Error('WASM not initialized. Call `await initWasm()` before using WASM classes.\nExample:\n import { initWasm } from "@rfkit/spectrum-analyzer/wasm";\n await initWasm();');return N}function O(){if(!M)throw Error('WASM not initialized. Call `await initWasm()` before creating WASM instances.\nExample:\n import { initWasm, SpectrumAnalyzer } from "@rfkit/spectrum-analyzer/wasm";\n await initWasm();\n const analyzer = new SpectrumAnalyzer(config);')}class U{wasmInstance;onLevelStreamUpdate;config;constructor(t){O();let e=L();this.onLevelStreamUpdate=t.onLevelStreamUpdate;let{onLevelStreamUpdate:a,...s}=t;this.config={cacheTime:v.cacheTime,granularity:v.granularity,range:[...v.range],maxPoints:v.maxPoints,...s},this.wasmInstance=new e.WasmLevelStreamAnalyzer(this.config),this.onLevelStreamUpdate&&this.wasmInstance.set_callback(t=>{this.onLevelStreamUpdate?.(t)})}process(t,e){this.wasmInstance.process(t,e)}reset(){this.wasmInstance.reset()}setConfig(t){"onLevelStreamUpdate"in t&&(this.onLevelStreamUpdate=t.onLevelStreamUpdate,this.wasmInstance.set_callback(t=>{this.onLevelStreamUpdate?.(t)}));let e=void 0!==t.cacheTime&&this.config.cacheTime!==t.cacheTime||void 0!==t.granularity&&this.config.granularity!==t.granularity||void 0!==t.maxPoints&&this.config.maxPoints!==t.maxPoints,{onLevelStreamUpdate:a,...s}=t,n={...this.config,...s};this.config=n,this.wasmInstance.set_config(n,e,!!t.range)}getAll(){return this.wasmInstance.get_all()}}class P{wasmInstance;onSpectrumUpdate;hasSegments=!1;segments=[];callbackContext=null;templateDataRaw=new Float32Array(0);backgroundNoiseDataRaw=new Float32Array(0);thresholdDataRaw=new Float32Array(0);antennaFactorData;srcIndexCache;extraData={};antennaFactorSwitch=!1;config;constructor(t){O();let e=L();this.onSpectrumUpdate=t.onSpectrumUpdate;let{onSpectrumUpdate:a,...s}=t;this.wasmInstance=new e.WasmSpectrumAnalyzer(s),this.wasmInstance.set_callback(t=>{let e=this.convertOutput(t);e&&(e.srcIndexCache&&(this.srcIndexCache=e.srcIndexCache),this.onSpectrumUpdate?.(e))}),this.antennaFactorData=this.wasmInstance.get_antenna_factor_view(),this.srcIndexCache=this.wasmInstance.get_src_index_cache_view(),this.config=this.readConfig()}readConfig(){let t=this.wasmInstance.get_config();return{initialValue:i.INITIAL_VALUE,...t}}normalizeSeriesData(t){let e=new Float32Array(this.config.maxPoints);return e.fill(i.INITIAL_VALUE),e.set(t.subarray(0,this.config.maxPoints)),e}resampleSingleDataLikeJs(t){let{outputRange:{start:e,end:a}}=this.config,s=t.subarray(e,a),n=this.srcIndexCache.length,i=new Float32Array(n);for(let t=0;t<n;t++)i[t]=s[this.srcIndexCache[t]];return i}normalizeSegments(t){let e=0;return t.map(t=>{let{startFrequency:a,stopFrequency:s,stepFrequency:n}=t,i=Math.round(1e3*(s-a)/n)+1,r=e;return e+=i,{startFrequency:a,stopFrequency:s,stepFrequency:n,pointCount:i,startIndex:r}})}resolveGlobalIndex(t=0,e=0){if(this.segments.length>0){let a=this.segments[t];if(!a)throw new u(c.INVALID_SEGMENT(t));return a.startIndex+e}return e}validateSegmentInput(t,e){if(e<0||e+t.length>this.config.maxPoints)throw new p(c.INDEX_OUT_OF_BOUNDS(e),e)}clearLocalResetMirrors(){this.templateDataRaw=new Float32Array(0),this.backgroundNoiseDataRaw=new Float32Array(0),this.thresholdDataRaw=new Float32Array(0),this.extraData={}}convertOutput(t){let e=this.callbackContext;if(e?.type==="setExtraData"&&e.mode===d.CLEAR)return null;let a={...t};a.realData&&void 0!==a.timestamp&&(a.realData.timestamp=a.timestamp),delete a.timestamp,void 0!==a.peakStats&&a.realData&&(a.realData.peaks=a.peakStats),delete a.peakStats;let s=t=>Object.fromEntries(t.map(t=>[t,a[t]])),n=t=>{"fluorescenceData"in t||(t.fluorescenceData=void 0),"fluorescenceMaxCount"in t||(t.fluorescenceMaxCount=0)},i=!("occupancyData"in a);switch(e?.type){case"process":if(i)return s(["realData","maxData","minData","avgData","templateData","backgroundNoiseData","thresholdData","extraData","srcIndexCache","processTimes","scanProgress"]);return n(a),"templateOverData"in a||(a.templateOverData=[]),s(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache","waterfallData","scanProgress","processTimes","templateOverData"]);case"setAntennaFactorSwitch":case"updateSamplingRange":return n(a),s(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache","waterfallData"]);case"updateProcessing":case"setRealData":case"setMaxData":case"setMinData":case"setAvgData":return n(a),s(["realData","maxData","minData","avgData","templateData","occupancyData","backgroundNoiseData","thresholdData","fluorescenceData","fluorescenceMaxCount","extraData","srcIndexCache"]);case"clearMetricsData":return s(["maxData","minData","avgData","processTimes"]);case"setFluorescenceData":return s(["fluorescenceData","fluorescenceMaxCount"]);case"setTemplateData":return{templateData:this.resampleSingleDataLikeJs(this.templateDataRaw),templateOverData:a.templateOverData??[]};case"setOccupancyData":return{occupancyData:a.occupancyData??new Float32Array(0)};case"setBackgroundNoiseData":return{backgroundNoiseData:this.resampleSingleDataLikeJs(this.backgroundNoiseDataRaw)};case"setThresholdData":return{thresholdData:this.resampleSingleDataLikeJs(this.thresholdDataRaw)};case"setExtraData":return{extraData:a.extraData??{}};case"setWaterfallData":return{waterfallData:a.waterfallData??[]};case"reset":case"initializeSegments":return s(["realData","maxData","minData","avgData","templateData","backgroundNoiseData","thresholdData","extraData","srcIndexCache","processTimes","scanProgress"]);default:return a}}withCallbackContext(t,e){let a=this.callbackContext;this.callbackContext=t;try{return e()}finally{this.callbackContext=a}}process(t){let e=this.config.maxPoints;if(t.data?.length){let e=this.resolveGlobalIndex(t.segmentOffset??0,t.offset??0);if(this.segments.length>0)this.validateSegmentInput(t.data,e);else if(e<0||t.data.length===this.config.maxPoints&&e+t.data.length>this.config.maxPoints)throw new p(c.INDEX_OUT_OF_BOUNDS(e),e)}try{this.withCallbackContext({type:"process"},()=>{this.wasmInstance.process(t.data,String(t.timestamp),t.segmentOffset??0,t.offset??0,t.fluorescenceData,t.fluorescenceMaxCount)})}catch(a){let e=String(a instanceof Error?a.message:a??"");if(e.includes("Data exceeds max points")||e.includes("Index out of bounds")){let e=this.resolveGlobalIndex(t.segmentOffset??0,t.offset??0);throw new p(c.INDEX_OUT_OF_BOUNDS(e),e)}throw a instanceof Error?a:Error(e)}finally{this.hasSegments||t.data.length===e||(this.config=this.readConfig(),this.antennaFactorData=this.wasmInstance.get_antenna_factor_view(),this.srcIndexCache=this.wasmInstance.get_src_index_cache_view(),this.clearLocalResetMirrors())}}initializeSegments(t){if(!t?.length)throw new u(c.EMPTY_SEGMENTS);this.withCallbackContext({type:"initializeSegments"},()=>{this.wasmInstance.initialize_segments(t)}),this.hasSegments=!0,this.segments=this.normalizeSegments(t),this.clearLocalResetMirrors(),this.config=this.readConfig(),this.antennaFactorData=this.wasmInstance.get_antenna_factor_view(),this.srcIndexCache=this.wasmInstance.get_src_index_cache_view()}updateSamplingRange(t,e){if(t<0||t>=e)throw new u(c.INVALID_SAMPLING_RANGE);let a=this.withCallbackContext({type:"updateSamplingRange"},()=>this.wasmInstance.update_sampling_range(t,e));return this.srcIndexCache=a,this.config=this.readConfig(),a}reset(t){this.withCallbackContext({type:"reset"},()=>{this.wasmInstance.reset(t??!1)}),this.clearLocalResetMirrors(),this.antennaFactorData=this.wasmInstance.get_antenna_factor_view(),this.srcIndexCache=this.wasmInstance.get_src_index_cache_view(),this.config=this.readConfig()}setAntennaFactor(t){let e=t instanceof Float32Array?t:new Float32Array(t);e.length!==this.config.maxPoints&&console.warn(c.INVALID_ANTENNA_FACTOR_LENGTH(this.config.maxPoints));let a=!1;for(let t=0;t<e.length;t++)if(!(Number.isFinite(e[t])&&e[t]>0)){a=!0;break}a&&console.warn(c.INVALID_ANTENNA_FACTOR),this.wasmInstance.set_antenna_factor(e),this.antennaFactorData=this.wasmInstance.get_antenna_factor_view()}setAntennaFactorSwitch(t){this.withCallbackContext({type:"setAntennaFactorSwitch"},()=>{this.wasmInstance.set_antenna_factor_switch(t)}),this.antennaFactorSwitch=t}setRealData(t){this.withCallbackContext({type:"setRealData"},()=>{this.wasmInstance.set_real_data(t,String(t.timestamp))})}setMaxData(t){this.withCallbackContext({type:"setMaxData"},()=>{this.wasmInstance.set_max_data(t)})}setMinData(t){this.withCallbackContext({type:"setMinData"},()=>{this.wasmInstance.set_min_data(t)})}setAvgData(t){this.withCallbackContext({type:"setAvgData"},()=>{this.wasmInstance.set_avg_data(t)})}setWaterfallData(t){this.withCallbackContext({type:"setWaterfallData"},()=>{this.wasmInstance.set_waterfall_data(t)}),this.config=this.readConfig()}setTemplateData(t,e){if(t&&0!==t.length){let a=t instanceof Float32Array?t:new Float32Array(t);this.templateDataRaw=new Float32Array(a),this.withCallbackContext({type:"setTemplateData"},()=>{this.wasmInstance.set_template_data(a,e)})}else{this.templateDataRaw=new Float32Array(0),this.withCallbackContext({type:"setTemplateData"},()=>{this.wasmInstance.set_template_data(void 0,void 0)});return}void 0!==e&&(this.config=this.readConfig())}setOccupancyData(t){if(t&&0!==t.length){let e=t instanceof Float32Array?t:new Float32Array(t);this.withCallbackContext({type:"setOccupancyData"},()=>{this.wasmInstance.set_occupancy_data(e)})}else this.withCallbackContext({type:"setOccupancyData"},()=>{this.wasmInstance.set_occupancy_data(void 0)})}setBackgroundNoiseData(t){if(t&&0!==t.length){let e=t instanceof Float32Array?t:new Float32Array(t);this.backgroundNoiseDataRaw=new Float32Array(e),this.withCallbackContext({type:"setBackgroundNoiseData"},()=>{this.wasmInstance.set_background_noise_data(e)})}else this.backgroundNoiseDataRaw=new Float32Array(0),this.withCallbackContext({type:"setBackgroundNoiseData"},()=>{this.wasmInstance.set_background_noise_data(void 0)})}setThresholdData(t,e){if(t&&0!==t.length){let a,s,n=t instanceof Float32Array?t:new Float32Array(t),r=0;if(e){let t=this.resolveGlobalIndex(e.segmentOffset??0,e.offset??0);this.validateSegmentInput(n,t),this.thresholdDataRaw.length===this.config.maxPoints?(s=new Float32Array(this.thresholdDataRaw.subarray(t,t+n.length)),r=t):(a=this.thresholdDataRaw,this.thresholdDataRaw=new Float32Array(this.config.maxPoints),this.thresholdDataRaw.fill(i.INITIAL_VALUE),a.length>0&&this.thresholdDataRaw.set(a.subarray(0,this.config.maxPoints))),this.thresholdDataRaw.set(n,t)}else a=this.thresholdDataRaw,this.thresholdDataRaw=new Float32Array(this.config.maxPoints),this.thresholdDataRaw.fill(i.INITIAL_VALUE),this.thresholdDataRaw.set(n.subarray(0,this.config.maxPoints));try{this.withCallbackContext({type:"setThresholdData"},()=>{this.wasmInstance.set_threshold_data(n,e?e.segmentOffset??0:void 0,e?e.offset??0:void 0)})}catch(t){throw a?this.thresholdDataRaw=a:s&&this.thresholdDataRaw.set(s,r),t}}else this.thresholdDataRaw=new Float32Array(0),this.withCallbackContext({type:"setThresholdData"},()=>{this.wasmInstance.set_threshold_data(void 0,void 0,void 0)})}setExtraData(t,e=d.MERGE,a){if(e===d.CLEAR){this.extraData={},this.withCallbackContext({type:"setExtraData",mode:e},()=>{this.wasmInstance.set_extra_data(null,e,void 0,void 0)});return}if(!t){e===d.REPLACE&&(this.extraData={},this.withCallbackContext({type:"setExtraData",mode:e},()=>{this.wasmInstance.set_extra_data(null,e,void 0,void 0)}));return}let s=Object.entries(t).map(([t,e])=>[t,e?.length?new Float32Array(e):null]),n=a?this.resolveGlobalIndex(a.segmentOffset??0,a.offset??0):0;if(a)for(let[,t]of s)t&&this.validateSegmentInput(t,n);for(let[t,r]of(e===d.REPLACE&&(this.extraData={}),s)){if(!r){delete this.extraData[t];continue}if(!a){this.extraData[t]=this.normalizeSeriesData(r);continue}let e=this.extraData[t];if(e?.length!==this.config.maxPoints){let a=new Float32Array(this.config.maxPoints);a.fill(i.INITIAL_VALUE),e?.length&&a.set(e.subarray(0,this.config.maxPoints)),e=a,this.extraData[t]=e}e.set(r,n)}this.withCallbackContext({type:"setExtraData",mode:e},()=>{this.wasmInstance.set_extra_data(t,e,a?.segmentOffset,a?.offset)})}getPerformanceMetrics(){return this.wasmInstance.get_performance_metrics()}updateProcessing(t){this.withCallbackContext({type:"updateProcessing"},()=>{this.wasmInstance.update_processing(t)}),this.config=this.readConfig()}clearMetricsData(){this.withCallbackContext({type:"clearMetricsData"},()=>{this.wasmInstance.clear_metrics_data()})}getPeakStats(){let t=this.wasmInstance.get_peak_stats();if(null!=t)return t}setFluorescenceData(t,e){this.withCallbackContext({type:"setFluorescenceData"},()=>{this.wasmInstance.set_fluorescence_data(t,e)})}getAllRawData(t){return this.wasmInstance.get_all_raw_data(t)}}export{u as DataValidationError,c as ERROR_MESSAGES,p as IndexOutOfBoundsError,U as LevelStreamAnalyzer,i as SPECTRUM,n as SeriesManager,P as SpectrumAnalyzer,m as SpectrumError,b as WaterfallAnalyzer,F as initWasm,k as isWasmReady,d as ExtraDataMode,e as GraphicType,t as OrientationType,a as SeriesEventType};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let wasm;function addToExternrefTable0(
|
|
2
|
-
${val.stack}`;return className}function getArrayF32FromWasm0(ptr,len){ptr>>>=0;return getFloat32ArrayMemory0().subarray(ptr/4,ptr/4+len)}function getArrayF64FromWasm0(ptr,len){ptr>>>=0;return getFloat64ArrayMemory0().subarray(ptr/8,ptr/8+len)}function getArrayJsValueFromWasm0(ptr,len){ptr>>>=0;const mem=getDataViewMemory0();const result=[];for(let i=ptr;i<ptr+4*len;i+=4)result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i,true)));wasm.__externref_drop_slice(ptr,len);return result}function getArrayU32FromWasm0(ptr,len){ptr>>>=0;return getUint32ArrayMemory0().subarray(ptr/4,ptr/4+len)}function getArrayU8FromWasm0(ptr,len){ptr>>>=0;return getUint8ArrayMemory0().subarray(ptr/1,ptr/1+len)}let cachedDataViewMemory0=null;function getDataViewMemory0(){if(null===cachedDataViewMemory0||true===cachedDataViewMemory0.buffer.detached||void 0===cachedDataViewMemory0.buffer.detached&&cachedDataViewMemory0.buffer!==wasm.memory.buffer)cachedDataViewMemory0=new DataView(wasm.memory.buffer);return cachedDataViewMemory0}let cachedFloat32ArrayMemory0=null;function getFloat32ArrayMemory0(){if(null===cachedFloat32ArrayMemory0||0===cachedFloat32ArrayMemory0.byteLength)cachedFloat32ArrayMemory0=new Float32Array(wasm.memory.buffer);return cachedFloat32ArrayMemory0}let cachedFloat64ArrayMemory0=null;function getFloat64ArrayMemory0(){if(null===cachedFloat64ArrayMemory0||0===cachedFloat64ArrayMemory0.byteLength)cachedFloat64ArrayMemory0=new Float64Array(wasm.memory.buffer);return cachedFloat64ArrayMemory0}function getStringFromWasm0(ptr,len){ptr>>>=0;return decodeText(ptr,len)}let cachedUint32ArrayMemory0=null;function getUint32ArrayMemory0(){if(null===cachedUint32ArrayMemory0||0===cachedUint32ArrayMemory0.byteLength)cachedUint32ArrayMemory0=new Uint32Array(wasm.memory.buffer);return cachedUint32ArrayMemory0}let cachedUint8ArrayMemory0=null;function getUint8ArrayMemory0(){if(null===cachedUint8ArrayMemory0||0===cachedUint8ArrayMemory0.byteLength)cachedUint8ArrayMemory0=new Uint8Array(wasm.memory.buffer);return cachedUint8ArrayMemory0}function handleError(f,args){try{return f.apply(this,args)}catch(e){const idx=addToExternrefTable0(e);wasm.__wbindgen_exn_store(idx)}}function isLikeNone(x){return null==x}function passStringToWasm0(arg,malloc,realloc){if(void 0===realloc){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8ArrayMemory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8ArrayMemory0();let offset=0;for(;offset<len;offset++){const code=arg.charCodeAt(offset);if(code>127)break;mem[ptr+offset]=code}if(offset!==len){if(0!==offset)arg=arg.slice(offset);ptr=realloc(ptr,len,len=offset+3*arg.length,1)>>>0;const view=getUint8ArrayMemory0().subarray(ptr+offset,ptr+len);const ret=cachedTextEncoder.encodeInto(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}function takeFromExternrefTable0(idx){const value=wasm.__wbindgen_externrefs.get(idx);wasm.__externref_table_dealloc(idx);return value}let cachedTextDecoder=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();const MAX_SAFARI_DECODE_BYTES=0x7ff00000;let numBytesDecoded=0;function decodeText(ptr,len){numBytesDecoded+=len;if(numBytesDecoded>=MAX_SAFARI_DECODE_BYTES){cachedTextDecoder=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();numBytesDecoded=len}return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr,ptr+len))}const cachedTextEncoder=new TextEncoder;if(!("encodeInto"in cachedTextEncoder))cachedTextEncoder.encodeInto=function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}};let WASM_VECTOR_LEN=0;const WasmLevelStreamAnalyzerFinalization="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(ptr=>wasm.__wbg_wasmlevelstreamanalyzer_free(ptr>>>0,1));const WasmSpectrumAnalyzerFinalization="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(ptr=>wasm.__wbg_wasmspectrumanalyzer_free(ptr>>>0,1));export class WasmLevelStreamAnalyzer{__destroy_into_raw(){const ptr=this.__wbg_ptr;this.__wbg_ptr=0;WasmLevelStreamAnalyzerFinalization.unregister(this);return ptr}free(){const ptr=this.__destroy_into_raw();wasm.__wbg_wasmlevelstreamanalyzer_free(ptr,0)}set_config(config_js){const ret=wasm.wasmlevelstreamanalyzer_set_config(this.__wbg_ptr,config_js);if(ret[1])throw takeFromExternrefTable0(ret[0])}set_callback(callback){wasm.wasmlevelstreamanalyzer_set_callback(this.__wbg_ptr,callback)}constructor(config_js){const ret=wasm.wasmlevelstreamanalyzer_new(config_js);if(ret[2])throw takeFromExternrefTable0(ret[1]);this.__wbg_ptr=ret[0]>>>0;WasmLevelStreamAnalyzerFinalization.register(this,this.__wbg_ptr,this);return this}reset(){wasm.wasmlevelstreamanalyzer_reset(this.__wbg_ptr)}get_all(){const ret=wasm.wasmlevelstreamanalyzer_get_all(this.__wbg_ptr);return ret}process(level,timestamp){wasm.wasmlevelstreamanalyzer_process(this.__wbg_ptr,level,timestamp)}}if(Symbol.dispose)WasmLevelStreamAnalyzer.prototype[Symbol.dispose]=WasmLevelStreamAnalyzer.prototype.free;export class WasmSpectrumAnalyzer{__destroy_into_raw(){const ptr=this.__wbg_ptr;this.__wbg_ptr=0;WasmSpectrumAnalyzerFinalization.unregister(this);return ptr}free(){const ptr=this.__destroy_into_raw();wasm.__wbg_wasmspectrumanalyzer_free(ptr,0)}get_config(){const ret=wasm.wasmspectrumanalyzer_get_config(this.__wbg_ptr);return ret}set_avg_data(data){wasm.wasmspectrumanalyzer_set_avg_data(this.__wbg_ptr,data)}set_callback(callback){wasm.wasmspectrumanalyzer_set_callback(this.__wbg_ptr,callback)}set_max_data(data){wasm.wasmspectrumanalyzer_set_max_data(this.__wbg_ptr,data)}set_min_data(data){wasm.wasmspectrumanalyzer_set_min_data(this.__wbg_ptr,data)}set_real_data(data,timestamp){const ptr0=passStringToWasm0(timestamp,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.wasmspectrumanalyzer_set_real_data(this.__wbg_ptr,data,ptr0,len0)}set_extra_data(data,mode,segment_offset,offset){var ptr0=isLikeNone(mode)?0:passStringToWasm0(mode,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);var len0=WASM_VECTOR_LEN;const ret=wasm.wasmspectrumanalyzer_set_extra_data(this.__wbg_ptr,data,ptr0,len0,isLikeNone(segment_offset)?0x100000001:segment_offset>>>0,isLikeNone(offset)?0x100000001:offset>>>0);if(ret[1])throw takeFromExternrefTable0(ret[0])}get_all_raw_data(left){const ret=wasm.wasmspectrumanalyzer_get_all_raw_data(this.__wbg_ptr,!isLikeNone(left),isLikeNone(left)?0:left);if(ret[2])throw takeFromExternrefTable0(ret[1]);return takeFromExternrefTable0(ret[0])}set_template_data(data,tolerance){wasm.wasmspectrumanalyzer_set_template_data(this.__wbg_ptr,isLikeNone(data)?0:addToExternrefTable0(data),isLikeNone(tolerance)?0x100000001:Math.fround(tolerance))}update_processing(options){const ret=wasm.wasmspectrumanalyzer_update_processing(this.__wbg_ptr,options);if(ret[1])throw takeFromExternrefTable0(ret[0])}set_antenna_factor(data){wasm.wasmspectrumanalyzer_set_antenna_factor(this.__wbg_ptr,data)}set_occupancy_data(data){wasm.wasmspectrumanalyzer_set_occupancy_data(this.__wbg_ptr,isLikeNone(data)?0:addToExternrefTable0(data))}set_threshold_data(data,segment_offset,offset){const ret=wasm.wasmspectrumanalyzer_set_threshold_data(this.__wbg_ptr,isLikeNone(data)?0:addToExternrefTable0(data),isLikeNone(segment_offset)?0x100000001:segment_offset>>>0,isLikeNone(offset)?0x100000001:offset>>>0);if(ret[1])throw takeFromExternrefTable0(ret[0])}set_waterfall_data(frames_js){const ret=wasm.wasmspectrumanalyzer_set_waterfall_data(this.__wbg_ptr,frames_js);if(ret[1])throw takeFromExternrefTable0(ret[0])}get_extra_data_keys(){const ret=wasm.wasmspectrumanalyzer_get_extra_data_keys(this.__wbg_ptr);var v1=getArrayJsValueFromWasm0(ret[0],ret[1]).slice();wasm.__wbindgen_free(ret[0],4*ret[1],4);return v1}get_extra_data_view(key){const ptr0=passStringToWasm0(key,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.wasmspectrumanalyzer_get_extra_data_view(this.__wbg_ptr,ptr0,len0);return ret}initialize_segments(segments_js){const ret=wasm.wasmspectrumanalyzer_initialize_segments(this.__wbg_ptr,segments_js);if(ret[1])throw takeFromExternrefTable0(ret[0])}update_sampling_range(start,end){const ret=wasm.wasmspectrumanalyzer_update_sampling_range(this.__wbg_ptr,start,end);return ret}get_antenna_factor_view(){const ret=wasm.wasmspectrumanalyzer_get_antenna_factor_view(this.__wbg_ptr);return ret}get_performance_metrics(){const ret=wasm.wasmspectrumanalyzer_get_performance_metrics(this.__wbg_ptr);return ret}get_src_index_cache_view(){const ret=wasm.wasmspectrumanalyzer_get_src_index_cache_view(this.__wbg_ptr);return ret}set_antenna_factor_switch(new_switch){wasm.wasmspectrumanalyzer_set_antenna_factor_switch(this.__wbg_ptr,new_switch)}set_background_noise_data(data){wasm.wasmspectrumanalyzer_set_background_noise_data(this.__wbg_ptr,isLikeNone(data)?0:addToExternrefTable0(data))}constructor(config_js){const ret=wasm.wasmspectrumanalyzer_new(config_js);if(ret[2])throw takeFromExternrefTable0(ret[1]);this.__wbg_ptr=ret[0]>>>0;WasmSpectrumAnalyzerFinalization.register(this,this.__wbg_ptr,this);return this}reset(preserve_processed_flag){wasm.wasmspectrumanalyzer_reset(this.__wbg_ptr,preserve_processed_flag)}process(data,timestamp,segment_offset,offset){const ptr0=passStringToWasm0(timestamp,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.wasmspectrumanalyzer_process(this.__wbg_ptr,data,ptr0,len0,segment_offset,offset);if(ret[1])throw takeFromExternrefTable0(ret[0])}}if(Symbol.dispose)WasmSpectrumAnalyzer.prototype[Symbol.dispose]=WasmSpectrumAnalyzer.prototype.free;export function init(){wasm.init()}const EXPECTED_RESPONSE_TYPES=new Set(["basic","cors","default"]);async function __wbg_load(module,imports){if("function"==typeof Response&&module instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){const validResponse=module.ok&&EXPECTED_RESPONSE_TYPES.has(module.type);if(validResponse&&"application/wasm"!==module.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e);else throw e}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance)return{instance,module};return instance}}function __wbg_get_imports(){const imports={};imports.wbg={};imports.wbg.__wbg_Error_52673b7de5a0ca89=function(arg0,arg1){const ret=Error(getStringFromWasm0(arg0,arg1));return ret};imports.wbg.__wbg_Number_2d1dcfcf4ec51736=function(arg0){const ret=Number(arg0);return ret};imports.wbg.__wbg_String_8f0eb39a4a4c2f66=function(arg0,arg1){const ret=String(arg1);const ptr1=passStringToWasm0(ret,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(arg0+4,len1,true);getDataViewMemory0().setInt32(arg0+0,ptr1,true)};imports.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d=function(arg0,arg1){const v=arg1;const ret="bigint"==typeof v?v:void 0;getDataViewMemory0().setBigInt64(arg0+8,isLikeNone(ret)?BigInt(0):ret,true);getDataViewMemory0().setInt32(arg0+0,!isLikeNone(ret),true)};imports.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(arg0){const v=arg0;const ret="boolean"==typeof v?v:void 0;return isLikeNone(ret)?0xffffff:ret?1:0};imports.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(arg0,arg1){const ret=debugString(arg1);const ptr1=passStringToWasm0(ret,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(arg0+4,len1,true);getDataViewMemory0().setInt32(arg0+0,ptr1,true)};imports.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317=function(arg0,arg1){const ret=arg0 in arg1;return ret};imports.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27=function(arg0){const ret="bigint"==typeof arg0;return ret};imports.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(arg0){const ret="function"==typeof arg0;return ret};imports.wbg.__wbg___wbindgen_is_null_dfda7d66506c95b5=function(arg0){const ret=null===arg0;return ret};imports.wbg.__wbg___wbindgen_is_object_ce774f3490692386=function(arg0){const val=arg0;const ret="object"==typeof val&&null!==val;return ret};imports.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(arg0){const ret=void 0===arg0;return ret};imports.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36=function(arg0,arg1){const ret=arg0===arg1;return ret};imports.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(arg0,arg1){const ret=arg0==arg1;return ret};imports.wbg.__wbg___wbindgen_number_get_9619185a74197f95=function(arg0,arg1){const obj=arg1;const ret="number"==typeof obj?obj:void 0;getDataViewMemory0().setFloat64(arg0+8,isLikeNone(ret)?0:ret,true);getDataViewMemory0().setInt32(arg0+0,!isLikeNone(ret),true)};imports.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(arg0,arg1){const obj=arg1;const ret="string"==typeof obj?obj:void 0;var ptr1=isLikeNone(ret)?0:passStringToWasm0(ret,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);var len1=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(arg0+4,len1,true);getDataViewMemory0().setInt32(arg0+0,ptr1,true)};imports.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(arg0,arg1){throw new Error(getStringFromWasm0(arg0,arg1))};imports.wbg.__wbg_call_3020136f7a2d6e44=function(){return handleError(function(arg0,arg1,arg2){const ret=arg0.call(arg1,arg2);return ret},arguments)};imports.wbg.__wbg_call_abb4ff46ce38be40=function(){return handleError(function(arg0,arg1){const ret=arg0.call(arg1);return ret},arguments)};imports.wbg.__wbg_done_62ea16af4ce34b24=function(arg0){const ret=arg0.done;return ret};imports.wbg.__wbg_error_7534b8e9a36f1ab4=function(arg0,arg1){let deferred0_0;let deferred0_1;try{deferred0_0=arg0;deferred0_1=arg1;console.error(getStringFromWasm0(arg0,arg1))}finally{wasm.__wbindgen_free(deferred0_0,deferred0_1,1)}};imports.wbg.__wbg_from_29a8414a7a7cd19d=function(arg0){const ret=Array.from(arg0);return ret};imports.wbg.__wbg_get_6b7bd52aca3f9671=function(arg0,arg1){const ret=arg0[arg1>>>0];return ret};imports.wbg.__wbg_get_af9dab7e9603ea93=function(){return handleError(function(arg0,arg1){const ret=Reflect.get(arg0,arg1);return ret},arguments)};imports.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe=function(arg0,arg1){const ret=arg0[arg1];return ret};imports.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(arg0){let result;try{result=arg0 instanceof ArrayBuffer}catch(_){result=false}const ret=result;return ret};imports.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(arg0){let result;try{result=arg0 instanceof Uint8Array}catch(_){result=false}const ret=result;return ret};imports.wbg.__wbg_isArray_51fd9e6422c0a395=function(arg0){const ret=Array.isArray(arg0);return ret};imports.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16=function(arg0){const ret=Number.isSafeInteger(arg0);return ret};imports.wbg.__wbg_iterator_27b7c8b35ab3e86b=function(){const ret=Symbol.iterator;return ret};imports.wbg.__wbg_keys_f5c6002ff150fc6c=function(arg0){const ret=Object.keys(arg0);return ret};imports.wbg.__wbg_length_22ac23eaec9d8053=function(arg0){const ret=arg0.length;return ret};imports.wbg.__wbg_length_86ce4877baf913bb=function(arg0){const ret=arg0.length;return ret};imports.wbg.__wbg_length_d45040a40c570362=function(arg0){const ret=arg0.length;return ret};imports.wbg.__wbg_new_1ba21ce319a06297=function(){const ret=new Object;return ret};imports.wbg.__wbg_new_25f239778d6112b9=function(){const ret=new Array;return ret};imports.wbg.__wbg_new_354204b1383f9085=function(arg0){const ret=new Float32Array(arg0);return ret};imports.wbg.__wbg_new_6421f6084cc5bc5a=function(arg0){const ret=new Uint8Array(arg0);return ret};imports.wbg.__wbg_new_8a6f238a6ece86ea=function(){const ret=new Error;return ret};imports.wbg.__wbg_new_b546ae120718850e=function(){const ret=new Map;return ret};imports.wbg.__wbg_new_from_slice_41e2764a343e3cb1=function(arg0,arg1){const ret=new Float32Array(getArrayF32FromWasm0(arg0,arg1));return ret};imports.wbg.__wbg_new_from_slice_9a48ef80d2a51f94=function(arg0,arg1){const ret=new Float64Array(getArrayF64FromWasm0(arg0,arg1));return ret};imports.wbg.__wbg_new_from_slice_db0691b69e9d3891=function(arg0,arg1){const ret=new Uint32Array(getArrayU32FromWasm0(arg0,arg1));return ret};imports.wbg.__wbg_next_138a17bbf04e926c=function(arg0){const ret=arg0.next;return ret};imports.wbg.__wbg_next_3cfe5c0fe2a4cc53=function(){return handleError(function(arg0){const ret=arg0.next();return ret},arguments)};imports.wbg.__wbg_now_69d776cd24f5215b=function(){const ret=Date.now();return ret};imports.wbg.__wbg_prototypesetcall_96cc7097487b926d=function(arg0,arg1,arg2){Float32Array.prototype.set.call(getArrayF32FromWasm0(arg0,arg1),arg2)};imports.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(arg0,arg1,arg2){Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0,arg1),arg2)};imports.wbg.__wbg_push_7d9be8f38fc13975=function(arg0,arg1){const ret=arg0.push(arg1);return ret};imports.wbg.__wbg_set_3f1d0b984ed272ed=function(arg0,arg1,arg2){arg0[arg1]=arg2};imports.wbg.__wbg_set_781438a03c0c3c81=function(){return handleError(function(arg0,arg1,arg2){const ret=Reflect.set(arg0,arg1,arg2);return ret},arguments)};imports.wbg.__wbg_set_7df433eea03a5c14=function(arg0,arg1,arg2){arg0[arg1>>>0]=arg2};imports.wbg.__wbg_set_efaaf145b9377369=function(arg0,arg1,arg2){const ret=arg0.set(arg1,arg2);return ret};imports.wbg.__wbg_stack_0ed75d68575b0f3c=function(arg0,arg1){const ret=arg1.stack;const ptr1=passStringToWasm0(ret,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(arg0+4,len1,true);getDataViewMemory0().setInt32(arg0+0,ptr1,true)};imports.wbg.__wbg_value_57b7b035e117f7ee=function(arg0){const ret=arg0.value;return ret};imports.wbg.__wbindgen_cast_2241b6af4c4b2941=function(arg0,arg1){const ret=getStringFromWasm0(arg0,arg1);return ret};imports.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(arg0){const ret=BigInt.asUintN(64,arg0);return ret};imports.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(arg0){const ret=arg0;return ret};imports.wbg.__wbindgen_init_externref_table=function(){const table=wasm.__wbindgen_externrefs;const offset=table.grow(4);table.set(0,void 0);table.set(offset+0,void 0);table.set(offset+1,null);table.set(offset+2,true);table.set(offset+3,false)};return imports}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedDataViewMemory0=null;cachedFloat32ArrayMemory0=null;cachedFloat64ArrayMemory0=null;cachedUint32ArrayMemory0=null;cachedUint8ArrayMemory0=null;wasm.__wbindgen_start();return wasm}function initSync(module){if(void 0!==wasm)return wasm;if(void 0!==module){if(Object.getPrototypeOf(module)===Object.prototype)({module}=module);else console.warn("using deprecated parameters for `initSync()`; pass a single object instead")}const imports=__wbg_get_imports();if(!(module instanceof WebAssembly.Module))module=new WebAssembly.Module(module);const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(module_or_path){if(void 0!==wasm)return wasm;if(void 0!==module_or_path){if(Object.getPrototypeOf(module_or_path)===Object.prototype)({module_or_path}=module_or_path);else console.warn("using deprecated parameters for the initialization function; pass a single object instead")}if(void 0===module_or_path)module_or_path=new URL("rfkit_spectrum_analyzer_wasm_bg.wasm",import.meta.url);const imports=__wbg_get_imports();if("string"==typeof module_or_path||"function"==typeof Request&&module_or_path instanceof Request||"function"==typeof URL&&module_or_path instanceof URL)module_or_path=fetch(module_or_path);const{instance,module}=await __wbg_load(await module_or_path,imports);return __wbg_finalize_init(instance,module)}export default __wbg_init;export{initSync};
|
|
1
|
+
let wasm;function addToExternrefTable0(e){let t=wasm.__externref_table_alloc();return wasm.__wbindgen_externrefs.set(t,e),t}function debugString(e){let t,r=typeof e;if("number"==r||"boolean"==r||null==e)return`${e}`;if("string"==r)return`"${e}"`;if("symbol"==r){let t=e.description;return null==t?"Symbol":`Symbol(${t})`}if("function"==r){let t=e.name;return"string"==typeof t&&t.length>0?`Function(${t})`:"Function"}if(Array.isArray(e)){let t=e.length,r="[";t>0&&(r+=debugString(e[0]));for(let a=1;a<t;a++)r+=", "+debugString(e[a]);return r+"]"}let a=/\[object ([^\]]+)\]/.exec(toString.call(e));if(!a||!(a.length>1))return toString.call(e);if("Object"==(t=a[1]))try{return"Object("+JSON.stringify(e)+")"}catch(e){return"Object"}return e instanceof Error?`${e.name}: ${e.message}
|
|
2
|
+
${e.stack}`:t}function getArrayF32FromWasm0(e,t){return e>>>=0,getFloat32ArrayMemory0().subarray(e/4,e/4+t)}function getArrayF64FromWasm0(e,t){return e>>>=0,getFloat64ArrayMemory0().subarray(e/8,e/8+t)}function getArrayJsValueFromWasm0(e,t){e>>>=0;let r=getDataViewMemory0(),a=[];for(let n=e;n<e+4*t;n+=4)a.push(wasm.__wbindgen_externrefs.get(r.getUint32(n,!0)));return wasm.__externref_drop_slice(e,t),a}function getArrayU32FromWasm0(e,t){return e>>>=0,getUint32ArrayMemory0().subarray(e/4,e/4+t)}function getArrayU8FromWasm0(e,t){return e>>>=0,getUint8ArrayMemory0().subarray(e/1,e/1+t)}let cachedDataViewMemory0=null;function getDataViewMemory0(){return(null===cachedDataViewMemory0||!0===cachedDataViewMemory0.buffer.detached||void 0===cachedDataViewMemory0.buffer.detached&&cachedDataViewMemory0.buffer!==wasm.memory.buffer)&&(cachedDataViewMemory0=new DataView(wasm.memory.buffer)),cachedDataViewMemory0}let cachedFloat32ArrayMemory0=null;function getFloat32ArrayMemory0(){return(null===cachedFloat32ArrayMemory0||0===cachedFloat32ArrayMemory0.byteLength)&&(cachedFloat32ArrayMemory0=new Float32Array(wasm.memory.buffer)),cachedFloat32ArrayMemory0}let cachedFloat64ArrayMemory0=null;function getFloat64ArrayMemory0(){return(null===cachedFloat64ArrayMemory0||0===cachedFloat64ArrayMemory0.byteLength)&&(cachedFloat64ArrayMemory0=new Float64Array(wasm.memory.buffer)),cachedFloat64ArrayMemory0}function getStringFromWasm0(e,t){return decodeText(e>>>=0,t)}let cachedUint32ArrayMemory0=null;function getUint32ArrayMemory0(){return(null===cachedUint32ArrayMemory0||0===cachedUint32ArrayMemory0.byteLength)&&(cachedUint32ArrayMemory0=new Uint32Array(wasm.memory.buffer)),cachedUint32ArrayMemory0}let cachedUint8ArrayMemory0=null;function getUint8ArrayMemory0(){return(null===cachedUint8ArrayMemory0||0===cachedUint8ArrayMemory0.byteLength)&&(cachedUint8ArrayMemory0=new Uint8Array(wasm.memory.buffer)),cachedUint8ArrayMemory0}function handleError(e,t){try{return e.apply(this,t)}catch(t){let e=addToExternrefTable0(t);wasm.__wbindgen_exn_store(e)}}function isLikeNone(e){return null==e}function passStringToWasm0(e,t,r){if(void 0===r){let r=cachedTextEncoder.encode(e),a=t(r.length,1)>>>0;return getUint8ArrayMemory0().subarray(a,a+r.length).set(r),WASM_VECTOR_LEN=r.length,a}let a=e.length,n=t(a,1)>>>0,_=getUint8ArrayMemory0(),i=0;for(;i<a;i++){let t=e.charCodeAt(i);if(t>127)break;_[n+i]=t}if(i!==a){0!==i&&(e=e.slice(i)),n=r(n,a,a=i+3*e.length,1)>>>0;let t=getUint8ArrayMemory0().subarray(n+i,n+a);i+=cachedTextEncoder.encodeInto(e,t).written,n=r(n,a,i,1)>>>0}return WASM_VECTOR_LEN=i,n}function takeFromExternrefTable0(e){let t=wasm.__wbindgen_externrefs.get(e);return wasm.__externref_table_dealloc(e),t}let cachedTextDecoder=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});cachedTextDecoder.decode();let MAX_SAFARI_DECODE_BYTES=0x7ff00000,numBytesDecoded=0;function decodeText(e,t){return(numBytesDecoded+=t)>=0x7ff00000&&((cachedTextDecoder=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0})).decode(),numBytesDecoded=t),cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(e,e+t))}let cachedTextEncoder=new TextEncoder;"encodeInto"in cachedTextEncoder||(cachedTextEncoder.encodeInto=function(e,t){let r=cachedTextEncoder.encode(e);return t.set(r),{read:e.length,written:r.length}});let WASM_VECTOR_LEN=0,WasmLevelStreamAnalyzerFinalization="u"<typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>wasm.__wbg_wasmlevelstreamanalyzer_free(e>>>0,1)),WasmSpectrumAnalyzerFinalization="u"<typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>wasm.__wbg_wasmspectrumanalyzer_free(e>>>0,1));export class WasmLevelStreamAnalyzer{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,WasmLevelStreamAnalyzerFinalization.unregister(this),e}free(){let e=this.__destroy_into_raw();wasm.__wbg_wasmlevelstreamanalyzer_free(e,0)}set_config(e,t,r){let a=wasm.wasmlevelstreamanalyzer_set_config(this.__wbg_ptr,e,t,r);if(a[1])throw takeFromExternrefTable0(a[0])}set_callback(e){wasm.wasmlevelstreamanalyzer_set_callback(this.__wbg_ptr,e)}constructor(e){let t=wasm.wasmlevelstreamanalyzer_new(e);if(t[2])throw takeFromExternrefTable0(t[1]);return this.__wbg_ptr=t[0]>>>0,WasmLevelStreamAnalyzerFinalization.register(this,this.__wbg_ptr,this),this}reset(){wasm.wasmlevelstreamanalyzer_reset(this.__wbg_ptr)}get_all(){return wasm.wasmlevelstreamanalyzer_get_all(this.__wbg_ptr)}process(e,t){wasm.wasmlevelstreamanalyzer_process(this.__wbg_ptr,e,t)}}Symbol.dispose&&(WasmLevelStreamAnalyzer.prototype[Symbol.dispose]=WasmLevelStreamAnalyzer.prototype.free);export class WasmSpectrumAnalyzer{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,WasmSpectrumAnalyzerFinalization.unregister(this),e}free(){let e=this.__destroy_into_raw();wasm.__wbg_wasmspectrumanalyzer_free(e,0)}get_config(){return wasm.wasmspectrumanalyzer_get_config(this.__wbg_ptr)}set_avg_data(e){wasm.wasmspectrumanalyzer_set_avg_data(this.__wbg_ptr,e)}set_callback(e){wasm.wasmspectrumanalyzer_set_callback(this.__wbg_ptr,e)}set_max_data(e){wasm.wasmspectrumanalyzer_set_max_data(this.__wbg_ptr,e)}set_min_data(e){wasm.wasmspectrumanalyzer_set_min_data(this.__wbg_ptr,e)}set_real_data(e,t){let r=passStringToWasm0(t,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),a=WASM_VECTOR_LEN;wasm.wasmspectrumanalyzer_set_real_data(this.__wbg_ptr,e,r,a)}get_peak_stats(){return wasm.wasmspectrumanalyzer_get_peak_stats(this.__wbg_ptr)}set_extra_data(e,t,r,a){var n=isLikeNone(t)?0:passStringToWasm0(t,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),_=WASM_VECTOR_LEN;let i=wasm.wasmspectrumanalyzer_set_extra_data(this.__wbg_ptr,e,n,_,isLikeNone(r)?0x100000001:r>>>0,isLikeNone(a)?0x100000001:a>>>0);if(i[1])throw takeFromExternrefTable0(i[0])}get_all_raw_data(e){let t=wasm.wasmspectrumanalyzer_get_all_raw_data(this.__wbg_ptr,!isLikeNone(e),isLikeNone(e)?0:e);if(t[2])throw takeFromExternrefTable0(t[1]);return takeFromExternrefTable0(t[0])}set_template_data(e,t){wasm.wasmspectrumanalyzer_set_template_data(this.__wbg_ptr,isLikeNone(e)?0:addToExternrefTable0(e),isLikeNone(t)?0x100000001:Math.fround(t))}update_processing(e){let t=wasm.wasmspectrumanalyzer_update_processing(this.__wbg_ptr,e);if(t[1])throw takeFromExternrefTable0(t[0])}clear_metrics_data(){wasm.wasmspectrumanalyzer_clear_metrics_data(this.__wbg_ptr)}set_antenna_factor(e){wasm.wasmspectrumanalyzer_set_antenna_factor(this.__wbg_ptr,e)}set_occupancy_data(e){wasm.wasmspectrumanalyzer_set_occupancy_data(this.__wbg_ptr,isLikeNone(e)?0:addToExternrefTable0(e))}set_threshold_data(e,t,r){let a=wasm.wasmspectrumanalyzer_set_threshold_data(this.__wbg_ptr,isLikeNone(e)?0:addToExternrefTable0(e),isLikeNone(t)?0x100000001:t>>>0,isLikeNone(r)?0x100000001:r>>>0);if(a[1])throw takeFromExternrefTable0(a[0])}set_waterfall_data(e){let t=wasm.wasmspectrumanalyzer_set_waterfall_data(this.__wbg_ptr,e);if(t[1])throw takeFromExternrefTable0(t[0])}get_extra_data_keys(){let e=wasm.wasmspectrumanalyzer_get_extra_data_keys(this.__wbg_ptr);var t=getArrayJsValueFromWasm0(e[0],e[1]).slice();return wasm.__wbindgen_free(e[0],4*e[1],4),t}get_extra_data_view(e){let t=passStringToWasm0(e,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),r=WASM_VECTOR_LEN;return wasm.wasmspectrumanalyzer_get_extra_data_view(this.__wbg_ptr,t,r)}initialize_segments(e){let t=wasm.wasmspectrumanalyzer_initialize_segments(this.__wbg_ptr,e);if(t[1])throw takeFromExternrefTable0(t[0])}set_fluorescence_data(e,t){wasm.wasmspectrumanalyzer_set_fluorescence_data(this.__wbg_ptr,e,t)}update_sampling_range(e,t){return wasm.wasmspectrumanalyzer_update_sampling_range(this.__wbg_ptr,e,t)}get_antenna_factor_view(){return wasm.wasmspectrumanalyzer_get_antenna_factor_view(this.__wbg_ptr)}get_performance_metrics(){return wasm.wasmspectrumanalyzer_get_performance_metrics(this.__wbg_ptr)}get_src_index_cache_view(){return wasm.wasmspectrumanalyzer_get_src_index_cache_view(this.__wbg_ptr)}set_antenna_factor_switch(e){wasm.wasmspectrumanalyzer_set_antenna_factor_switch(this.__wbg_ptr,e)}set_background_noise_data(e){wasm.wasmspectrumanalyzer_set_background_noise_data(this.__wbg_ptr,isLikeNone(e)?0:addToExternrefTable0(e))}constructor(e){let t=wasm.wasmspectrumanalyzer_new(e);if(t[2])throw takeFromExternrefTable0(t[1]);return this.__wbg_ptr=t[0]>>>0,WasmSpectrumAnalyzerFinalization.register(this,this.__wbg_ptr,this),this}reset(e){wasm.wasmspectrumanalyzer_reset(this.__wbg_ptr,e)}process(e,t,r,a,n,_){let i=passStringToWasm0(t,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),s=WASM_VECTOR_LEN,o=wasm.wasmspectrumanalyzer_process(this.__wbg_ptr,e,i,s,r,a,isLikeNone(n)?0:addToExternrefTable0(n),isLikeNone(_)?0x100000001:_>>>0);if(o[1])throw takeFromExternrefTable0(o[0])}}Symbol.dispose&&(WasmSpectrumAnalyzer.prototype[Symbol.dispose]=WasmSpectrumAnalyzer.prototype.free);export function init(){wasm.init()}let EXPECTED_RESPONSE_TYPES=new Set(["basic","cors","default"]);async function __wbg_load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&EXPECTED_RESPONSE_TYPES.has(e.type)&&"application/wasm"!==e.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function __wbg_get_imports(){let e={};return e.wbg={},e.wbg.__wbg_Error_52673b7de5a0ca89=function(e,t){return Error(getStringFromWasm0(e,t))},e.wbg.__wbg_Number_2d1dcfcf4ec51736=function(e){return Number(e)},e.wbg.__wbg_String_8f0eb39a4a4c2f66=function(e,t){let r=passStringToWasm0(String(t),wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),a=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,a,!0),getDataViewMemory0().setInt32(e+0,r,!0)},e.wbg.__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d=function(e,t){let r="bigint"==typeof t?t:void 0;getDataViewMemory0().setBigInt64(e+8,isLikeNone(r)?BigInt(0):r,!0),getDataViewMemory0().setInt32(e+0,!isLikeNone(r),!0)},e.wbg.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(e){let t="boolean"==typeof e?e:void 0;return isLikeNone(t)?0xffffff:+!!t},e.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(e,t){let r=passStringToWasm0(debugString(t),wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),a=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,a,!0),getDataViewMemory0().setInt32(e+0,r,!0)},e.wbg.__wbg___wbindgen_in_0d3e1e8f0c669317=function(e,t){return e in t},e.wbg.__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27=function(e){return"bigint"==typeof e},e.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(e){return"function"==typeof e},e.wbg.__wbg___wbindgen_is_null_dfda7d66506c95b5=function(e){return null===e},e.wbg.__wbg___wbindgen_is_object_ce774f3490692386=function(e){return"object"==typeof e&&null!==e},e.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(e){return void 0===e},e.wbg.__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36=function(e,t){return e===t},e.wbg.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(e,t){return e==t},e.wbg.__wbg___wbindgen_number_get_9619185a74197f95=function(e,t){let r="number"==typeof t?t:void 0;getDataViewMemory0().setFloat64(e+8,isLikeNone(r)?0:r,!0),getDataViewMemory0().setInt32(e+0,!isLikeNone(r),!0)},e.wbg.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(e,t){let r="string"==typeof t?t:void 0;var a=isLikeNone(r)?0:passStringToWasm0(r,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),n=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,n,!0),getDataViewMemory0().setInt32(e+0,a,!0)},e.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(e,t){throw Error(getStringFromWasm0(e,t))},e.wbg.__wbg_call_3020136f7a2d6e44=function(){return handleError(function(e,t,r){return e.call(t,r)},arguments)},e.wbg.__wbg_call_abb4ff46ce38be40=function(){return handleError(function(e,t){return e.call(t)},arguments)},e.wbg.__wbg_done_62ea16af4ce34b24=function(e){return e.done},e.wbg.__wbg_error_7534b8e9a36f1ab4=function(e,t){let r,a;try{r=e,a=t,console.error(getStringFromWasm0(e,t))}finally{wasm.__wbindgen_free(r,a,1)}},e.wbg.__wbg_from_29a8414a7a7cd19d=function(e){return Array.from(e)},e.wbg.__wbg_get_6b7bd52aca3f9671=function(e,t){return e[t>>>0]},e.wbg.__wbg_get_af9dab7e9603ea93=function(){return handleError(function(e,t){return Reflect.get(e,t)},arguments)},e.wbg.__wbg_get_with_ref_key_1dc361bd10053bfe=function(e,t){return e[t]},e.wbg.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(e){let t;try{t=e instanceof ArrayBuffer}catch(e){t=!1}return t},e.wbg.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(e){let t;try{t=e instanceof Uint8Array}catch(e){t=!1}return t},e.wbg.__wbg_isArray_51fd9e6422c0a395=function(e){return Array.isArray(e)},e.wbg.__wbg_isSafeInteger_ae7d3f054d55fa16=function(e){return Number.isSafeInteger(e)},e.wbg.__wbg_iterator_27b7c8b35ab3e86b=function(){return Symbol.iterator},e.wbg.__wbg_keys_f5c6002ff150fc6c=function(e){return Object.keys(e)},e.wbg.__wbg_length_22ac23eaec9d8053=function(e){return e.length},e.wbg.__wbg_length_86ce4877baf913bb=function(e){return e.length},e.wbg.__wbg_length_89c3414ed7f0594d=function(e){return e.length},e.wbg.__wbg_length_d45040a40c570362=function(e){return e.length},e.wbg.__wbg_new_1ba21ce319a06297=function(){return{}},e.wbg.__wbg_new_25f239778d6112b9=function(){return[]},e.wbg.__wbg_new_354204b1383f9085=function(e){return new Float32Array(e)},e.wbg.__wbg_new_6421f6084cc5bc5a=function(e){return new Uint8Array(e)},e.wbg.__wbg_new_8a6f238a6ece86ea=function(){return Error()},e.wbg.__wbg_new_b546ae120718850e=function(){return new Map},e.wbg.__wbg_new_from_slice_41e2764a343e3cb1=function(e,t){return new Float32Array(getArrayF32FromWasm0(e,t))},e.wbg.__wbg_new_from_slice_9a48ef80d2a51f94=function(e,t){return new Float64Array(getArrayF64FromWasm0(e,t))},e.wbg.__wbg_new_from_slice_db0691b69e9d3891=function(e,t){return new Uint32Array(getArrayU32FromWasm0(e,t))},e.wbg.__wbg_next_138a17bbf04e926c=function(e){return e.next},e.wbg.__wbg_next_3cfe5c0fe2a4cc53=function(){return handleError(function(e){return e.next()},arguments)},e.wbg.__wbg_now_69d776cd24f5215b=function(){return Date.now()},e.wbg.__wbg_prototypesetcall_6a0ca140cebe5ef8=function(e,t,r){Uint32Array.prototype.set.call(getArrayU32FromWasm0(e,t),r)},e.wbg.__wbg_prototypesetcall_96cc7097487b926d=function(e,t,r){Float32Array.prototype.set.call(getArrayF32FromWasm0(e,t),r)},e.wbg.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(e,t,r){Uint8Array.prototype.set.call(getArrayU8FromWasm0(e,t),r)},e.wbg.__wbg_push_7d9be8f38fc13975=function(e,t){return e.push(t)},e.wbg.__wbg_set_3f1d0b984ed272ed=function(e,t,r){e[t]=r},e.wbg.__wbg_set_781438a03c0c3c81=function(){return handleError(function(e,t,r){return Reflect.set(e,t,r)},arguments)},e.wbg.__wbg_set_7df433eea03a5c14=function(e,t,r){e[t>>>0]=r},e.wbg.__wbg_set_efaaf145b9377369=function(e,t,r){return e.set(t,r)},e.wbg.__wbg_stack_0ed75d68575b0f3c=function(e,t){let r=passStringToWasm0(t.stack,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),a=WASM_VECTOR_LEN;getDataViewMemory0().setInt32(e+4,a,!0),getDataViewMemory0().setInt32(e+0,r,!0)},e.wbg.__wbg_value_57b7b035e117f7ee=function(e){return e.value},e.wbg.__wbindgen_cast_2241b6af4c4b2941=function(e,t){return getStringFromWasm0(e,t)},e.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(e){return BigInt.asUintN(64,e)},e.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(e){return e},e.wbg.__wbindgen_init_externref_table=function(){let e=wasm.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)},e}function __wbg_finalize_init(e,t){return wasm=e.exports,__wbg_init.__wbindgen_wasm_module=t,cachedDataViewMemory0=null,cachedFloat32ArrayMemory0=null,cachedFloat64ArrayMemory0=null,cachedUint32ArrayMemory0=null,cachedUint8ArrayMemory0=null,wasm.__wbindgen_start(),wasm}function initSync(e){if(void 0!==wasm)return wasm;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=__wbg_get_imports();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),__wbg_finalize_init(new WebAssembly.Instance(e,t),e)}async function __wbg_init(e){if(void 0!==wasm)return wasm;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===e&&(e=new URL("rfkit_spectrum_analyzer_wasm_bg.wasm",import.meta.url));let t=__wbg_get_imports();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:a}=await __wbg_load(await e,t);return __wbg_finalize_init(r,a)}export default __wbg_init;export{initSync};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/LevelStreamAnalyzer/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;gCAKV,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAIhD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/LevelStreamAnalyzer/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAEtC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,GAAG;QACjE,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,OAAO,CAAC,YAAY,CAA8C;IAElE,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO,CAAC,KAAK,CAAK;gBAEN,MAAM,EAAE,iBAAiB;IAQrC;;OAEG;IACI,KAAK,IAAI,IAAI;IAMb,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAqB1D;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAOtD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;OAGG;IACI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,UAAU;CA6BnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/LevelStreamAnalyzer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,EAAE,YAAY,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAE3B,aAAa,EAAE,YAAY,CAAC;CAC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/SeriesManager/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/SeriesManager/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EAEZ,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAEhC,OAAO,CAAC,SAAS,CAAwC;IAEzD,OAAO,CAAC,eAAe,CAA8B;IAErD,OAAO,CAAC,WAAW,CAAyD;IAE5E;;;OAGG;gBACS,aAAa,GAAE,YAAY,EAAO;IAI9C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAgB5C;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIxD;;;OAGG;IACI,YAAY,IAAI,YAAY,EAAE;IAIrC;;;OAGG;IACI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAQpD;;;;;;OAMG;IACI,iBAAiB,CAAC,CAAC,SAAS,MAAM,YAAY,EACnD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO;IAiCV;;;;OAIG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAoB1C;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC;;;OAGG;IACI,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIrD;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAOtD;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;;OAGG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACI,SAAS,CACd,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE,mBAAwB,GAChC,MAAM,IAAI;IA4Bb;;;OAGG;IACI,WAAW,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAItD;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAuB/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/SeriesManager/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,YAAY,EAC5B,KAAK,EAAE,YAAY,CAAC,MAAM,YAAY,CAAC,KACpC,IAAI,CAAC;AAGV,oBAAY,eAAe;IACzB,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,YAAY,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC,MAAM,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,YAAY,CAAC,MAAM,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAGhE,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/SpectrumAnalyzer/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAGX,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC;AAEX,eAAO,MAAM,cAAc;;;;sCAIA,MAAM;0CACF,MAAM;qDACK,MAAM;;;;wCAKnB,MAAM;CAEzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/SpectrumAnalyzer/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,MAAM;aACZ,OAAO,CAAC,EAAE,OAAO;gBAFjC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,YAAA;CAKpC;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;aAGpC,KAAK,EAAE,MAAM;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,OAAO;CAOpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/SpectrumAnalyzer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/SpectrumAnalyzer/tools.ts"],"names":[],"mappings":"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"}
|