@dxos/react-client 2.29.2-dev.e924fb34 → 2.29.2-dev.f64f2a6f

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.
Files changed (39) hide show
  1. package/.rush/temp/package-deps_build.json +9 -6
  2. package/.rush/temp/package-deps_build:test.json +9 -6
  3. package/.rush/temp/package-deps_prerelease.json +9 -6
  4. package/.rush/temp/shrinkwrap-deps.json +73 -1
  5. package/dist/src/hooks/index.d.ts +1 -0
  6. package/dist/src/hooks/index.d.ts.map +1 -1
  7. package/dist/src/hooks/index.js +1 -0
  8. package/dist/src/hooks/index.js.map +1 -1
  9. package/dist/src/hooks/invitations/useHaloInvitations.d.ts.map +1 -1
  10. package/dist/src/hooks/invitations/useHaloInvitations.js.map +1 -1
  11. package/dist/src/hooks/invitations/useInvitations.d.ts.map +1 -1
  12. package/dist/src/hooks/invitations/useInvitations.js.map +1 -1
  13. package/dist/src/hooks/invitations/usePartyInvitations.d.ts.map +1 -1
  14. package/dist/src/hooks/invitations/usePartyInvitations.js +1 -2
  15. package/dist/src/hooks/invitations/usePartyInvitations.js.map +1 -1
  16. package/dist/src/hooks/ipfs/index.d.ts +3 -0
  17. package/dist/src/hooks/ipfs/index.d.ts.map +1 -0
  18. package/dist/src/hooks/ipfs/index.js +18 -0
  19. package/dist/src/hooks/ipfs/index.js.map +1 -0
  20. package/dist/src/hooks/ipfs/useIpfsClient.d.ts +17 -0
  21. package/dist/src/hooks/ipfs/useIpfsClient.d.ts.map +1 -0
  22. package/dist/src/hooks/ipfs/useIpfsClient.js +41 -0
  23. package/dist/src/hooks/ipfs/useIpfsClient.js.map +1 -0
  24. package/dist/src/hooks/ipfs/useIpfsFiles.d.ts +19 -0
  25. package/dist/src/hooks/ipfs/useIpfsFiles.d.ts.map +1 -0
  26. package/dist/src/hooks/ipfs/useIpfsFiles.js +48 -0
  27. package/dist/src/hooks/ipfs/useIpfsFiles.js.map +1 -0
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dxos-react-client-2.29.2-dev.f64f2a6f.tgz +0 -0
  30. package/out/book/esbuild-server-book.js +216179 -0
  31. package/out/book/index.html +14 -0
  32. package/package.json +24 -23
  33. package/src/hooks/index.ts +1 -0
  34. package/src/hooks/invitations/useHaloInvitations.ts +2 -2
  35. package/src/hooks/invitations/useInvitations.ts +1 -0
  36. package/src/hooks/invitations/usePartyInvitations.ts +1 -2
  37. package/src/hooks/ipfs/index.ts +6 -0
  38. package/src/hooks/ipfs/useIpfsClient.ts +36 -0
  39. package/src/hooks/ipfs/useIpfsFiles.ts +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIpfsClient.js","sourceRoot":"","sources":["../../../../src/hooks/ipfs/useIpfsClient.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,uDAA+C;AAC/C,gDAAwB;AACxB,iCAAgC;AAEhC;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,GAAQ,EAAE,QAAiB,EAAE,EAAE;IACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;;;;;GAMG;AACH,6EAA6E;AACtE,MAAM,aAAa,GAAG,CAAC,GAAY,EAAE,EAAE;IAC5C,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAA,yBAAM,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
@@ -0,0 +1,19 @@
1
+ import { CID, IPFSHTTPClient } from 'ipfs-http-client';
2
+ import { Party } from '@dxos/client';
3
+ export declare type IPFSFile = {
4
+ filename?: string;
5
+ cid: CID;
6
+ size?: number;
7
+ };
8
+ /**
9
+ * Returns a list of mapped IPFS files.
10
+ * @param party
11
+ * @param type
12
+ */
13
+ export declare const useIpfsFiles: (party: Party | undefined, type: string) => IPFSFile[];
14
+ export declare const uploadFilesToIpfs: (ipfsClient: IPFSHTTPClient, files: File[], onError?: ((error: Error) => void) | undefined) => Promise<({
15
+ cid: string;
16
+ size: number;
17
+ filename: string;
18
+ } | undefined)[]>;
19
+ //# sourceMappingURL=useIpfsFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIpfsFiles.d.ts","sourceRoot":"","sources":["../../../../src/hooks/ipfs/useIpfsFiles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,oBAAY,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAAW,KAAK,GAAG,SAAS,QAAQ,MAAM,eAYlE,CAAC;AAGF,eAAO,MAAM,iBAAiB,eAChB,cAAc,SACnB,IAAI,EAAE,qBACK,KAAK,KAAK,IAAI;;;;iBAkBjC,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.uploadFilesToIpfs = exports.useIpfsFiles = void 0;
7
+ const react_1 = require("react");
8
+ const echo_selections_1 = require("../echo-selections");
9
+ /**
10
+ * Returns a list of mapped IPFS files.
11
+ * @param party
12
+ * @param type
13
+ */
14
+ const useIpfsFiles = (party, type) => {
15
+ var _a;
16
+ // TODO(burdon): Schema definitions for types?
17
+ // TODO(burdon): Use reducer to do mapping?
18
+ const items = (0, echo_selections_1.useSelection)(party === null || party === void 0 ? void 0 : party.select().filter({ type }));
19
+ const files = (_a = (0, react_1.useMemo)(() => items === null || items === void 0 ? void 0 : items.map(item => ({
20
+ filename: item.model.getProperty('filename'),
21
+ cid: item.model.getProperty('cid'),
22
+ size: item.model.getProperty('size')
23
+ })), [items])) !== null && _a !== void 0 ? _a : [];
24
+ return files;
25
+ };
26
+ exports.useIpfsFiles = useIpfsFiles;
27
+ // TODO(wittjosiah): This is not returning IPFSFiles.
28
+ const uploadFilesToIpfs = async (ipfsClient, files, onError) => {
29
+ return await Promise.all(files.map(async (file) => {
30
+ // https://docs.ipfs.io/reference/js/api
31
+ // https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-http-client
32
+ try {
33
+ const { cid, path, size } = await ipfsClient.add(file);
34
+ await ipfsClient.pin.add(cid);
35
+ // TODO(kaplanski): path is CID v0. cid is CID v1. Current default is v0, but will be updated to v1 in the future. We'll need to update to support v1.
36
+ return {
37
+ cid: path,
38
+ size,
39
+ filename: file.name
40
+ };
41
+ }
42
+ catch (err) {
43
+ onError === null || onError === void 0 ? void 0 : onError(err instanceof Error ? err : new Error(err)); // TODO(burdon): Generalize.
44
+ }
45
+ }));
46
+ };
47
+ exports.uploadFilesToIpfs = uploadFilesToIpfs;
48
+ //# sourceMappingURL=useIpfsFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIpfsFiles.js","sourceRoot":"","sources":["../../../../src/hooks/ipfs/useIpfsFiles.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAGF,iCAAgC;AAIhC,wDAAkD;AAQlD;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,IAAY,EAAE,EAAE;;IACrE,8CAA8C;IAC9C,2CAA2C;IAC3C,MAAM,KAAK,GAAG,IAAA,8BAAY,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAe,MAAA,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;QAC5C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;KACrC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,mCAAI,EAAE,CAAC;IAEpB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB;AAEF,qDAAqD;AAC9C,MAAM,iBAAiB,GAAG,KAAK,EACpC,UAA0B,EAC1B,KAAa,EACb,OAAgC,EAChC,EAAE;IACF,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAChD,wCAAwC;QACxC,wEAAwE;QACxE,IAAI;YACF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,sJAAsJ;YACtJ,OAAO;gBACL,GAAG,EAAE,IAAI;gBACT,IAAI;gBACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAa,CAAC,CAAC,CAAC,CAAC,4BAA4B;SAC/F;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B"}