Skip to content

Commit 0eb284c

Browse files
committed
chore: Update typescript definition
1 parent 9e4e2c1 commit 0eb284c

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

src/AjaxUploader.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,19 @@ import defaultRequest from './request';
77
import getUid from './uid';
88
import attrAccept from './attr-accept';
99
import traverseFileTree from './traverseFileTree';
10-
import type { UploadProps, UploadProgressEvent, UploadRequestError, RcFile } from './interface';
10+
import type {
11+
UploadProps,
12+
UploadProgressEvent,
13+
UploadRequestError,
14+
RcFile,
15+
BeforeUploadFileType,
16+
} from './interface';
1117

1218
interface ParsedFileInfo {
1319
origin: RcFile;
1420
action: string;
1521
data: object;
16-
parsedFile: File | Blob | null;
22+
parsedFile: Exclude<BeforeUploadFileType, boolean>;
1723
}
1824

1925
class AjaxUploader extends Component<UploadProps> {
@@ -118,7 +124,7 @@ class AjaxUploader extends Component<UploadProps> {
118124
processFile = async (file: RcFile, fileList: RcFile[]): Promise<ParsedFileInfo> => {
119125
const { beforeUpload, action, data } = this.props;
120126

121-
let transformedFile: boolean | File | Blob | void = file;
127+
let transformedFile: BeforeUploadFileType | void = file;
122128
if (beforeUpload) {
123129
transformedFile = await beforeUpload(file, fileList);
124130
if (transformedFile === false) {

src/interface.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import type * as React from 'react';
22

3+
export type BeforeUploadFileType = File | Blob | boolean | string;
4+
35
export type Action = string | ((file: RcFile) => string | PromiseLike<string>);
46

57
export interface UploadProps
@@ -21,7 +23,10 @@ export interface UploadProps
2123
onError?: (error: Error, ret: object, file: RcFile) => void;
2224
onSuccess?: (response: object, file: RcFile, xhr: object) => void;
2325
onProgress?: (event: UploadProgressEvent, file: RcFile) => void;
24-
beforeUpload?: (file: RcFile, FileList: RcFile[]) => boolean | Promise<void | File | Blob>;
26+
beforeUpload?: (
27+
file: RcFile,
28+
FileList: RcFile[],
29+
) => BeforeUploadFileType | Promise<void | BeforeUploadFileType>;
2530
customRequest?: (option: UploadRequestOption) => void;
2631
withCredentials?: boolean;
2732
openFileDialogOnClick?: boolean;
@@ -52,7 +57,7 @@ export interface UploadRequestOption<T = any> {
5257
onSuccess?: (body: T, xhr: XMLHttpRequest) => void;
5358
data?: object;
5459
filename?: string;
55-
file: RcFile | Blob;
60+
file: Exclude<BeforeUploadFileType, File | boolean> | RcFile;
5661
withCredentials?: boolean;
5762
action: string;
5863
headers?: UploadRequestHeader;

0 commit comments

Comments
 (0)