@minto-ai/tools 1.0.3 → 1.0.34
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 +0 -117
- package/dist/file/__test__/get-file-suffix.test.d.ts +1 -0
- package/dist/file/__test__/is-file-path.test.d.ts +1 -0
- package/dist/file/extends/enum.d.ts +4 -16
- package/dist/file/extends/regex.d.ts +2 -3
- package/dist/file/index.d.ts +4 -7
- package/dist/file/is-music-file-path.d.ts +8 -0
- package/dist/file/types/index.d.ts +3 -13
- package/dist/index.js +23 -72
- package/package.json +1 -1
- package/dist/file/get-file-feed-type.d.ts +0 -9
- package/dist/file/get-file-item-icon.d.ts +0 -9
- package/dist/file/get-file-item-suffix.d.ts +0 -9
package/README.md
CHANGED
|
@@ -806,37 +806,8 @@ console.log(uuid) // 输出类似于 "1gann4cq9b6r"
|
|
|
806
806
|
| `XLS` | `xls` | Excel 工作簿 |
|
|
807
807
|
| `XLSX` | `xlsx` | Excel 工作簿 (XML 格式) |
|
|
808
808
|
|
|
809
|
-
#### `FileItemFeedTypeEnum`
|
|
810
|
-
|
|
811
|
-
一个枚举类型,用于表示文件喂养类型
|
|
812
|
-
|
|
813
|
-
| 枚举键名 | 值 | 描述 |
|
|
814
|
-
| ------------- | ---- | ----------------------------- |
|
|
815
|
-
| `ALL` | ` ` | 所有类型内容 |
|
|
816
|
-
| `DOCUMENT` | `0` | 文档类型内容 |
|
|
817
|
-
| `TEXT` | `1` | 纯文本内容 |
|
|
818
|
-
| `IMG` | `2` | 图片类型内容 |
|
|
819
|
-
| `VIDEO` | `3` | 视频类型内容 |
|
|
820
|
-
| `PPT` | `4` | 幻灯片(PPT)类型内容 |
|
|
821
|
-
| `QA` | `5` | 问答(QA)类型内容 |
|
|
822
|
-
| `AUDIO` | `6` | 音频类型内容 |
|
|
823
|
-
| `MUSIC` | `7` | 音乐类型内容 |
|
|
824
|
-
| `AUTOHTML` | `8` | 自动生成的 HTML 内容 |
|
|
825
|
-
| `TWEET` | `9` | 社交媒体推文(Tweet)类型内容 |
|
|
826
|
-
| `COMIC_STRIP` | `10` | 漫画(Comic Strip)类型内容 |
|
|
827
|
-
|
|
828
809
|
### 类型
|
|
829
810
|
|
|
830
|
-
#### `IFileItem`
|
|
831
|
-
|
|
832
|
-
`IFileItem` 是一个用于描述文件信息的接口,包含文件的基本信息和相关 URL。
|
|
833
|
-
| 属性名 | 类型 | 描述 |
|
|
834
|
-
|----------|-----------|---------------------|
|
|
835
|
-
| `title` | `string` | 文件的标题或名称,用于显示。 |
|
|
836
|
-
| `viewUrl` | `string` | 文件在Obs服务器上原始地址 |
|
|
837
|
-
|`createTime`|`string`|文件创建时间|
|
|
838
|
-
|`feedType`|`FileItemFeedType`|文件喂养类型|
|
|
839
|
-
|
|
840
811
|
#### `FileSuffix`
|
|
841
812
|
|
|
842
813
|
`FileSuffix` 是一个基于 `FileSuffixEnum` 枚举的类型别名,用于表示文件后缀。
|
|
@@ -857,10 +828,6 @@ console.log(uuid) // 输出类似于 "1gann4cq9b6r"
|
|
|
857
828
|
|
|
858
829
|
`DocumentFileSuffix` 是一个基于 `DocumentFileSuffixEnum` 枚举的类型别名,用于表示文档文件后缀。
|
|
859
830
|
|
|
860
|
-
#### `FileItemFeedType`
|
|
861
|
-
|
|
862
|
-
`FileItemFeedType` 是一个基于 `FileItemFeedTypeEnum` 枚举的类型别名,用于表示文件类型。
|
|
863
|
-
|
|
864
831
|
### `getFileSuffix`
|
|
865
832
|
|
|
866
833
|
> `function getFileSuffix(filePath: string): FileSuffix`
|
|
@@ -1099,90 +1066,6 @@ console.log(getFileIcon('/path/to/file.pdf')) // 返回 pdfIcon 的路径
|
|
|
1099
1066
|
console.log(getFileIcon('/path/to/file.txt')) // 返回 txtIcon 的路径
|
|
1100
1067
|
```
|
|
1101
1068
|
|
|
1102
|
-
### `getFileItemSuffix`
|
|
1103
|
-
|
|
1104
|
-
> `function getFileItemSuffix(fileItem: IFileItem): FileSuffix`
|
|
1105
|
-
|
|
1106
|
-
从文件实例中提取文件类型后缀。该函数内部包含多种逻辑,可以直接调用或根据需求进行修改。
|
|
1107
|
-
|
|
1108
|
-
#### 参数
|
|
1109
|
-
|
|
1110
|
-
- `fileItem(IFileItem)`: 文件实例,包含文件的基本信息和路径。
|
|
1111
|
-
|
|
1112
|
-
#### 返回
|
|
1113
|
-
|
|
1114
|
-
`(FileSuffix)`: 文件类型后缀。如果无法提取有效后缀,则返回空字符串。
|
|
1115
|
-
|
|
1116
|
-
#### 示例
|
|
1117
|
-
|
|
1118
|
-
```typescript
|
|
1119
|
-
import { getFileItemSuffix } from '@minto-ai/tools'
|
|
1120
|
-
|
|
1121
|
-
console.log(
|
|
1122
|
-
getFileItemSuffix({
|
|
1123
|
-
title: 'pdf文件',
|
|
1124
|
-
viewUrl: '/path/to/file.pdf',
|
|
1125
|
-
createTime: '2024-03-19 20:37:30'
|
|
1126
|
-
})
|
|
1127
|
-
) // 返回 "pdf"
|
|
1128
|
-
```
|
|
1129
|
-
|
|
1130
|
-
### `getFileItemIcon`
|
|
1131
|
-
|
|
1132
|
-
> `function getFileItemIcon(fileItem: IFileItem): string`
|
|
1133
|
-
|
|
1134
|
-
从文件实例中提取文件类型图标。该函数通过文件实例的后缀获取对应的图标。
|
|
1135
|
-
|
|
1136
|
-
#### 参数
|
|
1137
|
-
|
|
1138
|
-
- `fileItem (IFileItem)`: 文件实例,包含文件的基本信息和路径。
|
|
1139
|
-
|
|
1140
|
-
#### 返回
|
|
1141
|
-
|
|
1142
|
-
`(string)`: 文件类型的图标路径。如果无法提取有效后缀,则返回默认图标路径。
|
|
1143
|
-
|
|
1144
|
-
#### 示例
|
|
1145
|
-
|
|
1146
|
-
```typescript
|
|
1147
|
-
import { getFileItemIcon } from '@minto-ai/tools'
|
|
1148
|
-
|
|
1149
|
-
console.log(
|
|
1150
|
-
getFileItemIcon({
|
|
1151
|
-
title: 'image文件',
|
|
1152
|
-
viewUrl: '/path/to/image.jpg',
|
|
1153
|
-
createTime: '2024-03-19 20:37:30'
|
|
1154
|
-
})
|
|
1155
|
-
) // image图标
|
|
1156
|
-
```
|
|
1157
|
-
|
|
1158
|
-
### `getFileFeedType`
|
|
1159
|
-
|
|
1160
|
-
> `function getFileFeedType(filePath: string): FileItemFeedType | undefined`
|
|
1161
|
-
|
|
1162
|
-
根据文件路径获取`feedType`。该函数通过文件路径提取文件后缀,并根据预定义的映射关系返回对应的`feedType`(`FileItemFeedTypeEnum`)。
|
|
1163
|
-
|
|
1164
|
-
#### 参数
|
|
1165
|
-
|
|
1166
|
-
- `filePath (string)`: 文件路径,例如 `/path/to/file.txt`。
|
|
1167
|
-
|
|
1168
|
-
#### 返回
|
|
1169
|
-
|
|
1170
|
-
`(FileItemFeedType | undefined)`: 如果文件后缀无法识别,则返回 `undefined`。
|
|
1171
|
-
|
|
1172
|
-
#### 例子
|
|
1173
|
-
|
|
1174
|
-
```typescript
|
|
1175
|
-
import { getFileFeedType } from '@minto-ai/tools'
|
|
1176
|
-
|
|
1177
|
-
const filePath1 = 'https://example.com/image.jpg'
|
|
1178
|
-
const filePath2 = 'https://example.com/document.pdf'
|
|
1179
|
-
const filePath3 = 'https://example.com/unknown.file'
|
|
1180
|
-
|
|
1181
|
-
console.log(getFileFeedType(filePath1)) // 输出: FileItemFeedTypeEnum.IMG
|
|
1182
|
-
console.log(getFileFeedType(filePath2)) // 输出: FileItemFeedTypeEnum.TEXT
|
|
1183
|
-
console.log(getFileFeedType(filePath3)) // 输出: undefined
|
|
1184
|
-
```
|
|
1185
|
-
|
|
1186
1069
|
### `singleDownloadFile`
|
|
1187
1070
|
|
|
1188
1071
|
> `function singleDownloadFile(filePath: string, fileName?: string): Promise<void>`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -22,7 +22,6 @@ declare const FileSuffixEnum: {
|
|
|
22
22
|
readonly WAV: "wav";
|
|
23
23
|
readonly TXT: "txt";
|
|
24
24
|
readonly HTML: "html";
|
|
25
|
-
readonly NULL: "";
|
|
26
25
|
};
|
|
27
26
|
/**
|
|
28
27
|
* 图片后缀类型枚举
|
|
@@ -62,20 +61,9 @@ declare const DocumentFileSuffixEnum: {
|
|
|
62
61
|
readonly XLSX: "xlsx";
|
|
63
62
|
};
|
|
64
63
|
/**
|
|
65
|
-
*
|
|
64
|
+
* 音乐文件后缀类型枚举
|
|
66
65
|
*/
|
|
67
|
-
declare const
|
|
68
|
-
readonly
|
|
69
|
-
readonly DOCUMENT: 0;
|
|
70
|
-
readonly TEXT: 1;
|
|
71
|
-
readonly IMG: 2;
|
|
72
|
-
readonly VIDEO: 3;
|
|
73
|
-
readonly PPT: 4;
|
|
74
|
-
readonly QA: 5;
|
|
75
|
-
readonly AUDIO: 6;
|
|
76
|
-
readonly MUSIC: 7;
|
|
77
|
-
readonly AUTOHTML: 8;
|
|
78
|
-
readonly TWEET: 9;
|
|
79
|
-
readonly COMIC_STRIP: 10;
|
|
66
|
+
declare const MusicFileSuffixEnum: {
|
|
67
|
+
readonly MP3: "mp3";
|
|
80
68
|
};
|
|
81
|
-
export { DocumentFileSuffixEnum,
|
|
69
|
+
export { DocumentFileSuffixEnum, FileSuffixEnum, ImageFileSuffixEnum, MusicFileSuffixEnum, PptFileSuffixEnum, VideoFileSuffixEnum, };
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
|
|
3
|
-
export { fileNameRegex, fileSuffixRegex };
|
|
1
|
+
declare const filePathRegex: RegExp;
|
|
2
|
+
export { filePathRegex };
|
package/dist/file/index.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { DocumentFileSuffix,
|
|
1
|
+
import { DocumentFileSuffix, FileSuffix, ImageFileSuffix, PptFileSuffix, VideoFileSuffix } from './types';
|
|
2
2
|
import { default as batchDownloadFile } from './batch-download-file';
|
|
3
|
-
import {
|
|
4
|
-
import { default as getFileFeedType } from './get-file-feed-type';
|
|
3
|
+
import { FileSuffixEnum, ImageFileSuffixEnum } from './extends/enum';
|
|
5
4
|
import { default as getFileIcon } from './get-file-icon';
|
|
6
|
-
import { default as getFileItemIcon } from './get-file-item-icon';
|
|
7
|
-
import { default as getFileItemSuffix } from './get-file-item-suffix';
|
|
8
5
|
import { default as getFileName } from './get-file-name';
|
|
9
6
|
import { default as getFileSuffix } from './get-file-suffix';
|
|
10
7
|
import { default as getFileSuffixIcon } from './get-file-suffix-icon';
|
|
@@ -15,5 +12,5 @@ import { default as isImageFilePath } from './is-image-file-path';
|
|
|
15
12
|
import { default as isPptFilePath } from './is-ppt-file-path';
|
|
16
13
|
import { default as isVideoFilePath } from './is-video-file-path';
|
|
17
14
|
import { default as singleDownloadFile } from './single-download-file';
|
|
18
|
-
export type { DocumentFileSuffix,
|
|
19
|
-
export { batchDownloadFile,
|
|
15
|
+
export type { DocumentFileSuffix, FileSuffix, ImageFileSuffix, PptFileSuffix, VideoFileSuffix, };
|
|
16
|
+
export { batchDownloadFile, FileSuffixEnum, getFileIcon, getFileName, getFileSuffix, getFileSuffixIcon, getFileTitle, ImageFileSuffixEnum, isDocumentFilePath, isFilePath, isImageFilePath, isPptFilePath, isVideoFilePath, singleDownloadFile, };
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import { DocumentFileSuffixEnum,
|
|
1
|
+
import { DocumentFileSuffixEnum, FileSuffixEnum, ImageFileSuffixEnum, MusicFileSuffixEnum, PptFileSuffixEnum, VideoFileSuffixEnum } from '../extends/enum';
|
|
2
2
|
type FileSuffix = (typeof FileSuffixEnum)[keyof typeof FileSuffixEnum];
|
|
3
3
|
type ImageFileSuffix = (typeof ImageFileSuffixEnum)[keyof typeof ImageFileSuffixEnum];
|
|
4
4
|
type VideoFileSuffix = (typeof VideoFileSuffixEnum)[keyof typeof VideoFileSuffixEnum];
|
|
5
5
|
type PptFileSuffix = (typeof PptFileSuffixEnum)[keyof typeof PptFileSuffixEnum];
|
|
6
6
|
type DocumentFileSuffix = (typeof DocumentFileSuffixEnum)[keyof typeof DocumentFileSuffixEnum];
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
* 明塗内部文件对象
|
|
10
|
-
*/
|
|
11
|
-
interface IFileItem {
|
|
12
|
-
title: string;
|
|
13
|
-
viewUrl?: string;
|
|
14
|
-
previewUrl?: string;
|
|
15
|
-
createTime?: string;
|
|
16
|
-
feedType?: FileItemFeedType;
|
|
17
|
-
}
|
|
18
|
-
export type { DocumentFileSuffix, FileItemFeedType, FileSuffix, IFileItem, ImageFileSuffix, PptFileSuffix, VideoFileSuffix, };
|
|
7
|
+
type MusicFileSuffix = (typeof MusicFileSuffixEnum)[keyof typeof MusicFileSuffixEnum];
|
|
8
|
+
export type { DocumentFileSuffix, FileSuffix, ImageFileSuffix, MusicFileSuffix, PptFileSuffix, VideoFileSuffix, };
|
package/dist/index.js
CHANGED
|
@@ -67,7 +67,7 @@ function beParsedAsNumber(value) {
|
|
|
67
67
|
return Number.NaN;
|
|
68
68
|
}
|
|
69
69
|
function canBeParsedAsNumber(value) {
|
|
70
|
-
return
|
|
70
|
+
return !Number.isNaN(Number.parseFloat(String(value))) && Number.isFinite(Number(value));
|
|
71
71
|
}
|
|
72
72
|
function isArray(value) {
|
|
73
73
|
return Array.isArray(value);
|
|
@@ -120,8 +120,7 @@ const FileSuffixEnum = {
|
|
|
120
120
|
MP3: "mp3",
|
|
121
121
|
WAV: "wav",
|
|
122
122
|
TXT: "txt",
|
|
123
|
-
HTML: "html"
|
|
124
|
-
NULL: ""
|
|
123
|
+
HTML: "html"
|
|
125
124
|
};
|
|
126
125
|
const ImageFileSuffixEnum = {
|
|
127
126
|
JPG: FileSuffixEnum.JPG,
|
|
@@ -148,29 +147,18 @@ const DocumentFileSuffixEnum = {
|
|
|
148
147
|
XLS: FileSuffixEnum.XLS,
|
|
149
148
|
XLSX: FileSuffixEnum.XLSX
|
|
150
149
|
};
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
IMG: 2,
|
|
156
|
-
VIDEO: 3,
|
|
157
|
-
PPT: 4,
|
|
158
|
-
QA: 5,
|
|
159
|
-
AUDIO: 6,
|
|
160
|
-
MUSIC: 7,
|
|
161
|
-
AUTOHTML: 8,
|
|
162
|
-
TWEET: 9,
|
|
163
|
-
COMIC_STRIP: 10
|
|
164
|
-
};
|
|
165
|
-
const fileSuffixRegex = new RegExp(`\\.(${Object.values(FileSuffixEnum).join("|")})$`, "i");
|
|
166
|
-
const fileNameRegex = /([^/]*)$/;
|
|
150
|
+
({
|
|
151
|
+
MP3: FileSuffixEnum.MP3
|
|
152
|
+
});
|
|
153
|
+
const filePathRegex = new RegExp(`(.*?)([^/.]*?)(\\.(${Object.values(FileSuffixEnum).join("|")}))?$`, "i");
|
|
167
154
|
function getFileSuffix(filePath) {
|
|
168
|
-
|
|
169
|
-
|
|
155
|
+
var _a, _b;
|
|
156
|
+
const matchResult = filePath.match(filePathRegex);
|
|
157
|
+
return ((_b = (_a = matchResult == null ? void 0 : matchResult[4]) == null ? void 0 : _a.toLowerCase) == null ? void 0 : _b.call(_a)) ?? "";
|
|
170
158
|
}
|
|
171
159
|
function getFileTitle(filePath) {
|
|
172
|
-
const matchResult = filePath.match(
|
|
173
|
-
return matchResult ? matchResult[
|
|
160
|
+
const matchResult = filePath.match(filePathRegex);
|
|
161
|
+
return matchResult ? matchResult[3] : "";
|
|
174
162
|
}
|
|
175
163
|
function getFileName(filePath) {
|
|
176
164
|
const fileTitle = getFileTitle(filePath);
|
|
@@ -221,29 +209,6 @@ async function batchDownloadFile(fileList, zipName) {
|
|
|
221
209
|
const hasZip = zipName.lastIndexOf(".zip") === zipName.length - 4;
|
|
222
210
|
FileSaver.saveAs(zipData, `${hasZip ? zipName : `${zipName}.zip`}`);
|
|
223
211
|
}
|
|
224
|
-
const FILE_SUFFIX_TO_FEED_TYPE_MAPPING = [
|
|
225
|
-
{
|
|
226
|
-
suffixes: Object.values(ImageFileSuffixEnum),
|
|
227
|
-
feedType: FileItemFeedTypeEnum.IMG
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
suffixes: Object.values(VideoFileSuffixEnum),
|
|
231
|
-
feedType: FileItemFeedTypeEnum.VIDEO
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
suffixes: Object.values(PptFileSuffixEnum),
|
|
235
|
-
feedType: FileItemFeedTypeEnum.PPT
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
suffixes: Object.values(DocumentFileSuffixEnum),
|
|
239
|
-
feedType: FileItemFeedTypeEnum.TEXT
|
|
240
|
-
}
|
|
241
|
-
];
|
|
242
|
-
function getFileFeedType(filePath) {
|
|
243
|
-
var _a;
|
|
244
|
-
const fileSuffix = getFileSuffix(filePath);
|
|
245
|
-
return (_a = FILE_SUFFIX_TO_FEED_TYPE_MAPPING.find(({ suffixes }) => suffixes.includes(fileSuffix))) == null ? void 0 : _a.feedType;
|
|
246
|
-
}
|
|
247
212
|
const defaultIcon = "data:image/png;base64,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";
|
|
248
213
|
const excelIcon = "data:image/png;base64,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";
|
|
249
214
|
const htmlIcon = "data:image/png;base64,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";
|
|
@@ -292,47 +257,37 @@ function getFileIcon(filePath) {
|
|
|
292
257
|
const fileSuffix = getFileSuffix(filePath);
|
|
293
258
|
return getFileSuffixIcon(fileSuffix);
|
|
294
259
|
}
|
|
295
|
-
function
|
|
296
|
-
|
|
297
|
-
let fileSuffix = "";
|
|
298
|
-
[title, viewUrl].filter(Boolean).some((path) => {
|
|
299
|
-
if (!checkEmpty(getFileSuffix(path))) {
|
|
300
|
-
fileSuffix += `${getFileSuffix(path)}`;
|
|
301
|
-
return true;
|
|
302
|
-
}
|
|
260
|
+
function isFilePath(filePath) {
|
|
261
|
+
if (checkEmpty(filePath)) {
|
|
303
262
|
return false;
|
|
304
|
-
}
|
|
305
|
-
return
|
|
306
|
-
}
|
|
307
|
-
function getFileItemIcon(fileItem) {
|
|
308
|
-
const fileSuffix = getFileItemSuffix(fileItem);
|
|
309
|
-
const fileIcon = getFileSuffixIcon(fileSuffix);
|
|
310
|
-
return fileIcon;
|
|
263
|
+
}
|
|
264
|
+
return !!filePathRegex.test(filePath);
|
|
311
265
|
}
|
|
312
266
|
function isDocumentFilePath(filePath) {
|
|
313
|
-
if (!filePath)
|
|
267
|
+
if (!isFilePath(filePath)) {
|
|
314
268
|
return false;
|
|
269
|
+
}
|
|
315
270
|
const fileSuffix = getFileSuffix(filePath);
|
|
316
271
|
return Object.values(DocumentFileSuffixEnum).includes(fileSuffix);
|
|
317
272
|
}
|
|
318
|
-
function isFilePath(filePath) {
|
|
319
|
-
return !!getFileSuffix(filePath);
|
|
320
|
-
}
|
|
321
273
|
function isImageFilePath(filePath) {
|
|
322
|
-
if (!filePath)
|
|
274
|
+
if (!isFilePath(filePath)) {
|
|
323
275
|
return false;
|
|
276
|
+
}
|
|
324
277
|
const fileSuffix = getFileSuffix(filePath);
|
|
325
278
|
return Object.values(ImageFileSuffixEnum).includes(fileSuffix);
|
|
326
279
|
}
|
|
327
280
|
function isPptFilePath(filePath) {
|
|
328
|
-
if (!filePath)
|
|
281
|
+
if (!isFilePath(filePath)) {
|
|
329
282
|
return false;
|
|
283
|
+
}
|
|
330
284
|
const fileSuffix = getFileSuffix(filePath);
|
|
331
285
|
return Object.values(PptFileSuffixEnum).includes(fileSuffix);
|
|
332
286
|
}
|
|
333
287
|
function isVideoFilePath(filePath) {
|
|
334
|
-
if (!filePath)
|
|
288
|
+
if (!isFilePath(filePath)) {
|
|
335
289
|
return false;
|
|
290
|
+
}
|
|
336
291
|
const fileSuffix = getFileSuffix(filePath);
|
|
337
292
|
return Object.values(VideoFileSuffixEnum).includes(fileSuffix);
|
|
338
293
|
}
|
|
@@ -506,7 +461,6 @@ function createWorker(fun) {
|
|
|
506
461
|
return worker;
|
|
507
462
|
}
|
|
508
463
|
export {
|
|
509
|
-
FileItemFeedTypeEnum,
|
|
510
464
|
FileSuffixEnum,
|
|
511
465
|
ImageFileSuffixEnum,
|
|
512
466
|
add,
|
|
@@ -527,10 +481,7 @@ export {
|
|
|
527
481
|
deepFreeze,
|
|
528
482
|
divide,
|
|
529
483
|
getDecimalPlaces,
|
|
530
|
-
getFileFeedType,
|
|
531
484
|
getFileIcon,
|
|
532
|
-
getFileItemIcon,
|
|
533
|
-
getFileItemSuffix,
|
|
534
485
|
getFileName,
|
|
535
486
|
getFileSuffix,
|
|
536
487
|
getFileSuffixIcon,
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FileItemFeedType } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* 根据文件路径获取文件类型
|
|
4
|
-
*
|
|
5
|
-
* @param filePath 文件路径
|
|
6
|
-
* @returns 文件类型(FileItemFeedTypeEnum)或 undefined(如果无法识别)
|
|
7
|
-
*/
|
|
8
|
-
declare function getFileFeedType(filePath: string): FileItemFeedType | undefined;
|
|
9
|
-
export default getFileFeedType;
|