@minto-ai/tools 1.0.3 → 1.0.33
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 +1 -19
- 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 +2 -13
- package/dist/index.js +20 -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
|
* 图片后缀类型枚举
|
|
@@ -61,21 +60,4 @@ declare const DocumentFileSuffixEnum: {
|
|
|
61
60
|
readonly XLS: "xls";
|
|
62
61
|
readonly XLSX: "xlsx";
|
|
63
62
|
};
|
|
64
|
-
|
|
65
|
-
* feedType类型枚举
|
|
66
|
-
*/
|
|
67
|
-
declare const FileItemFeedTypeEnum: {
|
|
68
|
-
readonly ALL: "";
|
|
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;
|
|
80
|
-
};
|
|
81
|
-
export { DocumentFileSuffixEnum, FileItemFeedTypeEnum, FileSuffixEnum, ImageFileSuffixEnum, PptFileSuffixEnum, VideoFileSuffixEnum, };
|
|
63
|
+
export { DocumentFileSuffixEnum, FileSuffixEnum, ImageFileSuffixEnum, 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,7 @@
|
|
|
1
|
-
import { DocumentFileSuffixEnum,
|
|
1
|
+
import { DocumentFileSuffixEnum, FileSuffixEnum, ImageFileSuffixEnum, 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
|
+
export type { DocumentFileSuffix, FileSuffix, ImageFileSuffix, 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,15 @@ const DocumentFileSuffixEnum = {
|
|
|
148
147
|
XLS: FileSuffixEnum.XLS,
|
|
149
148
|
XLSX: FileSuffixEnum.XLSX
|
|
150
149
|
};
|
|
151
|
-
const
|
|
152
|
-
ALL: "",
|
|
153
|
-
DOCUMENT: 0,
|
|
154
|
-
TEXT: 1,
|
|
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
|
+
const filePathRegex = new RegExp(`(.*?)([^/.]*?)(\\.(${Object.values(FileSuffixEnum).join("|")}))?$`, "i");
|
|
167
151
|
function getFileSuffix(filePath) {
|
|
168
|
-
|
|
169
|
-
|
|
152
|
+
var _a, _b;
|
|
153
|
+
const matchResult = filePath.match(filePathRegex);
|
|
154
|
+
return ((_b = (_a = matchResult == null ? void 0 : matchResult[4]) == null ? void 0 : _a.toLowerCase) == null ? void 0 : _b.call(_a)) ?? "";
|
|
170
155
|
}
|
|
171
156
|
function getFileTitle(filePath) {
|
|
172
|
-
const matchResult = filePath.match(
|
|
173
|
-
return matchResult ? matchResult[
|
|
157
|
+
const matchResult = filePath.match(filePathRegex);
|
|
158
|
+
return matchResult ? matchResult[3] : "";
|
|
174
159
|
}
|
|
175
160
|
function getFileName(filePath) {
|
|
176
161
|
const fileTitle = getFileTitle(filePath);
|
|
@@ -221,29 +206,6 @@ async function batchDownloadFile(fileList, zipName) {
|
|
|
221
206
|
const hasZip = zipName.lastIndexOf(".zip") === zipName.length - 4;
|
|
222
207
|
FileSaver.saveAs(zipData, `${hasZip ? zipName : `${zipName}.zip`}`);
|
|
223
208
|
}
|
|
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
209
|
const defaultIcon = "data:image/png;base64,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";
|
|
248
210
|
const excelIcon = "data:image/png;base64,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";
|
|
249
211
|
const htmlIcon = "data:image/png;base64,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";
|
|
@@ -292,47 +254,37 @@ function getFileIcon(filePath) {
|
|
|
292
254
|
const fileSuffix = getFileSuffix(filePath);
|
|
293
255
|
return getFileSuffixIcon(fileSuffix);
|
|
294
256
|
}
|
|
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
|
-
}
|
|
257
|
+
function isFilePath(filePath) {
|
|
258
|
+
if (checkEmpty(filePath)) {
|
|
303
259
|
return false;
|
|
304
|
-
}
|
|
305
|
-
return
|
|
306
|
-
}
|
|
307
|
-
function getFileItemIcon(fileItem) {
|
|
308
|
-
const fileSuffix = getFileItemSuffix(fileItem);
|
|
309
|
-
const fileIcon = getFileSuffixIcon(fileSuffix);
|
|
310
|
-
return fileIcon;
|
|
260
|
+
}
|
|
261
|
+
return !!filePathRegex.test(filePath);
|
|
311
262
|
}
|
|
312
263
|
function isDocumentFilePath(filePath) {
|
|
313
|
-
if (!filePath)
|
|
264
|
+
if (!isFilePath(filePath)) {
|
|
314
265
|
return false;
|
|
266
|
+
}
|
|
315
267
|
const fileSuffix = getFileSuffix(filePath);
|
|
316
268
|
return Object.values(DocumentFileSuffixEnum).includes(fileSuffix);
|
|
317
269
|
}
|
|
318
|
-
function isFilePath(filePath) {
|
|
319
|
-
return !!getFileSuffix(filePath);
|
|
320
|
-
}
|
|
321
270
|
function isImageFilePath(filePath) {
|
|
322
|
-
if (!filePath)
|
|
271
|
+
if (!isFilePath(filePath)) {
|
|
323
272
|
return false;
|
|
273
|
+
}
|
|
324
274
|
const fileSuffix = getFileSuffix(filePath);
|
|
325
275
|
return Object.values(ImageFileSuffixEnum).includes(fileSuffix);
|
|
326
276
|
}
|
|
327
277
|
function isPptFilePath(filePath) {
|
|
328
|
-
if (!filePath)
|
|
278
|
+
if (!isFilePath(filePath)) {
|
|
329
279
|
return false;
|
|
280
|
+
}
|
|
330
281
|
const fileSuffix = getFileSuffix(filePath);
|
|
331
282
|
return Object.values(PptFileSuffixEnum).includes(fileSuffix);
|
|
332
283
|
}
|
|
333
284
|
function isVideoFilePath(filePath) {
|
|
334
|
-
if (!filePath)
|
|
285
|
+
if (!isFilePath(filePath)) {
|
|
335
286
|
return false;
|
|
287
|
+
}
|
|
336
288
|
const fileSuffix = getFileSuffix(filePath);
|
|
337
289
|
return Object.values(VideoFileSuffixEnum).includes(fileSuffix);
|
|
338
290
|
}
|
|
@@ -506,7 +458,6 @@ function createWorker(fun) {
|
|
|
506
458
|
return worker;
|
|
507
459
|
}
|
|
508
460
|
export {
|
|
509
|
-
FileItemFeedTypeEnum,
|
|
510
461
|
FileSuffixEnum,
|
|
511
462
|
ImageFileSuffixEnum,
|
|
512
463
|
add,
|
|
@@ -527,10 +478,7 @@ export {
|
|
|
527
478
|
deepFreeze,
|
|
528
479
|
divide,
|
|
529
480
|
getDecimalPlaces,
|
|
530
|
-
getFileFeedType,
|
|
531
481
|
getFileIcon,
|
|
532
|
-
getFileItemIcon,
|
|
533
|
-
getFileItemSuffix,
|
|
534
482
|
getFileName,
|
|
535
483
|
getFileSuffix,
|
|
536
484
|
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;
|