@rfkit/charts 1.10.12 → 1.11.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.
Files changed (87) hide show
  1. package/README.md +7 -30
  2. package/charts/Spectrum/Chart.d.ts +1 -0
  3. package/components/AxisY/spectrum/tools.d.ts +0 -6
  4. package/components/AxisY/spectrum/useRanging/index.d.ts +2 -2
  5. package/components/AxisY/spectrum/useRanging/ranging.d.ts +2 -30
  6. package/components/AxisY/spectrum/useRanging/tools.d.ts +0 -15
  7. package/components/Cursor/tools.d.ts +0 -6
  8. package/components/DragSelectBox/index.d.ts +0 -4
  9. package/components/EventBus/tools.d.ts +0 -29
  10. package/components/Toolbar/primitives/styles.d.ts +10 -10
  11. package/components/Zoom/tools.d.ts +5 -0
  12. package/components/ui/button.d.ts +4 -4
  13. package/components/ui/panel.d.ts +2 -2
  14. package/config/constants.d.ts +0 -2
  15. package/config/setting.d.ts +1 -27
  16. package/hooks/data/index.d.ts +0 -3
  17. package/hooks/index.d.ts +0 -3
  18. package/hooks/publish/index.d.ts +0 -3
  19. package/hooks/spectrum/index.d.ts +1 -3
  20. package/hooks/spectrum/useTouchMode.d.ts +1 -0
  21. package/hooks/useChart/index.d.ts +0 -4
  22. package/hooks/useChartComponent.d.ts +0 -6
  23. package/hooks/useDragSelect.d.ts +0 -7
  24. package/hooks/useModuleSubscription.d.ts +0 -50
  25. package/hooks/useSeriesManager/index.d.ts +0 -4
  26. package/hooks/useSeriesManager/useFilteredSeries.d.ts +1 -9
  27. package/hooks/useSeriesManager/useSeriesManager.d.ts +0 -18
  28. package/index.d.ts +1 -3
  29. package/index.js +62 -31109
  30. package/index.js.LICENSE.txt +1 -1
  31. package/modules/Dial/render.d.ts +0 -3
  32. package/modules/Fluorescence/render.d.ts +0 -3
  33. package/modules/Gauge/render.d.ts +0 -9
  34. package/modules/Heatmap/Capture/sliderInfo.d.ts +3 -6
  35. package/modules/Heatmap/render.d.ts +0 -3
  36. package/modules/SpatialSpectrum/render.d.ts +0 -3
  37. package/modules/Spectrum/AxisYCanvas/layout.d.ts +2 -2
  38. package/modules/Spectrum/FrequencyAllocation/tools.d.ts +0 -23
  39. package/modules/Spectrum/Markers/hooks/useMarkers.d.ts +2 -19
  40. package/modules/Spectrum/Markers/tools.d.ts +0 -3
  41. package/modules/Spectrum/Signal/Switch/index.d.ts +0 -5
  42. package/modules/Spectrum/Signal/metadata/level.d.ts +1 -9
  43. package/modules/Spectrum/Signal/metadata/signalType.d.ts +5 -8
  44. package/modules/Spectrum/Signal/model/match.d.ts +0 -1
  45. package/modules/Spectrum/Signal/model/resolver.d.ts +1 -1
  46. package/modules/Spectrum/Signal/model/tree.d.ts +0 -30
  47. package/modules/Spectrum/Signal/tools.d.ts +0 -8
  48. package/modules/Spectrum/Signal/useSignalDataManager.d.ts +0 -5
  49. package/modules/Spectrum/TouchBus/index.d.ts +6 -0
  50. package/modules/Spectrum/index.d.ts +1 -0
  51. package/modules/Spectrum/useSpectrumAnalyzer/useTemplateComparison.d.ts +1 -5
  52. package/modules/base/BaseRenderer.d.ts +0 -89
  53. package/modules/base/CircularRenderer.d.ts +1 -29
  54. package/modules/base/GradientRenderer.d.ts +0 -25
  55. package/modules/base/IQRenderer.d.ts +0 -21
  56. package/modules/base/index.d.ts +0 -3
  57. package/package.json +1 -1
  58. package/runtime/interaction/index.d.ts +4 -2
  59. package/runtime/passThrough.d.ts +1 -1
  60. package/store/Params.d.ts +0 -7
  61. package/store/bandState.d.ts +0 -4
  62. package/store/defaultState.d.ts +0 -4
  63. package/store/globalState.d.ts +0 -9
  64. package/store/hooks/useStore.d.ts +0 -9
  65. package/theme/style-scope.d.ts +11 -11
  66. package/theme/theme-color.d.ts +0 -1
  67. package/theme/theme-contract.d.ts +4 -4
  68. package/theme/theme-tokens.d.ts +36 -36
  69. package/types/publish.d.ts +1 -3
  70. package/types/store/index.d.ts +0 -12
  71. package/types/store/marker.d.ts +5 -5
  72. package/types/store/signal.d.ts +1 -2
  73. package/types/store/ui.d.ts +3 -8
  74. package/types/store.d.ts +0 -12
  75. package/utils/array.d.ts +0 -18
  76. package/utils/cursor.d.ts +1 -1
  77. package/utils/frequency.d.ts +0 -48
  78. package/utils/frequencyCalculation.d.ts +0 -139
  79. package/utils/index.d.ts +0 -9
  80. package/utils/object.d.ts +0 -9
  81. package/utils/series/events.d.ts +7 -29
  82. package/utils/series/index.d.ts +0 -53
  83. package/utils/series/modes.d.ts +0 -25
  84. package/utils/series/subscription.d.ts +0 -30
  85. package/utils/subscription.d.ts +0 -5
  86. package/utils/throttle.d.ts +0 -26
  87. package/utils/time.d.ts +0 -20
@@ -1,174 +1,35 @@
1
- /**
2
- * 频率计算工具包
3
- *
4
- * 提供统一的频率范围、索引计算、位置计算等功能
5
- * 用于 StationAllocation、FrequencyAllocation、Signal 等组件的核心计算逻辑
6
- */
7
1
  import type { SegmentType } from '../types';
8
- /**
9
- * 频率范围(起止频率)
10
- */
11
2
  export interface FrequencyRange {
12
- /** 起始频率 (MHz) */
13
3
  startFreq: number;
14
- /** 结束频率 (MHz) */
15
4
  stopFreq: number;
16
5
  }
17
- /**
18
- * 频率范围输入(支持两种格式)
19
- */
20
6
  export interface FrequencyRangeInput {
21
- /** 格式1: 中心频率 (MHz) */
22
7
  frequency?: number;
23
- /** 格式1: 带宽 (kHz) */
24
8
  bandwidth?: number;
25
- /** 格式2: 起始频率 (MHz) */
26
9
  startFrequency?: number;
27
- /** 格式2: 结束频率 (MHz) */
28
10
  stopFrequency?: number;
29
11
  }
30
- /**
31
- * 索引范围
32
- */
33
12
  export interface IndexRange {
34
- /** 起始索引 */
35
13
  startIndex: number;
36
- /** 结束索引 */
37
14
  stopIndex: number;
38
15
  }
39
- /**
40
- * 位置信息(百分比)
41
- */
42
16
  export interface Position {
43
- /** 左侧位置 (%) */
44
17
  left: number;
45
- /** 宽度 (%) */
46
18
  width: number;
47
19
  }
48
- /**
49
- * 当前光标位置信息
50
- */
51
20
  export interface CursorPosition {
52
- /** 所在段索引 */
53
21
  segmentIndex: number;
54
- /** 段内点索引 */
55
22
  pointIndex: number;
56
23
  }
57
- /**
58
- * 精确搜索范围(前后各 5 个点)
59
- * 用于在 frequencyCache 中精确查找最接近的索引
60
- */
61
24
  export declare const SEARCH_RANGE = 5;
62
- /**
63
- * Active 判断容差(前后各 2 个点)
64
- * 用于处理 left 步进跳跃时的窄带检测
65
- */
66
25
  export declare const ACTIVE_TOLERANCE = 2;
67
- /**
68
- * 计算频率范围
69
- *
70
- * 支持两种输入格式:
71
- * 1. frequency + bandwidth (中心频率 + 带宽)
72
- * 2. startFrequency + stopFrequency (起止频率)
73
- *
74
- * @param input 频率范围输入
75
- * @returns 频率范围(起止频率,单位 MHz)
76
- *
77
- * @example
78
- * // 格式1: 中心频率 + 带宽
79
- * calculateFrequencyRange({ frequency: 100, bandwidth: 20 })
80
- * // => { startFreq: 99.99, stopFreq: 100.01 }
81
- *
82
- * // 格式2: 起止频率
83
- * calculateFrequencyRange({ startFrequency: 99.99, stopFrequency: 100.01 })
84
- * // => { startFreq: 99.99, stopFreq: 100.01 }
85
- */
86
26
  export declare function calculateFrequencyRange(input: FrequencyRangeInput): FrequencyRange | null;
87
- /**
88
- * 计算初步索引范围(粗略计算)
89
- *
90
- * 基于频率范围和 segment 信息,计算初步的索引范围
91
- *
92
- * @param range 频率范围
93
- * @param segment 段信息
94
- * @returns 初步索引范围
95
- */
96
27
  export declare function calculateRoughIndexRange(range: FrequencyRange, segment: SegmentType): IndexRange;
97
- /**
98
- * 精确查找索引范围
99
- *
100
- * 使用 frequencyCache 在粗略索引附近精确搜索,找到最接近的索引
101
- *
102
- * @param range 频率范围
103
- * @param segment 段信息
104
- * @param searchRange 搜索范围(默认 5)
105
- * @returns 精确索引范围
106
- */
107
28
  export declare function findPreciseIndexRange(range: FrequencyRange, segment: SegmentType, searchRange?: number): IndexRange;
108
- /**
109
- * 从索引范围计算位置信息
110
- *
111
- * 将索引范围转换为百分比位置和宽度
112
- *
113
- * @param indexRange 索引范围
114
- * @param segment 段信息
115
- * @returns 位置信息(百分比)
116
- */
117
29
  export declare function calculatePositionFromIndex(indexRange: IndexRange, segment: SegmentType): Position;
118
- /**
119
- * 从频率范围直接计算位置(一步到位)
120
- *
121
- * 组合上述函数,从频率范围直接计算出精确的位置和索引
122
- *
123
- * @param range 频率范围
124
- * @param segment 段信息
125
- * @returns 位置信息和索引范围
126
- */
127
30
  export declare function calculatePositionFromFrequencyRange(range: FrequencyRange, segment: SegmentType): Position & IndexRange;
128
- /**
129
- * 计算当前光标位置
130
- *
131
- * 从 left(百分比)计算当前所在的 segment 和 segment 内的 point 索引
132
- *
133
- * @param left 光标位置(百分比 0-100)
134
- * @param segments 所有段信息
135
- * @returns 光标位置信息
136
- */
137
31
  export declare function calculateCursorPosition(left: number, segments: SegmentType[]): CursorPosition;
138
- /**
139
- * 根据当前光标段位和点索引,获取内部命中使用的精确频率。
140
- *
141
- * 注意:
142
- * - 这里返回的是基于 frequencyCache 的采样频率,不是展示层格式化后的字符串
143
- * - 用于 hover / active 命中,可以避免展示格式化或索引换算差异带来的误判
144
- */
145
32
  export declare function getCursorFrequencyAtPosition(segments: SegmentType[], position: CursorPosition): number;
146
- /**
147
- * 判断光标是否在频率范围内(使用索引 + 容差)
148
- *
149
- * 使用索引范围判断,支持容差(用于处理 left 步进跳跃)
150
- *
151
- * @param cursorPointIndex 光标在段内的点索引
152
- * @param indexRange 目标频率范围的索引
153
- * @param tolerance 容差(默认 2)
154
- * @returns 是否在范围内
155
- */
156
33
  export declare function isInRangeByIndex(cursorPointIndex: number, indexRange: IndexRange, tolerance?: number): boolean;
157
- /**
158
- * 判断光标是否在频率范围内(使用频率)
159
- *
160
- * 直接使用频率值判断(兜底方案)
161
- *
162
- * @param currentFrequency 当前频率
163
- * @param range 目标频率范围
164
- * @returns 是否在范围内
165
- */
166
34
  export declare function isInRangeByFrequency(currentFrequency: number, range: FrequencyRange): boolean;
167
- /**
168
- * 判断频率范围是否与 segment 有交集
169
- *
170
- * @param range 频率范围
171
- * @param segment 段信息
172
- * @returns 是否有交集
173
- */
174
35
  export declare function isRangeIntersectSegment(range: FrequencyRange, segment: SegmentType): boolean;
package/utils/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- /**
2
- * 工具函数统一导出
3
- */
4
1
  import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
5
2
  export * from './array';
6
3
  export * from './cursor';
@@ -9,11 +6,5 @@ export * from './frequencyCalculation';
9
6
  export * from './object';
10
7
  export * from './throttle';
11
8
  export * from './time';
12
- /**
13
- * GUID 生成
14
- */
15
9
  export declare const createGUID: () => string;
16
- /**
17
- * 将原始数据转换为带时间戳的 Float32Array 数组
18
- */
19
10
  export declare const convertToTimestampedArrays: (data: number[][], timestamps?: Array<string>) => TimestampedFloat32Array[];
package/utils/object.d.ts CHANGED
@@ -1,11 +1,2 @@
1
- /**
2
- * 对象操作工具函数
3
- */
4
1
  import type { RecursiveObject } from '../types';
5
- /**
6
- * 混合对象 - 将参数对象合并到源对象副本中
7
- * @param source 源对象
8
- * @param params 要混合的参数
9
- * @returns 混合后的对象
10
- */
11
2
  export declare const mergeObjects: <T extends RecursiveObject>(source: T, params: RecursiveObject) => T;
@@ -1,25 +1,15 @@
1
- /**
2
- * Series 事件系统
3
- * 提供通用的发布-订阅机制,支持 React 组件和普通 JS 模块
4
- */
5
1
  import type { GraphicType } from '@rfkit/renderer';
6
2
  import type { SeriesConfig } from './index';
7
3
  import type { ModeConfig, SeriesMode } from './modes';
8
- /**
9
- * Series 事件名称常量
10
- */
11
4
  export declare const SeriesEventName: {
12
- readonly UPDATED: "series:updated";
13
- readonly ADDED: "series:added";
14
- readonly REMOVED: "series:removed";
15
- readonly MODE_CHANGED: "series:mode-changed";
16
- readonly TYPE_OVERRIDE_CHANGED: "series:type-override-changed";
17
- readonly BATCH_UPDATED: "series:batch-updated";
18
- readonly RESET: "series:reset";
5
+ readonly UPDATED: 'series:updated';
6
+ readonly ADDED: 'series:added';
7
+ readonly REMOVED: 'series:removed';
8
+ readonly MODE_CHANGED: 'series:mode-changed';
9
+ readonly TYPE_OVERRIDE_CHANGED: 'series:type-override-changed';
10
+ readonly BATCH_UPDATED: 'series:batch-updated';
11
+ readonly RESET: 'series:reset';
19
12
  };
20
- /**
21
- * Series 事件名称类型
22
- */
23
13
  export type SeriesEventNameType = (typeof SeriesEventName)[keyof typeof SeriesEventName];
24
14
  export interface SeriesEvents {
25
15
  [SeriesEventName.UPDATED]: {
@@ -56,21 +46,9 @@ export interface SeriesEvents {
56
46
  }
57
47
  export type EventListener<T = unknown> = (data: T) => void;
58
48
  export declare const seriesEvents: {
59
- /**
60
- * 订阅事件
61
- */
62
49
  on: <K extends keyof SeriesEvents>(event: K, listener: EventListener<SeriesEvents[K]>) => () => void;
63
- /**
64
- * 发布事件
65
- */
66
50
  emit: <K extends keyof SeriesEvents>(event: K, data: SeriesEvents[K]) => void;
67
- /**
68
- * 移除监听器
69
- */
70
51
  removeAllListeners: (event?: keyof SeriesEvents) => void;
71
- /**
72
- * 获取监听器数量
73
- */
74
52
  getListenerCount: (event: keyof SeriesEvents) => number;
75
53
  };
76
54
  export declare function subscribeToSeries<K extends keyof SeriesEvents>(globalID: string, event: K, listener: EventListener<SeriesEvents[K]>): () => void;
@@ -1,8 +1,5 @@
1
1
  import { GraphicType } from '@rfkit/renderer';
2
2
  import { type SeriesConfig as ExternalSeriesConfig, SeriesManager } from '@rfkit/spectrum-analyzer';
3
- /**
4
- * 本地 SeriesConfig 类型定义
5
- */
6
3
  export interface SeriesConfig {
7
4
  name: string;
8
5
  label: string;
@@ -11,73 +8,23 @@ export interface SeriesConfig {
11
8
  display: boolean;
12
9
  type: GraphicType;
13
10
  }
14
- /**
15
- * 部分更新 SeriesConfig 类型定义
16
- * 只有 name 是必需的,其他字段都是可选的
17
- */
18
11
  export type PartialSeriesConfig = Partial<SeriesConfig> & {
19
12
  name: string;
20
13
  };
21
- /**
22
- * 设置 ChartType 特定的 series 类型覆盖
23
- * @param globalID
24
- * @param seriesName series 名称
25
- * @param type 要覆盖的类型
26
- */
27
14
  export declare function setChartTypeSeriesOverride(globalID: string, seriesName: string, type: GraphicType): void;
28
- /**
29
- * 清除 ChartType 特定的类型覆盖
30
- */
31
15
  export declare function clearChartTypeSeriesOverrides(globalID: string): void;
32
- /**
33
- * 获取 ChartType 特定的 series 类型覆盖
34
- * @param globalID
35
- * @param seriesName series 名称
36
- * @returns 覆盖的类型,如果没有则返回 undefined
37
- */
38
16
  export declare function getChartTypeSeriesOverride(globalID: string, seriesName: string): GraphicType | undefined;
39
- /**
40
- * 获取正确的 series 类型(统一的类型优先级计算)
41
- * 优先级:ChartType 覆盖 > 特殊类型(templateData) > SeriesMode 配置 > 默认 Line
42
- *
43
- * @param globalID 全局 ID
44
- * @param seriesName series 名称
45
- * @returns 正确的 GraphicType
46
- */
47
17
  export declare function getCorrectSeriesType(globalID: string, seriesName: string): GraphicType;
48
18
  export { type ModeConfig, SeriesMode, type SeriesModesConfig } from './modes';
49
19
  export type { ExternalSeriesConfig };
50
- /**
51
- * 获取 SeriesManager 实例
52
- */
53
20
  export declare function getSeriesManager(globalID: string): SeriesManager;
54
- /**
55
- * 销毁 SeriesManager
56
- */
57
21
  export declare function destroySeriesManager(globalID: string): void;
58
- /**
59
- * 检查是否存在 SeriesManager
60
- */
61
22
  export declare function hasSeriesManager(globalID: string): boolean;
62
- /**
63
- * 获取 series 数据映射
64
- */
65
23
  export declare function getSeriesMap(globalID: string): Map<string, SeriesConfig>;
66
24
  export declare function updateSeries(globalID: string, config: PartialSeriesConfig): void;
67
- /**
68
- * 重置 series
69
- */
70
25
  export declare function resetSeries(globalID: string): void;
71
- /**
72
- * 批量更新 series
73
- * 注意:只发布一次 BATCH_UPDATED 事件,避免重复触发
74
- */
75
26
  export declare function batchUpdateSeries(globalID: string, configs: PartialSeriesConfig[]): void;
76
27
  export * from './events';
77
28
  export * from './modes';
78
29
  export * from './subscription';
79
- /**
80
- * 获取带有正确 GraphicType 的 series 配置
81
- * 使用统一的类型优先级计算
82
- */
83
30
  export declare function getSeriesWithGraphicType(globalID: string): Map<string, SeriesConfig>;
@@ -1,20 +1,10 @@
1
- /**
2
- * Series 模式管理
3
- * 集成新的事件系统,支持通用的订阅机制
4
- */
5
1
  import { GraphicType } from '@rfkit/renderer';
6
- /**
7
- * 显示模式类型
8
- */
9
2
  export declare enum SeriesMode {
10
3
  Line = "line",
11
4
  StepLine = "stepline",
12
5
  Bar = "bar",
13
6
  Area = "area"
14
7
  }
15
- /**
16
- * 模式配置接口
17
- */
18
8
  export interface ModeConfig {
19
9
  name: string;
20
10
  label: string;
@@ -24,25 +14,10 @@ export interface ModeConfig {
24
14
  maxData: GraphicType;
25
15
  avgData: GraphicType;
26
16
  }
27
- /**
28
- * Series 模式配置类型
29
- */
30
17
  export type SeriesModesConfig = Record<SeriesMode, ModeConfig>;
31
18
  export declare const SERIES_MODES: SeriesModesConfig;
32
- /**
33
- * 获取 Series 模式
34
- */
35
19
  export declare function getSeriesMode(globalID: string): SeriesMode;
36
20
  export declare function getNextMode(currentMode: SeriesMode): SeriesMode;
37
- /**
38
- * 设置 Series 模式
39
- */
40
21
  export declare function setSeriesMode(globalID: string, mode: SeriesMode): void;
41
- /**
42
- * 切换到下一个 Series 模式
43
- */
44
22
  export declare function toggleSeriesMode(globalID: string, currentMode?: SeriesMode): void;
45
- /**
46
- * 清除指定 globalID 的模式
47
- */
48
23
  export declare function clearSeriesMode(globalID: string): void;
@@ -1,12 +1,4 @@
1
- /**
2
- * Series 订阅工具
3
- * 提供可复用的 series 事件订阅函数
4
- */
5
1
  import { type SeriesConfig } from './index';
6
- /**
7
- * Series 渲染器接口
8
- * 定义渲染器必须实现的方法
9
- */
10
2
  export interface SeriesRenderer {
11
3
  state: {
12
4
  globalID?: string;
@@ -18,26 +10,4 @@ export interface SeriesRenderer {
18
10
  setSeries: (config: SeriesConfig, skipEvent?: boolean) => void;
19
11
  initSeries: () => void;
20
12
  }
21
- /**
22
- * 初始化 Series 事件订阅
23
- *
24
- * @param renderer 渲染器实例(必须实现 SeriesRenderer 接口)
25
- * @returns 取消订阅函数
26
- *
27
- * @example
28
- * ```typescript
29
- * class MyRender implements SeriesRenderer {
30
- * private seriesUnsubscribe: (() => void) | null = null;
31
- *
32
- * constructor(props: any) {
33
- * this.state = { chart: null, globalID: props.globalID };
34
- * this.seriesUnsubscribe = initSeriesSubscription(this);
35
- * }
36
- *
37
- * destroy() {
38
- * this.seriesUnsubscribe?.();
39
- * }
40
- * }
41
- * ```
42
- */
43
13
  export declare function initSeriesSubscription(renderer: SeriesRenderer): (() => void) | null;
@@ -18,11 +18,6 @@ interface RuntimeOwners {
18
18
  [owner: string]: RuntimeOwnerRecord;
19
19
  }
20
20
  export declare function openData<T = unknown>(key: string, data: T | undefined, defaultData: T, owner?: string): T;
21
- /**
22
- * 共享订阅
23
- * Note: Using any[] for callback args since this is a generic pub/sub system
24
- * that can be called with various argument types across the codebase.
25
- */
26
21
  export type CSMCallback<Return = void> = (...args: any[]) => Return;
27
22
  interface Subscription {
28
23
  [key: string]: CSMCallback;
@@ -1,11 +1,3 @@
1
- /**
2
- * 节流与防抖工具函数
3
- */
4
- /**
5
- * 节流函数
6
- * @param func 需要节流的函数
7
- * @param wait 等待时间(毫秒),默认 1000/30
8
- */
9
1
  export declare function throttle<T extends unknown[]>(func?: (...arg: T) => void, wait?: number): (...arg: T) => void;
10
2
  interface EventSnapshot {
11
3
  currentTarget: EventTarget | null;
@@ -25,28 +17,10 @@ interface ReactLikeEvent {
25
17
  clientY?: number;
26
18
  buttons?: number;
27
19
  }
28
- /**
29
- * 基于 requestAnimationFrame 的节流函数
30
- * @param func 需要节流的函数
31
- */
32
20
  export declare function throttleRequestAnimationFrame<T = unknown>(func?: (e?: T | EventSnapshot) => void): (e?: T | ReactLikeEvent) => void;
33
- /**
34
- * 基于定时器的节流函数
35
- * @param func 需要节流的函数
36
- * @param wait 等待时间(毫秒)
37
- */
38
21
  export declare function throttleTimer<T = unknown>(func?: (e?: T) => void, wait?: number): (e?: T) => void;
39
- /**
40
- * 防抖函数
41
- * @param fn 需要防抖的函数
42
- * @param delay 延迟时间(毫秒)
43
- * @returns 带有 cancel 方法的防抖函数
44
- */
45
22
  export declare const debounce: <T extends (...args: unknown[]) => unknown>(fn: T, delay?: number) => ((...args: Parameters<T>) => void) & {
46
23
  cancel: () => void;
47
24
  };
48
- /**
49
- * 基于 requestAnimationFrame 的防抖函数,适合视觉更新相关操作
50
- */
51
25
  export declare function debounceRequestAnimationFrame<T extends unknown[]>(func?: (...args: T) => void): (...args: T) => void;
52
26
  export {};
package/utils/time.d.ts CHANGED
@@ -1,27 +1,7 @@
1
- /**
2
- * 时间处理工具函数
3
- */
4
- /**
5
- * 时间戳格式化选项
6
- */
7
1
  export interface TimestampFormatOptions {
8
2
  dateSeparator?: string;
9
3
  timeSeparator?: string;
10
4
  timeOnly?: boolean;
11
5
  }
12
- /**
13
- * 格式化时间戳为字符串
14
- * @param input 时间戳或 Date 对象
15
- * @param options 格式化选项
16
- * @returns 格式化后的时间字符串
17
- */
18
6
  export declare const formatTimestamp: (input?: number | Date, options?: TimestampFormatOptions) => string;
19
- /**
20
- * 将日期时间字符串转换为时间戳
21
- * @param dateTimeStr 日期时间字符串
22
- * @param sep1 日期分隔符
23
- * @param sep2 时间分隔符
24
- * @param isTimeOnly 是否仅为时间字符串
25
- * @returns 时间戳(毫秒)
26
- */
27
7
  export declare const dateTimeToTimestamp: (dateTimeStr: unknown, sep1?: string, sep2?: string, isTimeOnly?: boolean) => number;