@alibarbar/common 1.0.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 +338 -0
- package/dist/algorithm.d.mts +66 -0
- package/dist/algorithm.d.ts +66 -0
- package/dist/algorithm.js +44 -0
- package/dist/algorithm.js.map +1 -0
- package/dist/algorithm.mjs +3 -0
- package/dist/algorithm.mjs.map +1 -0
- package/dist/array.d.mts +139 -0
- package/dist/array.d.ts +139 -0
- package/dist/array.js +84 -0
- package/dist/array.js.map +1 -0
- package/dist/array.mjs +3 -0
- package/dist/array.mjs.map +1 -0
- package/dist/chunk-27UDDVLZ.js +259 -0
- package/dist/chunk-27UDDVLZ.js.map +1 -0
- package/dist/chunk-2FFSQ573.mjs +138 -0
- package/dist/chunk-2FFSQ573.mjs.map +1 -0
- package/dist/chunk-4RGXV4SJ.js +106 -0
- package/dist/chunk-4RGXV4SJ.js.map +1 -0
- package/dist/chunk-56W6YECK.js +374 -0
- package/dist/chunk-56W6YECK.js.map +1 -0
- package/dist/chunk-5BGSUGTI.mjs +128 -0
- package/dist/chunk-5BGSUGTI.mjs.map +1 -0
- package/dist/chunk-7E6GELHJ.mjs +302 -0
- package/dist/chunk-7E6GELHJ.mjs.map +1 -0
- package/dist/chunk-7V5UQXIO.js +89 -0
- package/dist/chunk-7V5UQXIO.js.map +1 -0
- package/dist/chunk-A4SWQXX7.mjs +484 -0
- package/dist/chunk-A4SWQXX7.mjs.map +1 -0
- package/dist/chunk-ALDC6LRJ.mjs +85 -0
- package/dist/chunk-ALDC6LRJ.mjs.map +1 -0
- package/dist/chunk-BHCRFURU.js +491 -0
- package/dist/chunk-BHCRFURU.js.map +1 -0
- package/dist/chunk-D7CS5EKF.js +110 -0
- package/dist/chunk-D7CS5EKF.js.map +1 -0
- package/dist/chunk-DYBSRI7V.js +189 -0
- package/dist/chunk-DYBSRI7V.js.map +1 -0
- package/dist/chunk-F3LAGHPG.js +332 -0
- package/dist/chunk-F3LAGHPG.js.map +1 -0
- package/dist/chunk-HLDFI7R2.mjs +175 -0
- package/dist/chunk-HLDFI7R2.mjs.map +1 -0
- package/dist/chunk-HME2N3VY.mjs +354 -0
- package/dist/chunk-HME2N3VY.mjs.map +1 -0
- package/dist/chunk-I3L42475.js +145 -0
- package/dist/chunk-I3L42475.js.map +1 -0
- package/dist/chunk-JBLX27WD.mjs +240 -0
- package/dist/chunk-JBLX27WD.mjs.map +1 -0
- package/dist/chunk-JHZ7M2MR.mjs +133 -0
- package/dist/chunk-JHZ7M2MR.mjs.map +1 -0
- package/dist/chunk-JK2SE3I2.js +100 -0
- package/dist/chunk-JK2SE3I2.js.map +1 -0
- package/dist/chunk-JQZBPAPO.js +157 -0
- package/dist/chunk-JQZBPAPO.js.map +1 -0
- package/dist/chunk-JXYGC2C5.mjs +100 -0
- package/dist/chunk-JXYGC2C5.mjs.map +1 -0
- package/dist/chunk-KGFTD255.js +104 -0
- package/dist/chunk-KGFTD255.js.map +1 -0
- package/dist/chunk-LBHBNPNJ.mjs +148 -0
- package/dist/chunk-LBHBNPNJ.mjs.map +1 -0
- package/dist/chunk-LCXGZISK.js +158 -0
- package/dist/chunk-LCXGZISK.js.map +1 -0
- package/dist/chunk-LF4CILQS.mjs +87 -0
- package/dist/chunk-LF4CILQS.mjs.map +1 -0
- package/dist/chunk-MMR6XQNX.js +98 -0
- package/dist/chunk-MMR6XQNX.js.map +1 -0
- package/dist/chunk-NSSDYX2U.mjs +80 -0
- package/dist/chunk-NSSDYX2U.mjs.map +1 -0
- package/dist/chunk-O3O67R4I.js +143 -0
- package/dist/chunk-O3O67R4I.js.map +1 -0
- package/dist/chunk-OX5PLOWB.js +90 -0
- package/dist/chunk-OX5PLOWB.js.map +1 -0
- package/dist/chunk-PJ7UCTX4.mjs +362 -0
- package/dist/chunk-PJ7UCTX4.mjs.map +1 -0
- package/dist/chunk-QIBE7GVN.mjs +81 -0
- package/dist/chunk-QIBE7GVN.mjs.map +1 -0
- package/dist/chunk-QIOC54LQ.mjs +130 -0
- package/dist/chunk-QIOC54LQ.mjs.map +1 -0
- package/dist/chunk-QV6MIQ7H.mjs +328 -0
- package/dist/chunk-QV6MIQ7H.mjs.map +1 -0
- package/dist/chunk-TQN37HIN.js +94 -0
- package/dist/chunk-TQN37HIN.js.map +1 -0
- package/dist/chunk-XJTZDXSR.mjs +94 -0
- package/dist/chunk-XJTZDXSR.mjs.map +1 -0
- package/dist/chunk-XVUE53T3.js +361 -0
- package/dist/chunk-XVUE53T3.js.map +1 -0
- package/dist/chunk-Y364QIQH.js +139 -0
- package/dist/chunk-Y364QIQH.js.map +1 -0
- package/dist/chunk-YXM6Q4JS.mjs +94 -0
- package/dist/chunk-YXM6Q4JS.mjs.map +1 -0
- package/dist/chunk-ZDMFMUDR.js +309 -0
- package/dist/chunk-ZDMFMUDR.js.map +1 -0
- package/dist/chunk-ZVJ6NQUM.mjs +82 -0
- package/dist/chunk-ZVJ6NQUM.mjs.map +1 -0
- package/dist/color.d.mts +74 -0
- package/dist/color.d.ts +74 -0
- package/dist/color.js +40 -0
- package/dist/color.js.map +1 -0
- package/dist/color.mjs +3 -0
- package/dist/color.mjs.map +1 -0
- package/dist/crypto.d.mts +92 -0
- package/dist/crypto.d.ts +92 -0
- package/dist/crypto.js +60 -0
- package/dist/crypto.js.map +1 -0
- package/dist/crypto.mjs +3 -0
- package/dist/crypto.mjs.map +1 -0
- package/dist/data-structure.d.mts +213 -0
- package/dist/data-structure.d.ts +213 -0
- package/dist/data-structure.js +32 -0
- package/dist/data-structure.js.map +1 -0
- package/dist/data-structure.mjs +3 -0
- package/dist/data-structure.mjs.map +1 -0
- package/dist/date.d.mts +108 -0
- package/dist/date.d.ts +108 -0
- package/dist/date.js +72 -0
- package/dist/date.js.map +1 -0
- package/dist/date.mjs +3 -0
- package/dist/date.mjs.map +1 -0
- package/dist/dom.d.mts +92 -0
- package/dist/dom.d.ts +92 -0
- package/dist/dom.js +56 -0
- package/dist/dom.js.map +1 -0
- package/dist/dom.mjs +3 -0
- package/dist/dom.mjs.map +1 -0
- package/dist/file.d.mts +44 -0
- package/dist/file.d.ts +44 -0
- package/dist/file.js +32 -0
- package/dist/file.js.map +1 -0
- package/dist/file.mjs +3 -0
- package/dist/file.mjs.map +1 -0
- package/dist/i18n.d.mts +77 -0
- package/dist/i18n.d.ts +77 -0
- package/dist/i18n.js +40 -0
- package/dist/i18n.js.map +1 -0
- package/dist/i18n.mjs +3 -0
- package/dist/i18n.mjs.map +1 -0
- package/dist/index.d.mts +155 -0
- package/dist/index.d.ts +155 -0
- package/dist/index.js +839 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/network.d.mts +47 -0
- package/dist/network.d.ts +47 -0
- package/dist/network.js +28 -0
- package/dist/network.js.map +1 -0
- package/dist/network.mjs +3 -0
- package/dist/network.mjs.map +1 -0
- package/dist/number.d.mts +100 -0
- package/dist/number.d.ts +100 -0
- package/dist/number.js +56 -0
- package/dist/number.js.map +1 -0
- package/dist/number.mjs +3 -0
- package/dist/number.mjs.map +1 -0
- package/dist/object.d.mts +132 -0
- package/dist/object.d.ts +132 -0
- package/dist/object.js +80 -0
- package/dist/object.js.map +1 -0
- package/dist/object.mjs +3 -0
- package/dist/object.mjs.map +1 -0
- package/dist/performance.d.mts +85 -0
- package/dist/performance.d.ts +85 -0
- package/dist/performance.js +40 -0
- package/dist/performance.js.map +1 -0
- package/dist/performance.mjs +3 -0
- package/dist/performance.mjs.map +1 -0
- package/dist/storage.d.mts +176 -0
- package/dist/storage.d.ts +176 -0
- package/dist/storage.js +33 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.mjs +4 -0
- package/dist/storage.mjs.map +1 -0
- package/dist/string.d.mts +105 -0
- package/dist/string.d.ts +105 -0
- package/dist/string.js +68 -0
- package/dist/string.js.map +1 -0
- package/dist/string.mjs +3 -0
- package/dist/string.mjs.map +1 -0
- package/dist/tracking.d.mts +182 -0
- package/dist/tracking.d.ts +182 -0
- package/dist/tracking.js +52 -0
- package/dist/tracking.js.map +1 -0
- package/dist/tracking.mjs +3 -0
- package/dist/tracking.mjs.map +1 -0
- package/dist/transform.d.mts +53 -0
- package/dist/transform.d.ts +53 -0
- package/dist/transform.js +32 -0
- package/dist/transform.js.map +1 -0
- package/dist/transform.mjs +3 -0
- package/dist/transform.mjs.map +1 -0
- package/dist/upload-DzlQtUBc.d.mts +202 -0
- package/dist/upload-DzlQtUBc.d.ts +202 -0
- package/dist/upload.d.mts +1 -0
- package/dist/upload.d.ts +1 -0
- package/dist/upload.js +17 -0
- package/dist/upload.js.map +1 -0
- package/dist/upload.mjs +4 -0
- package/dist/upload.mjs.map +1 -0
- package/dist/url.d.mts +82 -0
- package/dist/url.d.ts +82 -0
- package/dist/url.js +44 -0
- package/dist/url.js.map +1 -0
- package/dist/url.mjs +3 -0
- package/dist/url.mjs.map +1 -0
- package/dist/validation.d.mts +83 -0
- package/dist/validation.d.ts +83 -0
- package/dist/validation.js +60 -0
- package/dist/validation.js.map +1 -0
- package/dist/validation.mjs +3 -0
- package/dist/validation.mjs.map +1 -0
- package/package.json +170 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件上传相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 上传初始化请求参数
|
|
6
|
+
*/
|
|
7
|
+
interface UploadInitRequest {
|
|
8
|
+
fileName: string;
|
|
9
|
+
fileSize: number;
|
|
10
|
+
fileMd5: string;
|
|
11
|
+
chunkSize?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 上传初始化响应
|
|
15
|
+
*/
|
|
16
|
+
interface UploadInitResponse {
|
|
17
|
+
taskId: string;
|
|
18
|
+
totalChunks: number;
|
|
19
|
+
existingChunks: number[];
|
|
20
|
+
instantUpload: boolean;
|
|
21
|
+
fileUrl?: string;
|
|
22
|
+
chunkSize: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 分片上传响应
|
|
26
|
+
*/
|
|
27
|
+
interface ChunkUploadResponse {
|
|
28
|
+
chunkIndex: number;
|
|
29
|
+
success: boolean;
|
|
30
|
+
message: string;
|
|
31
|
+
chunkMd5: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 完成上传响应
|
|
35
|
+
*/
|
|
36
|
+
interface CompleteUploadResponse {
|
|
37
|
+
taskId: string;
|
|
38
|
+
fileUrl: string;
|
|
39
|
+
fileName: string;
|
|
40
|
+
fileSize: number;
|
|
41
|
+
fileMd5: string;
|
|
42
|
+
success: boolean;
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 上传进度信息
|
|
47
|
+
*/
|
|
48
|
+
interface UploadProgress {
|
|
49
|
+
taskId: string;
|
|
50
|
+
fileName: string;
|
|
51
|
+
fileSize: number;
|
|
52
|
+
totalChunks: number;
|
|
53
|
+
uploadedChunks: number;
|
|
54
|
+
percentage: number;
|
|
55
|
+
status: string;
|
|
56
|
+
uploadedSize: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* API响应包装类型
|
|
60
|
+
*/
|
|
61
|
+
interface ApiResponse<T> {
|
|
62
|
+
code: number;
|
|
63
|
+
message: string;
|
|
64
|
+
data: T;
|
|
65
|
+
timestamp: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 上传配置选项
|
|
69
|
+
*/
|
|
70
|
+
interface UploadOptions {
|
|
71
|
+
/** 分片大小(字节),默认 2MB */
|
|
72
|
+
chunkSize?: number;
|
|
73
|
+
/** 并发上传数量,默认 3 */
|
|
74
|
+
concurrency?: number;
|
|
75
|
+
/** 重试次数,默认 3 */
|
|
76
|
+
retryCount?: number;
|
|
77
|
+
/** 重试延迟(毫秒),默认 1000 */
|
|
78
|
+
retryDelay?: number;
|
|
79
|
+
/** 基础API地址 */
|
|
80
|
+
baseURL?: string;
|
|
81
|
+
/** 请求头 */
|
|
82
|
+
headers?: Record<string, string>;
|
|
83
|
+
/** 上传进度回调 */
|
|
84
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
85
|
+
/** 上传完成回调 */
|
|
86
|
+
onComplete?: (result: CompleteUploadResponse) => void;
|
|
87
|
+
/** 上传错误回调 */
|
|
88
|
+
onError?: (error: Error) => void;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 上传状态
|
|
92
|
+
*/
|
|
93
|
+
declare enum UploadStatus {
|
|
94
|
+
PENDING = "pending",
|
|
95
|
+
UPLOADING = "uploading",
|
|
96
|
+
PAUSED = "paused",
|
|
97
|
+
COMPLETED = "completed",
|
|
98
|
+
FAILED = "failed",
|
|
99
|
+
CANCELLED = "cancelled"
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* 文件分片信息
|
|
103
|
+
*/
|
|
104
|
+
interface ChunkInfo {
|
|
105
|
+
index: number;
|
|
106
|
+
start: number;
|
|
107
|
+
end: number;
|
|
108
|
+
blob: Blob;
|
|
109
|
+
md5?: string;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 文件分片上传工具类
|
|
114
|
+
* 支持分片上传、断点续传、进度追踪
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* 文件上传器类
|
|
119
|
+
*/
|
|
120
|
+
declare class ChunkUploader {
|
|
121
|
+
private file;
|
|
122
|
+
private options;
|
|
123
|
+
private taskId;
|
|
124
|
+
private chunks;
|
|
125
|
+
private uploadedChunks;
|
|
126
|
+
private status;
|
|
127
|
+
private abortController;
|
|
128
|
+
constructor(file: File, options?: UploadOptions);
|
|
129
|
+
/**
|
|
130
|
+
* 初始化上传
|
|
131
|
+
*/
|
|
132
|
+
private initUpload;
|
|
133
|
+
/**
|
|
134
|
+
* 计算文件MD5(简化版,实际应该使用spark-md5等库)
|
|
135
|
+
*/
|
|
136
|
+
private calculateFileMD5;
|
|
137
|
+
/**
|
|
138
|
+
* 准备分片
|
|
139
|
+
*/
|
|
140
|
+
private prepareChunks;
|
|
141
|
+
/**
|
|
142
|
+
* 获取已上传的分片列表
|
|
143
|
+
*/
|
|
144
|
+
private getUploadedChunks;
|
|
145
|
+
/**
|
|
146
|
+
* 上传单个分片
|
|
147
|
+
*/
|
|
148
|
+
private uploadChunk;
|
|
149
|
+
/**
|
|
150
|
+
* 并发上传分片
|
|
151
|
+
*/
|
|
152
|
+
private uploadChunksConcurrently;
|
|
153
|
+
/**
|
|
154
|
+
* 完成上传
|
|
155
|
+
*/
|
|
156
|
+
private completeUpload;
|
|
157
|
+
/**
|
|
158
|
+
* 更新上传进度
|
|
159
|
+
*/
|
|
160
|
+
private updateProgress;
|
|
161
|
+
/**
|
|
162
|
+
* 开始上传
|
|
163
|
+
*/
|
|
164
|
+
upload(): Promise<CompleteUploadResponse>;
|
|
165
|
+
/**
|
|
166
|
+
* 暂停上传
|
|
167
|
+
*/
|
|
168
|
+
pause(): void;
|
|
169
|
+
/**
|
|
170
|
+
* 恢复上传
|
|
171
|
+
*/
|
|
172
|
+
resume(): Promise<CompleteUploadResponse>;
|
|
173
|
+
/**
|
|
174
|
+
* 取消上传
|
|
175
|
+
*/
|
|
176
|
+
cancel(): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* 获取当前状态
|
|
179
|
+
*/
|
|
180
|
+
getStatus(): UploadStatus;
|
|
181
|
+
/**
|
|
182
|
+
* 获取任务ID
|
|
183
|
+
*/
|
|
184
|
+
getTaskId(): string | null;
|
|
185
|
+
/**
|
|
186
|
+
* HTTP请求封装
|
|
187
|
+
*/
|
|
188
|
+
private request;
|
|
189
|
+
/**
|
|
190
|
+
* 延迟函数
|
|
191
|
+
*/
|
|
192
|
+
private delay;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* 创建文件上传器实例
|
|
196
|
+
* @param file - 文件对象
|
|
197
|
+
* @param options - 上传配置选项
|
|
198
|
+
* @returns 上传器实例
|
|
199
|
+
*/
|
|
200
|
+
declare function createUploader(file: File, options?: UploadOptions): ChunkUploader;
|
|
201
|
+
|
|
202
|
+
export { type ApiResponse as A, ChunkUploader as C, type UploadInitRequest as U, type UploadInitResponse as a, type ChunkUploadResponse as b, createUploader as c, type CompleteUploadResponse as d, type UploadProgress as e, type UploadOptions as f, UploadStatus as g, type ChunkInfo as h };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { C as ChunkUploader, c as createUploader } from './upload-DzlQtUBc.mjs';
|
package/dist/upload.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { C as ChunkUploader, c as createUploader } from './upload-DzlQtUBc.js';
|
package/dist/upload.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkF3LAGHPG_js = require('./chunk-F3LAGHPG.js');
|
|
4
|
+
require('./chunk-7V5UQXIO.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "ChunkUploader", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkF3LAGHPG_js.ChunkUploader; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "createUploader", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return chunkF3LAGHPG_js.createUploader; }
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=upload.js.map
|
|
17
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"upload.js"}
|
package/dist/upload.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"upload.mjs"}
|
package/dist/url.d.mts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* URL解析结果
|
|
6
|
+
*/
|
|
7
|
+
interface ParsedUrl {
|
|
8
|
+
protocol: string;
|
|
9
|
+
host: string;
|
|
10
|
+
hostname: string;
|
|
11
|
+
port: string;
|
|
12
|
+
pathname: string;
|
|
13
|
+
search: string;
|
|
14
|
+
hash: string;
|
|
15
|
+
origin: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* URL解析
|
|
19
|
+
* @param url - URL字符串
|
|
20
|
+
* @returns 解析后的URL对象
|
|
21
|
+
*/
|
|
22
|
+
declare function parseUrl(url: string): ParsedUrl;
|
|
23
|
+
/**
|
|
24
|
+
* URL构建
|
|
25
|
+
* @param parts - URL组成部分
|
|
26
|
+
* @returns 构建后的URL字符串
|
|
27
|
+
*/
|
|
28
|
+
declare function buildUrl(parts: {
|
|
29
|
+
protocol?: string;
|
|
30
|
+
host?: string;
|
|
31
|
+
pathname?: string;
|
|
32
|
+
search?: string;
|
|
33
|
+
hash?: string;
|
|
34
|
+
}): string;
|
|
35
|
+
/**
|
|
36
|
+
* 获取查询参数
|
|
37
|
+
* @param url - URL字符串,默认为当前页面URL
|
|
38
|
+
* @returns 查询参数对象
|
|
39
|
+
*/
|
|
40
|
+
declare function getQueryParams(url?: string): Record<string, string>;
|
|
41
|
+
/**
|
|
42
|
+
* 设置查询参数
|
|
43
|
+
* @param url - URL字符串
|
|
44
|
+
* @param params - 查询参数对象
|
|
45
|
+
* @returns 设置后的URL字符串
|
|
46
|
+
*/
|
|
47
|
+
declare function setQueryParams(url: string, params: Record<string, string | number | boolean>): string;
|
|
48
|
+
/**
|
|
49
|
+
* 移除查询参数
|
|
50
|
+
* @param url - URL字符串
|
|
51
|
+
* @param keys - 要移除的查询参数键数组
|
|
52
|
+
* @returns 移除后的URL字符串
|
|
53
|
+
*/
|
|
54
|
+
declare function removeQueryParams(url: string, keys: string[]): string;
|
|
55
|
+
/**
|
|
56
|
+
* 更新查询参数
|
|
57
|
+
* @param url - URL字符串
|
|
58
|
+
* @param params - 要更新的查询参数对象
|
|
59
|
+
* @returns 更新后的URL字符串
|
|
60
|
+
*/
|
|
61
|
+
declare function updateQueryParams(url: string, params: Record<string, string | number | boolean | null>): string;
|
|
62
|
+
/**
|
|
63
|
+
* 判断是否为绝对URL
|
|
64
|
+
* @param url - URL字符串
|
|
65
|
+
* @returns 是否为绝对URL
|
|
66
|
+
*/
|
|
67
|
+
declare function isAbsoluteUrl(url: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* URL拼接
|
|
70
|
+
* @param baseUrl - 基础URL
|
|
71
|
+
* @param ...paths - 路径片段
|
|
72
|
+
* @returns 拼接后的URL
|
|
73
|
+
*/
|
|
74
|
+
declare function joinUrl(baseUrl: string, ...paths: string[]): string;
|
|
75
|
+
/**
|
|
76
|
+
* URL标准化
|
|
77
|
+
* @param url - URL字符串
|
|
78
|
+
* @returns 标准化后的URL
|
|
79
|
+
*/
|
|
80
|
+
declare function normalizeUrl(url: string): string;
|
|
81
|
+
|
|
82
|
+
export { type ParsedUrl, buildUrl, getQueryParams, isAbsoluteUrl, joinUrl, normalizeUrl, parseUrl, removeQueryParams, setQueryParams, updateQueryParams };
|
package/dist/url.d.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* URL解析结果
|
|
6
|
+
*/
|
|
7
|
+
interface ParsedUrl {
|
|
8
|
+
protocol: string;
|
|
9
|
+
host: string;
|
|
10
|
+
hostname: string;
|
|
11
|
+
port: string;
|
|
12
|
+
pathname: string;
|
|
13
|
+
search: string;
|
|
14
|
+
hash: string;
|
|
15
|
+
origin: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* URL解析
|
|
19
|
+
* @param url - URL字符串
|
|
20
|
+
* @returns 解析后的URL对象
|
|
21
|
+
*/
|
|
22
|
+
declare function parseUrl(url: string): ParsedUrl;
|
|
23
|
+
/**
|
|
24
|
+
* URL构建
|
|
25
|
+
* @param parts - URL组成部分
|
|
26
|
+
* @returns 构建后的URL字符串
|
|
27
|
+
*/
|
|
28
|
+
declare function buildUrl(parts: {
|
|
29
|
+
protocol?: string;
|
|
30
|
+
host?: string;
|
|
31
|
+
pathname?: string;
|
|
32
|
+
search?: string;
|
|
33
|
+
hash?: string;
|
|
34
|
+
}): string;
|
|
35
|
+
/**
|
|
36
|
+
* 获取查询参数
|
|
37
|
+
* @param url - URL字符串,默认为当前页面URL
|
|
38
|
+
* @returns 查询参数对象
|
|
39
|
+
*/
|
|
40
|
+
declare function getQueryParams(url?: string): Record<string, string>;
|
|
41
|
+
/**
|
|
42
|
+
* 设置查询参数
|
|
43
|
+
* @param url - URL字符串
|
|
44
|
+
* @param params - 查询参数对象
|
|
45
|
+
* @returns 设置后的URL字符串
|
|
46
|
+
*/
|
|
47
|
+
declare function setQueryParams(url: string, params: Record<string, string | number | boolean>): string;
|
|
48
|
+
/**
|
|
49
|
+
* 移除查询参数
|
|
50
|
+
* @param url - URL字符串
|
|
51
|
+
* @param keys - 要移除的查询参数键数组
|
|
52
|
+
* @returns 移除后的URL字符串
|
|
53
|
+
*/
|
|
54
|
+
declare function removeQueryParams(url: string, keys: string[]): string;
|
|
55
|
+
/**
|
|
56
|
+
* 更新查询参数
|
|
57
|
+
* @param url - URL字符串
|
|
58
|
+
* @param params - 要更新的查询参数对象
|
|
59
|
+
* @returns 更新后的URL字符串
|
|
60
|
+
*/
|
|
61
|
+
declare function updateQueryParams(url: string, params: Record<string, string | number | boolean | null>): string;
|
|
62
|
+
/**
|
|
63
|
+
* 判断是否为绝对URL
|
|
64
|
+
* @param url - URL字符串
|
|
65
|
+
* @returns 是否为绝对URL
|
|
66
|
+
*/
|
|
67
|
+
declare function isAbsoluteUrl(url: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* URL拼接
|
|
70
|
+
* @param baseUrl - 基础URL
|
|
71
|
+
* @param ...paths - 路径片段
|
|
72
|
+
* @returns 拼接后的URL
|
|
73
|
+
*/
|
|
74
|
+
declare function joinUrl(baseUrl: string, ...paths: string[]): string;
|
|
75
|
+
/**
|
|
76
|
+
* URL标准化
|
|
77
|
+
* @param url - URL字符串
|
|
78
|
+
* @returns 标准化后的URL
|
|
79
|
+
*/
|
|
80
|
+
declare function normalizeUrl(url: string): string;
|
|
81
|
+
|
|
82
|
+
export { type ParsedUrl, buildUrl, getQueryParams, isAbsoluteUrl, joinUrl, normalizeUrl, parseUrl, removeQueryParams, setQueryParams, updateQueryParams };
|
package/dist/url.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkKGFTD255_js = require('./chunk-KGFTD255.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "buildUrl", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkKGFTD255_js.buildUrl; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "getQueryParams", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return chunkKGFTD255_js.getQueryParams; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "isAbsoluteUrl", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return chunkKGFTD255_js.isAbsoluteUrl; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "joinUrl", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkKGFTD255_js.joinUrl; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "normalizeUrl", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return chunkKGFTD255_js.normalizeUrl; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, "parseUrl", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return chunkKGFTD255_js.parseUrl; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "removeQueryParams", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return chunkKGFTD255_js.removeQueryParams; }
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "setQueryParams", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return chunkKGFTD255_js.setQueryParams; }
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "updateQueryParams", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return chunkKGFTD255_js.updateQueryParams; }
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=url.js.map
|
|
44
|
+
//# sourceMappingURL=url.js.map
|
package/dist/url.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"url.js"}
|
package/dist/url.mjs
ADDED
package/dist/url.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"url.mjs"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 验证工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 验证邮箱格式
|
|
6
|
+
* @param email - 邮箱地址
|
|
7
|
+
* @returns 是否为有效邮箱
|
|
8
|
+
*/
|
|
9
|
+
declare function isValidEmail(email: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 验证手机号格式(中国大陆)
|
|
12
|
+
* @param phone - 手机号
|
|
13
|
+
* @returns 是否为有效手机号
|
|
14
|
+
*/
|
|
15
|
+
declare function isValidPhone(phone: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 验证URL格式
|
|
18
|
+
* @param url - URL地址
|
|
19
|
+
* @returns 是否为有效URL
|
|
20
|
+
*/
|
|
21
|
+
declare function isValidUrl(url: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* 验证身份证号格式(中国大陆18位)
|
|
24
|
+
* @param idCard - 身份证号
|
|
25
|
+
* @returns 是否为有效身份证号
|
|
26
|
+
*/
|
|
27
|
+
declare function isValidIdCard(idCard: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 验证是否为空值
|
|
30
|
+
* @param value - 待验证的值
|
|
31
|
+
* @returns 是否为空
|
|
32
|
+
*/
|
|
33
|
+
declare function isEmpty(value: unknown): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 验证UUID格式
|
|
36
|
+
* @param uuid - UUID字符串
|
|
37
|
+
* @returns 是否为有效UUID
|
|
38
|
+
*/
|
|
39
|
+
declare function isValidUUID(uuid: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 验证IP地址格式(IPv4)
|
|
42
|
+
* @param ip - IP地址
|
|
43
|
+
* @returns 是否为有效IP地址
|
|
44
|
+
*/
|
|
45
|
+
declare function isValidIP(ip: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 验证域名格式
|
|
48
|
+
* @param domain - 域名
|
|
49
|
+
* @returns 是否为有效域名
|
|
50
|
+
*/
|
|
51
|
+
declare function isValidDomain(domain: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 验证十六进制颜色格式
|
|
54
|
+
* @param color - 颜色值
|
|
55
|
+
* @returns 是否为有效十六进制颜色
|
|
56
|
+
*/
|
|
57
|
+
declare function isValidHexColor(color: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* 验证JSON字符串格式
|
|
60
|
+
* @param json - JSON字符串
|
|
61
|
+
* @returns 是否为有效JSON
|
|
62
|
+
*/
|
|
63
|
+
declare function isValidJSON(json: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 验证是否为数字
|
|
66
|
+
* @param value - 待验证的值
|
|
67
|
+
* @returns 是否为数字
|
|
68
|
+
*/
|
|
69
|
+
declare function isNumeric(value: unknown): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* 验证是否为整数
|
|
72
|
+
* @param value - 待验证的值
|
|
73
|
+
* @returns 是否为整数
|
|
74
|
+
*/
|
|
75
|
+
declare function isInteger(value: unknown): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* 验证是否为浮点数
|
|
78
|
+
* @param value - 待验证的值
|
|
79
|
+
* @returns 是否为浮点数
|
|
80
|
+
*/
|
|
81
|
+
declare function isFloat(value: unknown): boolean;
|
|
82
|
+
|
|
83
|
+
export { isEmpty, isFloat, isInteger, isNumeric, isValidDomain, isValidEmail, isValidHexColor, isValidIP, isValidIdCard, isValidJSON, isValidPhone, isValidUUID, isValidUrl };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 验证工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 验证邮箱格式
|
|
6
|
+
* @param email - 邮箱地址
|
|
7
|
+
* @returns 是否为有效邮箱
|
|
8
|
+
*/
|
|
9
|
+
declare function isValidEmail(email: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 验证手机号格式(中国大陆)
|
|
12
|
+
* @param phone - 手机号
|
|
13
|
+
* @returns 是否为有效手机号
|
|
14
|
+
*/
|
|
15
|
+
declare function isValidPhone(phone: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 验证URL格式
|
|
18
|
+
* @param url - URL地址
|
|
19
|
+
* @returns 是否为有效URL
|
|
20
|
+
*/
|
|
21
|
+
declare function isValidUrl(url: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* 验证身份证号格式(中国大陆18位)
|
|
24
|
+
* @param idCard - 身份证号
|
|
25
|
+
* @returns 是否为有效身份证号
|
|
26
|
+
*/
|
|
27
|
+
declare function isValidIdCard(idCard: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 验证是否为空值
|
|
30
|
+
* @param value - 待验证的值
|
|
31
|
+
* @returns 是否为空
|
|
32
|
+
*/
|
|
33
|
+
declare function isEmpty(value: unknown): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 验证UUID格式
|
|
36
|
+
* @param uuid - UUID字符串
|
|
37
|
+
* @returns 是否为有效UUID
|
|
38
|
+
*/
|
|
39
|
+
declare function isValidUUID(uuid: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 验证IP地址格式(IPv4)
|
|
42
|
+
* @param ip - IP地址
|
|
43
|
+
* @returns 是否为有效IP地址
|
|
44
|
+
*/
|
|
45
|
+
declare function isValidIP(ip: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 验证域名格式
|
|
48
|
+
* @param domain - 域名
|
|
49
|
+
* @returns 是否为有效域名
|
|
50
|
+
*/
|
|
51
|
+
declare function isValidDomain(domain: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 验证十六进制颜色格式
|
|
54
|
+
* @param color - 颜色值
|
|
55
|
+
* @returns 是否为有效十六进制颜色
|
|
56
|
+
*/
|
|
57
|
+
declare function isValidHexColor(color: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* 验证JSON字符串格式
|
|
60
|
+
* @param json - JSON字符串
|
|
61
|
+
* @returns 是否为有效JSON
|
|
62
|
+
*/
|
|
63
|
+
declare function isValidJSON(json: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 验证是否为数字
|
|
66
|
+
* @param value - 待验证的值
|
|
67
|
+
* @returns 是否为数字
|
|
68
|
+
*/
|
|
69
|
+
declare function isNumeric(value: unknown): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* 验证是否为整数
|
|
72
|
+
* @param value - 待验证的值
|
|
73
|
+
* @returns 是否为整数
|
|
74
|
+
*/
|
|
75
|
+
declare function isInteger(value: unknown): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* 验证是否为浮点数
|
|
78
|
+
* @param value - 待验证的值
|
|
79
|
+
* @returns 是否为浮点数
|
|
80
|
+
*/
|
|
81
|
+
declare function isFloat(value: unknown): boolean;
|
|
82
|
+
|
|
83
|
+
export { isEmpty, isFloat, isInteger, isNumeric, isValidDomain, isValidEmail, isValidHexColor, isValidIP, isValidIdCard, isValidJSON, isValidPhone, isValidUUID, isValidUrl };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkTQN37HIN_js = require('./chunk-TQN37HIN.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "isEmpty", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkTQN37HIN_js.isEmpty; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "isFloat", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return chunkTQN37HIN_js.isFloat; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "isInteger", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return chunkTQN37HIN_js.isInteger; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "isNumeric", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkTQN37HIN_js.isNumeric; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "isValidDomain", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return chunkTQN37HIN_js.isValidDomain; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, "isValidEmail", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return chunkTQN37HIN_js.isValidEmail; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "isValidHexColor", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return chunkTQN37HIN_js.isValidHexColor; }
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "isValidIP", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return chunkTQN37HIN_js.isValidIP; }
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "isValidIdCard", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return chunkTQN37HIN_js.isValidIdCard; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "isValidJSON", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return chunkTQN37HIN_js.isValidJSON; }
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(exports, "isValidPhone", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () { return chunkTQN37HIN_js.isValidPhone; }
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, "isValidUUID", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () { return chunkTQN37HIN_js.isValidUUID; }
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, "isValidUrl", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () { return chunkTQN37HIN_js.isValidUrl; }
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=validation.js.map
|
|
60
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"validation.js"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { isEmpty, isFloat, isInteger, isNumeric, isValidDomain, isValidEmail, isValidHexColor, isValidIP, isValidIdCard, isValidJSON, isValidPhone, isValidUUID, isValidUrl } from './chunk-NSSDYX2U.mjs';
|
|
2
|
+
//# sourceMappingURL=validation.mjs.map
|
|
3
|
+
//# sourceMappingURL=validation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"validation.mjs"}
|