@zcrkey/js-utils 0.0.12 → 0.0.15
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/dist/index.cjs.js +23 -0
- package/dist/index.es.js +5943 -0
- package/dist/index.umd.js +23 -0
- package/dist/types/color.d.ts +303 -0
- package/dist/{cjs → types}/eventCenter.d.ts +5 -5
- package/dist/types/file.d.ts +481 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/{esm → types}/obj.d.ts +1 -1
- package/dist/{esm → types}/storage.d.ts +1 -1
- package/dist/{cjs → types}/tree.d.ts +1 -1
- package/dist/{cjs → types}/util.d.ts +27 -7
- package/package.json +14 -19
- package/dist/cjs/color.d.ts +0 -195
- package/dist/cjs/color.js +0 -357
- package/dist/cjs/eventCenter.js +0 -120
- package/dist/cjs/file.d.ts +0 -71
- package/dist/cjs/file.js +0 -186
- package/dist/cjs/index.d.ts +0 -10
- package/dist/cjs/index.js +0 -57
- package/dist/cjs/obj.d.ts +0 -20
- package/dist/cjs/obj.js +0 -47
- package/dist/cjs/storage.d.ts +0 -44
- package/dist/cjs/storage.js +0 -118
- package/dist/cjs/tree.js +0 -179
- package/dist/cjs/util.js +0 -607
- package/dist/esm/color.d.ts +0 -195
- package/dist/esm/color.js +0 -500
- package/dist/esm/eventCenter.d.ts +0 -59
- package/dist/esm/eventCenter.js +0 -134
- package/dist/esm/file.d.ts +0 -71
- package/dist/esm/file.js +0 -268
- package/dist/esm/index.d.ts +0 -10
- package/dist/esm/index.js +0 -7
- package/dist/esm/obj.js +0 -41
- package/dist/esm/storage.js +0 -130
- package/dist/esm/tree.d.ts +0 -52
- package/dist/esm/tree.js +0 -214
- package/dist/esm/util.d.ts +0 -221
- package/dist/esm/util.js +0 -744
- package/dist/umd/index.umd.js +0 -1
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件类型
|
|
3
|
+
* - `UNKNOWN` 未知
|
|
4
|
+
* - `IMAGE` 图片
|
|
5
|
+
* - `VIDEO` 视频
|
|
6
|
+
* - `AUDIO` 音频
|
|
7
|
+
* - `DOCUMENT` 文档
|
|
8
|
+
* - `CAD` CAD / 工程图
|
|
9
|
+
* - `MODEL_3D` 3D 模型
|
|
10
|
+
* - `DIAGRAM` 流程图 / 思维导图
|
|
11
|
+
* - `ARCHIVE` 压缩包
|
|
12
|
+
*/
|
|
13
|
+
export declare enum FileTypeEnum {
|
|
14
|
+
/** 未知类型 */
|
|
15
|
+
UNKNOWN = "unknown",
|
|
16
|
+
/** 图片,如 jpg、png、svg */
|
|
17
|
+
IMAGE = "image",
|
|
18
|
+
/** 视频,如 mp4、webm、avi */
|
|
19
|
+
VIDEO = "video",
|
|
20
|
+
/** 音频,如 mp3、wav、flac */
|
|
21
|
+
AUDIO = "audio",
|
|
22
|
+
/** 文档,如 Office、PDF、代码、配置、电子书 */
|
|
23
|
+
DOCUMENT = "document",
|
|
24
|
+
/** 压缩包,如 zip、rar、7z */
|
|
25
|
+
ARCHIVE = "archive",
|
|
26
|
+
/** CAD / 工程图,如 dwg、dxf */
|
|
27
|
+
CAD = "cad",
|
|
28
|
+
/** 3D 模型,如 glb、obj、stl */
|
|
29
|
+
MODEL_3D = "model_3d",
|
|
30
|
+
/** 流程图 / 思维导图,如 vsdx、drawio、xmind */
|
|
31
|
+
DIAGRAM = "diagram"
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 图片细分类型。
|
|
35
|
+
*/
|
|
36
|
+
export declare enum ImageTypeEnum {
|
|
37
|
+
JPG = "jpg",
|
|
38
|
+
JPEG = "jpeg",
|
|
39
|
+
PNG = "png",
|
|
40
|
+
WEBP = "webp",
|
|
41
|
+
GIF = "gif",
|
|
42
|
+
SVG = "svg",
|
|
43
|
+
BMP = "bmp",
|
|
44
|
+
PSD = "psd",
|
|
45
|
+
TIF = "tif",
|
|
46
|
+
TIFF = "tiff",
|
|
47
|
+
TGA = "tga",
|
|
48
|
+
EMF = "emf",
|
|
49
|
+
WMF = "wmf",
|
|
50
|
+
ICO = "ico",
|
|
51
|
+
HEIC = "heic",
|
|
52
|
+
AVIF = "avif",
|
|
53
|
+
UNKNOWN = "unknown"
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 视频细分类型。
|
|
57
|
+
*/
|
|
58
|
+
export declare enum VideoTypeEnum {
|
|
59
|
+
MP4 = "mp4",
|
|
60
|
+
WEBM = "webm",
|
|
61
|
+
AVI = "avi",
|
|
62
|
+
M4V = "m4v",
|
|
63
|
+
MPG = "mpg",
|
|
64
|
+
MPEG = "mpeg",
|
|
65
|
+
M2V = "m2v",
|
|
66
|
+
M4P = "m4p",
|
|
67
|
+
OGV = "ogv",
|
|
68
|
+
WMV = "wmv",
|
|
69
|
+
MKV = "mkv",
|
|
70
|
+
MOV = "mov",
|
|
71
|
+
FLV = "flv",
|
|
72
|
+
UNKNOWN = "unknown"
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* 音频细分类型。
|
|
76
|
+
*/
|
|
77
|
+
export declare enum AudioTypeEnum {
|
|
78
|
+
MP3 = "mp3",
|
|
79
|
+
M4A = "m4a",
|
|
80
|
+
WAV = "wav",
|
|
81
|
+
AAC = "aac",
|
|
82
|
+
OGG = "ogg",
|
|
83
|
+
FLAC = "flac",
|
|
84
|
+
AC3 = "ac3",
|
|
85
|
+
AU = "au",
|
|
86
|
+
WMA = "wma",
|
|
87
|
+
AIF = "aif",
|
|
88
|
+
AIFC = "aifc",
|
|
89
|
+
AIFF = "aiff",
|
|
90
|
+
UNKNOWN = "unknown"
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 文档细分类型。
|
|
94
|
+
*/
|
|
95
|
+
export declare enum DocumentTypeEnum {
|
|
96
|
+
PDF = "pdf",
|
|
97
|
+
OFD = "ofd",
|
|
98
|
+
DOC = "doc",
|
|
99
|
+
DOCX = "docx",
|
|
100
|
+
DOT = "dot",
|
|
101
|
+
DOTX = "dotx",
|
|
102
|
+
DOTM = "dotm",
|
|
103
|
+
DOCM = "docm",
|
|
104
|
+
WPS = "wps",
|
|
105
|
+
WPT = "wpt",
|
|
106
|
+
RTF = "rtf",
|
|
107
|
+
XLS = "xls",
|
|
108
|
+
XLSX = "xlsx",
|
|
109
|
+
XLSM = "xlsm",
|
|
110
|
+
XLT = "xlt",
|
|
111
|
+
XLTX = "xltx",
|
|
112
|
+
XLTM = "xltm",
|
|
113
|
+
ODS = "ods",
|
|
114
|
+
OTS = "ots",
|
|
115
|
+
FODS = "fods",
|
|
116
|
+
XLA = "xla",
|
|
117
|
+
XLAM = "xlam",
|
|
118
|
+
ET = "et",
|
|
119
|
+
ETT = "ett",
|
|
120
|
+
CSV = "csv",
|
|
121
|
+
PPT = "ppt",
|
|
122
|
+
PPTX = "pptx",
|
|
123
|
+
DPS = "dps",
|
|
124
|
+
DPT = "dpt",
|
|
125
|
+
PPTM = "pptm",
|
|
126
|
+
POT = "pot",
|
|
127
|
+
POTX = "potx",
|
|
128
|
+
POTM = "potm",
|
|
129
|
+
ODP = "odp",
|
|
130
|
+
OTP = "otp",
|
|
131
|
+
FODP = "fodp",
|
|
132
|
+
TXT = "txt",
|
|
133
|
+
MD = "md",
|
|
134
|
+
MARKDOWN = "markdown",
|
|
135
|
+
MDOWN = "mdown",
|
|
136
|
+
MKD = "mkd",
|
|
137
|
+
MKDN = "mkdn",
|
|
138
|
+
MDWN = "mdwn",
|
|
139
|
+
MDTXT = "mdtxt",
|
|
140
|
+
MDX = "mdx",
|
|
141
|
+
HTML = "html",
|
|
142
|
+
HTM = "htm",
|
|
143
|
+
XML = "xml",
|
|
144
|
+
XSD = "xsd",
|
|
145
|
+
XSL = "xsl",
|
|
146
|
+
XSLT = "xslt",
|
|
147
|
+
TEX = "tex",
|
|
148
|
+
LTX = "ltx",
|
|
149
|
+
BIB = "bib",
|
|
150
|
+
CLS = "cls",
|
|
151
|
+
STY = "sty",
|
|
152
|
+
INS = "ins",
|
|
153
|
+
DTX = "dtx",
|
|
154
|
+
RST = "rst",
|
|
155
|
+
LOG = "log",
|
|
156
|
+
CONF = "conf",
|
|
157
|
+
JS = "js",
|
|
158
|
+
JSX = "jsx",
|
|
159
|
+
MJS = "mjs",
|
|
160
|
+
CJS = "cjs",
|
|
161
|
+
TS = "ts",
|
|
162
|
+
TSX = "tsx",
|
|
163
|
+
VUE = "vue",
|
|
164
|
+
SVELTE = "svelte",
|
|
165
|
+
CSS = "css",
|
|
166
|
+
SCSS = "scss",
|
|
167
|
+
SASS = "sass",
|
|
168
|
+
LESS = "less",
|
|
169
|
+
JAVA = "java",
|
|
170
|
+
JSP = "jsp",
|
|
171
|
+
JSPX = "jspx",
|
|
172
|
+
JHTML = "jhtml",
|
|
173
|
+
TAG = "tag",
|
|
174
|
+
GROOVY = "groovy",
|
|
175
|
+
GVY = "gvy",
|
|
176
|
+
GSH = "gsh",
|
|
177
|
+
GRVY = "grvy",
|
|
178
|
+
SCALA = "scala",
|
|
179
|
+
SC = "sc",
|
|
180
|
+
KT = "kt",
|
|
181
|
+
KTS = "kts",
|
|
182
|
+
C = "c",
|
|
183
|
+
CPP = "cpp",
|
|
184
|
+
CC = "cc",
|
|
185
|
+
CXX = "cxx",
|
|
186
|
+
H = "h",
|
|
187
|
+
HPP = "hpp",
|
|
188
|
+
HXX = "hxx",
|
|
189
|
+
HH = "hh",
|
|
190
|
+
CS = "cs",
|
|
191
|
+
CSHTML = "cshtml",
|
|
192
|
+
RAZOR = "razor",
|
|
193
|
+
PY = "py",
|
|
194
|
+
PYW = "pyw",
|
|
195
|
+
PYT = "pyt",
|
|
196
|
+
PYX = "pyx",
|
|
197
|
+
PYO = "pyo",
|
|
198
|
+
RPY = "rpy",
|
|
199
|
+
GO = "go",
|
|
200
|
+
GOMOD = "gomod",
|
|
201
|
+
GOHTML = "gohtml",
|
|
202
|
+
PHP = "php",
|
|
203
|
+
PHP3 = "php3",
|
|
204
|
+
PHP4 = "php4",
|
|
205
|
+
PHP5 = "php5",
|
|
206
|
+
PHTML = "phtml",
|
|
207
|
+
PHPT = "phpt",
|
|
208
|
+
RB = "rb",
|
|
209
|
+
RAKE = "rake",
|
|
210
|
+
THOR = "thor",
|
|
211
|
+
RU = "ru",
|
|
212
|
+
LUA = "lua",
|
|
213
|
+
R = "r",
|
|
214
|
+
RMD = "rmd",
|
|
215
|
+
RNW = "rnw",
|
|
216
|
+
RS = "rs",
|
|
217
|
+
SWIFT = "swift",
|
|
218
|
+
DART = "dart",
|
|
219
|
+
PL = "pl",
|
|
220
|
+
PM = "pm",
|
|
221
|
+
T = "t",
|
|
222
|
+
POD = "pod",
|
|
223
|
+
ERL = "erl",
|
|
224
|
+
HRL = "hrl",
|
|
225
|
+
EX = "ex",
|
|
226
|
+
EXS = "exs",
|
|
227
|
+
HS = "hs",
|
|
228
|
+
LHS = "lhs",
|
|
229
|
+
SH = "sh",
|
|
230
|
+
BASH = "bash",
|
|
231
|
+
ZSH = "zsh",
|
|
232
|
+
FISH = "fish",
|
|
233
|
+
KSH = "ksh",
|
|
234
|
+
CSH = "csh",
|
|
235
|
+
TCSH = "tcsh",
|
|
236
|
+
BASHRC = "bashrc",
|
|
237
|
+
BASH_PROFILE = "bash_profile",
|
|
238
|
+
CMD = "cmd",
|
|
239
|
+
ASM = "asm",
|
|
240
|
+
S = "s",
|
|
241
|
+
M = "m",
|
|
242
|
+
MM = "mm",
|
|
243
|
+
OBJC = "objc",
|
|
244
|
+
OBJCPP = "objcpp",
|
|
245
|
+
JSON = "json",
|
|
246
|
+
GEOJSON = "geojson",
|
|
247
|
+
LDJSON = "ldjson",
|
|
248
|
+
JSON5 = "json5",
|
|
249
|
+
YAML = "yaml",
|
|
250
|
+
YML = "yml",
|
|
251
|
+
SQL = "sql",
|
|
252
|
+
PGSQL = "pgsql",
|
|
253
|
+
SQLITE = "sqlite",
|
|
254
|
+
DB = "db",
|
|
255
|
+
DB3 = "db3",
|
|
256
|
+
DSQL = "dsql",
|
|
257
|
+
GRADLE = "gradle",
|
|
258
|
+
CMAKE = "cmake",
|
|
259
|
+
GYP = "gyp",
|
|
260
|
+
TF = "tf",
|
|
261
|
+
TFVARS = "tfvars",
|
|
262
|
+
HCL = "hcl",
|
|
263
|
+
DOCKERFILE = "dockerfile",
|
|
264
|
+
GITIGNORE = "gitignore",
|
|
265
|
+
NGINX = "nginx",
|
|
266
|
+
EJS = "ejs",
|
|
267
|
+
JADE = "jade",
|
|
268
|
+
PUG = "pug",
|
|
269
|
+
VBHTML = "vbhtml",
|
|
270
|
+
SCHEMA = "schema",
|
|
271
|
+
HTTP = "http",
|
|
272
|
+
REST = "rest",
|
|
273
|
+
EPUB = "epub",
|
|
274
|
+
UNKNOWN = "unknown"
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* 压缩包细分类型。
|
|
278
|
+
*/
|
|
279
|
+
export declare enum ArchiveTypeEnum {
|
|
280
|
+
ZIP = "zip",
|
|
281
|
+
JAR = "jar",
|
|
282
|
+
RAR = "rar",
|
|
283
|
+
SEVEN_Z = "7z",
|
|
284
|
+
TAR = "tar",
|
|
285
|
+
TAR_GZ = "tar.gz",
|
|
286
|
+
TGZ = "tgz",
|
|
287
|
+
GZ = "gz",
|
|
288
|
+
UNKNOWN = "unknown"
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* CAD / 工程图细分类型。
|
|
292
|
+
*/
|
|
293
|
+
export declare enum CadTypeEnum {
|
|
294
|
+
DWG = "dwg",
|
|
295
|
+
DXF = "dxf",
|
|
296
|
+
UNKNOWN = "unknown"
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* 3D 模型细分类型。
|
|
300
|
+
*/
|
|
301
|
+
export declare enum Model3DTypeEnum {
|
|
302
|
+
GLTF = "gltf",
|
|
303
|
+
GLB = "glb",
|
|
304
|
+
OBJ = "obj",
|
|
305
|
+
STL = "stl",
|
|
306
|
+
FBX = "fbx",
|
|
307
|
+
PLY = "ply",
|
|
308
|
+
DAE = "dae",
|
|
309
|
+
WRL = "wrl",
|
|
310
|
+
THREE_DS = "3ds",
|
|
311
|
+
THREE_MF = "3mf",
|
|
312
|
+
THREE_DM = "3dm",
|
|
313
|
+
UNKNOWN = "unknown"
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* 流程图 / 思维导图细分类型。
|
|
317
|
+
*/
|
|
318
|
+
export declare enum DiagramTypeEnum {
|
|
319
|
+
VSD = "vsd",
|
|
320
|
+
VSDM = "vsdm",
|
|
321
|
+
VSDX = "vsdx",
|
|
322
|
+
VSSM = "vssm",
|
|
323
|
+
VSSX = "vssx",
|
|
324
|
+
VSTM = "vstm",
|
|
325
|
+
VSTX = "vstx",
|
|
326
|
+
BPMN = "bpmn",
|
|
327
|
+
DRAWIO = "drawio",
|
|
328
|
+
XMIND = "xmind",
|
|
329
|
+
UNKNOWN = "unknown"
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* 所有文件细分类型的统一联合类型。
|
|
333
|
+
*/
|
|
334
|
+
export type CrFileSubType = ImageTypeEnum | VideoTypeEnum | AudioTypeEnum | DocumentTypeEnum | ArchiveTypeEnum | CadTypeEnum | Model3DTypeEnum | DiagramTypeEnum;
|
|
335
|
+
/**
|
|
336
|
+
* 文件元信息。
|
|
337
|
+
*/
|
|
338
|
+
export interface CrFileMeta {
|
|
339
|
+
/** 归一化后的扩展名,不包含点;复合后缀保留为 tar.gz */
|
|
340
|
+
ext: string;
|
|
341
|
+
/** 文件大类 */
|
|
342
|
+
type: FileTypeEnum;
|
|
343
|
+
/** 图片细分类,仅 IMAGE 类型有效 */
|
|
344
|
+
imageType?: ImageTypeEnum;
|
|
345
|
+
/** 视频细分类,仅 VIDEO 类型有效 */
|
|
346
|
+
videoType?: VideoTypeEnum;
|
|
347
|
+
/** 音频细分类,仅 AUDIO 类型有效 */
|
|
348
|
+
audioType?: AudioTypeEnum;
|
|
349
|
+
/** 文档细分类,仅 DOCUMENT 类型有效 */
|
|
350
|
+
documentType?: DocumentTypeEnum;
|
|
351
|
+
/** 压缩包细分类,仅 ARCHIVE 类型有效 */
|
|
352
|
+
archiveType?: ArchiveTypeEnum;
|
|
353
|
+
/** CAD 细分类,仅 CAD 类型有效 */
|
|
354
|
+
cadType?: CadTypeEnum;
|
|
355
|
+
/** 3D 模型细分类,仅 MODEL_3D 类型有效 */
|
|
356
|
+
model3DType?: Model3DTypeEnum;
|
|
357
|
+
/** 流程图 / 思维导图细分类,仅 DIAGRAM 类型有效 */
|
|
358
|
+
diagramType?: DiagramTypeEnum;
|
|
359
|
+
/** 统一细分类入口,等于当前大类对应的 xxxType 字段 */
|
|
360
|
+
subType?: CrFileSubType;
|
|
361
|
+
}
|
|
362
|
+
export declare class CrFileUtil {
|
|
363
|
+
/**
|
|
364
|
+
* 提取文件扩展名,不包含点。
|
|
365
|
+
*
|
|
366
|
+
* 未知或空文件名返回空字符串;复合后缀 tar.gz 会完整保留。
|
|
367
|
+
*/
|
|
368
|
+
static getExt(filename?: string): string;
|
|
369
|
+
/**
|
|
370
|
+
* 获取文件完整元信息。
|
|
371
|
+
*
|
|
372
|
+
* 未识别扩展名会返回 UNKNOWN 大类,并保留原始扩展名。
|
|
373
|
+
*/
|
|
374
|
+
static getMeta(filename: string): CrFileMeta;
|
|
375
|
+
/**
|
|
376
|
+
* 获取文件大类。
|
|
377
|
+
*/
|
|
378
|
+
static getType(filename: string): FileTypeEnum;
|
|
379
|
+
/**
|
|
380
|
+
* 获取统一细分类型。
|
|
381
|
+
*
|
|
382
|
+
* 未知格式返回 undefined。
|
|
383
|
+
*/
|
|
384
|
+
static getSubType(filename: string): CrFileSubType | undefined;
|
|
385
|
+
/**
|
|
386
|
+
* 获取文档细分类型。
|
|
387
|
+
*
|
|
388
|
+
* 非文档或未知格式返回 DocumentTypeEnum.UNKNOWN。
|
|
389
|
+
*/
|
|
390
|
+
static getDocumentType(filename: string): DocumentTypeEnum;
|
|
391
|
+
/**
|
|
392
|
+
* 获取图片细分类型。
|
|
393
|
+
*
|
|
394
|
+
* 非图片或未知格式返回 ImageTypeEnum.UNKNOWN。
|
|
395
|
+
*/
|
|
396
|
+
static getImageType(filename: string): ImageTypeEnum;
|
|
397
|
+
/**
|
|
398
|
+
* 获取视频细分类型。
|
|
399
|
+
*
|
|
400
|
+
* 非视频或未知格式返回 VideoTypeEnum.UNKNOWN。
|
|
401
|
+
*/
|
|
402
|
+
static getVideoType(filename: string): VideoTypeEnum;
|
|
403
|
+
/**
|
|
404
|
+
* 获取音频细分类型。
|
|
405
|
+
*
|
|
406
|
+
* 非音频或未知格式返回 AudioTypeEnum.UNKNOWN。
|
|
407
|
+
*/
|
|
408
|
+
static getAudioType(filename: string): AudioTypeEnum;
|
|
409
|
+
/**
|
|
410
|
+
* 获取压缩包细分类型。
|
|
411
|
+
*
|
|
412
|
+
* 非压缩包或未知格式返回 ArchiveTypeEnum.UNKNOWN。
|
|
413
|
+
*/
|
|
414
|
+
static getArchiveType(filename: string): ArchiveTypeEnum;
|
|
415
|
+
/**
|
|
416
|
+
* 获取 CAD 细分类型。
|
|
417
|
+
*
|
|
418
|
+
* 非 CAD 或未知格式返回 CadTypeEnum.UNKNOWN。
|
|
419
|
+
*/
|
|
420
|
+
static getCadType(filename: string): CadTypeEnum;
|
|
421
|
+
/**
|
|
422
|
+
* 获取 3D 模型细分类型。
|
|
423
|
+
*
|
|
424
|
+
* 非 3D 模型或未知格式返回 Model3DTypeEnum.UNKNOWN。
|
|
425
|
+
*/
|
|
426
|
+
static getModel3DType(filename: string): Model3DTypeEnum;
|
|
427
|
+
/**
|
|
428
|
+
* 获取流程图 / 思维导图细分类型。
|
|
429
|
+
*
|
|
430
|
+
* 非流程图或未知格式返回 DiagramTypeEnum.UNKNOWN。
|
|
431
|
+
*/
|
|
432
|
+
static getDiagramType(filename: string): DiagramTypeEnum;
|
|
433
|
+
/**
|
|
434
|
+
* 格式化文件大小。
|
|
435
|
+
*
|
|
436
|
+
* @param bytes 文件字节数
|
|
437
|
+
* @param fixed 小数位数
|
|
438
|
+
*
|
|
439
|
+
* @example
|
|
440
|
+
* 0 => 0 B
|
|
441
|
+
* 123 => 123.00B
|
|
442
|
+
* 1024 => 1.00KB
|
|
443
|
+
* 1500 => 1.46KB
|
|
444
|
+
* 1024 * 1024 => 1.00MB
|
|
445
|
+
* 1024 * 1024 * 3.5 => 3.50MB
|
|
446
|
+
* 1024 * 1024 * 1024 => 1.00GB
|
|
447
|
+
*/
|
|
448
|
+
static formatFileSize(bytes: number, fixed?: number): string;
|
|
449
|
+
/**
|
|
450
|
+
* 判断是否为图片。
|
|
451
|
+
*/
|
|
452
|
+
static isImage(filename: string): boolean;
|
|
453
|
+
/**
|
|
454
|
+
* 判断是否为视频。
|
|
455
|
+
*/
|
|
456
|
+
static isVideo(filename: string): boolean;
|
|
457
|
+
/**
|
|
458
|
+
* 判断是否为音频。
|
|
459
|
+
*/
|
|
460
|
+
static isAudio(filename: string): boolean;
|
|
461
|
+
/**
|
|
462
|
+
* 判断是否为文档。
|
|
463
|
+
*/
|
|
464
|
+
static isDocument(filename: string): boolean;
|
|
465
|
+
/**
|
|
466
|
+
* 判断是否为压缩包。
|
|
467
|
+
*/
|
|
468
|
+
static isArchive(filename: string): boolean;
|
|
469
|
+
/**
|
|
470
|
+
* 判断是否为 CAD / 工程图。
|
|
471
|
+
*/
|
|
472
|
+
static isCad(filename: string): boolean;
|
|
473
|
+
/**
|
|
474
|
+
* 判断是否为 3D 模型。
|
|
475
|
+
*/
|
|
476
|
+
static is3DModel(filename: string): boolean;
|
|
477
|
+
/**
|
|
478
|
+
* 判断是否为流程图 / 思维导图。
|
|
479
|
+
*/
|
|
480
|
+
static isDiagram(filename: string): boolean;
|
|
481
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare class CrUtil {
|
|
2
2
|
/**
|
|
3
3
|
* 判断是否为数组
|
|
4
4
|
* @param value
|
|
@@ -17,6 +17,12 @@ export default class CrUtil {
|
|
|
17
17
|
* @returns boolean
|
|
18
18
|
*/
|
|
19
19
|
static isEmptyObject(value: object): value is Record<string | number, never>;
|
|
20
|
+
/**
|
|
21
|
+
* 判断是否为空
|
|
22
|
+
* @param value
|
|
23
|
+
* @returns boolean
|
|
24
|
+
*/
|
|
25
|
+
static isEmptyVal(value: unknown): boolean;
|
|
20
26
|
/**
|
|
21
27
|
* 判断是否对象的属性是否全部为空
|
|
22
28
|
* @param value
|
|
@@ -59,6 +65,18 @@ export default class CrUtil {
|
|
|
59
65
|
* @returns boolean
|
|
60
66
|
*/
|
|
61
67
|
static isFunction(value: unknown): value is (...args: any[]) => any;
|
|
68
|
+
/**
|
|
69
|
+
* 是否为 URL
|
|
70
|
+
* @param path
|
|
71
|
+
* @returns boolean
|
|
72
|
+
*/
|
|
73
|
+
static isUrl(path: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* 是否为十六进制颜色值
|
|
76
|
+
* @param color 十六进制颜色值(#fff000、#f00)
|
|
77
|
+
* @returns boolean
|
|
78
|
+
*/
|
|
79
|
+
static isHexColor(color: string): boolean;
|
|
62
80
|
/**
|
|
63
81
|
* 去掉字符串前后所有空格
|
|
64
82
|
* @param str
|
|
@@ -74,14 +92,14 @@ export default class CrUtil {
|
|
|
74
92
|
/**
|
|
75
93
|
* 深拷贝
|
|
76
94
|
* @param value
|
|
77
|
-
* @returns
|
|
95
|
+
* @returns T
|
|
78
96
|
*/
|
|
79
97
|
static cloneDeep<T>(value: T): T;
|
|
80
98
|
/**
|
|
81
99
|
* 深拷贝
|
|
82
100
|
* @param target
|
|
83
101
|
* @deprecated 即将移除,使用 {@link CrUtil.cloneDeep} 替代
|
|
84
|
-
* @returns
|
|
102
|
+
* @returns T
|
|
85
103
|
*/
|
|
86
104
|
static deepCopy<T = any>(target: T): T;
|
|
87
105
|
/**
|
|
@@ -176,7 +194,9 @@ export default class CrUtil {
|
|
|
176
194
|
* 根据 ids 获取相对应的数据名称
|
|
177
195
|
* @param data
|
|
178
196
|
* @param ids
|
|
179
|
-
* @param settings
|
|
197
|
+
* @param settings.sep
|
|
198
|
+
* @param settings.nameField
|
|
199
|
+
* @param settings.idField
|
|
180
200
|
* @returns string
|
|
181
201
|
*/
|
|
182
202
|
static getDataNameByIds<T extends Record<string, any>>(data: T[], ids: (string | number)[], settings?: {
|
|
@@ -197,7 +217,7 @@ export default class CrUtil {
|
|
|
197
217
|
* 比较数据差异
|
|
198
218
|
* @param data1
|
|
199
219
|
* @param data2
|
|
200
|
-
* @returns
|
|
220
|
+
* @returns Record<string, "added" | "removed" | "modified">
|
|
201
221
|
*/
|
|
202
222
|
static compareDataDiff(data1: any, data2: any): Record<string, "added" | "removed" | "modified">;
|
|
203
223
|
/**
|
|
@@ -209,13 +229,13 @@ export default class CrUtil {
|
|
|
209
229
|
/**
|
|
210
230
|
* 格式化为千分位格式
|
|
211
231
|
* @param value
|
|
212
|
-
* @returns
|
|
232
|
+
* @returns 12345.6789 => 12,345.6789
|
|
213
233
|
*/
|
|
214
234
|
static formatThousands(value?: string | number): string;
|
|
215
235
|
/**
|
|
216
236
|
* 解析千分位格式
|
|
217
237
|
* @param value
|
|
218
|
-
* @returns
|
|
238
|
+
* @returns 12,345.6789 => 12345.6789
|
|
219
239
|
*/
|
|
220
240
|
static parseThousands(value?: string | number): string;
|
|
221
241
|
}
|
package/package.json
CHANGED
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zcrkey/js-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
|
+
"private": false,
|
|
4
5
|
"description": "一个 javascript 实用函数库",
|
|
5
6
|
"keywords": [
|
|
6
7
|
"js"
|
|
7
8
|
],
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "https://cnb.cool/cnbkey/zcrkey/js-utils.git"
|
|
11
|
-
},
|
|
12
|
-
"license": "MIT",
|
|
13
9
|
"exports": {
|
|
14
10
|
".": {
|
|
15
|
-
"
|
|
16
|
-
"import": "./dist/
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"import": "./dist/index.es.js",
|
|
13
|
+
"require": "./dist/index.cjs.js"
|
|
17
14
|
}
|
|
18
15
|
},
|
|
19
|
-
"main": "dist/
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"types": "dist/
|
|
16
|
+
"main": "dist/index.cjs.js",
|
|
17
|
+
"module": "dist/index.es.js",
|
|
18
|
+
"unpkg": "dist/index.umd.js",
|
|
19
|
+
"types": "dist/types/index.d.ts",
|
|
20
|
+
"source": "src/index.ts",
|
|
23
21
|
"files": [
|
|
24
|
-
"
|
|
25
|
-
"
|
|
22
|
+
"README.html",
|
|
23
|
+
"dist"
|
|
26
24
|
],
|
|
27
25
|
"dependencies": {
|
|
28
|
-
"lodash": "^4.
|
|
29
|
-
"qs": "^6.
|
|
30
|
-
},
|
|
31
|
-
"publishConfig": {
|
|
32
|
-
"access": "public"
|
|
26
|
+
"lodash": "^4.18.1",
|
|
27
|
+
"qs": "^6.15.1"
|
|
33
28
|
},
|
|
34
29
|
"authors": [
|
|
35
30
|
"zcr[774508556@qq.com]"
|