@uploadcare/upload-client 2.2.1-alpha.0 → 3.1.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/dist/types.d.ts CHANGED
@@ -41,6 +41,17 @@ export declare type VideoInfo = {
41
41
  codec: string;
42
42
  };
43
43
  };
44
+ export declare type ContentInfo = {
45
+ content_info: {
46
+ mime?: {
47
+ mime: string;
48
+ type: string;
49
+ subtype: string;
50
+ };
51
+ image?: ImageInfo;
52
+ video?: VideoInfo;
53
+ };
54
+ };
44
55
  export declare type FileInfo = {
45
56
  size: number;
46
57
  done: number;
@@ -55,7 +66,9 @@ export declare type FileInfo = {
55
66
  isReady: string;
56
67
  imageInfo: ImageInfo | null;
57
68
  videoInfo: VideoInfo | null;
58
- s3Bucket: string | null;
69
+ contentInfo: ContentInfo | null;
70
+ s3Bucket?: string;
71
+ metadata?: Metadata;
59
72
  };
60
73
  export declare type GroupInfo = {
61
74
  datetimeCreated: string;
@@ -70,9 +83,17 @@ export declare type Token = string;
70
83
  export declare type Uuid = string;
71
84
  export declare type GroupId = string;
72
85
  export declare type Url = string;
73
- export declare type ProgressCallback = (arg: {
86
+ export declare type ComputableProgressInfo = {
87
+ isComputable: true;
74
88
  value: number;
75
- }) => void;
89
+ };
90
+ export declare type UnknownProgressInfo = {
91
+ isComputable: false;
92
+ };
93
+ export declare type ProgressCallback<T = ComputableProgressInfo | UnknownProgressInfo> = (arg: T) => void;
94
+ export declare type Metadata = {
95
+ [key: string]: string;
96
+ };
76
97
  export interface DefaultSettings {
77
98
  baseCDN: string;
78
99
  baseURL: string;
@@ -137,8 +158,9 @@ export declare type BaseOptions = {
137
158
  integration?: string;
138
159
  userAgent?: CustomUserAgent;
139
160
  retryThrottledRequestMaxTimes?: number;
161
+ metadata?: Metadata;
140
162
  };
141
- declare function base(file: NodeFile | BrowserFile, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes }: BaseOptions): Promise<BaseResponse>;
163
+ declare function base(file: NodeFile | BrowserFile, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, metadata }: BaseOptions): Promise<BaseResponse>;
142
164
  declare enum TypeEnum {
143
165
  Token = "token",
144
166
  FileInfo = "file_info"
@@ -166,8 +188,9 @@ export declare type FromUrlOptions = {
166
188
  integration?: string;
167
189
  userAgent?: CustomUserAgent;
168
190
  retryThrottledRequestMaxTimes?: number;
191
+ metadata?: Metadata;
169
192
  };
170
- declare function fromUrl(sourceUrl: Url, { publicKey, baseURL, store, fileName, checkForUrlDuplicates, saveUrlForRecurrentUploads, secureSignature, secureExpire, source, signal, integration, userAgent, retryThrottledRequestMaxTimes }: FromUrlOptions): Promise<FromUrlSuccessResponse>;
193
+ declare function fromUrl(sourceUrl: Url, { publicKey, baseURL, store, fileName, checkForUrlDuplicates, saveUrlForRecurrentUploads, secureSignature, secureExpire, source, signal, integration, userAgent, retryThrottledRequestMaxTimes, metadata }: FromUrlOptions): Promise<FromUrlSuccessResponse>;
171
194
  declare enum Status {
172
195
  Unknown = "unknown",
173
196
  Waiting = "waiting",
@@ -185,7 +208,7 @@ export declare type StatusProgressResponse = {
185
208
  status: Status.Progress;
186
209
  size: number;
187
210
  done: number;
188
- total: number;
211
+ total: number | "unknown";
189
212
  };
190
213
  export declare type StatusErrorResponse = {
191
214
  status: Status.Error;
@@ -252,17 +275,18 @@ export declare type MultipartStartOptions = {
252
275
  integration?: string;
253
276
  userAgent?: CustomUserAgent;
254
277
  retryThrottledRequestMaxTimes?: number;
278
+ metadata?: Metadata;
255
279
  };
256
280
  export declare type MultipartPart = string;
257
281
  export declare type MultipartStartResponse = {
258
282
  parts: MultipartPart[];
259
283
  uuid: Uuid;
260
284
  };
261
- declare function multipartStart(size: number, { publicKey, contentType, fileName, multipartChunkSize, baseURL, secureSignature, secureExpire, store, signal, source, integration, userAgent, retryThrottledRequestMaxTimes }: MultipartStartOptions): Promise<MultipartStartResponse>;
285
+ declare function multipartStart(size: number, { publicKey, contentType, fileName, multipartChunkSize, baseURL, secureSignature, secureExpire, store, signal, source, integration, userAgent, retryThrottledRequestMaxTimes, metadata }: MultipartStartOptions): Promise<MultipartStartResponse>;
262
286
  export declare type MultipartUploadOptions = {
263
287
  publicKey?: string;
264
288
  signal?: AbortSignal;
265
- onProgress?: ProgressCallback;
289
+ onProgress?: ProgressCallback<ComputableProgressInfo>;
266
290
  integration?: string;
267
291
  retryThrottledRequestMaxTimes?: number;
268
292
  };
@@ -293,6 +317,8 @@ export declare class UploadcareFile {
293
317
  readonly originalFilename: null | string;
294
318
  readonly imageInfo: null | ImageInfo;
295
319
  readonly videoInfo: null | VideoInfo;
320
+ readonly contentInfo: null | ContentInfo;
321
+ readonly metadata: null | Metadata;
296
322
  constructor(fileInfo: FileInfo, { baseCDN, defaultEffects, fileName }: {
297
323
  baseCDN?: string;
298
324
  defaultEffects?: string;
@@ -313,14 +339,15 @@ export declare type FromObjectOptions = {
313
339
  userAgent?: CustomUserAgent;
314
340
  retryThrottledRequestMaxTimes?: number;
315
341
  baseCDN?: string;
342
+ metadata?: Metadata;
316
343
  };
317
- declare const uploadFromObject: (file: NodeFile | BrowserFile, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, baseCDN }: FromObjectOptions) => Promise<UploadcareFile>;
344
+ declare const uploadFromObject: (file: NodeFile | BrowserFile, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, baseCDN, metadata }: FromObjectOptions) => Promise<UploadcareFile>;
318
345
  export declare type UploadFromUrlOptions = {
319
346
  baseCDN?: string;
320
347
  onProgress?: ProgressCallback;
321
348
  pusherKey?: string;
322
349
  } & FromUrlOptions;
323
- export declare const uploadFromUrl: (sourceUrl: string, { publicKey, fileName, baseURL, baseCDN, checkForUrlDuplicates, saveUrlForRecurrentUploads, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, pusherKey }: UploadFromUrlOptions) => Promise<UploadcareFile>;
350
+ export declare const uploadFromUrl: (sourceUrl: string, { publicKey, fileName, baseURL, baseCDN, checkForUrlDuplicates, saveUrlForRecurrentUploads, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, pusherKey, metadata }: UploadFromUrlOptions) => Promise<UploadcareFile>;
324
351
  export declare type FromUploadedOptions = {
325
352
  publicKey: string;
326
353
  fileName?: string;
@@ -345,7 +372,7 @@ export declare type MultipartOptions = {
345
372
  secureExpire?: string;
346
373
  store?: boolean;
347
374
  signal?: AbortSignal;
348
- onProgress?: ProgressCallback;
375
+ onProgress?: ProgressCallback<ComputableProgressInfo>;
349
376
  source?: string;
350
377
  integration?: string;
351
378
  userAgent?: CustomUserAgent;
@@ -353,8 +380,9 @@ export declare type MultipartOptions = {
353
380
  maxConcurrentRequests?: number;
354
381
  multipartMaxAttempts?: number;
355
382
  baseCDN?: string;
383
+ metadata?: Metadata;
356
384
  };
357
- export declare const uploadMultipart: (file: NodeFile | BrowserFile, { publicKey, fileName, fileSize, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, contentType, multipartChunkSize, maxConcurrentRequests, multipartMaxAttempts, baseCDN }: MultipartOptions) => Promise<UploadcareFile>;
385
+ export declare const uploadMultipart: (file: NodeFile | BrowserFile, { publicKey, fileName, fileSize, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, contentType, multipartChunkSize, maxConcurrentRequests, multipartMaxAttempts, baseCDN, metadata }: MultipartOptions) => Promise<UploadcareFile>;
358
386
  export declare type FileFromOptions = {
359
387
  publicKey: string;
360
388
  fileName?: string;
@@ -369,6 +397,7 @@ export declare type FileFromOptions = {
369
397
  userAgent?: CustomUserAgent;
370
398
  retryThrottledRequestMaxTimes?: number;
371
399
  contentType?: string;
400
+ multipartMinFileSize?: number;
372
401
  multipartChunkSize?: number;
373
402
  multipartMaxAttempts?: number;
374
403
  maxConcurrentRequests?: number;
@@ -376,11 +405,12 @@ export declare type FileFromOptions = {
376
405
  checkForUrlDuplicates?: boolean;
377
406
  saveUrlForRecurrentUploads?: boolean;
378
407
  pusherKey?: string;
408
+ metadata?: Metadata;
379
409
  };
380
410
  /**
381
411
  * Uploads file from provided data.
382
412
  */
383
- export declare function uploadFile(data: NodeFile | BrowserFile | Url | Uuid, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, contentType, multipartChunkSize, multipartMaxAttempts, maxConcurrentRequests, baseCDN, checkForUrlDuplicates, saveUrlForRecurrentUploads, pusherKey }: FileFromOptions): Promise<UploadcareFile>;
413
+ export declare function uploadFile(data: NodeFile | BrowserFile | Url | Uuid, { publicKey, fileName, baseURL, secureSignature, secureExpire, store, signal, onProgress, source, integration, userAgent, retryThrottledRequestMaxTimes, contentType, multipartMinFileSize, multipartChunkSize, multipartMaxAttempts, maxConcurrentRequests, baseCDN, checkForUrlDuplicates, saveUrlForRecurrentUploads, pusherKey, metadata }: FileFromOptions): Promise<UploadcareFile>;
384
414
  export declare class UploadcareGroup {
385
415
  readonly uuid: GroupId;
386
416
  readonly filesCount: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uploadcare/upload-client",
3
- "version": "2.2.1-alpha.0",
3
+ "version": "3.1.0",
4
4
  "description": "Library for work with Uploadcare Upload API",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "scripts": {
24
24
  "check-env-vars": "node ./checkvars.js",
25
- "mock:start": "node --loader ts-node/esm.mjs ./mock-server/server.ts --silent",
25
+ "mock:start": "node --loader ts-node/esm ./mock-server/server.ts --silent",
26
26
  "clean": "rimraf dist",
27
27
  "lint": "eslint ./src ./mock-server --ext=ts",
28
28
  "test": "start-server-and-test mock:start :3000 test:jest",
@@ -91,7 +91,7 @@
91
91
  "shipjs": "0.24.0",
92
92
  "start-server-and-test": "1.11.7",
93
93
  "ts-jest": "26.4.1",
94
- "ts-node": "9.1.1"
94
+ "ts-node": "10.5.0"
95
95
  },
96
96
  "dependencies": {
97
97
  "abort-controller": "^3.0.0",