nhanh-pure-function 1.3.7 → 1.3.8

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.
@@ -1,198 +1,198 @@
1
- /**
2
- * 滚动结束监听器
3
- * @param {(trigger: "vertical" | "horizontal") => void} callback
4
- */
5
- export function _ScrollEndListener(
6
- callback: (trigger: "vertical" | "horizontal") => void
7
- ): (payload: Event) => void;
8
-
9
- /**
10
- * 设置量词属性
11
- * @param {*} data 需修改对象
12
- * @param {*} options 配置
13
- * @returns data
14
- */
15
- export function _SetQuantifierAttribute<T>(
16
- data: T,
17
- options?: (
18
- | keyof T
19
- | [
20
- keyof T,
21
- {
22
- join?: boolean;
23
- suffix?: string;
24
- integer?: boolean;
25
- }
26
- ]
27
- )[]
28
- ): T;
29
-
30
- /**
31
- * 为属性值为null | undefined的属性设置默认值
32
- * @param data 需修改对象
33
- * @param options 配置
34
- * @returns
35
- */
36
- export function _SetDefaultValue<T>(
37
- data: T,
38
- options?: {
39
- defaultValue?: string;
40
- fieldsNotRequiringAction?: (string | number | symbol)[];
41
- }
42
- ): T;
43
-
44
- /**
45
- * 将字典value转为对应label
46
- * @param data 需修改对象
47
- * @param options 配置
48
- * @returns
49
- */
50
- export function _SetDictionary<T>(
51
- data: T,
52
- options: {
53
- dictionaryOptions?: { [key in keyof T]: { [key: string | number]: any } };
54
- dictionaryLabel?: (keyof T)[];
55
- dictionaryLabelJoin?: (keyof T)[];
56
- defaultValue?: string;
57
- }
58
- ): T;
59
-
60
- /**
61
- * 将字符串拼接的图片地址转为数组
62
- * @param data 需修改对象
63
- * @param options 配置
64
- * @returns
65
- */
66
- export function _SetPhoto<T>(
67
- data: T,
68
- options: {
69
- label?: (keyof T)[];
70
- defaultUrl?: {
71
- [key in keyof T]: string[];
72
- };
73
- }
74
- ): T;
75
-
76
- /**
77
- * 将接口返回的数据进行处理,得到展示数据
78
- * @param data object 类型的数据
79
- * @param options 配置
80
- * @returns exhibit_data
81
- */
82
- export function _Exhibit_details<T>(
83
- data: T,
84
- options?: {
85
- dictionaryOptions?: { [key in keyof T]: { [key: string | number]: any } };
86
- dictionaryLabel?: (keyof T)[];
87
- dictionaryLabelJoin?: (keyof T)[];
88
-
89
- photoLabel?: (keyof T)[];
90
- photoDefaultUrl?: {
91
- [key in keyof T]: string[];
92
- };
93
-
94
- quantifierLabel?: (
95
- | keyof T
96
- | [
97
- keyof T,
98
- {
99
- join?: boolean;
100
- suffix?: string;
101
- integer?: boolean;
102
- }
103
- ]
104
- )[];
105
-
106
- filterLabel?: (keyof T)[];
107
-
108
- defaultValue?: string;
109
- }
110
- ): T;
111
-
112
- type UiLibrary = "naiveUI" | "ElementPlus" | "Element";
113
- /**
114
- * 点击非指定dom(包含子级dom)时执行 callback
115
- * @param querySelector 允许点击的 dom 顶层祖先元素选择器
116
- * @param callback 满足条件时执行的回调
117
- *
118
- * @param options 其他配置
119
- * @param options.uiLibrary 项目使用的 ui库 , 用于排除 ui库 创建的元素 , 避免点击 ui库 创建的元素时意外的执行 callback
120
- * @param options.isClickAllowed 是否允许该点击 ( 如果不确定可以返回 undefined )
121
- */
122
- export function _CloseOnOutsideClick(
123
- querySelector: string[],
124
- callback: Function,
125
- options?: {
126
- uiLibrary?: UiLibrary[];
127
- isClickAllowed?: (event: MouseEvent) => boolean | undefined;
128
- }
129
- ): void;
130
-
131
- /** 拖拽配置 */
132
- type DragOption = {
133
- /** 拖拽范围限制 */
134
- limit?: {
135
- max: {
136
- top: number;
137
- left: number;
138
- };
139
- min: {
140
- top: number;
141
- left: number;
142
- };
143
- };
144
- /** 指定的拖拽元素 */
145
- dragDom?: HTMLElement;
146
- };
147
- /** 拖拽 */
148
- export class _Drag {
149
- /**
150
- * 初始化拖拽
151
- * @param dom 被拖拽的元素
152
- * @param option 拖拽配置
153
- */
154
- init(dom: HTMLElement, option?: DragOption): void;
155
- /** 结束拖拽 */
156
- finish(): void;
157
- }
158
-
159
- /** 更新后的位置信息 */
160
- type UpdateValue = {
161
- top: number;
162
- left: number;
163
- percentage?: {
164
- top: number;
165
- left: number;
166
- };
167
- };
168
- /** 局部拖拽配置 */
169
- type LocalDragOptions = {
170
- limit?: DragOption["limit"];
171
- update_move?: (value: UpdateValue) => void | undefined;
172
- update_up?: (value: UpdateValue) => void | undefined;
173
- };
174
- /** 局部拖拽 计算位置距离/百分比 */
175
- export class _LocalDrag {
176
- /**
177
- * 初始化拖拽
178
- * @param parentDom 被拖拽元素的祖先元素
179
- * @param option 局部拖拽配置
180
- */
181
- init(parentDom: HTMLElement, options?: LocalDragOptions): void;
182
- /** 结束拖拽 */
183
- finish(): void;
184
- }
185
-
186
- // 进入全屏模式
187
- export function _EnterFullscreen(content: HTMLElement): void;
188
- // 退出全屏模式
189
- export function _ExitFullscreen(): void;
190
- // 判断是否处于全屏模式
191
- export function _IsFullscreen(): boolean;
192
-
193
- /**
194
- * 返回一个用于切换全屏模式的函数
195
- * @param {HTMLElement} content - 需要进入全屏的元素
196
- * 该函数通过检查不同浏览器的特定方法来实现全屏切换
197
- */
198
- export function _Fullscreen(content: HTMLElement): () => void;
1
+ /**
2
+ * 滚动结束监听器
3
+ * @param {(trigger: "vertical" | "horizontal") => void} callback
4
+ */
5
+ export function _ScrollEndListener(
6
+ callback: (trigger: "vertical" | "horizontal") => void
7
+ ): (payload: Event) => void;
8
+
9
+ /**
10
+ * 设置量词属性
11
+ * @param {*} data 需修改对象
12
+ * @param {*} options 配置
13
+ * @returns data
14
+ */
15
+ export function _SetQuantifierAttribute<T>(
16
+ data: T,
17
+ options?: (
18
+ | keyof T
19
+ | [
20
+ keyof T,
21
+ {
22
+ join?: boolean;
23
+ suffix?: string;
24
+ integer?: boolean;
25
+ }
26
+ ]
27
+ )[]
28
+ ): T;
29
+
30
+ /**
31
+ * 为属性值为null | undefined的属性设置默认值
32
+ * @param data 需修改对象
33
+ * @param options 配置
34
+ * @returns
35
+ */
36
+ export function _SetDefaultValue<T>(
37
+ data: T,
38
+ options?: {
39
+ defaultValue?: string;
40
+ fieldsNotRequiringAction?: (string | number | symbol)[];
41
+ }
42
+ ): T;
43
+
44
+ /**
45
+ * 将字典value转为对应label
46
+ * @param data 需修改对象
47
+ * @param options 配置
48
+ * @returns
49
+ */
50
+ export function _SetDictionary<T>(
51
+ data: T,
52
+ options: {
53
+ dictionaryOptions?: { [key in keyof T]: { [key: string | number]: any } };
54
+ dictionaryLabel?: (keyof T)[];
55
+ dictionaryLabelJoin?: (keyof T)[];
56
+ defaultValue?: string;
57
+ }
58
+ ): T;
59
+
60
+ /**
61
+ * 将字符串拼接的图片地址转为数组
62
+ * @param data 需修改对象
63
+ * @param options 配置
64
+ * @returns
65
+ */
66
+ export function _SetPhoto<T>(
67
+ data: T,
68
+ options: {
69
+ label?: (keyof T)[];
70
+ defaultUrl?: {
71
+ [key in keyof T]: string[];
72
+ };
73
+ }
74
+ ): T;
75
+
76
+ /**
77
+ * 将接口返回的数据进行处理,得到展示数据
78
+ * @param data object 类型的数据
79
+ * @param options 配置
80
+ * @returns exhibit_data
81
+ */
82
+ export function _Exhibit_details<T>(
83
+ data: T,
84
+ options?: {
85
+ dictionaryOptions?: { [key in keyof T]: { [key: string | number]: any } };
86
+ dictionaryLabel?: (keyof T)[];
87
+ dictionaryLabelJoin?: (keyof T)[];
88
+
89
+ photoLabel?: (keyof T)[];
90
+ photoDefaultUrl?: {
91
+ [key in keyof T]: string[];
92
+ };
93
+
94
+ quantifierLabel?: (
95
+ | keyof T
96
+ | [
97
+ keyof T,
98
+ {
99
+ join?: boolean;
100
+ suffix?: string;
101
+ integer?: boolean;
102
+ }
103
+ ]
104
+ )[];
105
+
106
+ filterLabel?: (keyof T)[];
107
+
108
+ defaultValue?: string;
109
+ }
110
+ ): T;
111
+
112
+ type UiLibrary = "naiveUI" | "ElementPlus" | "Element";
113
+ /**
114
+ * 点击非指定dom(包含子级dom)时执行 callback
115
+ * @param querySelector 允许点击的 dom 顶层祖先元素选择器
116
+ * @param callback 满足条件时执行的回调
117
+ *
118
+ * @param options 其他配置
119
+ * @param options.uiLibrary 项目使用的 ui库 , 用于排除 ui库 创建的元素 , 避免点击 ui库 创建的元素时意外的执行 callback
120
+ * @param options.isClickAllowed 是否允许该点击 ( 如果不确定可以返回 undefined )
121
+ */
122
+ export function _CloseOnOutsideClick(
123
+ querySelector: string[],
124
+ callback: Function,
125
+ options?: {
126
+ uiLibrary?: UiLibrary[];
127
+ isClickAllowed?: (event: MouseEvent) => boolean | undefined;
128
+ }
129
+ ): void;
130
+
131
+ /** 拖拽配置 */
132
+ type DragOption = {
133
+ /** 拖拽范围限制 */
134
+ limit?: {
135
+ max: {
136
+ top: number;
137
+ left: number;
138
+ };
139
+ min: {
140
+ top: number;
141
+ left: number;
142
+ };
143
+ };
144
+ /** 指定的拖拽元素 */
145
+ dragDom?: HTMLElement;
146
+ };
147
+ /** 拖拽 */
148
+ export class _Drag {
149
+ /**
150
+ * 初始化拖拽
151
+ * @param dom 被拖拽的元素
152
+ * @param option 拖拽配置
153
+ */
154
+ init(dom: HTMLElement, option?: DragOption): void;
155
+ /** 结束拖拽 */
156
+ finish(): void;
157
+ }
158
+
159
+ /** 更新后的位置信息 */
160
+ type UpdateValue = {
161
+ top: number;
162
+ left: number;
163
+ percentage?: {
164
+ top: number;
165
+ left: number;
166
+ };
167
+ };
168
+ /** 局部拖拽配置 */
169
+ type LocalDragOptions = {
170
+ limit?: DragOption["limit"];
171
+ update_move?: (value: UpdateValue) => void | undefined;
172
+ update_up?: (value: UpdateValue) => void | undefined;
173
+ };
174
+ /** 局部拖拽 计算位置距离/百分比 */
175
+ export class _LocalDrag {
176
+ /**
177
+ * 初始化拖拽
178
+ * @param parentDom 被拖拽元素的祖先元素
179
+ * @param option 局部拖拽配置
180
+ */
181
+ init(parentDom: HTMLElement, options?: LocalDragOptions): void;
182
+ /** 结束拖拽 */
183
+ finish(): void;
184
+ }
185
+
186
+ // 进入全屏模式
187
+ export function _EnterFullscreen(content: HTMLElement): void;
188
+ // 退出全屏模式
189
+ export function _ExitFullscreen(): void;
190
+ // 判断是否处于全屏模式
191
+ export function _IsFullscreen(): HTMLElement | undefined;
192
+
193
+ /**
194
+ * 返回一个用于切换全屏模式的函数
195
+ * @param {HTMLElement} content - 需要进入全屏的元素
196
+ * 该函数通过检查不同浏览器的特定方法来实现全屏切换
197
+ */
198
+ export function _Fullscreen(content: HTMLElement): () => void;