@xyo-network/react-map 2.38.10 → 2.38.12
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/cjs/hooks/useFetchPayloads.d.ts +5 -2
- package/dist/cjs/hooks/useFetchPayloads.d.ts.map +1 -1
- package/dist/cjs/hooks/useFetchPayloads.js +16 -22
- package/dist/cjs/hooks/useFetchPayloads.js.map +1 -1
- package/dist/docs.json +1298 -1280
- package/dist/esm/hooks/useFetchPayloads.d.ts +5 -2
- package/dist/esm/hooks/useFetchPayloads.d.ts.map +1 -1
- package/dist/esm/hooks/useFetchPayloads.js +15 -22
- package/dist/esm/hooks/useFetchPayloads.js.map +1 -1
- package/package.json +8 -7
- package/src/hooks/useFetchPayloads.tsx +17 -25
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { XyoApiError } from '@xyo-network/api';
|
|
2
1
|
declare const useFetchPayloads: (hashes?: string[]) => {
|
|
3
|
-
apiError:
|
|
2
|
+
apiError: (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
3
|
+
message?: string | undefined;
|
|
4
|
+
schema: "network.xyo.error";
|
|
5
|
+
sources: string[];
|
|
6
|
+
}) | undefined;
|
|
4
7
|
features: import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[];
|
|
5
8
|
multipleFeatureSets: import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[][];
|
|
6
9
|
notFound: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchPayloads.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetchPayloads.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFetchPayloads.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetchPayloads.tsx"],"names":[],"mappings":"AASA,QAAA,MAAM,gBAAgB,YAAa,MAAM,EAAE;;;;;;;;;CAqC1C,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
3
|
+
import { useArchivist } from '@xyo-network/react-archivist';
|
|
4
4
|
import { useState } from 'react';
|
|
5
5
|
import { useQuadKeyPayloadsToFeatures } from './useQuadKeyPayloadsToFeatures';
|
|
6
6
|
const useFetchPayloads = (hashes) => {
|
|
7
|
-
const {
|
|
8
|
-
const { archive } = useArchive();
|
|
7
|
+
const { archivist } = useArchivist();
|
|
9
8
|
const [apiError, setApiError] = useState();
|
|
10
9
|
const [payloads, setPayloads] = useState();
|
|
11
10
|
const { features, multipleFeatureSets } = useQuadKeyPayloadsToFeatures(payloads);
|
|
@@ -14,35 +13,29 @@ const useFetchPayloads = (hashes) => {
|
|
|
14
13
|
useAsyncEffect(
|
|
15
14
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16
15
|
async (mounted) => {
|
|
17
|
-
if (
|
|
16
|
+
if (archivist && payloads === undefined && hashes?.length && !inFlight) {
|
|
17
|
+
const archivistWrapper = new XyoArchivistWrapper(archivist);
|
|
18
18
|
try {
|
|
19
19
|
setInFlight(true);
|
|
20
|
-
const payloads = await
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
payloads.forEach((result) => {
|
|
24
|
-
if (result.status === 'fulfilled' && result.value && result.value[0]) {
|
|
25
|
-
validPayloads.push(result.value[0]);
|
|
26
|
-
}
|
|
27
|
-
else if (result.status === 'rejected') {
|
|
28
|
-
setApiError(result.reason);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
if (validPayloads.length) {
|
|
32
|
-
setPayloads(validPayloads);
|
|
33
|
-
}
|
|
34
|
-
if (validPayloads.length === 0 && apiError === undefined) {
|
|
20
|
+
const payloads = await archivistWrapper.get(hashes);
|
|
21
|
+
if (mounted()) {
|
|
22
|
+
if (payloads.length === 0 && apiError === undefined) {
|
|
35
23
|
setNotFound(true);
|
|
24
|
+
setPayloads([]);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
setPayloads(payloads);
|
|
36
28
|
}
|
|
37
29
|
}
|
|
38
30
|
}
|
|
39
31
|
catch (e) {
|
|
32
|
+
const error = e;
|
|
40
33
|
if (mounted()) {
|
|
41
|
-
setApiError(
|
|
34
|
+
setApiError(error.errors.reduce((answer, error) => answer ?? error ?? null, null) ?? undefined);
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
|
-
}, [
|
|
38
|
+
}, [apiError, hashes, inFlight, payloads, archivist]);
|
|
46
39
|
return { apiError, features, multipleFeatureSets, notFound };
|
|
47
40
|
};
|
|
48
41
|
export { useFetchPayloads };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchPayloads.js","sourceRoot":"","sources":["../../../src/hooks/useFetchPayloads.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useFetchPayloads.js","sourceRoot":"","sources":["../../../src/hooks/useFetchPayloads.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAE7E,MAAM,gBAAgB,GAAG,CAAC,MAAiB,EAAE,EAAE;IAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IAEpC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAY,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAmD,CAAA;IAC3F,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IAChF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE/C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE;YACtE,MAAM,gBAAgB,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAA;YAC3D,IAAI;gBACF,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,OAAO,EAAE,EAAE;oBACb,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;wBACnD,WAAW,CAAC,IAAI,CAAC,CAAA;wBACjB,WAAW,CAAC,EAAE,CAAC,CAAA;qBAChB;yBAAM;wBACL,WAAW,CAAC,QAA2D,CAAC,CAAA;qBACzE;iBACF;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,KAAK,GAAG,CAAiB,CAAA;gBAC/B,IAAI,OAAO,EAAE,EAAE;oBACb,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,CAAA;iBAChG;aACF;SACF;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAClD,CAAA;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAA;AAC9D,CAAC,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/react-flexbox": "^2.15.1",
|
|
14
14
|
"@xylabs/react-shared": "^2.15.1",
|
|
15
|
-
"@xyo-network/react-app-settings": "^2.38.
|
|
16
|
-
"@xyo-network/react-archive": "^2.38.
|
|
17
|
-
"@xyo-network/react-archivist
|
|
18
|
-
"@xyo-network/react-network": "^2.38.
|
|
19
|
-
"@xyo-network/react-shared": "^2.38.
|
|
15
|
+
"@xyo-network/react-app-settings": "^2.38.12",
|
|
16
|
+
"@xyo-network/react-archive": "^2.38.12",
|
|
17
|
+
"@xyo-network/react-archivist": "^2.38.12",
|
|
18
|
+
"@xyo-network/react-network": "^2.38.12",
|
|
19
|
+
"@xyo-network/react-shared": "^2.38.12",
|
|
20
20
|
"@xyo-network/sdk-geo": "^2.7.0",
|
|
21
21
|
"geojson": "^0.5.0",
|
|
22
22
|
"mapbox-gl": "^2.10.0",
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"@mui/material": "^5.10.3",
|
|
28
28
|
"@mui/styles": "^5.10.3",
|
|
29
29
|
"@xylabs/sdk-js": "^2.6.7",
|
|
30
|
-
"@xyo-network/
|
|
30
|
+
"@xyo-network/archivist": "*",
|
|
31
|
+
"@xyo-network/module": "*",
|
|
31
32
|
"@xyo-network/payload": "*",
|
|
32
33
|
"axios": "^1.1.3",
|
|
33
34
|
"lodash": "^4.17.21",
|
|
@@ -82,5 +83,5 @@
|
|
|
82
83
|
},
|
|
83
84
|
"sideEffects": false,
|
|
84
85
|
"types": "dist/esm/index.d.ts",
|
|
85
|
-
"version": "2.38.
|
|
86
|
+
"version": "2.38.12"
|
|
86
87
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { XyoArchivistWrapper } from '@xyo-network/archivist'
|
|
3
|
+
import { WrapperError, XyoError } from '@xyo-network/module'
|
|
4
|
+
import { useArchivist } from '@xyo-network/react-archivist'
|
|
5
5
|
import { useState } from 'react'
|
|
6
6
|
|
|
7
7
|
import { NetworkXyoLocationHeatmapQuadkeyAnswerPayload } from '../types'
|
|
8
8
|
import { useQuadKeyPayloadsToFeatures } from './useQuadKeyPayloadsToFeatures'
|
|
9
9
|
|
|
10
10
|
const useFetchPayloads = (hashes?: string[]) => {
|
|
11
|
-
const {
|
|
12
|
-
|
|
13
|
-
const [apiError, setApiError] = useState<
|
|
11
|
+
const { archivist } = useArchivist()
|
|
12
|
+
|
|
13
|
+
const [apiError, setApiError] = useState<XyoError>()
|
|
14
14
|
const [payloads, setPayloads] = useState<NetworkXyoLocationHeatmapQuadkeyAnswerPayload[]>()
|
|
15
15
|
const { features, multipleFeatureSets } = useQuadKeyPayloadsToFeatures(payloads)
|
|
16
16
|
const [notFound, setNotFound] = useState(false)
|
|
@@ -19,36 +19,28 @@ const useFetchPayloads = (hashes?: string[]) => {
|
|
|
19
19
|
useAsyncEffect(
|
|
20
20
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21
21
|
async (mounted) => {
|
|
22
|
-
if (
|
|
22
|
+
if (archivist && payloads === undefined && hashes?.length && !inFlight) {
|
|
23
|
+
const archivistWrapper = new XyoArchivistWrapper(archivist)
|
|
23
24
|
try {
|
|
24
25
|
setInFlight(true)
|
|
25
|
-
const payloads = await
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
payloads.forEach((result) => {
|
|
29
|
-
if (result.status === 'fulfilled' && result.value && result.value[0]) {
|
|
30
|
-
validPayloads.push(result.value[0] as NetworkXyoLocationHeatmapQuadkeyAnswerPayload)
|
|
31
|
-
} else if (result.status === 'rejected') {
|
|
32
|
-
setApiError(result.reason)
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
if (validPayloads.length) {
|
|
37
|
-
setPayloads(validPayloads)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (validPayloads.length === 0 && apiError === undefined) {
|
|
26
|
+
const payloads = await archivistWrapper.get(hashes)
|
|
27
|
+
if (mounted()) {
|
|
28
|
+
if (payloads.length === 0 && apiError === undefined) {
|
|
41
29
|
setNotFound(true)
|
|
30
|
+
setPayloads([])
|
|
31
|
+
} else {
|
|
32
|
+
setPayloads(payloads as NetworkXyoLocationHeatmapQuadkeyAnswerPayload[])
|
|
42
33
|
}
|
|
43
34
|
}
|
|
44
35
|
} catch (e) {
|
|
36
|
+
const error = e as WrapperError
|
|
45
37
|
if (mounted()) {
|
|
46
|
-
setApiError(
|
|
38
|
+
setApiError(error.errors.reduce((answer, error) => answer ?? error ?? null, null) ?? undefined)
|
|
47
39
|
}
|
|
48
40
|
}
|
|
49
41
|
}
|
|
50
42
|
},
|
|
51
|
-
[
|
|
43
|
+
[apiError, hashes, inFlight, payloads, archivist],
|
|
52
44
|
)
|
|
53
45
|
|
|
54
46
|
return { apiError, features, multipleFeatureSets, notFound }
|