@atlaskit/media-client 15.1.1 → 17.0.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/CHANGELOG.md +48 -0
- package/constants/package.json +1 -0
- package/dist/cjs/client/file-fetcher/index.js +0 -2
- package/dist/cjs/client/media-store/index.js +63 -24
- package/dist/cjs/constants.js +11 -2
- package/dist/cjs/index.js +12 -6
- package/dist/cjs/models/media.js +10 -2
- package/dist/cjs/uploader/calculateChunkSize.js +45 -0
- package/dist/cjs/uploader/error.js +67 -0
- package/dist/cjs/{uploader.js → uploader/index.js} +43 -8
- package/dist/cjs/utils/request/errors.js +4 -0
- package/dist/cjs/utils/request/helpers.js +40 -34
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/media-store/index.js +37 -9
- package/dist/es2019/constants.js +5 -1
- package/dist/es2019/index.js +2 -2
- package/dist/es2019/models/media.js +8 -1
- package/dist/es2019/uploader/calculateChunkSize.js +32 -0
- package/dist/es2019/uploader/error.js +30 -0
- package/dist/es2019/{uploader.js → uploader/index.js} +39 -8
- package/dist/es2019/utils/request/errors.js +4 -0
- package/dist/es2019/utils/request/helpers.js +22 -24
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/file-fetcher/index.js +0 -2
- package/dist/esm/client/media-store/index.js +57 -24
- package/dist/esm/constants.js +5 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/models/media.js +8 -1
- package/dist/esm/uploader/calculateChunkSize.js +32 -0
- package/dist/esm/uploader/error.js +51 -0
- package/dist/esm/{uploader.js → uploader/index.js} +39 -8
- package/dist/esm/utils/request/errors.js +4 -0
- package/dist/esm/utils/request/helpers.js +36 -31
- package/dist/esm/version.json +1 -1
- package/dist/types/client/media-store/index.d.ts +11 -2
- package/dist/types/constants.d.ts +3 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/models/errors/types.d.ts +1 -1
- package/dist/types/models/media.d.ts +5 -0
- package/dist/types/uploader/calculateChunkSize.d.ts +11 -0
- package/dist/types/uploader/error.d.ts +29 -0
- package/dist/types/{uploader.d.ts → uploader/index.d.ts} +1 -1
- package/dist/types/utils/request/errors.d.ts +2 -0
- package/dist/types/utils/request/helpers.d.ts +4 -4
- package/dist/types/utils/request/types.d.ts +2 -0
- package/package.json +7 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type MediaClientErrorReason = 'clientOffline' | 'clientAbortedRequest' | 'clientTimeoutRequest' | 'serverInvalidBody' | 'serverBadRequest' | 'serverUnauthorized' | 'serverForbidden' | 'serverNotFound' | 'serverRateLimited' | 'serverInternalError' | 'serverBadGateway' | 'serverUnexpectedError' | 'failedAuthProvider' | 'tokenExpired' | 'missingInitialAuth' | 'emptyAuth' | 'authProviderTimedOut' | 'invalidFileId' | 'emptyItems' | 'zeroVersionFile' | 'pollingMaxAttemptsExceeded';
|
|
1
|
+
export declare type MediaClientErrorReason = 'clientOffline' | 'clientAbortedRequest' | 'clientTimeoutRequest' | 'serverInvalidBody' | 'serverBadRequest' | 'serverUnauthorized' | 'serverForbidden' | 'serverNotFound' | 'serverRateLimited' | 'serverInternalError' | 'serverBadGateway' | 'serverUnexpectedError' | 'failedAuthProvider' | 'tokenExpired' | 'missingInitialAuth' | 'emptyAuth' | 'authProviderTimedOut' | 'invalidFileId' | 'emptyItems' | 'zeroVersionFile' | 'pollingMaxAttemptsExceeded' | 'fileSizeExceedsLimit';
|
|
2
2
|
export interface MediaClientErrorAttributes {
|
|
3
3
|
reason: MediaClientErrorReason;
|
|
4
4
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const fileSizeError = "fileSizeExceedsLimit";
|
|
2
|
+
/**
|
|
3
|
+
* This is a helper to dynamically calculate the chunk size for a given file size.
|
|
4
|
+
*
|
|
5
|
+
* @param fileSize The size of a file to calculate the chunk size for.
|
|
6
|
+
* @returns A number of bytes per chunk or Throws an Error if the file size exceeds 2TB
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://product-fabric.atlassian.net/wiki/spaces/FIL/pages/3221881143/Rule+of+thumb+for+chunk+sizes#Given-the-following-conditions}
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export declare const calculateChunkSize: (fileSize: number) => number;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseMediaClientError } from '../models/errors';
|
|
2
|
+
export declare type UploaderErrorReason = 'fileSizeExceedsLimit';
|
|
3
|
+
export declare type UploaderErrorAttributes = {
|
|
4
|
+
readonly reason: UploaderErrorReason;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly metadata?: {
|
|
7
|
+
readonly collectionName?: string;
|
|
8
|
+
readonly occurrenceKey?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare class UploaderError extends BaseMediaClientError<UploaderErrorAttributes> {
|
|
12
|
+
readonly reason: UploaderErrorReason;
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly metadata?: {
|
|
15
|
+
readonly collectionName?: string | undefined;
|
|
16
|
+
readonly occurrenceKey?: string | undefined;
|
|
17
|
+
} | undefined;
|
|
18
|
+
constructor(reason: UploaderErrorReason, id: string, metadata?: {
|
|
19
|
+
readonly collectionName?: string | undefined;
|
|
20
|
+
readonly occurrenceKey?: string | undefined;
|
|
21
|
+
} | undefined);
|
|
22
|
+
get attributes(): {
|
|
23
|
+
reason: "fileSizeExceedsLimit";
|
|
24
|
+
id: string;
|
|
25
|
+
collectionName: string | undefined;
|
|
26
|
+
occurrenceKey: string | undefined;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare function isUploaderError(err: Error): err is UploaderError;
|
|
@@ -9,6 +9,8 @@ export declare class RequestError extends BaseMediaClientError<RequestErrorAttri
|
|
|
9
9
|
reason: RequestErrorReason;
|
|
10
10
|
method: import("./types").RequestMethod | undefined;
|
|
11
11
|
endpoint: string | undefined;
|
|
12
|
+
mediaRegion: string | undefined;
|
|
13
|
+
mediaEnv: string | undefined;
|
|
12
14
|
attempts: number | undefined;
|
|
13
15
|
clientExhaustedRetries: boolean | undefined;
|
|
14
16
|
statusCode: number | undefined;
|
|
@@ -6,10 +6,6 @@ export declare function waitPromise(timeout: number): Promise<void>;
|
|
|
6
6
|
export declare function isAbortedRequestError(err: any): boolean;
|
|
7
7
|
export declare function isFetchNetworkError(err: any): err is TypeError;
|
|
8
8
|
export declare function isRateLimitedError(error: Error | undefined): boolean;
|
|
9
|
-
export declare function extract(url: string): {
|
|
10
|
-
baseUrl: string;
|
|
11
|
-
queryParams?: any;
|
|
12
|
-
};
|
|
13
9
|
export declare function mapAuthToRequestHeaders(auth: Auth): RequestHeaders;
|
|
14
10
|
export declare function createUrl(url: string, { params, auth }: CreateUrlOptions): string;
|
|
15
11
|
export declare function withAuth(auth?: Auth): (headers?: RequestHeaders | undefined) => RequestHeaders | undefined;
|
|
@@ -36,3 +32,7 @@ export declare function fetchRetry(functionToRetry: () => Promise<Response>, met
|
|
|
36
32
|
export declare function createRequestErrorReason(statusCode: number): RequestErrorReason;
|
|
37
33
|
export declare function createRequestErrorFromResponse(metadata: RequestErrorMetadata, response: Response): RequestError;
|
|
38
34
|
export declare function createProcessFetchResponse(metadata: RequestMetadata): (response: Response) => Response;
|
|
35
|
+
export declare function extractMediaHeaders(response: Response): {
|
|
36
|
+
mediaRegion: string;
|
|
37
|
+
mediaEnv: string;
|
|
38
|
+
};
|
|
@@ -18,6 +18,8 @@ export declare type ClientOptions = {
|
|
|
18
18
|
export declare type RequestMetadata = {
|
|
19
19
|
readonly method?: RequestMethod;
|
|
20
20
|
readonly endpoint?: string;
|
|
21
|
+
readonly mediaRegion?: string;
|
|
22
|
+
readonly mediaEnv?: string;
|
|
21
23
|
};
|
|
22
24
|
export declare type RequestOptions = RequestMetadata & {
|
|
23
25
|
readonly auth?: Auth;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0",
|
|
4
4
|
"description": "Media API Web Client Library",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -27,14 +27,13 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@atlaskit/chunkinator": "^
|
|
31
|
-
"@atlaskit/media-common": "^2.
|
|
30
|
+
"@atlaskit/chunkinator": "^4.0.0",
|
|
31
|
+
"@atlaskit/media-common": "^2.15.0",
|
|
32
32
|
"@babel/runtime": "^7.0.0",
|
|
33
33
|
"dataloader": "^2.0.0",
|
|
34
34
|
"deep-equal": "^1.0.1",
|
|
35
35
|
"eventemitter2": "^4.1.0",
|
|
36
36
|
"lru-fast": "^0.2.2",
|
|
37
|
-
"query-string": "^6.14.1",
|
|
38
37
|
"rusha": "^0.8.13",
|
|
39
38
|
"rxjs": "^5.5.0",
|
|
40
39
|
"setimmediate": "^1.0.5",
|
|
@@ -44,19 +43,18 @@
|
|
|
44
43
|
"xstate": "^4.20.0"
|
|
45
44
|
},
|
|
46
45
|
"peerDependencies": {
|
|
47
|
-
"@atlaskit/media-core": "^
|
|
46
|
+
"@atlaskit/media-core": "^33.0.0",
|
|
48
47
|
"react": "^16.8.0"
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
51
50
|
"@atlaskit/button": "^16.3.0",
|
|
52
51
|
"@atlaskit/docs": "*",
|
|
53
|
-
"@atlaskit/media-card": "^73.
|
|
54
|
-
"@atlaskit/media-core": "^
|
|
55
|
-
"@atlaskit/media-test-helpers": "^
|
|
52
|
+
"@atlaskit/media-card": "^73.8.0",
|
|
53
|
+
"@atlaskit/media-core": "^33.0.0",
|
|
54
|
+
"@atlaskit/media-test-helpers": "^30.0.0",
|
|
56
55
|
"@atlaskit/ssr": "*",
|
|
57
56
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
58
57
|
"@types/deep-equal": "^1.0.1",
|
|
59
|
-
"@types/query-string": "^4.3.1",
|
|
60
58
|
"@types/uuid-validate": "^0.0.0",
|
|
61
59
|
"enzyme": "^3.10.0",
|
|
62
60
|
"fetch-mock": "^8.0.0",
|