@esri/hub-common 9.20.0 → 9.21.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.
- package/dist/es2017/content/_internal.js +70 -0
- package/dist/es2017/content/_internal.js.map +1 -1
- package/dist/es2017/content/compose.js +4 -1
- package/dist/es2017/content/compose.js.map +1 -1
- package/dist/es2017/content/index.js.map +1 -1
- package/dist/es2017/core/types/IHubAdditionalResource.js +1 -0
- package/dist/es2017/core/types/IHubAdditionalResource.js.map +1 -0
- package/dist/es2017/projects/HubProjects.js +15 -16
- package/dist/es2017/projects/HubProjects.js.map +1 -1
- package/dist/es2017/search/_searchContent.js +18 -20
- package/dist/es2017/search/_searchContent.js.map +1 -1
- package/dist/es2017/search/_searchGroups.js +18 -19
- package/dist/es2017/search/_searchGroups.js.map +1 -1
- package/dist/es2017/search/_searchUsers.js +16 -16
- package/dist/es2017/search/_searchUsers.js.map +1 -1
- package/dist/esm/content/_internal.js +70 -0
- package/dist/esm/content/_internal.js.map +1 -1
- package/dist/esm/content/compose.js +4 -1
- package/dist/esm/content/compose.js.map +1 -1
- package/dist/esm/content/index.js.map +1 -1
- package/dist/esm/core/types/IHubAdditionalResource.js +1 -0
- package/dist/esm/core/types/IHubAdditionalResource.js.map +1 -0
- package/dist/esm/projects/HubProjects.js +14 -17
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/esm/search/_searchContent.js +22 -26
- package/dist/esm/search/_searchContent.js.map +1 -1
- package/dist/esm/search/_searchGroups.js +20 -23
- package/dist/esm/search/_searchGroups.js.map +1 -1
- package/dist/esm/search/_searchUsers.js +17 -19
- package/dist/esm/search/_searchUsers.js.map +1 -1
- package/dist/node/content/_internal.js +71 -1
- package/dist/node/content/_internal.js.map +1 -1
- package/dist/node/content/compose.js +3 -0
- package/dist/node/content/compose.js.map +1 -1
- package/dist/node/content/index.js.map +1 -1
- package/dist/node/core/types/IHubAdditionalResource.js +3 -0
- package/dist/node/core/types/IHubAdditionalResource.js.map +1 -0
- package/dist/node/projects/HubProjects.js +15 -16
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/node/search/_searchContent.js +17 -19
- package/dist/node/search/_searchContent.js.map +1 -1
- package/dist/node/search/_searchGroups.js +17 -18
- package/dist/node/search/_searchGroups.js.map +1 -1
- package/dist/node/search/_searchUsers.js +15 -15
- package/dist/node/search/_searchUsers.js.map +1 -1
- package/dist/types/content/_internal.d.ts +44 -0
- package/dist/types/core/types/IHubAdditionalResource.d.ts +10 -0
- package/dist/types/core/types/IHubContent.d.ts +5 -1
- package/dist/umd/common.umd.js +149 -99
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/umd/common.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* @preserve
|
|
2
|
-
* @esri/hub-common - v9.
|
|
2
|
+
* @esri/hub-common - v9.20.0 - Mon Feb 28 2022 15:56:25 GMT+0000 (Coordinated Universal Time)
|
|
3
3
|
* Copyright (c) 2022 Environmental Systems Research Institute, Inc.
|
|
4
4
|
* Apache-2.0
|
|
5
5
|
*/
|
|
@@ -5963,6 +5963,26 @@
|
|
|
5963
5963
|
})));
|
|
5964
5964
|
}
|
|
5965
5965
|
|
|
5966
|
+
/* Copyright (c) 2017-2019 Environmental Systems Research Institute, Inc.
|
|
5967
|
+
* Apache-2.0 */
|
|
5968
|
+
var serviceRegex = new RegExp(/.+(?:map|feature|image)server/i);
|
|
5969
|
+
/**
|
|
5970
|
+
* Return the service url. If not matched, returns what was passed in
|
|
5971
|
+
*/
|
|
5972
|
+
function parseServiceUrl(url) {
|
|
5973
|
+
var match = url.match(serviceRegex);
|
|
5974
|
+
if (match) {
|
|
5975
|
+
return match[0];
|
|
5976
|
+
}
|
|
5977
|
+
else {
|
|
5978
|
+
return stripQueryString(url);
|
|
5979
|
+
}
|
|
5980
|
+
}
|
|
5981
|
+
function stripQueryString(url) {
|
|
5982
|
+
var stripped = url.split('?')[0];
|
|
5983
|
+
return cleanUrl(stripped);
|
|
5984
|
+
}
|
|
5985
|
+
|
|
5966
5986
|
function createExtent(xmin, ymin, xmax, ymax, wkid) {
|
|
5967
5987
|
if (wkid === void 0) { wkid = 4326; }
|
|
5968
5988
|
return {
|
|
@@ -6330,26 +6350,65 @@
|
|
|
6330
6350
|
: //
|
|
6331
6351
|
{ wkid: wkid };
|
|
6332
6352
|
};
|
|
6333
|
-
|
|
6334
|
-
/* Copyright (c) 2017-2019 Environmental Systems Research Institute, Inc.
|
|
6335
|
-
* Apache-2.0 */
|
|
6336
|
-
var serviceRegex = new RegExp(/.+(?:map|feature|image)server/i);
|
|
6337
6353
|
/**
|
|
6338
|
-
*
|
|
6354
|
+
* Extracts additional resources from the provided metadata
|
|
6355
|
+
* and transforms them into a hub-friendly format.
|
|
6356
|
+
*
|
|
6357
|
+
* Returns null if no resources are available
|
|
6358
|
+
*
|
|
6359
|
+
* @param item
|
|
6360
|
+
* @param metadata formal metadata
|
|
6361
|
+
* @returns
|
|
6339
6362
|
*/
|
|
6340
|
-
function
|
|
6341
|
-
var
|
|
6342
|
-
if (
|
|
6343
|
-
return
|
|
6363
|
+
var getAdditionalResources = function (item, metadata, requestOptions) {
|
|
6364
|
+
var rawResources = getProp(metadata, "metadata.distInfo.distTranOps.onLineSrc") || null;
|
|
6365
|
+
if (rawResources === null) {
|
|
6366
|
+
return null;
|
|
6344
6367
|
}
|
|
6345
|
-
|
|
6346
|
-
|
|
6368
|
+
// Coerce to array since rawResources will be an object if only 1 resource is available
|
|
6369
|
+
rawResources = Array.isArray(rawResources) ? rawResources : [rawResources];
|
|
6370
|
+
return rawResources.map(function (resource) { return ({
|
|
6371
|
+
name: resource.orName,
|
|
6372
|
+
url: getAdditionalResourceUrl(resource, item, requestOptions),
|
|
6373
|
+
isDataSource: isDataSourceOfItem(resource, item),
|
|
6374
|
+
}); });
|
|
6375
|
+
};
|
|
6376
|
+
/**
|
|
6377
|
+
* Determines whether a raw additional resource (i.e. extracted out of formal
|
|
6378
|
+
* metadata with no transformation) references the underlying service that backs
|
|
6379
|
+
* the item.
|
|
6380
|
+
*
|
|
6381
|
+
* @param resource raw additional resource of an item
|
|
6382
|
+
* @param item
|
|
6383
|
+
* @returns
|
|
6384
|
+
*/
|
|
6385
|
+
var isDataSourceOfItem = function (resource, item) {
|
|
6386
|
+
var serviceUrl = item.url && parseServiceUrl(item.url);
|
|
6387
|
+
return serviceUrl && resource.linkage.includes(serviceUrl);
|
|
6388
|
+
};
|
|
6389
|
+
/**
|
|
6390
|
+
* Returns the url for an additional resource.
|
|
6391
|
+
*
|
|
6392
|
+
* Automatically appends auth token if token is available
|
|
6393
|
+
* and resource points to the backing service of an item.
|
|
6394
|
+
*
|
|
6395
|
+
* @param resource raw additional resource of an item
|
|
6396
|
+
* @param item
|
|
6397
|
+
* @param requestOptions IHubRequestOptions, including authentication
|
|
6398
|
+
* @returns
|
|
6399
|
+
*/
|
|
6400
|
+
var getAdditionalResourceUrl = function (resource, item, requestOptions) {
|
|
6401
|
+
var result = resource.linkage;
|
|
6402
|
+
var token = getProp(requestOptions, "authentication.token");
|
|
6403
|
+
if (token && isDataSourceOfItem(resource, item)) {
|
|
6404
|
+
var resUrl = new URL(resource.linkage);
|
|
6405
|
+
var params = new URLSearchParams(resUrl.search);
|
|
6406
|
+
params.set("token", token);
|
|
6407
|
+
resUrl.search = params.toString();
|
|
6408
|
+
result = resUrl.toString();
|
|
6347
6409
|
}
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
var stripped = url.split('?')[0];
|
|
6351
|
-
return cleanUrl(stripped);
|
|
6352
|
-
}
|
|
6410
|
+
return result;
|
|
6411
|
+
};
|
|
6353
6412
|
|
|
6354
6413
|
var STANDARD_LICENSES = [
|
|
6355
6414
|
{
|
|
@@ -7259,6 +7318,9 @@
|
|
|
7259
7318
|
console.warn("DEPRECATED: use family instead");
|
|
7260
7319
|
/* tslint:enable no-console */
|
|
7261
7320
|
return getFamily(type);
|
|
7321
|
+
},
|
|
7322
|
+
get additionalResources() {
|
|
7323
|
+
return getAdditionalResources(item, metadata);
|
|
7262
7324
|
} });
|
|
7263
7325
|
};
|
|
7264
7326
|
|
|
@@ -9927,7 +9989,7 @@
|
|
|
9927
9989
|
function searchProjects(filter, options) {
|
|
9928
9990
|
var _a;
|
|
9929
9991
|
return __awaiter(this, void 0, void 0, function () {
|
|
9930
|
-
var scopingFilter, projectFilter, expanded, so;
|
|
9992
|
+
var scopingFilter, projectFilter, expanded, so, props;
|
|
9931
9993
|
return __generator(this, function (_b) {
|
|
9932
9994
|
scopingFilter = {
|
|
9933
9995
|
filterType: "content",
|
|
@@ -9943,22 +10005,19 @@
|
|
|
9943
10005
|
so.countFields = options.aggregations.join(",");
|
|
9944
10006
|
so.countSize = 200;
|
|
9945
10007
|
}
|
|
9946
|
-
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9953
|
-
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
}
|
|
9959
|
-
if (options.authentication) {
|
|
9960
|
-
so.authentication = options.authentication;
|
|
9961
|
-
}
|
|
10008
|
+
props = [
|
|
10009
|
+
"authentication",
|
|
10010
|
+
"num",
|
|
10011
|
+
"sortField",
|
|
10012
|
+
"sortOrder",
|
|
10013
|
+
"site",
|
|
10014
|
+
];
|
|
10015
|
+
// copy the props over
|
|
10016
|
+
props.forEach(function (prop) {
|
|
10017
|
+
if (options.hasOwnProperty(prop)) {
|
|
10018
|
+
so[prop] = options[prop];
|
|
10019
|
+
}
|
|
10020
|
+
});
|
|
9962
10021
|
return [2 /*return*/, searchPortalProjects(so)];
|
|
9963
10022
|
});
|
|
9964
10023
|
});
|
|
@@ -11603,40 +11662,36 @@
|
|
|
11603
11662
|
function _searchContent(filter, options) {
|
|
11604
11663
|
var _a;
|
|
11605
11664
|
return __awaiter(this, void 0, void 0, function () {
|
|
11606
|
-
var expanded, api, searchPromise,
|
|
11665
|
+
var expanded, api, searchPromise, so_1, props;
|
|
11607
11666
|
return __generator(this, function (_b) {
|
|
11608
11667
|
expanded = expandContentFilter(filter);
|
|
11609
11668
|
api = expandApi(options.api || "arcgis");
|
|
11610
11669
|
// Portal Search
|
|
11611
11670
|
if (api.type === "arcgis") {
|
|
11612
|
-
|
|
11613
|
-
|
|
11614
|
-
|
|
11615
|
-
|
|
11616
|
-
|
|
11617
|
-
|
|
11618
|
-
|
|
11619
|
-
|
|
11671
|
+
so_1 = serializeContentFilterForPortal(expanded);
|
|
11672
|
+
props = [
|
|
11673
|
+
"authentication",
|
|
11674
|
+
"num",
|
|
11675
|
+
"sortField",
|
|
11676
|
+
"sortOrder",
|
|
11677
|
+
"site",
|
|
11678
|
+
];
|
|
11679
|
+
// copy the props over
|
|
11680
|
+
props.forEach(function (prop) {
|
|
11681
|
+
if (options.hasOwnProperty(prop)) {
|
|
11682
|
+
so_1[prop] = options[prop];
|
|
11683
|
+
}
|
|
11684
|
+
});
|
|
11685
|
+
// If we don't have auth, ensure we have .portal
|
|
11686
|
+
if (!so_1.authentication) {
|
|
11687
|
+
so_1.portal = api.url + "/sharing/rest";
|
|
11620
11688
|
}
|
|
11621
11689
|
// Aggregations
|
|
11622
11690
|
if ((_a = options.aggregations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
11623
|
-
|
|
11624
|
-
|
|
11625
|
-
}
|
|
11626
|
-
// copy over various options
|
|
11627
|
-
if (options.num) {
|
|
11628
|
-
so.num = options.num;
|
|
11629
|
-
}
|
|
11630
|
-
if (options.sortField) {
|
|
11631
|
-
so.sortField = options.sortField;
|
|
11632
|
-
}
|
|
11633
|
-
if (options.sortOrder) {
|
|
11634
|
-
so.sortOrder = options.sortOrder;
|
|
11691
|
+
so_1.countFields = options.aggregations.join(",");
|
|
11692
|
+
so_1.countSize = 200;
|
|
11635
11693
|
}
|
|
11636
|
-
|
|
11637
|
-
so.site = cloneObject$1(options.site);
|
|
11638
|
-
}
|
|
11639
|
-
searchPromise = searchPortal(so);
|
|
11694
|
+
searchPromise = searchPortal(so_1);
|
|
11640
11695
|
}
|
|
11641
11696
|
else {
|
|
11642
11697
|
// Hub API Search
|
|
@@ -11708,33 +11763,30 @@
|
|
|
11708
11763
|
*/
|
|
11709
11764
|
function _searchGroups(filter, options) {
|
|
11710
11765
|
return __awaiter(this, void 0, void 0, function () {
|
|
11711
|
-
var expanded, api,
|
|
11766
|
+
var expanded, api, so_1, props;
|
|
11712
11767
|
return __generator(this, function (_a) {
|
|
11713
11768
|
expanded = expandGroupFilter(filter);
|
|
11714
11769
|
api = expandApi(options.api || "arcgis");
|
|
11715
11770
|
if (api.type === "arcgis") {
|
|
11716
|
-
|
|
11717
|
-
|
|
11718
|
-
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11725
|
-
|
|
11726
|
-
|
|
11727
|
-
|
|
11728
|
-
|
|
11729
|
-
|
|
11730
|
-
|
|
11731
|
-
if (
|
|
11732
|
-
|
|
11733
|
-
}
|
|
11734
|
-
if (options.site) {
|
|
11735
|
-
so.site = cloneObject$1(options.site);
|
|
11771
|
+
so_1 = serializeGroupFilterForPortal(expanded);
|
|
11772
|
+
props = [
|
|
11773
|
+
"authentication",
|
|
11774
|
+
"num",
|
|
11775
|
+
"sortField",
|
|
11776
|
+
"sortOrder",
|
|
11777
|
+
"site",
|
|
11778
|
+
];
|
|
11779
|
+
// copy the props over
|
|
11780
|
+
props.forEach(function (prop) {
|
|
11781
|
+
if (options.hasOwnProperty(prop)) {
|
|
11782
|
+
so_1[prop] = options[prop];
|
|
11783
|
+
}
|
|
11784
|
+
});
|
|
11785
|
+
// If we don't have auth, ensure we have .portal
|
|
11786
|
+
if (!so_1.authentication) {
|
|
11787
|
+
so_1.portal = api.url + "/sharing/rest";
|
|
11736
11788
|
}
|
|
11737
|
-
return [2 /*return*/, searchPortalGroups(
|
|
11789
|
+
return [2 /*return*/, searchPortalGroups(so_1)];
|
|
11738
11790
|
}
|
|
11739
11791
|
else {
|
|
11740
11792
|
throw new Error("_searchGroups is not implemented for non-arcgis apis");
|
|
@@ -11795,7 +11847,7 @@
|
|
|
11795
11847
|
*/
|
|
11796
11848
|
function _searchUsers(filter, options) {
|
|
11797
11849
|
return __awaiter(this, void 0, void 0, function () {
|
|
11798
|
-
var expanded, api,
|
|
11850
|
+
var expanded, api, searchOptions_1, props;
|
|
11799
11851
|
return __generator(this, function (_a) {
|
|
11800
11852
|
// JS Clients may not pass in authentication
|
|
11801
11853
|
if (!options.authentication) {
|
|
@@ -11804,23 +11856,21 @@
|
|
|
11804
11856
|
expanded = expandUserFilter(filter);
|
|
11805
11857
|
api = expandApi(options.api || "arcgis");
|
|
11806
11858
|
if (api.type === "arcgis") {
|
|
11807
|
-
|
|
11808
|
-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
|
|
11819
|
-
|
|
11820
|
-
|
|
11821
|
-
|
|
11822
|
-
}
|
|
11823
|
-
return [2 /*return*/, searchPortalUsers(searchOptions)];
|
|
11859
|
+
searchOptions_1 = serializeUserFilterForPortal(expanded);
|
|
11860
|
+
props = [
|
|
11861
|
+
"authentication",
|
|
11862
|
+
"num",
|
|
11863
|
+
"sortField",
|
|
11864
|
+
"sortOrder",
|
|
11865
|
+
"site",
|
|
11866
|
+
];
|
|
11867
|
+
// copy the props over
|
|
11868
|
+
props.forEach(function (prop) {
|
|
11869
|
+
if (options.hasOwnProperty(prop)) {
|
|
11870
|
+
searchOptions_1[prop] = options[prop];
|
|
11871
|
+
}
|
|
11872
|
+
});
|
|
11873
|
+
return [2 /*return*/, searchPortalUsers(searchOptions_1)];
|
|
11824
11874
|
}
|
|
11825
11875
|
else {
|
|
11826
11876
|
throw new Error("_searchUsers is not implemented for non-arcgis apis");
|