@esri/hub-common 13.37.1 → 13.37.2
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/esm/content/edit.js +5 -0
- package/dist/esm/content/edit.js.map +1 -1
- package/dist/esm/core/getTypeFromEntity.js +3 -0
- package/dist/esm/core/getTypeFromEntity.js.map +1 -1
- package/dist/esm/core/schemas/internal/getLocationOptions.js +45 -1
- package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -1
- package/dist/node/content/edit.js +5 -0
- package/dist/node/content/edit.js.map +1 -1
- package/dist/node/core/getTypeFromEntity.js +3 -0
- package/dist/node/core/getTypeFromEntity.js.map +1 -1
- package/dist/node/core/schemas/internal/getLocationOptions.js +48 -2
- package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -1
- package/dist/types/core/schemas/internal/getLocationOptions.d.ts +2 -0
- package/package.json +1 -1
package/dist/esm/content/edit.js
CHANGED
|
@@ -5,6 +5,7 @@ import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
|
5
5
|
import { getPropertyMap } from "./_internal/getPropertyMap";
|
|
6
6
|
import { cloneObject } from "../util";
|
|
7
7
|
import { computeProps } from "./_internal/computeProps";
|
|
8
|
+
import { getProp } from "../objects/get-prop";
|
|
8
9
|
// TODO: move this to defaults?
|
|
9
10
|
const DEFAULT_CONTENT_MODEL = {
|
|
10
11
|
item: {
|
|
@@ -72,6 +73,10 @@ export async function updateContent(content, requestOptions) {
|
|
|
72
73
|
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
73
74
|
// but this is where we would apply that sort of logic
|
|
74
75
|
const modelToUpdate = mapper.entityToStore(content, model);
|
|
76
|
+
// prevent map from displaying when boundary is 'none'
|
|
77
|
+
const locationType = getProp(modelToUpdate, "item.properties.location.type");
|
|
78
|
+
modelToUpdate.item.properties.boundary =
|
|
79
|
+
locationType === "none" ? "none" : "item";
|
|
75
80
|
// TODO: if we have resources disconnect them from the model for now.
|
|
76
81
|
// if (modelToUpdate.resources) {
|
|
77
82
|
// resources = configureBaseResources(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,EACP,UAAU,GACX,MAAM,0BAA0B,CAAC;AAGlC,4EAA4E;AAC5E,OAAO,EACL,WAAW,EAEX,WAAW,GAEZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,9 @@ export function getTypeFromEntity(entity) {
|
|
|
29
29
|
case "Group":
|
|
30
30
|
type = "group";
|
|
31
31
|
break;
|
|
32
|
+
case "Hub Content":
|
|
33
|
+
type = "content";
|
|
34
|
+
break;
|
|
32
35
|
default:
|
|
33
36
|
// TODO: other families go here? feedback? solution? template?
|
|
34
37
|
const contentFamilies = ["app", "content", "dataset", "document", "map"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { extentToBBox, getGeographicOrgExtent } from "../../../extent";
|
|
1
|
+
import { bBoxToExtent, extentToBBox, getGeographicOrgExtent, isBBox, } from "../../../extent";
|
|
2
2
|
import { getTypeFromEntity } from "../../getTypeFromEntity";
|
|
3
|
+
const getItemExtent = (itemExtent) => {
|
|
4
|
+
return isBBox(itemExtent)
|
|
5
|
+
? Object.assign(Object.assign({}, bBoxToExtent(itemExtent)), { type: "extent" })
|
|
6
|
+
: undefined;
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
9
|
* Construct the dynamic location picker options with the entity's
|
|
5
10
|
* configured location using the following logic:
|
|
@@ -13,6 +18,44 @@ import { getTypeFromEntity } from "../../getTypeFromEntity";
|
|
|
13
18
|
* location
|
|
14
19
|
*/
|
|
15
20
|
export async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
21
|
+
const typeFromEntity = getTypeFromEntity(entity);
|
|
22
|
+
switch (typeFromEntity) {
|
|
23
|
+
case "content":
|
|
24
|
+
return getContentLocationOptions(entity);
|
|
25
|
+
default:
|
|
26
|
+
return getDefaultLocationOptions(entity, portalName, hubRequestOptions);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// TODO: Refactor parameters, they are icky gross
|
|
30
|
+
// TODO: Maybe move these to outside of core and into respective entities
|
|
31
|
+
export async function getContentLocationOptions(entity) {
|
|
32
|
+
const defaultExtent = getItemExtent(entity.extent);
|
|
33
|
+
const defaultExtentIsBBox = isBBox(entity.extent);
|
|
34
|
+
const boundary = entity.boundary;
|
|
35
|
+
const isNone = boundary === "none";
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
38
|
+
label: "{{shared.fields.location.none:translate}}",
|
|
39
|
+
location: { type: "none" },
|
|
40
|
+
selected: isNone,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: "{{shared.fields.location.itemExtent:translate}}",
|
|
44
|
+
entityType: "content",
|
|
45
|
+
selected: !isNone,
|
|
46
|
+
location: {
|
|
47
|
+
type: "custom",
|
|
48
|
+
// TODO: Add custom bbox option here
|
|
49
|
+
// TODO: Remove "Add another location?" notification that appears when selecting a location
|
|
50
|
+
extent: defaultExtentIsBBox ? extentToBBox(defaultExtent) : undefined,
|
|
51
|
+
spatialReference: defaultExtentIsBBox
|
|
52
|
+
? defaultExtent.spatialReference
|
|
53
|
+
: undefined,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
export async function getDefaultLocationOptions(entity, portalName, hubRequestOptions) {
|
|
16
59
|
const defaultExtent = await getGeographicOrgExtent(hubRequestOptions);
|
|
17
60
|
const location = entity.location;
|
|
18
61
|
return [
|
|
@@ -53,4 +96,5 @@ export async function getLocationOptions(entity, portalName, hubRequestOptions)
|
|
|
53
96
|
return option;
|
|
54
97
|
});
|
|
55
98
|
}
|
|
99
|
+
// TODO: Add other location options here
|
|
56
100
|
//# sourceMappingURL=getLocationOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
|
|
|
8
8
|
const getPropertyMap_1 = require("./_internal/getPropertyMap");
|
|
9
9
|
const util_1 = require("../util");
|
|
10
10
|
const computeProps_1 = require("./_internal/computeProps");
|
|
11
|
+
const get_prop_1 = require("../objects/get-prop");
|
|
11
12
|
// TODO: move this to defaults?
|
|
12
13
|
const DEFAULT_CONTENT_MODEL = {
|
|
13
14
|
item: {
|
|
@@ -76,6 +77,10 @@ async function updateContent(content, requestOptions) {
|
|
|
76
77
|
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
77
78
|
// but this is where we would apply that sort of logic
|
|
78
79
|
const modelToUpdate = mapper.entityToStore(content, model);
|
|
80
|
+
// prevent map from displaying when boundary is 'none'
|
|
81
|
+
const locationType = get_prop_1.getProp(modelToUpdate, "item.properties.location.type");
|
|
82
|
+
modelToUpdate.item.properties.boundary =
|
|
83
|
+
locationType === "none" ? "none" : "item";
|
|
79
84
|
// TODO: if we have resources disconnect them from the model for now.
|
|
80
85
|
// if (modelToUpdate.resources) {
|
|
81
86
|
// resources = configureBaseResources(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":";;;AACA,iEAKkC;AAGlC,4EAA4E;AAC5E,sCAKmB;AAEnB,qEAAkE;AAClE,+DAA4D;AAC5D,kCAAsC;AAEtC,2DAAwD;
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,9 @@ function getTypeFromEntity(entity) {
|
|
|
32
32
|
case "Group":
|
|
33
33
|
type = "group";
|
|
34
34
|
break;
|
|
35
|
+
case "Hub Content":
|
|
36
|
+
type = "content";
|
|
37
|
+
break;
|
|
35
38
|
default:
|
|
36
39
|
// TODO: other families go here? feedback? solution? template?
|
|
37
40
|
const contentFamilies = ["app", "content", "dataset", "document", "map"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAIlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAIlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,8CAoCC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLocationOptions = void 0;
|
|
3
|
+
exports.getDefaultLocationOptions = exports.getContentLocationOptions = exports.getLocationOptions = void 0;
|
|
4
4
|
const extent_1 = require("../../../extent");
|
|
5
5
|
const getTypeFromEntity_1 = require("../../getTypeFromEntity");
|
|
6
|
+
const getItemExtent = (itemExtent) => {
|
|
7
|
+
return extent_1.isBBox(itemExtent)
|
|
8
|
+
? Object.assign(Object.assign({}, extent_1.bBoxToExtent(itemExtent)), { type: "extent" })
|
|
9
|
+
: undefined;
|
|
10
|
+
};
|
|
6
11
|
/**
|
|
7
12
|
* Construct the dynamic location picker options with the entity's
|
|
8
13
|
* configured location using the following logic:
|
|
@@ -16,6 +21,46 @@ const getTypeFromEntity_1 = require("../../getTypeFromEntity");
|
|
|
16
21
|
* location
|
|
17
22
|
*/
|
|
18
23
|
async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
24
|
+
const typeFromEntity = getTypeFromEntity_1.getTypeFromEntity(entity);
|
|
25
|
+
switch (typeFromEntity) {
|
|
26
|
+
case "content":
|
|
27
|
+
return getContentLocationOptions(entity);
|
|
28
|
+
default:
|
|
29
|
+
return getDefaultLocationOptions(entity, portalName, hubRequestOptions);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.getLocationOptions = getLocationOptions;
|
|
33
|
+
// TODO: Refactor parameters, they are icky gross
|
|
34
|
+
// TODO: Maybe move these to outside of core and into respective entities
|
|
35
|
+
async function getContentLocationOptions(entity) {
|
|
36
|
+
const defaultExtent = getItemExtent(entity.extent);
|
|
37
|
+
const defaultExtentIsBBox = extent_1.isBBox(entity.extent);
|
|
38
|
+
const boundary = entity.boundary;
|
|
39
|
+
const isNone = boundary === "none";
|
|
40
|
+
return [
|
|
41
|
+
{
|
|
42
|
+
label: "{{shared.fields.location.none:translate}}",
|
|
43
|
+
location: { type: "none" },
|
|
44
|
+
selected: isNone,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "{{shared.fields.location.itemExtent:translate}}",
|
|
48
|
+
entityType: "content",
|
|
49
|
+
selected: !isNone,
|
|
50
|
+
location: {
|
|
51
|
+
type: "custom",
|
|
52
|
+
// TODO: Add custom bbox option here
|
|
53
|
+
// TODO: Remove "Add another location?" notification that appears when selecting a location
|
|
54
|
+
extent: defaultExtentIsBBox ? extent_1.extentToBBox(defaultExtent) : undefined,
|
|
55
|
+
spatialReference: defaultExtentIsBBox
|
|
56
|
+
? defaultExtent.spatialReference
|
|
57
|
+
: undefined,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
exports.getContentLocationOptions = getContentLocationOptions;
|
|
63
|
+
async function getDefaultLocationOptions(entity, portalName, hubRequestOptions) {
|
|
19
64
|
const defaultExtent = await extent_1.getGeographicOrgExtent(hubRequestOptions);
|
|
20
65
|
const location = entity.location;
|
|
21
66
|
return [
|
|
@@ -56,5 +101,6 @@ async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
|
56
101
|
return option;
|
|
57
102
|
});
|
|
58
103
|
}
|
|
59
|
-
exports.
|
|
104
|
+
exports.getDefaultLocationOptions = getDefaultLocationOptions;
|
|
105
|
+
// TODO: Add other location options here
|
|
60
106
|
//# sourceMappingURL=getLocationOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,3 +14,5 @@ import { IHubLocationOption } from "../../types/IHubLocation";
|
|
|
14
14
|
* location
|
|
15
15
|
*/
|
|
16
16
|
export declare function getLocationOptions(entity: ConfigurableEntity, portalName: string, hubRequestOptions: IHubRequestOptions): Promise<IHubLocationOption[]>;
|
|
17
|
+
export declare function getContentLocationOptions(entity: ConfigurableEntity): Promise<IHubLocationOption[]>;
|
|
18
|
+
export declare function getDefaultLocationOptions(entity: ConfigurableEntity, portalName: string, hubRequestOptions: IHubRequestOptions): Promise<IHubLocationOption[]>;
|