@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 ADDED
@@ -0,0 +1,2 @@
1
+ © 2023 Uniform Systems, Inc. All Rights Reserved.
2
+ See details of Uniform Systems, Inc. Master Subscription Agreement here: https://uniform.dev/eula
@@ -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,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
+ }