@xyo-network/react-api 2.32.0-rc.9 → 2.33.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.
Files changed (85) hide show
  1. package/dist/cjs/hooks/ResolvePayloadArgs.d.ts +5 -0
  2. package/dist/cjs/hooks/ResolvePayloadArgs.d.ts.map +1 -0
  3. package/dist/cjs/hooks/ResolvePayloadArgs.js +3 -0
  4. package/dist/cjs/hooks/ResolvePayloadArgs.js.map +1 -0
  5. package/dist/cjs/hooks/index.d.ts +6 -0
  6. package/dist/cjs/hooks/index.d.ts.map +1 -0
  7. package/dist/cjs/hooks/index.js +9 -0
  8. package/dist/cjs/hooks/index.js.map +1 -0
  9. package/dist/cjs/hooks/lib/FetchHuriHashOptions.d.ts +4 -0
  10. package/dist/cjs/hooks/lib/FetchHuriHashOptions.d.ts.map +1 -0
  11. package/dist/cjs/hooks/lib/FetchHuriHashOptions.js +3 -0
  12. package/dist/cjs/hooks/lib/FetchHuriHashOptions.js.map +1 -0
  13. package/dist/cjs/hooks/lib/findHuriNetwork.d.ts +4 -0
  14. package/dist/cjs/hooks/lib/findHuriNetwork.d.ts.map +1 -0
  15. package/dist/cjs/hooks/lib/findHuriNetwork.js +14 -0
  16. package/dist/cjs/hooks/lib/findHuriNetwork.js.map +1 -0
  17. package/dist/cjs/hooks/lib/index.d.ts +3 -0
  18. package/dist/cjs/hooks/lib/index.d.ts.map +1 -0
  19. package/dist/cjs/hooks/lib/index.js +6 -0
  20. package/dist/cjs/hooks/lib/index.js.map +1 -0
  21. package/dist/cjs/hooks/useHuriHash.d.ts +13 -0
  22. package/dist/cjs/hooks/useHuriHash.d.ts.map +1 -0
  23. package/dist/cjs/hooks/useHuriHash.js +33 -0
  24. package/dist/cjs/hooks/useHuriHash.js.map +1 -0
  25. package/dist/cjs/hooks/useLoadPayload.d.ts +3 -0
  26. package/dist/cjs/hooks/useLoadPayload.d.ts.map +1 -0
  27. package/dist/cjs/hooks/useLoadPayload.js +57 -0
  28. package/dist/cjs/hooks/useLoadPayload.js.map +1 -0
  29. package/dist/cjs/hooks/useResolveHuri.d.ts +10 -0
  30. package/dist/cjs/hooks/useResolveHuri.d.ts.map +1 -0
  31. package/dist/cjs/hooks/useResolveHuri.js +68 -0
  32. package/dist/cjs/hooks/useResolveHuri.js.map +1 -0
  33. package/dist/cjs/index.d.ts +1 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/docs.json +577 -18
  38. package/dist/esm/hooks/ResolvePayloadArgs.d.ts +5 -0
  39. package/dist/esm/hooks/ResolvePayloadArgs.d.ts.map +1 -0
  40. package/dist/esm/hooks/ResolvePayloadArgs.js +2 -0
  41. package/dist/esm/hooks/ResolvePayloadArgs.js.map +1 -0
  42. package/dist/esm/hooks/index.d.ts +6 -0
  43. package/dist/esm/hooks/index.d.ts.map +1 -0
  44. package/dist/esm/hooks/index.js +6 -0
  45. package/dist/esm/hooks/index.js.map +1 -0
  46. package/dist/esm/hooks/lib/FetchHuriHashOptions.d.ts +4 -0
  47. package/dist/esm/hooks/lib/FetchHuriHashOptions.d.ts.map +1 -0
  48. package/dist/esm/hooks/lib/FetchHuriHashOptions.js +2 -0
  49. package/dist/esm/hooks/lib/FetchHuriHashOptions.js.map +1 -0
  50. package/dist/esm/hooks/lib/findHuriNetwork.d.ts +4 -0
  51. package/dist/esm/hooks/lib/findHuriNetwork.d.ts.map +1 -0
  52. package/dist/esm/hooks/lib/findHuriNetwork.js +9 -0
  53. package/dist/esm/hooks/lib/findHuriNetwork.js.map +1 -0
  54. package/dist/esm/hooks/lib/index.d.ts +3 -0
  55. package/dist/esm/hooks/lib/index.d.ts.map +1 -0
  56. package/dist/esm/hooks/lib/index.js +3 -0
  57. package/dist/esm/hooks/lib/index.js.map +1 -0
  58. package/dist/esm/hooks/useHuriHash.d.ts +13 -0
  59. package/dist/esm/hooks/useHuriHash.d.ts.map +1 -0
  60. package/dist/esm/hooks/useHuriHash.js +30 -0
  61. package/dist/esm/hooks/useHuriHash.js.map +1 -0
  62. package/dist/esm/hooks/useLoadPayload.d.ts +3 -0
  63. package/dist/esm/hooks/useLoadPayload.d.ts.map +1 -0
  64. package/dist/esm/hooks/useLoadPayload.js +52 -0
  65. package/dist/esm/hooks/useLoadPayload.js.map +1 -0
  66. package/dist/esm/hooks/useResolveHuri.d.ts +10 -0
  67. package/dist/esm/hooks/useResolveHuri.d.ts.map +1 -0
  68. package/dist/esm/hooks/useResolveHuri.js +64 -0
  69. package/dist/esm/hooks/useResolveHuri.js.map +1 -0
  70. package/dist/esm/index.d.ts +1 -0
  71. package/dist/esm/index.d.ts.map +1 -1
  72. package/dist/esm/index.js +1 -0
  73. package/dist/esm/index.js.map +1 -1
  74. package/package.json +19 -15
  75. package/src/hooks/ResolvePayloadArgs.ts +6 -0
  76. package/src/hooks/index.ts +5 -0
  77. package/src/hooks/lib/FetchHuriHashOptions.ts +3 -0
  78. package/src/hooks/lib/findHuriNetwork.ts +13 -0
  79. package/src/hooks/lib/index.ts +2 -0
  80. package/src/hooks/useHuriHash.stories.tsx +108 -0
  81. package/src/hooks/useHuriHash.tsx +40 -0
  82. package/src/hooks/useLoadPayload.stories.tsx +69 -0
  83. package/src/hooks/useLoadPayload.tsx +59 -0
  84. package/src/hooks/useResolveHuri.tsx +75 -0
  85. package/src/index.ts +1 -0
@@ -0,0 +1,5 @@
1
+ import { XyoApiError } from '@xyo-network/api';
2
+ import { XyoPayload } from '@xyo-network/payload';
3
+ export declare type UsePayload = [XyoPayload?, boolean?, XyoApiError?];
4
+ export declare type UseHuriOrHash = [...UsePayload, boolean?];
5
+ //# sourceMappingURL=ResolvePayloadArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolvePayloadArgs.d.ts","sourceRoot":"","sources":["../../../src/hooks/ResolvePayloadArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,UAAU,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;AAE9D,oBAAY,aAAa,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ResolvePayloadArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolvePayloadArgs.js","sourceRoot":"","sources":["../../../src/hooks/ResolvePayloadArgs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from './lib';
2
+ export * from './ResolvePayloadArgs';
3
+ export * from './useHuriHash';
4
+ export * from './useLoadPayload';
5
+ export * from './useResolveHuri';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib"), exports);
5
+ tslib_1.__exportStar(require("./ResolvePayloadArgs"), exports);
6
+ tslib_1.__exportStar(require("./useHuriHash"), exports);
7
+ tslib_1.__exportStar(require("./useLoadPayload"), exports);
8
+ tslib_1.__exportStar(require("./useResolveHuri"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,gDAAqB;AACrB,+DAAoC;AACpC,wDAA6B;AAC7B,2DAAgC;AAChC,2DAAgC"}
@@ -0,0 +1,4 @@
1
+ export interface FetchHuriHashOptions {
2
+ changeActiveNetwork?: boolean;
3
+ }
4
+ //# sourceMappingURL=FetchHuriHashOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchHuriHashOptions.d.ts","sourceRoot":"","sources":["../../../../src/hooks/lib/FetchHuriHashOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=FetchHuriHashOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchHuriHashOptions.js","sourceRoot":"","sources":["../../../../src/hooks/lib/FetchHuriHashOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { XyoNetworkPayload } from '@xyo-network/network';
2
+ import { Huri } from '@xyo-network/payload';
3
+ export declare const findHuriNetwork: (huriInstance: Huri, networks?: XyoNetworkPayload[]) => XyoNetworkPayload | undefined;
4
+ //# sourceMappingURL=findHuriNetwork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findHuriNetwork.d.ts","sourceRoot":"","sources":["../../../../src/hooks/lib/findHuriNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,eAAO,MAAM,eAAe,iBAAkB,IAAI,aAAa,iBAAiB,EAAE,kCASjF,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findHuriNetwork = void 0;
4
+ const findHuriNetwork = (huriInstance, networks) => {
5
+ // see if huri archivist matches any archivist in the network configs
6
+ return networks === null || networks === void 0 ? void 0 : networks.filter((network) => {
7
+ var _a;
8
+ return (_a = network.nodes) === null || _a === void 0 ? void 0 : _a.find((node) => {
9
+ return node.type === 'archivist' && new URL(node.uri).hostname === huriInstance.archivist;
10
+ });
11
+ }).shift();
12
+ };
13
+ exports.findHuriNetwork = findHuriNetwork;
14
+ //# sourceMappingURL=findHuriNetwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findHuriNetwork.js","sourceRoot":"","sources":["../../../../src/hooks/lib/findHuriNetwork.ts"],"names":[],"mappings":";;;AAGO,MAAM,eAAe,GAAG,CAAC,YAAkB,EAAE,QAA8B,EAAE,EAAE;IACpF,qEAAqE;IACrE,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CACX,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;;QACnB,OAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,SAAS,CAAA;QAC3F,CAAC,CAAC,CAAA;KAAA,EAEH,KAAK,EAAE,CAAA;AACZ,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B"}
@@ -0,0 +1,3 @@
1
+ export * from './FetchHuriHashOptions';
2
+ export * from './findHuriNetwork';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./FetchHuriHashOptions"), exports);
5
+ tslib_1.__exportStar(require("./findHuriNetwork"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/lib/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,4DAAiC"}
@@ -0,0 +1,13 @@
1
+ import { Huri } from '@xyo-network/payload';
2
+ import { FetchHuriHashOptions } from './lib';
3
+ /**
4
+ * Resolve a hash or a huri regardless of network
5
+ */
6
+ declare const useHuriHash: (huriOrHash?: string | Huri, huriUri?: string, options?: FetchHuriHashOptions) => [({
7
+ schema: string;
8
+ previousHash?: string | undefined;
9
+ sources?: string[] | undefined;
10
+ timestamp?: number | undefined;
11
+ } | undefined)?, (boolean | undefined)?, (import("@xyo-network/api").XyoApiError<any, any> | undefined)?, (boolean | undefined)?];
12
+ export { useHuriHash };
13
+ //# sourceMappingURL=useHuriHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHuriHash.d.ts","sourceRoot":"","sources":["../../../src/hooks/useHuriHash.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAK5C;;GAEG;AACH,QAAA,MAAM,WAAW,gBAAiB,MAAM,GAAG,IAAI,YAAY,MAAM,YAAY,oBAAoB;;;;;iIA0BhG,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useHuriHash = void 0;
4
+ const payload_1 = require("@xyo-network/payload");
5
+ const react_1 = require("react");
6
+ const useLoadPayload_1 = require("./useLoadPayload");
7
+ const useResolveHuri_1 = require("./useResolveHuri");
8
+ /**
9
+ * Resolve a hash or a huri regardless of network
10
+ */
11
+ const useHuriHash = (huriOrHash, huriUri, options) => {
12
+ const hash = (0, react_1.useCallback)((huriOrHash) => {
13
+ if (huriOrHash) {
14
+ if (typeof huriOrHash === 'string') {
15
+ return huriOrHash;
16
+ }
17
+ if (huriOrHash instanceof payload_1.Huri) {
18
+ return huriOrHash.hash;
19
+ }
20
+ }
21
+ }, []);
22
+ const providedHash = hash(huriOrHash);
23
+ //AT: TODO -> Talk about this pattern
24
+ // Optimistically try to grab the has from the current network and archive
25
+ const [payload, notFound, apiError] = (0, useLoadPayload_1.useLoadPayload)(providedHash);
26
+ // if a huriUri was passed, we can safely override the notFound from the hash only query
27
+ const notFoundOverride = huriUri ? true : notFound;
28
+ // If payload isn't found, fallback to the huriUri
29
+ const [huriPayload, huriPayloadNotFound, huriApiError, networkNotFound] = (0, useResolveHuri_1.useResolveHuri)(huriUri, notFoundOverride, options);
30
+ return [payload !== null && payload !== void 0 ? payload : huriPayload, huriPayloadNotFound, apiError !== null && apiError !== void 0 ? apiError : huriApiError, networkNotFound];
31
+ };
32
+ exports.useHuriHash = useHuriHash;
33
+ //# sourceMappingURL=useHuriHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHuriHash.js","sourceRoot":"","sources":["../../../src/hooks/useHuriHash.tsx"],"names":[],"mappings":";;;AAAA,kDAA2C;AAC3C,iCAAmC;AAInC,qDAAiD;AACjD,qDAAiD;AAEjD;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,UAA0B,EAAE,OAAgB,EAAE,OAA8B,EAAiB,EAAE;IAClH,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,CAAC,UAA0B,EAAE,EAAE;QACtD,IAAI,UAAU,EAAE;YACd,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAClC,OAAO,UAAU,CAAA;aAClB;YACD,IAAI,UAAU,YAAY,cAAI,EAAE;gBAC9B,OAAO,UAAU,CAAC,IAAI,CAAA;aACvB;SACF;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAErC,qCAAqC;IAErC,0EAA0E;IAC1E,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,+BAAc,EAAC,YAAY,CAAC,CAAA;IAElE,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAElD,kDAAkD;IAClD,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,+BAAc,EAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE5H,OAAO,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,EAAE,mBAAmB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,YAAY,EAAE,eAAe,CAAC,CAAA;AACjG,CAAC,CAAA;AAEQ,kCAAW"}
@@ -0,0 +1,3 @@
1
+ import { UsePayload } from './ResolvePayloadArgs';
2
+ export declare const useLoadPayload: (hash?: string) => UsePayload;
3
+ //# sourceMappingURL=useLoadPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadPayload.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLoadPayload.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,eAAO,MAAM,cAAc,UAAW,MAAM,eAiD3C,CAAA"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLoadPayload = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_shared_1 = require("@xylabs/react-shared");
6
+ const react_archive_1 = require("@xyo-network/react-archive");
7
+ const react_archivist_api_1 = require("@xyo-network/react-archivist-api");
8
+ const react_1 = require("react");
9
+ const useLoadPayload = (hash) => {
10
+ const { api } = (0, react_archivist_api_1.useArchivistApi)();
11
+ const { archive } = (0, react_archive_1.useArchive)();
12
+ const [localHash, setLocalHash] = (0, react_1.useState)();
13
+ const [notFound, setNotFound] = (0, react_1.useState)();
14
+ const [apiError, setApiError] = (0, react_1.useState)();
15
+ const [payload, setPayload] = (0, react_1.useState)();
16
+ const reset = () => {
17
+ setPayload(undefined);
18
+ setApiError(undefined);
19
+ setNotFound(undefined);
20
+ };
21
+ // allow for hash changes to retrigger the api call
22
+ (0, react_1.useEffect)(() => {
23
+ if (hash !== localHash) {
24
+ setLocalHash(hash);
25
+ reset();
26
+ }
27
+ }, [hash, localHash]);
28
+ (0, react_shared_1.useAsyncEffect)(
29
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
+ (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
31
+ if (api && localHash && localHash.length > 0 && notFound === undefined) {
32
+ reset();
33
+ try {
34
+ const result = yield (api === null || api === void 0 ? void 0 : api.archive(archive).payload.hash(localHash).get());
35
+ if (mounted()) {
36
+ if (result === null || result === void 0 ? void 0 : result.length) {
37
+ setPayload(result[0]);
38
+ setNotFound(false);
39
+ }
40
+ else if ((result === null || result === void 0 ? void 0 : result.length) === 0) {
41
+ setNotFound(true);
42
+ setPayload(undefined);
43
+ }
44
+ }
45
+ }
46
+ catch (e) {
47
+ reset();
48
+ setNotFound(false);
49
+ setApiError(e);
50
+ console.error(e);
51
+ }
52
+ }
53
+ }), [hash, api, archive, payload, notFound, localHash]);
54
+ return [payload, notFound, apiError];
55
+ };
56
+ exports.useLoadPayload = useLoadPayload;
57
+ //# sourceMappingURL=useLoadPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadPayload.js","sourceRoot":"","sources":["../../../src/hooks/useLoadPayload.tsx"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAGrD,8DAAuD;AACvD,0EAAkE;AAClE,iCAA2C;AAIpC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAc,EAAE;IAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,qCAAe,GAAE,CAAA;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0BAAU,GAAE,CAAA;IAChC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,GAAU,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAc,CAAA;IAEpD,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,UAAU,CAAC,SAAS,CAAC,CAAA;QACrB,WAAW,CAAC,SAAS,CAAC,CAAA;QACtB,WAAW,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,mDAAmD;IACnD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,KAAK,EAAE,CAAA;SACR;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IAErB,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;YACtE,KAAK,EAAE,CAAA;YACP,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAA,CAAA;gBACxE,IAAI,OAAO,EAAE,EAAE;oBACb,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;wBAClB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;wBACrB,WAAW,CAAC,KAAK,CAAC,CAAA;qBACnB;yBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,CAAC,EAAE;wBAC/B,WAAW,CAAC,IAAI,CAAC,CAAA;wBACjB,UAAU,CAAC,SAAS,CAAC,CAAA;qBACtB;iBACF;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,KAAK,EAAE,CAAA;gBACP,WAAW,CAAC,KAAK,CAAC,CAAA;gBAClB,WAAW,CAAC,CAAgB,CAAC,CAAA;gBAC7B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CACnD,CAAA;IACD,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AAjDY,QAAA,cAAc,kBAiD1B"}
@@ -0,0 +1,10 @@
1
+ import { XyoApiError } from '@xyo-network/api';
2
+ import { FetchHuriHashOptions } from './lib';
3
+ declare const useResolveHuri: (huriUri?: string, dependentNotFound?: boolean, options?: FetchHuriHashOptions) => [({
4
+ schema: string;
5
+ previousHash?: string | undefined;
6
+ sources?: string[] | undefined;
7
+ timestamp?: number | undefined;
8
+ } | undefined)?, (boolean | undefined)?, (XyoApiError<any, any> | undefined)?, (boolean | undefined)?];
9
+ export { useResolveHuri };
10
+ //# sourceMappingURL=useResolveHuri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolveHuri.d.ts","sourceRoot":"","sources":["../../../src/hooks/useResolveHuri.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAK9C,OAAO,EAAE,oBAAoB,EAAmB,MAAM,OAAO,CAAA;AAG7D,QAAA,MAAM,cAAc,aAAc,MAAM,sBAAsB,OAAO,YAAY,oBAAoB;;;;;sGA+DpG,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useResolveHuri = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_shared_1 = require("@xylabs/react-shared");
6
+ const payload_1 = require("@xyo-network/payload");
7
+ const react_network_1 = require("@xyo-network/react-network");
8
+ const react_1 = require("react");
9
+ const lib_1 = require("./lib");
10
+ const useResolveHuri = (huriUri, dependentNotFound, options) => {
11
+ const { network, networks, setNetwork } = (0, react_network_1.useNetwork)();
12
+ const [huriPayload, setHuriPayload] = (0, react_1.useState)();
13
+ const [huriPayloadNotFound, setHuriPayloadNotFound] = (0, react_1.useState)();
14
+ const [huriNetworkNotFound, setHuriNetworkNotFound] = (0, react_1.useState)();
15
+ const [huriApiError, setHuriApiError] = (0, react_1.useState)();
16
+ const { changeActiveNetwork } = options !== null && options !== void 0 ? options : {};
17
+ //AT: TODO -> Talk about this pattern
18
+ const reset = () => {
19
+ setHuriPayload(undefined);
20
+ setHuriPayloadNotFound(undefined);
21
+ setHuriApiError(undefined);
22
+ };
23
+ (0, react_1.useEffect)(() => {
24
+ // Initially, sync local not found with dependent's status
25
+ setHuriPayloadNotFound(dependentNotFound);
26
+ }, [dependentNotFound]);
27
+ (0, react_shared_1.useAsyncEffect)(
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
30
+ // if dependent value is resolved, don't do anything, if not resolved, try to resolve huriUri
31
+ if (dependentNotFound && huriUri) {
32
+ reset();
33
+ const huriInstance = new payload_1.Huri(huriUri);
34
+ const foundHuriNetwork = (0, lib_1.findHuriNetwork)(huriInstance, networks);
35
+ if (foundHuriNetwork && mounted()) {
36
+ if (network !== foundHuriNetwork && changeActiveNetwork) {
37
+ setNetwork === null || setNetwork === void 0 ? void 0 : setNetwork(foundHuriNetwork);
38
+ return;
39
+ }
40
+ try {
41
+ const huriPayload = yield huriInstance.fetch();
42
+ if (mounted()) {
43
+ if (huriPayload) {
44
+ setHuriPayload(huriPayload);
45
+ setHuriPayloadNotFound(false);
46
+ }
47
+ else {
48
+ setHuriPayloadNotFound(true);
49
+ }
50
+ }
51
+ }
52
+ catch (e) {
53
+ if (mounted()) {
54
+ setHuriPayloadNotFound(false);
55
+ setHuriPayload(undefined);
56
+ setHuriApiError(e);
57
+ }
58
+ }
59
+ }
60
+ else {
61
+ setHuriNetworkNotFound(true);
62
+ }
63
+ }
64
+ }), [huriUri, network, networks, dependentNotFound, setNetwork, changeActiveNetwork]);
65
+ return [huriPayload, huriPayloadNotFound, huriApiError, huriNetworkNotFound];
66
+ };
67
+ exports.useResolveHuri = useResolveHuri;
68
+ //# sourceMappingURL=useResolveHuri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolveHuri.js","sourceRoot":"","sources":["../../../src/hooks/useResolveHuri.tsx"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,kDAAuD;AACvD,8DAAuD;AACvD,iCAA2C;AAE3C,+BAA6D;AAG7D,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,iBAA2B,EAAE,OAA8B,EAAiB,EAAE;IACtH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAU,GAAE,CAAA;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAc,CAAA;IAC5D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IACzE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IACzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAE/D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAA;IAE7C,qCAAqC;IACrC,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,cAAc,CAAC,SAAS,CAAC,CAAA;QACzB,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACjC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,0DAA0D;QAC1D,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEvB,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,6FAA6F;QAC7F,IAAI,iBAAiB,IAAI,OAAO,EAAE;YAChC,KAAK,EAAE,CAAA;YACP,MAAM,YAAY,GAAG,IAAI,cAAI,CAAC,OAAO,CAAC,CAAA;YAEtC,MAAM,gBAAgB,GAAG,IAAA,qBAAe,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAEhE,IAAI,gBAAgB,IAAI,OAAO,EAAE,EAAE;gBACjC,IAAI,OAAO,KAAK,gBAAgB,IAAI,mBAAmB,EAAE;oBACvD,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,gBAAgB,CAAC,CAAA;oBAC9B,OAAM;iBACP;gBAED,IAAI;oBACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;oBAC9C,IAAI,OAAO,EAAE,EAAE;wBACb,IAAI,WAAW,EAAE;4BACf,cAAc,CAAC,WAAW,CAAC,CAAA;4BAC3B,sBAAsB,CAAC,KAAK,CAAC,CAAA;yBAC9B;6BAAM;4BACL,sBAAsB,CAAC,IAAI,CAAC,CAAA;yBAC7B;qBACF;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,OAAO,EAAE,EAAE;wBACb,sBAAsB,CAAC,KAAK,CAAC,CAAA;wBAC7B,cAAc,CAAC,SAAS,CAAC,CAAA;wBACzB,eAAe,CAAC,CAAgB,CAAC,CAAA;qBAClC;iBACF;aACF;iBAAM;gBACL,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;SACF;IACH,CAAC,CAAA,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,CAAC,CACjF,CAAA;IAED,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAA;AAC9E,CAAC,CAAA;AAEQ,wCAAc"}
@@ -1,2 +1,3 @@
1
1
  export * from './components';
2
+ export * from './hooks';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./components"), exports);
5
+ tslib_1.__exportStar(require("./hooks"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,kDAAuB"}