@uniformdev/files 19.38.3-alpha.78
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/LICENSE.txt +2 -0
- package/dist/index.d.mts +47 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.esm.js +52 -0
- package/dist/index.js +83 -0
- package/dist/index.mjs +52 -0
- package/package.json +39 -0
package/LICENSE.txt
ADDED
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ApiClient, ClientOptions } from '@uniformdev/context/api';
|
|
2
|
+
|
|
3
|
+
type GetFileOptions = {
|
|
4
|
+
id: string;
|
|
5
|
+
} | {
|
|
6
|
+
url: string;
|
|
7
|
+
projectId?: string;
|
|
8
|
+
} | {
|
|
9
|
+
sourceId: string;
|
|
10
|
+
projectId: string;
|
|
11
|
+
};
|
|
12
|
+
interface NewFileOptions {
|
|
13
|
+
name: string;
|
|
14
|
+
size: number;
|
|
15
|
+
mediaType: string;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
sourceId?: string;
|
|
19
|
+
projectId?: string;
|
|
20
|
+
}
|
|
21
|
+
interface NewFileResponse {
|
|
22
|
+
id: string;
|
|
23
|
+
uploadUrl: string;
|
|
24
|
+
method: string;
|
|
25
|
+
}
|
|
26
|
+
interface FileStateResponse {
|
|
27
|
+
id: string;
|
|
28
|
+
state: number;
|
|
29
|
+
url: string;
|
|
30
|
+
}
|
|
31
|
+
declare class FileClient extends ApiClient {
|
|
32
|
+
constructor(options: ClientOptions);
|
|
33
|
+
createNewProjectFile(options: NewFileOptions): Promise<NewFileResponse>;
|
|
34
|
+
getFile(options: GetFileOptions): Promise<FileStateResponse>;
|
|
35
|
+
deleteFileByUrl(url: string): Promise<FileStateResponse>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare const getFileNameFromUrl: (fileUrl: string) => string;
|
|
39
|
+
|
|
40
|
+
/** Constant for an in-progress file state. Subject to change. */
|
|
41
|
+
declare const FILE_IN_PROGRESS_STATE = 0;
|
|
42
|
+
/** Constant for a ready file state. Subject to change. */
|
|
43
|
+
declare const FILE_READY_STATE = 64;
|
|
44
|
+
/** Constant for a max file size in bytes. Subject to change. */
|
|
45
|
+
declare const FILE_MAX_SIZE: number;
|
|
46
|
+
|
|
47
|
+
export { FILE_IN_PROGRESS_STATE, FILE_MAX_SIZE, FILE_READY_STATE, FileClient, FileStateResponse, NewFileOptions, NewFileResponse, getFileNameFromUrl };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ApiClient, ClientOptions } from '@uniformdev/context/api';
|
|
2
|
+
|
|
3
|
+
type GetFileOptions = {
|
|
4
|
+
id: string;
|
|
5
|
+
} | {
|
|
6
|
+
url: string;
|
|
7
|
+
projectId?: string;
|
|
8
|
+
} | {
|
|
9
|
+
sourceId: string;
|
|
10
|
+
projectId: string;
|
|
11
|
+
};
|
|
12
|
+
interface NewFileOptions {
|
|
13
|
+
name: string;
|
|
14
|
+
size: number;
|
|
15
|
+
mediaType: string;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
sourceId?: string;
|
|
19
|
+
projectId?: string;
|
|
20
|
+
}
|
|
21
|
+
interface NewFileResponse {
|
|
22
|
+
id: string;
|
|
23
|
+
uploadUrl: string;
|
|
24
|
+
method: string;
|
|
25
|
+
}
|
|
26
|
+
interface FileStateResponse {
|
|
27
|
+
id: string;
|
|
28
|
+
state: number;
|
|
29
|
+
url: string;
|
|
30
|
+
}
|
|
31
|
+
declare class FileClient extends ApiClient {
|
|
32
|
+
constructor(options: ClientOptions);
|
|
33
|
+
createNewProjectFile(options: NewFileOptions): Promise<NewFileResponse>;
|
|
34
|
+
getFile(options: GetFileOptions): Promise<FileStateResponse>;
|
|
35
|
+
deleteFileByUrl(url: string): Promise<FileStateResponse>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare const getFileNameFromUrl: (fileUrl: string) => string;
|
|
39
|
+
|
|
40
|
+
/** Constant for an in-progress file state. Subject to change. */
|
|
41
|
+
declare const FILE_IN_PROGRESS_STATE = 0;
|
|
42
|
+
/** Constant for a ready file state. Subject to change. */
|
|
43
|
+
declare const FILE_READY_STATE = 64;
|
|
44
|
+
/** Constant for a max file size in bytes. Subject to change. */
|
|
45
|
+
declare const FILE_MAX_SIZE: number;
|
|
46
|
+
|
|
47
|
+
export { FILE_IN_PROGRESS_STATE, FILE_MAX_SIZE, FILE_READY_STATE, FileClient, FileStateResponse, NewFileOptions, NewFileResponse, getFileNameFromUrl };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// src/FileClient.ts
|
|
2
|
+
import { ApiClient } from "@uniformdev/context/api";
|
|
3
|
+
var FILE_BASE_PATH = "/api/v1/file";
|
|
4
|
+
var FileClient = class extends ApiClient {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
super(options);
|
|
7
|
+
}
|
|
8
|
+
async createNewProjectFile(options) {
|
|
9
|
+
if (!this.options.projectId)
|
|
10
|
+
throw new Error("A project ID must exist to upload a file to a project");
|
|
11
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
12
|
+
return await this.apiClient(fetchUrl, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
body: JSON.stringify({
|
|
15
|
+
projectId: this.options.projectId,
|
|
16
|
+
...options
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async getFile(options) {
|
|
21
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH, options);
|
|
22
|
+
return await this.apiClient(fetchUrl);
|
|
23
|
+
}
|
|
24
|
+
async deleteFileByUrl(url) {
|
|
25
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
26
|
+
return await this.apiClient(fetchUrl, {
|
|
27
|
+
method: "DELETE",
|
|
28
|
+
body: JSON.stringify({
|
|
29
|
+
url
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/fileUrl.ts
|
|
36
|
+
var getFileNameFromUrl = (fileUrl) => {
|
|
37
|
+
var _a;
|
|
38
|
+
const url = new URL(fileUrl);
|
|
39
|
+
return ((_a = url.pathname.split("/").pop()) == null ? void 0 : _a.substring(23)) || "";
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/utils/constants.ts
|
|
43
|
+
var FILE_IN_PROGRESS_STATE = 0;
|
|
44
|
+
var FILE_READY_STATE = 64;
|
|
45
|
+
var FILE_MAX_SIZE = 1024 * 1024 * 10;
|
|
46
|
+
export {
|
|
47
|
+
FILE_IN_PROGRESS_STATE,
|
|
48
|
+
FILE_MAX_SIZE,
|
|
49
|
+
FILE_READY_STATE,
|
|
50
|
+
FileClient,
|
|
51
|
+
getFileNameFromUrl
|
|
52
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
FILE_IN_PROGRESS_STATE: () => FILE_IN_PROGRESS_STATE,
|
|
24
|
+
FILE_MAX_SIZE: () => FILE_MAX_SIZE,
|
|
25
|
+
FILE_READY_STATE: () => FILE_READY_STATE,
|
|
26
|
+
FileClient: () => FileClient,
|
|
27
|
+
getFileNameFromUrl: () => getFileNameFromUrl
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(src_exports);
|
|
30
|
+
|
|
31
|
+
// src/FileClient.ts
|
|
32
|
+
var import_api = require("@uniformdev/context/api");
|
|
33
|
+
var FILE_BASE_PATH = "/api/v1/file";
|
|
34
|
+
var FileClient = class extends import_api.ApiClient {
|
|
35
|
+
constructor(options) {
|
|
36
|
+
super(options);
|
|
37
|
+
}
|
|
38
|
+
async createNewProjectFile(options) {
|
|
39
|
+
if (!this.options.projectId)
|
|
40
|
+
throw new Error("A project ID must exist to upload a file to a project");
|
|
41
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
42
|
+
return await this.apiClient(fetchUrl, {
|
|
43
|
+
method: "POST",
|
|
44
|
+
body: JSON.stringify({
|
|
45
|
+
projectId: this.options.projectId,
|
|
46
|
+
...options
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async getFile(options) {
|
|
51
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH, options);
|
|
52
|
+
return await this.apiClient(fetchUrl);
|
|
53
|
+
}
|
|
54
|
+
async deleteFileByUrl(url) {
|
|
55
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
56
|
+
return await this.apiClient(fetchUrl, {
|
|
57
|
+
method: "DELETE",
|
|
58
|
+
body: JSON.stringify({
|
|
59
|
+
url
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// src/fileUrl.ts
|
|
66
|
+
var getFileNameFromUrl = (fileUrl) => {
|
|
67
|
+
var _a;
|
|
68
|
+
const url = new URL(fileUrl);
|
|
69
|
+
return ((_a = url.pathname.split("/").pop()) == null ? void 0 : _a.substring(23)) || "";
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// src/utils/constants.ts
|
|
73
|
+
var FILE_IN_PROGRESS_STATE = 0;
|
|
74
|
+
var FILE_READY_STATE = 64;
|
|
75
|
+
var FILE_MAX_SIZE = 1024 * 1024 * 10;
|
|
76
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
77
|
+
0 && (module.exports = {
|
|
78
|
+
FILE_IN_PROGRESS_STATE,
|
|
79
|
+
FILE_MAX_SIZE,
|
|
80
|
+
FILE_READY_STATE,
|
|
81
|
+
FileClient,
|
|
82
|
+
getFileNameFromUrl
|
|
83
|
+
});
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// src/FileClient.ts
|
|
2
|
+
import { ApiClient } from "@uniformdev/context/api";
|
|
3
|
+
var FILE_BASE_PATH = "/api/v1/file";
|
|
4
|
+
var FileClient = class extends ApiClient {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
super(options);
|
|
7
|
+
}
|
|
8
|
+
async createNewProjectFile(options) {
|
|
9
|
+
if (!this.options.projectId)
|
|
10
|
+
throw new Error("A project ID must exist to upload a file to a project");
|
|
11
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
12
|
+
return await this.apiClient(fetchUrl, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
body: JSON.stringify({
|
|
15
|
+
projectId: this.options.projectId,
|
|
16
|
+
...options
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async getFile(options) {
|
|
21
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH, options);
|
|
22
|
+
return await this.apiClient(fetchUrl);
|
|
23
|
+
}
|
|
24
|
+
async deleteFileByUrl(url) {
|
|
25
|
+
const fetchUrl = this.createUrl(FILE_BASE_PATH);
|
|
26
|
+
return await this.apiClient(fetchUrl, {
|
|
27
|
+
method: "DELETE",
|
|
28
|
+
body: JSON.stringify({
|
|
29
|
+
url
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/fileUrl.ts
|
|
36
|
+
var getFileNameFromUrl = (fileUrl) => {
|
|
37
|
+
var _a;
|
|
38
|
+
const url = new URL(fileUrl);
|
|
39
|
+
return ((_a = url.pathname.split("/").pop()) == null ? void 0 : _a.substring(23)) || "";
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/utils/constants.ts
|
|
43
|
+
var FILE_IN_PROGRESS_STATE = 0;
|
|
44
|
+
var FILE_READY_STATE = 64;
|
|
45
|
+
var FILE_MAX_SIZE = 1024 * 1024 * 10;
|
|
46
|
+
export {
|
|
47
|
+
FILE_IN_PROGRESS_STATE,
|
|
48
|
+
FILE_MAX_SIZE,
|
|
49
|
+
FILE_READY_STATE,
|
|
50
|
+
FileClient,
|
|
51
|
+
getFileNameFromUrl
|
|
52
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uniformdev/files",
|
|
3
|
+
"version": "19.38.3-alpha.78+5c9892bf1",
|
|
4
|
+
"description": "Uniform Files helpers",
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.esm.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
"import": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"node": "./dist/index.mjs",
|
|
12
|
+
"default": "./dist/index.esm.js"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsup",
|
|
23
|
+
"dev": "tsup --watch",
|
|
24
|
+
"clean": "rimraf dist",
|
|
25
|
+
"test": "jest --maxWorkers=1 --passWithNoTests",
|
|
26
|
+
"lint": "eslint \"src/**/*.{js,ts,tsx}\"",
|
|
27
|
+
"format": "prettier --write \"src/**/*.{js,ts,tsx}\""
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"/dist"
|
|
31
|
+
],
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@uniformdev/context": "19.38.3-alpha.78+5c9892bf1"
|
|
37
|
+
},
|
|
38
|
+
"gitHead": "5c9892bf101584d351d06b65e1658a1237594cfb"
|
|
39
|
+
}
|