@ttt-productions/upload-core 0.1.6 → 0.2.1
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/persistence/localstorage.d.ts +1 -1
- package/dist/persistence/localstorage.d.ts.map +1 -1
- package/dist/persistence/localstorage.js +1 -1
- package/dist/persistence/localstorage.js.map +1 -1
- package/package.json +2 -7
- package/dist/react/index.d.ts +0 -4
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js +0 -5
- package/dist/react/index.js.map +0 -1
- package/dist/react/use-upload-controller.d.ts +0 -11
- package/dist/react/use-upload-controller.d.ts.map +0 -1
- package/dist/react/use-upload-controller.js +0 -32
- package/dist/react/use-upload-controller.js.map +0 -1
- package/dist/react/use-upload-file.d.ts +0 -9
- package/dist/react/use-upload-file.d.ts.map +0 -1
- package/dist/react/use-upload-file.js +0 -44
- package/dist/react/use-upload-file.js.map +0 -1
- package/dist/react/use-upload-sessions.d.ts +0 -5
- package/dist/react/use-upload-sessions.d.ts.map +0 -1
- package/dist/react/use-upload-sessions.js +0 -14
- package/dist/react/use-upload-sessions.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UploadSessionPersistenceAdapter } from "../types.js";
|
|
2
2
|
export declare function createLocalStorageUploadSessionPersistence(opts?: {
|
|
3
|
-
/** Prefix for keys. Default: "
|
|
3
|
+
/** Prefix for keys. Default: "upload_session:" */
|
|
4
4
|
prefix?: string;
|
|
5
5
|
}): UploadSessionPersistenceAdapter;
|
|
6
6
|
//# sourceMappingURL=localstorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localstorage.d.ts","sourceRoot":"","sources":["../../src/persistence/localstorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAsB,MAAM,aAAa,CAAC;AAUvF,wBAAgB,0CAA0C,CAAC,IAAI,CAAC,EAAE;IAChE,
|
|
1
|
+
{"version":3,"file":"localstorage.d.ts","sourceRoot":"","sources":["../../src/persistence/localstorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAsB,MAAM,aAAa,CAAC;AAUvF,wBAAgB,0CAA0C,CAAC,IAAI,CAAC,EAAE;IAChE,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,+BAA+B,CA0ClC"}
|
|
@@ -7,7 +7,7 @@ function hasLocalStorage() {
|
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
export function createLocalStorageUploadSessionPersistence(opts) {
|
|
10
|
-
const prefix = opts?.prefix ?? "
|
|
10
|
+
const prefix = opts?.prefix ?? "upload_session:";
|
|
11
11
|
const k = (id) => `${prefix}${id}`;
|
|
12
12
|
const safeParse = (raw) => {
|
|
13
13
|
if (!raw)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localstorage.js","sourceRoot":"","sources":["../../src/persistence/localstorage.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,IAG1D;IACC,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"localstorage.js","sourceRoot":"","sources":["../../src/persistence/localstorage.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,IAG1D;IACC,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAEjD,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,CAAC,GAAkB,EAA6B,EAAE;QAClE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO,EAAE,CAAC;YAClC,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,SAAS;gBACtC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE;YAClB,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,GAAG,EAAE,CAAC,EAAU,EAAE,KAAyB,EAAE,EAAE;YAC7C,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO;YAC/B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO;YAC/B,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttt-productions/upload-core",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/ttt-productions/ttt-packages.git",
|
|
@@ -22,10 +22,6 @@
|
|
|
22
22
|
"./browser": {
|
|
23
23
|
"types": "./dist/browser/index.d.ts",
|
|
24
24
|
"default": "./dist/browser/index.js"
|
|
25
|
-
},
|
|
26
|
-
"./react": {
|
|
27
|
-
"types": "./dist/react/index.d.ts",
|
|
28
|
-
"default": "./dist/react/index.js"
|
|
29
25
|
}
|
|
30
26
|
},
|
|
31
27
|
"scripts": {
|
|
@@ -38,8 +34,7 @@
|
|
|
38
34
|
"@ttt-productions/firebase-helpers": "*"
|
|
39
35
|
},
|
|
40
36
|
"peerDependencies": {
|
|
41
|
-
"firebase": ">=10.0.0"
|
|
42
|
-
"react": ">=18.0.0"
|
|
37
|
+
"firebase": ">=10.0.0"
|
|
43
38
|
},
|
|
44
39
|
"devDependencies": {
|
|
45
40
|
"typescript": "^5.8.3"
|
package/dist/react/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/react/index.js
DELETED
package/dist/react/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { UploadSessionState } from "../types.js";
|
|
2
|
-
import type { StartUploadArgs, UploadController } from "../browser/types.js";
|
|
3
|
-
export declare function useUploadController(): {
|
|
4
|
-
start: (args: StartUploadArgs) => UploadController;
|
|
5
|
-
controller: UploadController | null;
|
|
6
|
-
session: UploadSessionState | null;
|
|
7
|
-
pause: () => boolean;
|
|
8
|
-
resume: () => boolean;
|
|
9
|
-
cancel: () => boolean;
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=use-upload-controller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-controller.d.ts","sourceRoot":"","sources":["../../src/react/use-upload-controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI7E,wBAAgB,mBAAmB;kBAWA,eAAe;;;;;;EAkBjD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
-
import { startResumableUpload } from "../storage/upload.js";
|
|
4
|
-
import { getUploadSession, subscribeUploadSession } from "../utils/upload-store.js";
|
|
5
|
-
export function useUploadController() {
|
|
6
|
-
const [controller, setController] = useState(null);
|
|
7
|
-
const [session, setSession] = useState(null);
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
if (!controller)
|
|
10
|
-
return;
|
|
11
|
-
const id = controller.id;
|
|
12
|
-
setSession(getUploadSession(id) ?? null);
|
|
13
|
-
return subscribeUploadSession(id, (s) => setSession(s));
|
|
14
|
-
}, [controller]);
|
|
15
|
-
const start = useCallback((args) => {
|
|
16
|
-
const c = startResumableUpload({ ...args, id: args.id ?? `upl_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}` });
|
|
17
|
-
setController(c);
|
|
18
|
-
return c;
|
|
19
|
-
}, []);
|
|
20
|
-
const api = useMemo(() => {
|
|
21
|
-
return {
|
|
22
|
-
start,
|
|
23
|
-
controller,
|
|
24
|
-
session,
|
|
25
|
-
pause: () => controller?.pause() ?? false,
|
|
26
|
-
resume: () => controller?.resume() ?? false,
|
|
27
|
-
cancel: () => controller?.cancel() ?? false,
|
|
28
|
-
};
|
|
29
|
-
}, [start, controller, session]);
|
|
30
|
-
return api;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=use-upload-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-controller.js","sourceRoot":"","sources":["../../src/react/use-upload-controller.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QACzC,OAAO,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,IAAqB,EAAE,EAAE;QAClD,MAAM,CAAC,GAAG,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnI,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACvB,OAAO;YACL,KAAK;YACL,UAAU;YACV,OAAO;YACP,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,KAAK;YACzC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,KAAK;YAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,KAAK;SAC5C,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEjC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { UploadFileResumableResult } from "../types.js";
|
|
2
|
-
import type { UploadFileResumableArgs } from "../browser/types.js";
|
|
3
|
-
export declare function useUploadFile(): {
|
|
4
|
-
upload: (args: Omit<UploadFileResumableArgs, "onProgress">) => Promise<UploadFileResumableResult>;
|
|
5
|
-
progress: number;
|
|
6
|
-
isUploading: boolean;
|
|
7
|
-
error: unknown;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=use-upload-file.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-file.d.ts","sourceRoot":"","sources":["../../src/react/use-upload-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,wBAAgB,aAAa;mBAeZ,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,KAAG,OAAO,CAAC,yBAAyB,CAAC;;;;EA+BhG"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
-
import { uploadFileResumable } from "../storage/upload.js";
|
|
4
|
-
export function useUploadFile() {
|
|
5
|
-
const [progress, setProgress] = useState(0);
|
|
6
|
-
const [isUploading, setIsUploading] = useState(false);
|
|
7
|
-
const [error, setError] = useState(null);
|
|
8
|
-
const mountedRef = useRef(true);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
mountedRef.current = true;
|
|
11
|
-
return () => {
|
|
12
|
-
mountedRef.current = false;
|
|
13
|
-
};
|
|
14
|
-
}, []);
|
|
15
|
-
const upload = useCallback(async (args) => {
|
|
16
|
-
setIsUploading(true);
|
|
17
|
-
setError(null);
|
|
18
|
-
setProgress(0);
|
|
19
|
-
try {
|
|
20
|
-
const res = await uploadFileResumable({
|
|
21
|
-
...args,
|
|
22
|
-
onProgress: ({ percent }) => {
|
|
23
|
-
if (!mountedRef.current)
|
|
24
|
-
return;
|
|
25
|
-
setProgress(percent);
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
if (!mountedRef.current)
|
|
29
|
-
return res;
|
|
30
|
-
setProgress(100);
|
|
31
|
-
setIsUploading(false);
|
|
32
|
-
return res;
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
if (mountedRef.current) {
|
|
36
|
-
setError(e);
|
|
37
|
-
setIsUploading(false);
|
|
38
|
-
}
|
|
39
|
-
throw e;
|
|
40
|
-
}
|
|
41
|
-
}, []);
|
|
42
|
-
return { upload, progress, isUploading, error };
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=use-upload-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-file.js","sourceRoot":"","sources":["../../src/react/use-upload-file.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAU,IAAI,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,IAAiD,EAAsC,EAAE;QAC9F,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,WAAW,CAAC,CAAC,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC;gBACpC,GAAG,IAAI;gBACP,UAAU,EAAE,CAAC,EAAE,OAAO,EAAuB,EAAE,EAAE;oBAC/C,IAAI,CAAC,UAAU,CAAC,OAAO;wBAAE,OAAO;oBAChC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC;YAEpC,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACZ,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-sessions.d.ts","sourceRoot":"","sources":["../../src/react/use-upload-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,wBAAgB,iBAAiB;;EAYhC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useEffect, useState } from "react";
|
|
3
|
-
import { listUploadSessions, subscribeUploadSessionsList } from "../utils/upload-store.js";
|
|
4
|
-
export function useUploadSessions() {
|
|
5
|
-
const [sessions, setSessions] = useState(() => listUploadSessions());
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
const sync = () => setSessions(listUploadSessions());
|
|
8
|
-
sync();
|
|
9
|
-
const unsub = subscribeUploadSessionsList(sync);
|
|
10
|
-
return () => unsub();
|
|
11
|
-
}, []);
|
|
12
|
-
return { sessions };
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=use-upload-sessions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-upload-sessions.js","sourceRoot":"","sources":["../../src/react/use-upload-sessions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE3F,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAuB,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE3F,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC;QAEP,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|