@xyo-network/react-node 2.45.0-rc.9 → 2.45.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 (118) hide show
  1. package/dist/cjs/hooks/index.js +2 -9
  2. package/dist/cjs/hooks/index.js.map +1 -1
  3. package/dist/cjs/hooks/useMemoryNodeUpdates.js +1 -1
  4. package/dist/cjs/hooks/useMemoryNodeUpdates.js.map +1 -1
  5. package/dist/cjs/hooks/useModule.js +71 -3
  6. package/dist/cjs/hooks/useModule.js.map +1 -1
  7. package/dist/cjs/hooks/useModules.js +29 -6
  8. package/dist/cjs/hooks/useModules.js.map +1 -1
  9. package/dist/cjs/hooks/useNode.js +44 -52
  10. package/dist/cjs/hooks/useNode.js.map +1 -1
  11. package/dist/cjs/hooks/{useModuleAddresses.js → useNodeAttachedAddresses.js} +9 -9
  12. package/dist/cjs/hooks/useNodeAttachedAddresses.js.map +1 -0
  13. package/dist/cjs/hooks/useProvidedNode.js +29 -15
  14. package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
  15. package/dist/cjs/hooks/useWrappedModule.js +49 -0
  16. package/dist/cjs/hooks/useWrappedModule.js.map +1 -0
  17. package/dist/docs.json +767 -2334
  18. package/dist/esm/hooks/index.js +2 -9
  19. package/dist/esm/hooks/index.js.map +1 -1
  20. package/dist/esm/hooks/useMemoryNodeUpdates.js +1 -1
  21. package/dist/esm/hooks/useMemoryNodeUpdates.js.map +1 -1
  22. package/dist/esm/hooks/useModule.js +69 -3
  23. package/dist/esm/hooks/useModule.js.map +1 -1
  24. package/dist/esm/hooks/useModules.js +30 -7
  25. package/dist/esm/hooks/useModules.js.map +1 -1
  26. package/dist/esm/hooks/useNode.js +43 -50
  27. package/dist/esm/hooks/useNode.js.map +1 -1
  28. package/dist/esm/hooks/useNodeAttachedAddresses.js +17 -0
  29. package/dist/esm/hooks/useNodeAttachedAddresses.js.map +1 -0
  30. package/dist/esm/hooks/useProvidedNode.js +27 -15
  31. package/dist/esm/hooks/useProvidedNode.js.map +1 -1
  32. package/dist/esm/hooks/useWrappedModule.js +45 -0
  33. package/dist/esm/hooks/useWrappedModule.js.map +1 -0
  34. package/dist/types/hooks/index.d.ts +2 -9
  35. package/dist/types/hooks/index.d.ts.map +1 -1
  36. package/dist/types/hooks/useModule.d.ts +23 -58
  37. package/dist/types/hooks/useModule.d.ts.map +1 -1
  38. package/dist/types/hooks/useModules.d.ts +5 -5
  39. package/dist/types/hooks/useModules.d.ts.map +1 -1
  40. package/dist/types/hooks/useNode.d.ts +3 -59
  41. package/dist/types/hooks/useNode.d.ts.map +1 -1
  42. package/dist/types/hooks/useNodeAttachedAddresses.d.ts +2 -0
  43. package/dist/types/hooks/useNodeAttachedAddresses.d.ts.map +1 -0
  44. package/dist/types/hooks/useProvidedNode.d.ts +3 -6
  45. package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
  46. package/dist/types/hooks/useWrappedModule.d.ts +39 -0
  47. package/dist/types/hooks/useWrappedModule.d.ts.map +1 -0
  48. package/package.json +16 -17
  49. package/src/components/Node.stories.tsx +36 -10
  50. package/src/hooks/index.ts +2 -9
  51. package/src/hooks/useMemoryNodeUpdates.tsx +1 -1
  52. package/src/hooks/useModule.tsx +77 -3
  53. package/src/hooks/useModules.ts +30 -10
  54. package/src/hooks/useNode.tsx +40 -72
  55. package/src/hooks/{useModuleAddresses.ts → useNodeAttachedAddresses.ts} +6 -6
  56. package/src/hooks/useProvidedNode.tsx +31 -18
  57. package/src/hooks/useWrappedModule.tsx +61 -0
  58. package/dist/cjs/hooks/useArchiveArchivists.js +0 -38
  59. package/dist/cjs/hooks/useArchiveArchivists.js.map +0 -1
  60. package/dist/cjs/hooks/useArchivistModule.js +0 -12
  61. package/dist/cjs/hooks/useArchivistModule.js.map +0 -1
  62. package/dist/cjs/hooks/useArchivistModules.js +0 -11
  63. package/dist/cjs/hooks/useArchivistModules.js.map +0 -1
  64. package/dist/cjs/hooks/useDivinerModule.js +0 -12
  65. package/dist/cjs/hooks/useDivinerModule.js.map +0 -1
  66. package/dist/cjs/hooks/useDivinerModules.js +0 -12
  67. package/dist/cjs/hooks/useDivinerModules.js.map +0 -1
  68. package/dist/cjs/hooks/useModuleAddresses.js.map +0 -1
  69. package/dist/cjs/hooks/useNodeQueryDiviner.js +0 -43
  70. package/dist/cjs/hooks/useNodeQueryDiviner.js.map +0 -1
  71. package/dist/cjs/hooks/useWitnessModule.js +0 -12
  72. package/dist/cjs/hooks/useWitnessModule.js.map +0 -1
  73. package/dist/cjs/hooks/useWitnessModules.js +0 -11
  74. package/dist/cjs/hooks/useWitnessModules.js.map +0 -1
  75. package/dist/esm/hooks/useArchiveArchivists.js +0 -33
  76. package/dist/esm/hooks/useArchiveArchivists.js.map +0 -1
  77. package/dist/esm/hooks/useArchivistModule.js +0 -8
  78. package/dist/esm/hooks/useArchivistModule.js.map +0 -1
  79. package/dist/esm/hooks/useArchivistModules.js +0 -7
  80. package/dist/esm/hooks/useArchivistModules.js.map +0 -1
  81. package/dist/esm/hooks/useDivinerModule.js +0 -8
  82. package/dist/esm/hooks/useDivinerModule.js.map +0 -1
  83. package/dist/esm/hooks/useDivinerModules.js +0 -8
  84. package/dist/esm/hooks/useDivinerModules.js.map +0 -1
  85. package/dist/esm/hooks/useModuleAddresses.js +0 -17
  86. package/dist/esm/hooks/useModuleAddresses.js.map +0 -1
  87. package/dist/esm/hooks/useNodeQueryDiviner.js +0 -37
  88. package/dist/esm/hooks/useNodeQueryDiviner.js.map +0 -1
  89. package/dist/esm/hooks/useWitnessModule.js +0 -8
  90. package/dist/esm/hooks/useWitnessModule.js.map +0 -1
  91. package/dist/esm/hooks/useWitnessModules.js +0 -7
  92. package/dist/esm/hooks/useWitnessModules.js.map +0 -1
  93. package/dist/types/hooks/useArchiveArchivists.d.ts +0 -9
  94. package/dist/types/hooks/useArchiveArchivists.d.ts.map +0 -1
  95. package/dist/types/hooks/useArchivistModule.d.ts +0 -4
  96. package/dist/types/hooks/useArchivistModule.d.ts.map +0 -1
  97. package/dist/types/hooks/useArchivistModules.d.ts +0 -3
  98. package/dist/types/hooks/useArchivistModules.d.ts.map +0 -1
  99. package/dist/types/hooks/useDivinerModule.d.ts +0 -4
  100. package/dist/types/hooks/useDivinerModule.d.ts.map +0 -1
  101. package/dist/types/hooks/useDivinerModules.d.ts +0 -3
  102. package/dist/types/hooks/useDivinerModules.d.ts.map +0 -1
  103. package/dist/types/hooks/useModuleAddresses.d.ts +0 -2
  104. package/dist/types/hooks/useModuleAddresses.d.ts.map +0 -1
  105. package/dist/types/hooks/useNodeQueryDiviner.d.ts +0 -6
  106. package/dist/types/hooks/useNodeQueryDiviner.d.ts.map +0 -1
  107. package/dist/types/hooks/useWitnessModule.d.ts +0 -4
  108. package/dist/types/hooks/useWitnessModule.d.ts.map +0 -1
  109. package/dist/types/hooks/useWitnessModules.d.ts +0 -3
  110. package/dist/types/hooks/useWitnessModules.d.ts.map +0 -1
  111. package/src/hooks/useArchiveArchivists.tsx +0 -49
  112. package/src/hooks/useArchivistModule.ts +0 -10
  113. package/src/hooks/useArchivistModules.ts +0 -8
  114. package/src/hooks/useDivinerModule.ts +0 -10
  115. package/src/hooks/useDivinerModules.ts +0 -9
  116. package/src/hooks/useNodeQueryDiviner.tsx +0 -54
  117. package/src/hooks/useWitnessModule.ts +0 -10
  118. package/src/hooks/useWitnessModules.ts +0 -8
@@ -1,18 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./useArchiveArchivists"), exports);
5
- tslib_1.__exportStar(require("./useArchivistModule"), exports);
6
- tslib_1.__exportStar(require("./useArchivistModules"), exports);
7
- tslib_1.__exportStar(require("./useDivinerModule"), exports);
8
- tslib_1.__exportStar(require("./useDivinerModules"), exports);
9
4
  tslib_1.__exportStar(require("./useMemoryNodeUpdates"), exports);
10
5
  tslib_1.__exportStar(require("./useModule"), exports);
11
- tslib_1.__exportStar(require("./useModuleAddresses"), exports);
12
6
  tslib_1.__exportStar(require("./useModules"), exports);
13
7
  tslib_1.__exportStar(require("./useNode"), exports);
14
- tslib_1.__exportStar(require("./useNodeQueryDiviner"), exports);
8
+ tslib_1.__exportStar(require("./useNodeAttachedAddresses"), exports);
15
9
  tslib_1.__exportStar(require("./useProvidedNode"), exports);
16
- tslib_1.__exportStar(require("./useWitnessModule"), exports);
17
- tslib_1.__exportStar(require("./useWitnessModules"), exports);
10
+ tslib_1.__exportStar(require("./useWrappedModule"), exports);
18
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,+DAAoC;AACpC,gEAAqC;AACrC,6DAAkC;AAClC,8DAAmC;AACnC,iEAAsC;AACtC,sDAA2B;AAC3B,+DAAoC;AACpC,uDAA4B;AAC5B,oDAAyB;AACzB,gEAAqC;AACrC,4DAAiC;AACjC,6DAAkC;AAClC,8DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,sDAA2B;AAC3B,uDAA4B;AAC5B,oDAAyB;AACzB,qEAA0C;AAC1C,4DAAiC;AACjC,6DAAkC"}
@@ -8,7 +8,7 @@ const useMemoryNodeUpdates = (refreshAddresses) => {
8
8
  const [module, setModule] = (0, react_1.useState)();
9
9
  (0, react_1.useEffect)(() => {
10
10
  if (node) {
11
- const onFunc = node.on;
11
+ const onFunc = node.module.on;
12
12
  onFunc('moduleAttached', (args) => {
13
13
  if (refreshAddresses) {
14
14
  if (refreshAddresses.some((address) => address === (args === null || args === void 0 ? void 0 : args.module.address)))
@@ -1 +1 @@
1
- {"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":";;;AAEA,iCAA2C;AAE3C,uCAAmC;AAQ5B,MAAM,oBAAoB,GAAG,CAAC,gBAA2B,EAAwB,EAAE;IACxF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAO,GAAE,CAAA;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAA2B,CAAA;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,EAAsC,CAAA;YAC1D,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,gBAAgB,EAAE;oBACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,OAAO,CAAA,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,CAAA;iBAC1F;qBAAM;oBACL,SAAS,CAAC,IAAI,CAAC,CAAA;iBAChB;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,oBAAoB,wBAoBhC"}
1
+ {"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":";;;AAEA,iCAA2C;AAE3C,uCAAmC;AAQ5B,MAAM,oBAAoB,GAAG,CAAC,gBAA2B,EAAwB,EAAE;IACxF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAO,GAAE,CAAA;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAA2B,CAAA;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAsC,CAAA;YACjE,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,gBAAgB,EAAE;oBACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,OAAO,CAAA,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,CAAA;iBAC1F;qBAAM;oBACL,SAAS,CAAC,IAAI,CAAC,CAAA;iBAChB;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,oBAAoB,wBAoBhC"}
@@ -1,7 +1,75 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useModule = void 0;
4
- const module_1 = require("@xyo-network/module");
5
- const useNode_1 = require("./useNode");
6
- exports.useModule = (0, useNode_1.createUseModuleHook)((module) => module_1.ModuleWrapper.wrap(module), useNode_1.useNode);
4
+ const tslib_1 = require("tslib");
5
+ const react_shared_1 = require("@xylabs/react-shared");
6
+ const react_1 = require("react");
7
+ const useProvidedNode_1 = require("./useProvidedNode");
8
+ const useModule = (nameOrAddressOrFilter, account) => {
9
+ const nameOrAddress = (0, react_1.useMemo)(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter]);
10
+ const filter = (0, react_1.useMemo)(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter]);
11
+ const [node, nodeError] = (0, useProvidedNode_1.useProvidedWrappedNode)(account);
12
+ const [module, setModule] = (0, react_1.useState)();
13
+ const [error, setError] = (0, react_1.useState)();
14
+ const address = module === null || module === void 0 ? void 0 : module.address;
15
+ (0, react_shared_1.useAsyncEffect)(
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
+ try {
19
+ if (nodeError) {
20
+ setError(nodeError);
21
+ setModule(undefined);
22
+ }
23
+ else {
24
+ if (node) {
25
+ const attachEmitter = node.module;
26
+ const detachEmitter = node.module;
27
+ const attachHandler = (args) => {
28
+ const eventModule = args.module;
29
+ if (nameOrAddress && (eventModule.address === nameOrAddress || (eventModule === null || eventModule === void 0 ? void 0 : eventModule.config.name) === nameOrAddress) && mounted()) {
30
+ setModule(eventModule);
31
+ setError(undefined);
32
+ }
33
+ };
34
+ const detachHandler = (args) => {
35
+ const eventModule = args.module;
36
+ if (eventModule.address === address && mounted()) {
37
+ setModule(undefined);
38
+ setError(undefined);
39
+ }
40
+ };
41
+ const module = nameOrAddress
42
+ ? yield node.resolve(nameOrAddress)
43
+ : (yield node.resolve(filter)).pop();
44
+ if (mounted()) {
45
+ attachEmitter.on('moduleAttached', attachHandler, true);
46
+ detachEmitter.on('moduleDetached', detachHandler, true);
47
+ detachEmitter.on('moduleDetached', detachHandler);
48
+ attachEmitter.on('moduleAttached', attachHandler);
49
+ setModule(module);
50
+ setError(undefined);
51
+ }
52
+ return () => {
53
+ //remove the event handler on unmount
54
+ attachEmitter.on('moduleAttached', attachHandler, true);
55
+ detachEmitter.on('moduleDetached', detachHandler, true);
56
+ };
57
+ }
58
+ else {
59
+ setError(undefined);
60
+ setModule(undefined);
61
+ }
62
+ }
63
+ }
64
+ catch (ex) {
65
+ if (mounted()) {
66
+ const error = ex;
67
+ setError(error);
68
+ setModule(undefined);
69
+ }
70
+ }
71
+ }), [nameOrAddress, node, nodeError, address, filter]);
72
+ return [module, error];
73
+ };
74
+ exports.useModule = useModule;
7
75
  //# sourceMappingURL=useModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":";;;AAAA,gDAA2D;AAE3D,uCAAwD;AAE3C,QAAA,SAAS,GAAG,IAAA,6BAAmB,EAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
@@ -6,17 +6,40 @@ const react_shared_1 = require("@xylabs/react-shared");
6
6
  const react_1 = require("react");
7
7
  const useProvidedNode_1 = require("./useProvidedNode");
8
8
  const useModules = (filter) => {
9
- const [node] = (0, useProvidedNode_1.useProvidedNode)(true);
9
+ const [node, nodeError] = (0, useProvidedNode_1.useProvidedWrappedNode)();
10
10
  const [modules, setModules] = (0, react_1.useState)();
11
+ const [error, setError] = (0, react_1.useState)();
11
12
  (0, react_shared_1.useAsyncEffect)(
12
13
  // eslint-disable-next-line react-hooks/exhaustive-deps
13
14
  (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
- const modules = yield (node === null || node === void 0 ? void 0 : node.resolve(filter));
15
- if (mounted()) {
16
- setModules(modules);
15
+ try {
16
+ if (nodeError) {
17
+ setError(nodeError);
18
+ setModules(undefined);
19
+ }
20
+ else {
21
+ if (node) {
22
+ const modules = yield node.resolve(filter);
23
+ if (mounted()) {
24
+ setModules(modules);
25
+ setError(undefined);
26
+ }
27
+ }
28
+ else {
29
+ setError(undefined);
30
+ setModules(undefined);
31
+ }
32
+ }
17
33
  }
18
- }), [filter, node]);
19
- return modules;
34
+ catch (ex) {
35
+ if (mounted()) {
36
+ const error = ex;
37
+ setError(error);
38
+ setModules(undefined);
39
+ }
40
+ }
41
+ }), [filter, node, nodeError]);
42
+ return [modules, error];
20
43
  };
21
44
  exports.useModules = useModules;
22
45
  //# sourceMappingURL=useModules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,iCAAgC;AAEhC,uDAAmD;AAE5C,MAAM,UAAU,GAAG,CAA4B,MAAqB,EAAE,EAAE;IAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAA;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAO,CAAA;IAE7C,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAI,MAAM,CAAC,CAAA,CAAA;QAC9C,IAAI,OAAO,EAAE,EAAE;YACb,UAAU,CAAC,OAAO,CAAC,CAAA;SACpB;IACH,CAAC,CAAA,EACD,CAAC,MAAM,EAAE,IAAI,CAAC,CACf,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
1
+ {"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,iCAAgC;AAEhC,uDAA0D;AAEnD,MAAM,UAAU,GAAG,CAAkC,MAAqB,EAA8C,EAAE;IAC/H,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAA,wCAAsB,GAAE,CAAA;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAa,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI,IAAI,EAAE;oBACR,MAAM,OAAO,GAA0B,MAAM,IAAI,CAAC,OAAO,CAAU,MAAM,CAAC,CAAA;oBAC1E,IAAI,OAAO,EAAE,EAAE;wBACb,UAAU,CAAC,OAAO,CAAC,CAAA;wBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;iBACF;qBAAM;oBACL,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;iBACtB;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,OAAO,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,EAAW,CAAA;gBACzB,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACf,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;SACF;IACH,CAAC,CAAA,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAC1B,CAAA;IAED,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA;AApCY,QAAA,UAAU,cAoCtB"}
@@ -1,62 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useNode = exports.createUseModuleHook = void 0;
4
- const tslib_1 = require("tslib");
5
- /* eslint-disable react-hooks/rules-of-hooks */
6
- const react_shared_1 = require("@xylabs/react-shared");
3
+ exports.useNode = void 0;
7
4
  const node_1 = require("@xyo-network/node");
8
5
  const react_1 = require("react");
6
+ const useModule_1 = require("./useModule");
9
7
  const useProvidedNode_1 = require("./useProvidedNode");
10
- const createUseModuleHook = (wrapFunc, nodeFunc) => {
11
- function use(nameOrAddressOrWrapOrAccount, wrap = false) {
12
- const [node, nodeError] = nodeFunc();
13
- const shouldWrap = typeof nameOrAddressOrWrapOrAccount === 'boolean' ? nameOrAddressOrWrapOrAccount : wrap;
14
- const account = typeof nameOrAddressOrWrapOrAccount === 'object' ? nameOrAddressOrWrapOrAccount : typeof wrap === 'boolean' ? undefined : wrap;
15
- const nameOrAddress = typeof nameOrAddressOrWrapOrAccount === 'string' ? nameOrAddressOrWrapOrAccount : undefined;
16
- const [module, setModule] = (0, react_1.useState)();
17
- const [error, setError] = (0, react_1.useState)();
18
- (0, react_shared_1.useAsyncEffect)(
19
- // eslint-disable-next-line react-hooks/exhaustive-deps
20
- (mounted) => tslib_1.__awaiter(this, void 0, void 0, function* () {
21
- try {
22
- if (nodeError) {
23
- console.log(`Setting NodeError [${nodeError.message}]`);
24
- setError(nodeError);
25
- setModule(undefined);
26
- }
27
- else {
28
- const wrappedNode = node_1.NodeWrapper.wrap(node);
29
- if (wrappedNode) {
30
- const module = nameOrAddress
31
- ? yield (wrappedNode === null || wrappedNode === void 0 ? void 0 : wrappedNode.resolve(nameOrAddress))
32
- : (yield wrappedNode.resolve()).pop();
33
- const finalModule = shouldWrap ? wrapFunc(module, account) : module;
34
- if (mounted()) {
35
- console.log(`Setting Module [${finalModule === null || finalModule === void 0 ? void 0 : finalModule.address}]`);
36
- setModule(finalModule);
37
- setError(undefined);
38
- }
39
- }
40
- else {
41
- console.log('Setting All to undefined');
42
- setError(undefined);
43
- setModule(undefined);
44
- }
45
- }
8
+ //AT: intentionally not exported
9
+ const useNodeModule = (nameOrAddress) => {
10
+ const [providedNode] = (0, useProvidedNode_1.useProvidedNode)();
11
+ const [node, nodeError] = (0, useModule_1.useModule)(nameOrAddress);
12
+ if (nameOrAddress) {
13
+ if (providedNode) {
14
+ return [node, nodeError];
15
+ }
16
+ else {
17
+ return [providedNode, undefined];
18
+ }
19
+ }
20
+ else {
21
+ return [providedNode, undefined];
22
+ }
23
+ };
24
+ const useNode = (nameOrAddress, account) => {
25
+ const [node, nodeError] = useNodeModule(nameOrAddress);
26
+ const [wrapper, setWrapper] = (0, react_1.useState)();
27
+ const [error, setError] = (0, react_1.useState)();
28
+ (0, react_1.useEffect)(() => {
29
+ if (node) {
30
+ if (nodeError) {
31
+ setError(nodeError);
32
+ setWrapper(undefined);
46
33
  }
47
- catch (ex) {
48
- if (mounted()) {
49
- const error = ex;
50
- console.log(`Setting Error [${error.message}]`);
51
- setError(error);
52
- setModule(undefined);
34
+ else {
35
+ try {
36
+ const wrapper = node_1.NodeWrapper.wrap(node, account);
37
+ setWrapper(wrapper);
38
+ setError(undefined);
39
+ }
40
+ catch (ex) {
41
+ setWrapper(undefined);
42
+ setError(ex);
53
43
  }
54
44
  }
55
- }), [wrap, node, nameOrAddress, nodeError, shouldWrap, account]);
56
- return [module, error];
57
- }
58
- return use;
45
+ }
46
+ else {
47
+ setWrapper(undefined);
48
+ setError(undefined);
49
+ }
50
+ }, [node, account, nodeError]);
51
+ return [wrapper, error];
59
52
  };
60
- exports.createUseModuleHook = createUseModuleHook;
61
- exports.useNode = (0, exports.createUseModuleHook)((module) => node_1.NodeWrapper.wrap(module), useProvidedNode_1.useProvidedNode);
53
+ exports.useNode = useNode;
62
54
  //# sourceMappingURL=useNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":";;;AACA,4CAA2D;AAC3D,iCAA2C;AAE3C,2CAAuC;AACvC,uDAAmD;AAEnD,gCAAgC;AAChC,MAAM,aAAa,GAAG,CAAC,aAAsB,EAA+C,EAAE;IAC5F,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAe,GAAE,CAAA;IACxC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAA,qBAAS,EAAC,aAAa,CAAC,CAAA;IAElD,IAAI,aAAa,EAAE;QACjB,IAAI,YAAY,EAAE;YAChB,OAAO,CAAC,IAAkB,EAAE,SAAS,CAAC,CAAA;SACvC;aAAM;YACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;SACjC;KACF;SAAM;QACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;KACjC;AACH,CAAC,CAAA;AAEM,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAgD,EAAE;IACzH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACtD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI;oBACF,MAAM,OAAO,GAAG,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBAC/C,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;SACF;aAAM;YACL,UAAU,CAAC,SAAS,CAAC,CAAA;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAE9B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA;AA3BY,QAAA,OAAO,WA2BnB"}
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useModuleAddresses = void 0;
3
+ exports.useNodeAttachedAddresses = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_shared_1 = require("@xylabs/react-shared");
6
6
  const react_1 = require("react");
7
- const useProvidedNode_1 = require("./useProvidedNode");
8
- const useModuleAddresses = () => {
9
- const [node] = (0, useProvidedNode_1.useProvidedNode)();
10
- const [attachedAddresses, setAttachedAddresses] = (0, react_1.useState)();
7
+ const useNode_1 = require("./useNode");
8
+ const useNodeAttachedAddresses = () => {
9
+ const [node] = (0, useNode_1.useNode)();
10
+ const [addresses, setAddresses] = (0, react_1.useState)();
11
11
  (0, react_shared_1.useAsyncEffect)(
12
12
  // eslint-disable-next-line react-hooks/exhaustive-deps
13
13
  (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
14
  const attached = yield (node === null || node === void 0 ? void 0 : node.attached());
15
15
  if (mounted()) {
16
- setAttachedAddresses(attached);
16
+ setAddresses(attached);
17
17
  }
18
18
  }), [node]);
19
- return [attachedAddresses, node === null || node === void 0 ? void 0 : node.registered()];
19
+ return [addresses, node === null || node === void 0 ? void 0 : node.registered()];
20
20
  };
21
- exports.useModuleAddresses = useModuleAddresses;
22
- //# sourceMappingURL=useModuleAddresses.js.map
21
+ exports.useNodeAttachedAddresses = useNodeAttachedAddresses;
22
+ //# sourceMappingURL=useNodeAttachedAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeAttachedAddresses.js","sourceRoot":"","sources":["../../../src/hooks/useNodeAttachedAddresses.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,iCAAgC;AAEhC,uCAAmC;AAE5B,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAO,GAAE,CAAA;IACxB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,GAAY,CAAA;IAEtD,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAA,CAAA;QACvC,IAAI,OAAO,EAAE,EAAE;YACb,YAAY,CAAC,QAAQ,CAAC,CAAA;SACvB;IACH,CAAC,CAAA,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAhBY,QAAA,wBAAwB,4BAgBpC"}
@@ -1,25 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useProvidedNode = void 0;
3
+ exports.useProvidedWrappedNode = exports.useProvidedNode = void 0;
4
4
  const node_1 = require("@xyo-network/node");
5
+ const react_wallet_1 = require("@xyo-network/react-wallet");
5
6
  const react_1 = require("react");
6
7
  const contexts_1 = require("../contexts");
7
- function useProvidedNodeFunc(wrap) {
8
+ const useProvidedNode = () => {
8
9
  const { node } = (0, react_1.useContext)(contexts_1.NodeContext);
10
+ return [node];
11
+ };
12
+ exports.useProvidedNode = useProvidedNode;
13
+ const useProvidedWrappedNode = (account) => {
14
+ const [providedAccount] = (0, react_wallet_1.useAccount)();
15
+ const [node] = (0, exports.useProvidedNode)();
9
16
  const [wrappedNode, setWrappedNode] = (0, react_1.useState)();
10
17
  const [error, setError] = (0, react_1.useState)();
11
- try {
12
- if (wrap) {
13
- const account = typeof wrap === 'boolean' ? undefined : wrap;
14
- const wrappedNode = wrap ? node_1.NodeWrapper.wrap(node, account) : undefined;
15
- setWrappedNode(wrappedNode);
16
- setError(undefined);
17
- }
18
- }
19
- catch (ex) {
20
- setError(ex);
18
+ const accountToUse = (0, react_1.useMemo)(() => account !== null && account !== void 0 ? account : providedAccount, [account, providedAccount]);
19
+ if (!accountToUse) {
20
+ const error = Error('useProvidedWrappedNode requires either an Account context or account parameter');
21
+ console.error(error.message);
22
+ setError(error);
21
23
  }
22
- return [wrap ? wrappedNode : node, error];
23
- }
24
- exports.useProvidedNode = useProvidedNodeFunc;
24
+ (0, react_1.useEffect)(() => {
25
+ try {
26
+ if (node && accountToUse) {
27
+ setWrappedNode(node_1.NodeWrapper.wrap(node, account));
28
+ setError(undefined);
29
+ }
30
+ }
31
+ catch (ex) {
32
+ setWrappedNode(undefined);
33
+ setError(ex);
34
+ }
35
+ }, [node, account, accountToUse]);
36
+ return [wrappedNode, error];
37
+ };
38
+ exports.useProvidedWrappedNode = useProvidedWrappedNode;
25
39
  //# sourceMappingURL=useProvidedNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":";;;AACA,4CAA2D;AAC3D,iCAA4C;AAE5C,0CAAyC;AAKzC,SAAS,mBAAmB,CAAC,IAAmC;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,sBAAW,CAAC,CAAA;IACxC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,IAAI;QACF,IAAI,IAAI,EAAE;YACR,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtE,cAAc,CAAC,WAAW,CAAC,CAAA;YAC3B,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;KACF;IAAC,OAAO,EAAE,EAAE;QACX,QAAQ,CAAC,EAAW,CAAC,CAAA;KACtB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAEY,QAAA,eAAe,GAAG,mBAAmB,CAAA"}
1
+ {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":";;;AACA,4CAA2D;AAC3D,4DAAsD;AACtD,iCAAgE;AAEhE,0CAAyC;AAElC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,sBAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAEM,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,yBAAU,GAAE,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,uBAAe,GAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;IAE1F,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACrG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;KAChB;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,IAAI,YAAY,EAAE;gBACxB,cAAc,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAEjC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AA3BY,QAAA,sBAAsB,0BA2BlC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useWrappedModule = exports.WrappedModuleHookFactory = void 0;
4
+ const react_render_spin_check_1 = require("@xylabs/react-render-spin-check");
5
+ const module_1 = require("@xyo-network/module");
6
+ const react_wallet_1 = require("@xyo-network/react-wallet");
7
+ const react_1 = require("react");
8
+ const useModule_1 = require("./useModule");
9
+ const WrappedModuleHookFactory = (wrapperObject, name) => {
10
+ const useHook = (nameOrAddress, account, spinCheck) => {
11
+ const spinCheckBounceNoCheck = (0, react_1.useMemo)(() => {
12
+ return { name: name !== null && name !== void 0 ? name : 'WrappedModuleHookFactory-NoCheck' };
13
+ }, []);
14
+ (0, react_render_spin_check_1.useRenderSpinCheck)(spinCheck ? { name: name !== null && name !== void 0 ? name : 'WrappedModuleHookFactory' } : spinCheckBounceNoCheck);
15
+ const [providedAccount] = (0, react_wallet_1.useAccount)();
16
+ const [module, moduleError] = (0, useModule_1.useModule)(nameOrAddress !== null && nameOrAddress !== void 0 ? nameOrAddress : {
17
+ query: [wrapperObject.requiredQueries],
18
+ });
19
+ const [wrapper, setWrapper] = (0, react_1.useState)();
20
+ const [error, setError] = (0, react_1.useState)();
21
+ const accountToUse = (0, react_1.useMemo)(() => account !== null && account !== void 0 ? account : providedAccount, [account, providedAccount]);
22
+ if (!accountToUse) {
23
+ const error = Error('Module hooks require either an Account context or account parameter');
24
+ console.error(error.message);
25
+ setError(error);
26
+ }
27
+ (0, react_1.useEffect)(() => {
28
+ if (module && accountToUse) {
29
+ try {
30
+ const wrapper = wrapperObject.wrap(module, accountToUse);
31
+ setWrapper(wrapper);
32
+ }
33
+ catch (ex) {
34
+ setWrapper(undefined);
35
+ setError(ex);
36
+ }
37
+ }
38
+ else {
39
+ setWrapper(undefined);
40
+ setError(moduleError);
41
+ }
42
+ }, [module, account, moduleError, accountToUse]);
43
+ return [wrapper, error];
44
+ };
45
+ return useHook;
46
+ };
47
+ exports.WrappedModuleHookFactory = WrappedModuleHookFactory;
48
+ exports.useWrappedModule = (0, exports.WrappedModuleHookFactory)(module_1.ModuleWrapper);
49
+ //# sourceMappingURL=useWrappedModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":";;;AAAA,6EAAoE;AAEpE,gDAAmD;AACnD,4DAAsD;AACtD,iCAAoD;AAEpD,2CAAuC;AAOhC,MAAM,wBAAwB,GAAG,CACtC,aAA4C,EAC5C,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAE,SAAmB,EAAmD,EAAE;QAC1I,MAAM,sBAAsB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,kCAAkC,EAAE,CAAA;QAC7D,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAA,4CAAkB,EAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACrG,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,yBAAU,GAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAA,qBAAS,EACrC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;YAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;QAED,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAmB,CAAA;oBAC1E,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA7CY,QAAA,wBAAwB,4BA6CpC;AAEY,QAAA,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,sBAAa,CAAC,CAAA"}