nhanh-pure-function 1.3.12 → 1.3.14
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/lib/Index.d.ts +0 -5
- package/lib/User/User.d.ts +2 -2
- package/lib/User/User.js +11 -10
- package/lib/Utility/Utility.d.ts +5 -7
- package/lib/Utility/Utility.js +41 -24
- package/package.json +1 -1
package/lib/Index.d.ts
CHANGED
package/lib/User/User.d.ts
CHANGED
|
@@ -184,9 +184,9 @@ export class _LocalDrag {
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
/** 进入全屏模式 */
|
|
187
|
-
export function _EnterFullscreen(content: HTMLElement): void
|
|
187
|
+
export function _EnterFullscreen(content: HTMLElement): Promise<void>;
|
|
188
188
|
/** 退出全屏模式 */
|
|
189
|
-
export function _ExitFullscreen(): void
|
|
189
|
+
export function _ExitFullscreen(): Promise<void>;
|
|
190
190
|
/** 判断是否处于全屏模式 */
|
|
191
191
|
export function _IsFullscreen(): HTMLElement | undefined;
|
|
192
192
|
|
package/lib/User/User.js
CHANGED
|
@@ -485,33 +485,34 @@ export class _LocalDrag {
|
|
|
485
485
|
|
|
486
486
|
/** 进入全屏模式 */
|
|
487
487
|
export function _EnterFullscreen(content) {
|
|
488
|
-
if (!content)
|
|
489
|
-
|
|
490
|
-
|
|
488
|
+
if (!content) {
|
|
489
|
+
return Promise.reject("No DOM: ", content);
|
|
490
|
+
} else if (content.requestFullscreen) {
|
|
491
|
+
return content.requestFullscreen();
|
|
491
492
|
} else if (content.mozRequestFullScreen) {
|
|
492
493
|
// Firefox
|
|
493
|
-
content.mozRequestFullScreen();
|
|
494
|
+
return content.mozRequestFullScreen();
|
|
494
495
|
} else if (content.webkitRequestFullscreen) {
|
|
495
496
|
// Chrome, Safari and Opera
|
|
496
|
-
content.webkitRequestFullscreen();
|
|
497
|
+
return content.webkitRequestFullscreen();
|
|
497
498
|
} else if (content.msRequestFullscreen) {
|
|
498
499
|
// IE/Edge
|
|
499
|
-
content.msRequestFullscreen();
|
|
500
|
+
return content.msRequestFullscreen();
|
|
500
501
|
}
|
|
501
502
|
}
|
|
502
503
|
/** 退出全屏模式 */
|
|
503
504
|
export function _ExitFullscreen() {
|
|
504
505
|
if (document.exitFullscreen) {
|
|
505
|
-
document.exitFullscreen();
|
|
506
|
+
return document.exitFullscreen();
|
|
506
507
|
} else if (document.mozCancelFullScreen) {
|
|
507
508
|
// Firefox
|
|
508
|
-
document.mozCancelFullScreen();
|
|
509
|
+
return document.mozCancelFullScreen();
|
|
509
510
|
} else if (document.webkitExitFullscreen) {
|
|
510
511
|
// Chrome, Safari and Opera
|
|
511
|
-
document.webkitExitFullscreen();
|
|
512
|
+
return document.webkitExitFullscreen();
|
|
512
513
|
} else if (document.msExitFullscreen) {
|
|
513
514
|
// IE/Edge
|
|
514
|
-
document.msExitFullscreen();
|
|
515
|
+
return document.msExitFullscreen();
|
|
515
516
|
}
|
|
516
517
|
}
|
|
517
518
|
/** 判断是否处于全屏模式 */
|
package/lib/Utility/Utility.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ExtractParameters } from "../Index";
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* 非null | undefined判断
|
|
5
3
|
* @param value any
|
|
@@ -62,12 +60,12 @@ export function _MergeObjects<T, T1>(A: T, B: T1): T & T1;
|
|
|
62
60
|
/**
|
|
63
61
|
* 时间戳转换字符串
|
|
64
62
|
* @param {Number | Date} time 时间戳或Date对象
|
|
65
|
-
* @param {String} template 完整模板 -->
|
|
63
|
+
* @param {String} template 完整模板 --> YYYY MM DD hh mm ss ms
|
|
66
64
|
* @param {Boolean} pad 补0
|
|
67
65
|
*/
|
|
68
66
|
export function _TimeTransition(
|
|
69
67
|
time: number | Date,
|
|
70
|
-
template
|
|
68
|
+
template?: string,
|
|
71
69
|
pad?: boolean
|
|
72
70
|
): string;
|
|
73
71
|
|
|
@@ -93,7 +91,7 @@ export function _GetHrefName(href: string, defaultName = "file"): string;
|
|
|
93
91
|
* @param {string} href 文件路径
|
|
94
92
|
* @param {string} fileName 导出文件名
|
|
95
93
|
*/
|
|
96
|
-
export function _DownloadFile(href: string, fileName?: string): void
|
|
94
|
+
export function _DownloadFile(href: string, fileName?: string): Promise<void>;
|
|
97
95
|
|
|
98
96
|
/**
|
|
99
97
|
* 获取帧率
|
|
@@ -160,7 +158,7 @@ export function _GenerateUUID(prefix?: string): string;
|
|
|
160
158
|
export function _Debounce<T extends Function>(
|
|
161
159
|
fn: T,
|
|
162
160
|
delay: number
|
|
163
|
-
): (...args:
|
|
161
|
+
): (...args: Parameters<T>) => void;
|
|
164
162
|
|
|
165
163
|
/**
|
|
166
164
|
* 节流
|
|
@@ -171,7 +169,7 @@ export function _Debounce<T extends Function>(
|
|
|
171
169
|
export function _Throttle<T extends Function>(
|
|
172
170
|
fn: T,
|
|
173
171
|
delay: number
|
|
174
|
-
): (...args:
|
|
172
|
+
): (...args: Parameters<T>) => void;
|
|
175
173
|
|
|
176
174
|
/**
|
|
177
175
|
* 数据类型
|
package/lib/Utility/Utility.js
CHANGED
|
@@ -86,44 +86,61 @@ export function _CapitalizeFirstLetter(string) {
|
|
|
86
86
|
* @param {Object | Array} B
|
|
87
87
|
* @returns A&B || B
|
|
88
88
|
*/
|
|
89
|
-
export function _MergeObjects(
|
|
89
|
+
export function _MergeObjects(
|
|
90
|
+
A,
|
|
91
|
+
B,
|
|
92
|
+
visitedObjects = [],
|
|
93
|
+
outTime = +new Date()
|
|
94
|
+
) {
|
|
95
|
+
/** 疑似死循环 */
|
|
96
|
+
if (outTime < +new Date() - 2000) {
|
|
97
|
+
console.error("_MergeObjects 合并异常:疑似死循环");
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
|
|
90
101
|
const getType = (v) => (Array.isArray(v) ? "array" : typeof v);
|
|
91
102
|
const TA = getType(A);
|
|
92
103
|
const TB = getType(B);
|
|
93
104
|
|
|
94
105
|
if (TA != TB) return B;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
visitedObjects.push(A, B);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
|
|
107
|
+
if (TA == "object" || TA == "array") {
|
|
108
|
+
if (visitedObjects.some(([a, b]) => a == A && b == B)) return A;
|
|
109
|
+
visitedObjects.push([A, B]);
|
|
110
|
+
|
|
111
|
+
if (TA == "object") {
|
|
112
|
+
for (const key in B) {
|
|
113
|
+
if (Object.prototype.hasOwnProperty.call(B, key)) {
|
|
114
|
+
const BC = B[key];
|
|
115
|
+
const AC = A[key];
|
|
116
|
+
const fianlValue = _MergeObjects(AC, BC, visitedObjects, outTime);
|
|
117
|
+
A[key] = fianlValue;
|
|
118
|
+
}
|
|
105
119
|
}
|
|
120
|
+
return A;
|
|
121
|
+
} else if (TA == "array") {
|
|
122
|
+
B.forEach((item, index) => {
|
|
123
|
+
const BC = item;
|
|
124
|
+
const AC = A[index];
|
|
125
|
+
const fianlValue = _MergeObjects(AC, BC, visitedObjects, outTime);
|
|
126
|
+
A[index] = fianlValue;
|
|
127
|
+
});
|
|
128
|
+
return A;
|
|
106
129
|
}
|
|
107
|
-
return A;
|
|
108
|
-
} else if (TA == "array") {
|
|
109
|
-
visitedObjects.push(A, B);
|
|
110
|
-
B.forEach((item, index) => {
|
|
111
|
-
const BC = item;
|
|
112
|
-
const AC = A[index];
|
|
113
|
-
const fianlValue = _MergeObjects(AC, BC, visitedObjects);
|
|
114
|
-
A[index] = fianlValue;
|
|
115
|
-
});
|
|
116
|
-
return A;
|
|
117
130
|
} else return B;
|
|
118
131
|
}
|
|
119
132
|
|
|
120
133
|
/**
|
|
121
134
|
* 时间戳转换字符串
|
|
122
135
|
* @param {Number | Date} time 时间戳或Date对象
|
|
123
|
-
* @param {String} template 完整模板 -->
|
|
136
|
+
* @param {String} template 完整模板 --> YYYY MM DD hh mm ss ms
|
|
124
137
|
* @param {Boolean} pad 补0
|
|
125
138
|
*/
|
|
126
|
-
export function _TimeTransition(
|
|
139
|
+
export function _TimeTransition(
|
|
140
|
+
time,
|
|
141
|
+
template = "YYYY-MM-DD hh:mm:ss",
|
|
142
|
+
pad = true
|
|
143
|
+
) {
|
|
127
144
|
try {
|
|
128
145
|
time = new Date(time);
|
|
129
146
|
} catch (error) {
|
|
@@ -131,7 +148,7 @@ export function _TimeTransition(time, template, pad = true) {
|
|
|
131
148
|
return "";
|
|
132
149
|
}
|
|
133
150
|
const dictionary = {
|
|
134
|
-
|
|
151
|
+
YYYY: "getFullYear",
|
|
135
152
|
MM: "getMonth",
|
|
136
153
|
DD: "getDate",
|
|
137
154
|
hh: "getHours",
|