@esri/hub-common 9.43.3 → 9.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 (87) hide show
  1. package/dist/es2017/ArcGISContext.js +1 -1
  2. package/dist/es2017/ArcGISContext.js.map +1 -1
  3. package/dist/es2017/search/Collection.js +71 -0
  4. package/dist/es2017/search/Collection.js.map +1 -0
  5. package/dist/es2017/search/_internal/ifilter-utils.js +221 -0
  6. package/dist/es2017/search/_internal/ifilter-utils.js.map +1 -0
  7. package/dist/es2017/search/_internal/portalSearchGroups.js +47 -2
  8. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  9. package/dist/es2017/search/_internal/portalSearchItems.js +100 -7
  10. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  11. package/dist/es2017/search/_internal/portalSearchUsers.js +46 -1
  12. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  13. package/dist/es2017/search/_internal/portalSearchUtils.js +22 -0
  14. package/dist/es2017/search/_internal/portalSearchUtils.js.map +1 -0
  15. package/dist/es2017/search/filter-utils.js +1 -0
  16. package/dist/es2017/search/filter-utils.js.map +1 -1
  17. package/dist/es2017/search/hubSearch.js +47 -3
  18. package/dist/es2017/search/hubSearch.js.map +1 -1
  19. package/dist/es2017/search/types/IHubAggregation.js +1 -0
  20. package/dist/es2017/search/types/IHubAggregation.js.map +1 -0
  21. package/dist/es2017/search/types/IHubCatalog.js +1 -0
  22. package/dist/es2017/search/types/IHubCatalog.js.map +1 -0
  23. package/dist/es2017/search/types/index.js +2 -0
  24. package/dist/es2017/search/types/index.js.map +1 -1
  25. package/dist/esm/ArcGISContext.js +1 -1
  26. package/dist/esm/ArcGISContext.js.map +1 -1
  27. package/dist/esm/search/Collection.js +106 -0
  28. package/dist/esm/search/Collection.js.map +1 -0
  29. package/dist/esm/search/_internal/ifilter-utils.js +222 -0
  30. package/dist/esm/search/_internal/ifilter-utils.js.map +1 -0
  31. package/dist/esm/search/_internal/portalSearchGroups.js +50 -2
  32. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  33. package/dist/esm/search/_internal/portalSearchItems.js +101 -7
  34. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  35. package/dist/esm/search/_internal/portalSearchUsers.js +49 -1
  36. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  37. package/dist/esm/search/_internal/portalSearchUtils.js +22 -0
  38. package/dist/esm/search/_internal/portalSearchUtils.js.map +1 -0
  39. package/dist/esm/search/filter-utils.js +1 -0
  40. package/dist/esm/search/filter-utils.js.map +1 -1
  41. package/dist/esm/search/hubSearch.js +50 -3
  42. package/dist/esm/search/hubSearch.js.map +1 -1
  43. package/dist/esm/search/types/IHubAggregation.js +1 -0
  44. package/dist/esm/search/types/IHubAggregation.js.map +1 -0
  45. package/dist/esm/search/types/IHubCatalog.js +1 -0
  46. package/dist/esm/search/types/IHubCatalog.js.map +1 -0
  47. package/dist/esm/search/types/index.js +2 -0
  48. package/dist/esm/search/types/index.js.map +1 -1
  49. package/dist/node/ArcGISContext.js +1 -1
  50. package/dist/node/ArcGISContext.js.map +1 -1
  51. package/dist/node/search/Collection.js +75 -0
  52. package/dist/node/search/Collection.js.map +1 -0
  53. package/dist/node/search/_internal/ifilter-utils.js +226 -0
  54. package/dist/node/search/_internal/ifilter-utils.js.map +1 -0
  55. package/dist/node/search/_internal/portalSearchGroups.js +49 -3
  56. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  57. package/dist/node/search/_internal/portalSearchItems.js +103 -7
  58. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  59. package/dist/node/search/_internal/portalSearchUsers.js +48 -2
  60. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  61. package/dist/node/search/_internal/portalSearchUtils.js +26 -0
  62. package/dist/node/search/_internal/portalSearchUtils.js.map +1 -0
  63. package/dist/node/search/filter-utils.js +1 -0
  64. package/dist/node/search/filter-utils.js.map +1 -1
  65. package/dist/node/search/hubSearch.js +48 -3
  66. package/dist/node/search/hubSearch.js.map +1 -1
  67. package/dist/node/search/types/IHubAggregation.js +3 -0
  68. package/dist/node/search/types/IHubAggregation.js.map +1 -0
  69. package/dist/node/search/types/IHubCatalog.js +3 -0
  70. package/dist/node/search/types/IHubCatalog.js.map +1 -0
  71. package/dist/node/search/types/index.js +2 -0
  72. package/dist/node/search/types/index.js.map +1 -1
  73. package/dist/types/core/types/IHubTimeline.d.ts +0 -5
  74. package/dist/types/search/Collection.d.ts +18 -0
  75. package/dist/types/search/_internal/ifilter-utils.d.ts +4 -0
  76. package/dist/types/search/_internal/portalSearchGroups.d.ts +12 -3
  77. package/dist/types/search/_internal/portalSearchItems.d.ts +28 -4
  78. package/dist/types/search/_internal/portalSearchUsers.d.ts +11 -2
  79. package/dist/types/search/_internal/portalSearchUtils.d.ts +9 -0
  80. package/dist/types/search/hubSearch.d.ts +11 -1
  81. package/dist/types/search/types/IHubAggregation.d.ts +11 -0
  82. package/dist/types/search/types/IHubCatalog.d.ts +71 -0
  83. package/dist/types/search/types/IHubSearchResponse.d.ts +2 -0
  84. package/dist/types/search/types/index.d.ts +2 -0
  85. package/dist/umd/common.umd.js +519 -45
  86. package/dist/umd/common.umd.js.map +1 -1
  87. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Collection = void 0;
4
+ const __1 = require("..");
5
+ /**
6
+ * Implements Collection behavior
7
+ */
8
+ /* istanbul ignore next */
9
+ class Collection {
10
+ constructor(collection, context) {
11
+ this._collection = collection;
12
+ if (context) {
13
+ this._context = context;
14
+ }
15
+ }
16
+ static async create(collection, context) {
17
+ // Async so we could extend to look up by ref like
18
+ // https://mysite.com#documents vs passing in a full ICollection
19
+ const col = new Collection(collection, context);
20
+ return Promise.resolve(col);
21
+ }
22
+ // Getters
23
+ get label() {
24
+ return this._collection.label;
25
+ }
26
+ get key() {
27
+ return this._collection.key;
28
+ }
29
+ get include() {
30
+ return this._collection.include;
31
+ }
32
+ get scope() {
33
+ return this._collection.scope;
34
+ }
35
+ get sortField() {
36
+ return this._collection.sortField || "title";
37
+ }
38
+ get sortDirection() {
39
+ return this._collection.sortDirection || "asc";
40
+ }
41
+ async search(query, options = {}) {
42
+ var _a;
43
+ let qry;
44
+ if (typeof query === "string") {
45
+ // construct a query from that...
46
+ qry = {
47
+ targetEntity: ((_a = this._collection.scope) === null || _a === void 0 ? void 0 : _a.targetEntity) || "item",
48
+ filters: [
49
+ {
50
+ predicates: [
51
+ {
52
+ term: query,
53
+ },
54
+ ],
55
+ },
56
+ ],
57
+ };
58
+ }
59
+ else {
60
+ qry = query;
61
+ }
62
+ // merge the passed in query w/ the scope
63
+ qry.filters = [...qry.filters, ...this.scope.filters];
64
+ options.requestOptions = this._context.hubRequestOptions;
65
+ // inject default sort info if not specified
66
+ options.sortField = options.sortField || this.sortField;
67
+ options.sortOrder = options.sortOrder || this.sortDirection;
68
+ // inject default includes if not specified
69
+ options.include = options.include || this.include;
70
+ // execute the search and return results
71
+ return __1.hubSearchQuery(qry, options);
72
+ }
73
+ }
74
+ exports.Collection = Collection;
75
+ //# sourceMappingURL=Collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/search/Collection.ts"],"names":[],"mappings":";;;AAAA,0BAAoD;AAUpD;;GAEG;AACH,0BAA0B;AAC1B,MAAa,UAAU;IAGrB,YAAoB,UAA0B,EAAE,OAAwB;QACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAA0B,EAC1B,OAAwB;QAExB,kDAAkD;QAClD,gEAAgE;QAChE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;IAEV,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,CAAC;IACD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,KAAsB,EACtB,UAA6B,EAAE;;QAE/B,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,iCAAiC;YACjC,GAAG,GAAG;gBACJ,YAAY,EAAE,OAAA,IAAI,CAAC,WAAW,CAAC,KAAK,0CAAE,YAAY,KAAI,MAAM;gBAC5D,OAAO,EAAE;oBACP;wBACE,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,KAAK;6BACZ;yBACF;qBACF;iBACF;aACF,CAAC;SACH;aAAM;YACL,GAAG,GAAG,KAAK,CAAC;SACb;QAED,yCAAyC;QACzC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACzD,4CAA4C;QAC5C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACxD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QAC5D,2CAA2C;QAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAElD,wCAAwC;QACxC,OAAO,kBAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AA7ED,gCA6EC"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeQueryForPortal = exports.expandPredicate = void 0;
4
+ const objects_1 = require("../../objects");
5
+ const util_1 = require("../../util");
6
+ const utils_1 = require("../utils");
7
+ function expandPredicate(predicate) {
8
+ const result = {};
9
+ const dateProps = ["created", "modified", "lastlogin"];
10
+ const copyProps = [
11
+ "filterType",
12
+ "term",
13
+ "searchUserAccess",
14
+ "isopendata",
15
+ "searchUserName",
16
+ ];
17
+ const nonMatchOptionsFields = [...dateProps, ...copyProps];
18
+ // Do the conversion
19
+ Object.entries(predicate).forEach(([key, value]) => {
20
+ // Handle MatchOptions fields
21
+ if (!nonMatchOptionsFields.includes(key)) {
22
+ objects_1.setProp(key, utils_1.valueToMatchOptions(value), result);
23
+ }
24
+ // Handle Date fields
25
+ if (dateProps.includes(key)) {
26
+ const dateFieldValue = util_1.cloneObject(objects_1.getProp(predicate, key));
27
+ if (objects_1.getProp(predicate, `${key}.type`) === "relative-date") {
28
+ objects_1.setProp(key, utils_1.relativeDateToDateRange(dateFieldValue), result);
29
+ }
30
+ else {
31
+ objects_1.setProp(key, dateFieldValue, result);
32
+ }
33
+ }
34
+ // Handle fields that are just copied forward
35
+ if (copyProps.includes(key) && predicate.hasOwnProperty(key)) {
36
+ objects_1.setProp(key, value, result);
37
+ }
38
+ });
39
+ return result;
40
+ }
41
+ exports.expandPredicate = expandPredicate;
42
+ function serializeQueryForPortal(query) {
43
+ const filterSearchOptions = query.filters.map(serializeFilter);
44
+ const result = mergeSearchOptions(filterSearchOptions, "AND");
45
+ return result;
46
+ }
47
+ exports.serializeQueryForPortal = serializeQueryForPortal;
48
+ function mergeSearchOptions(options, operation) {
49
+ const result = options.reduce((acc, entry) => {
50
+ // walk the props
51
+ Object.entries(entry).forEach(([key, value]) => {
52
+ // if prop exists
53
+ if (acc[key]) {
54
+ // combine via operation
55
+ acc[key] = `${acc[key]} ${operation} ${value}`;
56
+ }
57
+ else {
58
+ // just copy the value
59
+ acc[key] = value;
60
+ }
61
+ });
62
+ return acc;
63
+ }, { q: "" });
64
+ return result;
65
+ }
66
+ /**
67
+ * Serialize the filters in a FitlerGroup into a Portal Query
68
+ * @param filter
69
+ * @returns
70
+ */
71
+ function serializeFilter(filter) {
72
+ const operation = filter.operation || "AND";
73
+ const predicates = filter.predicates.map(expandPredicate);
74
+ const predicateSearchOptions = predicates.map(serializePredicate);
75
+ // combine these searchOptions
76
+ const searchOptions = mergeSearchOptions(predicateSearchOptions, operation);
77
+ // wrap in parens if we have more than one predicate
78
+ if (predicates.length > 1) {
79
+ searchOptions.q = `(${searchOptions.q})`;
80
+ }
81
+ return searchOptions;
82
+ }
83
+ /**
84
+ * Serialize a Filter into a Portal Query
85
+ * @param predicate
86
+ * @returns
87
+ */
88
+ function serializePredicate(predicate) {
89
+ const dateProps = ["created", "modified"];
90
+ const boolProps = ["isopendata"];
91
+ const passThroughProps = ["searchUserAccess", "searchUserName"];
92
+ const specialProps = [
93
+ "filterType",
94
+ "term",
95
+ ...dateProps,
96
+ ...boolProps,
97
+ ...passThroughProps,
98
+ ];
99
+ const portalAllowList = [
100
+ "access",
101
+ "categories",
102
+ "created",
103
+ "description",
104
+ "disabled",
105
+ "email",
106
+ "emailstatus",
107
+ "firstname",
108
+ "fullname",
109
+ "group",
110
+ "id",
111
+ "isInvitationOnly",
112
+ "isopendata",
113
+ "joined",
114
+ "lastlogin",
115
+ "lastname",
116
+ "memberType",
117
+ "modified",
118
+ "name",
119
+ "orgid",
120
+ "orgIds",
121
+ "owner",
122
+ "provider",
123
+ "role",
124
+ "searchUserAccess",
125
+ "searchUserName",
126
+ "snippet",
127
+ "tags",
128
+ "term",
129
+ "type",
130
+ "typekeywords",
131
+ "userlicensetype",
132
+ "username",
133
+ ];
134
+ let qCount = 0;
135
+ // TODO: Look at using reduce vs .map and remove the `.filter`
136
+ const opts = Object.entries(predicate)
137
+ .map(([key, value]) => {
138
+ // When serializing for portal we limit predicate properties to
139
+ // a list of known properties that the portal api accepts. This will
140
+ // not attempt to ensure the properties are used in the correct combinations
141
+ if (portalAllowList.includes(key)) {
142
+ const so = { q: "" };
143
+ if (!specialProps.includes(key)) {
144
+ qCount++;
145
+ so.q = serializeMatchOptions(key, value);
146
+ }
147
+ if (dateProps.includes(key)) {
148
+ qCount++;
149
+ so.q = serializeDateRange(key, value);
150
+ }
151
+ if (boolProps.includes(key)) {
152
+ qCount++;
153
+ so.q = `${key}:${value}`;
154
+ }
155
+ if (passThroughProps.includes(key)) {
156
+ so[key] = value;
157
+ }
158
+ if (key === "term") {
159
+ qCount++;
160
+ so.q = value;
161
+ }
162
+ return so;
163
+ }
164
+ })
165
+ .filter((e) => e !== undefined);
166
+ // merge up all the searchOptions
167
+ const searchOptions = mergeSearchOptions(opts, "AND");
168
+ if (qCount > 1) {
169
+ searchOptions.q = `(${searchOptions.q})`;
170
+ }
171
+ return searchOptions;
172
+ }
173
+ /**
174
+ * Serialize MatchOptions into portal syntax
175
+ * @param key
176
+ * @param value
177
+ * @returns
178
+ */
179
+ function serializeMatchOptions(key, value) {
180
+ let result = "";
181
+ if (value.any) {
182
+ result = `${serializeStringOrArray("OR", key, value.any)}`;
183
+ }
184
+ if (value.all) {
185
+ result =
186
+ (result ? result + " AND " : "") +
187
+ `${serializeStringOrArray("AND", key, value.all)}`;
188
+ }
189
+ if (value.not) {
190
+ // negate the entries if they are not
191
+ result =
192
+ (result ? result + " AND " : "") +
193
+ `${serializeStringOrArray("OR", `-${key}`, value.not)}`;
194
+ }
195
+ return result;
196
+ }
197
+ /**
198
+ * Serialize a date-range into Portal syntax
199
+ * @param key
200
+ * @param range
201
+ * @returns
202
+ */
203
+ function serializeDateRange(key, range) {
204
+ return `${key}:[${range.from} TO ${range.to}]`;
205
+ }
206
+ /**
207
+ * Serialize a `string` or `string[]` into a string
208
+ * @param join
209
+ * @param key
210
+ * @param value
211
+ * @returns
212
+ */
213
+ function serializeStringOrArray(join, key, value) {
214
+ let q = "";
215
+ if (Array.isArray(value)) {
216
+ q = `${key}:"${value.join(`" ${join} ${key}:"`)}"`;
217
+ if (value.length > 1) {
218
+ q = `(${q})`;
219
+ }
220
+ }
221
+ else {
222
+ q = `${key}:"${value}"`;
223
+ }
224
+ return q;
225
+ }
226
+ //# sourceMappingURL=ifilter-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifilter-utils.js","sourceRoot":"","sources":["../../../../src/search/_internal/ifilter-utils.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.portalSearchGroups = void 0;
3
+ exports.portalSearchGroups = exports.portalSearchGroupsFilterGroups = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const index_1 = require("../../index");
5
6
  const HubGroups_1 = require("../../groups/HubGroups");
6
7
  const filter_utils_1 = require("../filter-utils");
8
+ const ifilter_utils_1 = require("./ifilter-utils");
7
9
  const utils_1 = require("../utils");
8
10
  /**
9
11
  * @private
10
- * Portal Search Implementation for Items
12
+ * DEPRECATED: Use `portalSerchGroups`
13
+ * Portal Search Implementation for Groups
11
14
  * @param filterGroups
12
15
  * @param options
13
16
  * @returns
14
17
  */
15
- async function portalSearchGroups(filterGroups, options) {
18
+ async function portalSearchGroupsFilterGroups(filterGroups, options) {
16
19
  // API
17
20
  const api = utils_1.expandApi(options.api || "arcgis");
18
21
  if (!options.requestOptions) {
@@ -58,6 +61,49 @@ async function portalSearchGroups(filterGroups, options) {
58
61
  }
59
62
  return searchPortal(so);
60
63
  }
64
+ exports.portalSearchGroupsFilterGroups = portalSearchGroupsFilterGroups;
65
+ /**
66
+ * @private
67
+ * Portal Search Implementation for Groups
68
+ * @param query
69
+ * @param options
70
+ * @returns
71
+ */
72
+ async function portalSearchGroups(query, options) {
73
+ if (!options.requestOptions) {
74
+ throw new index_1.HubError("portalSearchGroups", "options.requestOptions is required.");
75
+ }
76
+ // Expand the individual predicates in each filter
77
+ query.filters = query.filters.map((filter) => {
78
+ filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
79
+ return filter;
80
+ });
81
+ // Serialize the all the groups for portal
82
+ const so = ifilter_utils_1.serializeQueryForPortal(query);
83
+ // Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
84
+ const props = [
85
+ "num",
86
+ "sortField",
87
+ "sortOrder",
88
+ "include",
89
+ "start",
90
+ "requestOptions",
91
+ ];
92
+ // copy the props over
93
+ props.forEach((prop) => {
94
+ if (options.hasOwnProperty(prop)) {
95
+ so[prop] = options[prop];
96
+ }
97
+ });
98
+ // If we don't have auth, ensure we have .portal
99
+ if (options.requestOptions.authentication) {
100
+ so.authentication = options.requestOptions.authentication;
101
+ }
102
+ else {
103
+ so.portal = options.requestOptions.portal;
104
+ }
105
+ return searchPortal(so);
106
+ }
61
107
  exports.portalSearchGroups = portalSearchGroups;
62
108
  /**
63
109
  * Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":";;;AAAA,iEAAwE;AAExE,uCAAuC;AACvC,sDAAiE;AAEjE,kDAA+E;AAC/E,mDAA2E;AAQ3E,oCAAsD;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,8BAA8B,CAClD,YAA0C,EAC1C,OAA0B;IAE1B,MAAM;IACN,MAAM,GAAG,GAAG,iBAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,gCAAgC;YAChC,OAAO,CAAC,cAAc,GAAG;gBACvB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;aACtC,CAAC;SACH;aAAM;YACL,OAAO,CAAC,cAAc,GAAG;gBACvB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,eAAe;aAClC,CAAC;SACH;KACF;IAED,sDAAsD;IACtD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC7C,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,6CAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,gBAAgB;QAChB,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;QACP,gBAAgB;KACjB,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;QACtB,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,eAAe,CAAC;KACnE;IAED,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AApDD,wEAoDC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,OAA0B;IAE1B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,gBAAQ,CAChB,oBAAoB,EACpB,qCAAqC,CACtC,CAAC;KACH;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,+BAAe,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,uCAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;QACP,gBAAgB;KACjB,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;QACzC,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;KAC3D;SAAM;QACL,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;KAC3C;IAED,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AA3CD,gDA2CC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,aAA6B;IAE7B,wBAAwB;IACxB,MAAM,IAAI,GAAG,MAAM,iCAAY,CAAC,aAAa,CAAC,CAAC;IAE/C,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,EAAE;QAC1B,OAAO,mBAAmB,CACxB,IAAI,EACJ,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,6CAA6C;IAC7C,uBAAuB;IACvB,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,YAAY,CACb;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAChC,KAAa,EACb,WAAqB,EAAE,EACvB,cAAmC;IAEnC,+BAA+B;IAC/B,iDAAiD;IACjD,6CAA6C;IAC7C,mCAAmC;IACnC,OAAO,mCAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAClE,CAAC"}
@@ -1,27 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyWellKnownItemFilters = exports.WellKnownItemFilters = exports.portalSearchItems = void 0;
3
+ exports.isWellKnownTypeFilter = exports.applyWellKnownItemFilterGroups = exports.applyWellKnownItemPredicates = exports.WellKnownItemFilters = exports.portalSearchItems = exports.portalSearchItemsFilterGroups = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
5
  const __1 = require("../..");
6
+ const ifilter_utils_1 = require("./ifilter-utils");
6
7
  const HubPages_1 = require("../../pages/HubPages");
7
8
  const projects_1 = require("../../projects");
8
9
  const sites_1 = require("../../sites");
9
10
  const filter_utils_1 = require("../filter-utils");
10
11
  const utils_1 = require("../utils");
12
+ const portalSearchUtils_1 = require("./portalSearchUtils");
11
13
  /**
12
14
  * @private
13
- * Portal Search Implementation for Items
15
+ * DEPRECATED
14
16
  * @param filterGroups
15
17
  * @param options
16
18
  * @returns
17
19
  */
18
- async function portalSearchItems(filterGroups, options) {
20
+ async function portalSearchItemsFilterGroups(filterGroups, options) {
19
21
  var _a;
20
22
  if (!options.requestOptions) {
21
23
  throw new __1.HubError("hubSearch", "requestOptions: IHubRequestOptions is required.");
22
24
  }
23
25
  // Expand well-known filterGroups
24
- const replaced = applyWellKnownItemFilters(filterGroups);
26
+ const replaced = applyWellKnownItemFilterGroups(filterGroups);
25
27
  // Expand the individual filters in each of the groups
26
28
  const expandedGroups = replaced.map((fg) => {
27
29
  fg.filters = fg.filters.map(filter_utils_1.expandFilter);
@@ -57,6 +59,56 @@ async function portalSearchItems(filterGroups, options) {
57
59
  }
58
60
  return searchPortal(so);
59
61
  }
62
+ exports.portalSearchItemsFilterGroups = portalSearchItemsFilterGroups;
63
+ /**
64
+ * @private
65
+ * Portal Search Implementation for Items
66
+ * @param query
67
+ * @param options
68
+ * @returns
69
+ */
70
+ async function portalSearchItems(query, options) {
71
+ var _a;
72
+ if (!options.requestOptions) {
73
+ throw new __1.HubError("portalSearchItems", "options.requestOptions is required.");
74
+ }
75
+ // Expand well-known filterGroups
76
+ const updatedQuery = applyWellKnownItemPredicates(query);
77
+ // Expand the individual predicates in each filter
78
+ updatedQuery.filters = updatedQuery.filters.map((filter) => {
79
+ filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
80
+ return filter;
81
+ });
82
+ // Serialize the all the groups for portal
83
+ const so = ifilter_utils_1.serializeQueryForPortal(updatedQuery);
84
+ // Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
85
+ const props = [
86
+ "num",
87
+ "sortField",
88
+ "sortOrder",
89
+ "include",
90
+ "start",
91
+ "requestOptions",
92
+ ];
93
+ // copy the props over
94
+ props.forEach((prop) => {
95
+ if (options.hasOwnProperty(prop)) {
96
+ so[prop] = options[prop];
97
+ }
98
+ });
99
+ if (options.requestOptions.authentication) {
100
+ so.authentication = options.requestOptions.authentication;
101
+ }
102
+ else {
103
+ so.portal = options.requestOptions.portal;
104
+ }
105
+ // Aggregations
106
+ if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
107
+ so.countFields = options.aggFields.join(",");
108
+ so.countSize = options.aggLimit || 10;
109
+ }
110
+ return searchPortal(so);
111
+ }
60
112
  exports.portalSearchItems = portalSearchItems;
61
113
  /**
62
114
  * Internal portal search, which then converts `IItem`s to `IHubSearchResult`s
@@ -74,13 +126,16 @@ async function searchPortal(searchOptions) {
74
126
  };
75
127
  // map over results
76
128
  const results = await Promise.all(resp.results.map(fn));
77
- // convert aggregations into facets
129
+ // TODO Remove this call
78
130
  const facets = __1.convertPortalItemResponseToFacets(resp);
131
+ // convert portal aggregations into hub aggregations
132
+ const aggregations = portalSearchUtils_1.convertPortalAggregations(resp);
79
133
  // Construct the return
80
134
  return {
81
135
  total: resp.total,
82
136
  results,
83
137
  facets,
138
+ aggregations,
84
139
  hasNext: resp.nextStart > -1,
85
140
  next: utils_1.getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
86
141
  };
@@ -287,7 +342,37 @@ exports.WellKnownItemFilters = {
287
342
  * Only exported to enable extensive testing
288
343
  * @param filterGroups
289
344
  */
290
- function applyWellKnownItemFilters(filterGroups) {
345
+ function applyWellKnownItemPredicates(query) {
346
+ const queryClone = __1.cloneObject(query);
347
+ // iterate the filters
348
+ queryClone.filters = queryClone.filters.map((filter) => {
349
+ // replace predicates with well-known types
350
+ filter.predicates = filter.predicates.reduce((acc, predicate) => {
351
+ // if the predicate has a well-known type
352
+ // we replace it with the set of predicates defined
353
+ // for the well-known type
354
+ if (isWellKnownTypeFilter(predicate.type)) {
355
+ const replacements = lookupTypePredicates(predicate.type);
356
+ acc = [...acc, ...replacements];
357
+ }
358
+ else {
359
+ // this predicate does not have a well-known type
360
+ // so we just keep it
361
+ acc.push(predicate);
362
+ }
363
+ return acc;
364
+ }, []);
365
+ return filter;
366
+ });
367
+ return queryClone;
368
+ }
369
+ exports.applyWellKnownItemPredicates = applyWellKnownItemPredicates;
370
+ /**
371
+ * DEPRECATED
372
+ * @param filterGroups
373
+ * @returns
374
+ */
375
+ function applyWellKnownItemFilterGroups(filterGroups) {
291
376
  const clone = __1.cloneObject(filterGroups);
292
377
  // iterate the filterGroups
293
378
  const result = clone.map((filterGroup) => {
@@ -315,7 +400,7 @@ function applyWellKnownItemFilters(filterGroups) {
315
400
  });
316
401
  return result;
317
402
  }
318
- exports.applyWellKnownItemFilters = applyWellKnownItemFilters;
403
+ exports.applyWellKnownItemFilterGroups = applyWellKnownItemFilterGroups;
319
404
  /**
320
405
  * Is the argument a well-known type "key"
321
406
  *
@@ -332,6 +417,7 @@ function isWellKnownTypeFilter(key) {
332
417
  }
333
418
  return result;
334
419
  }
420
+ exports.isWellKnownTypeFilter = isWellKnownTypeFilter;
335
421
  /**
336
422
  * Fetch the array of fitlers from the well-known hash
337
423
  * @param key
@@ -340,4 +426,14 @@ function isWellKnownTypeFilter(key) {
340
426
  function lookupTypeFilters(key) {
341
427
  return exports.WellKnownItemFilters[key];
342
428
  }
429
+ function lookupTypePredicates(key) {
430
+ const rawPredicates = exports.WellKnownItemFilters[key];
431
+ // Remove the filterType property as it's not needed in an IPredicate
432
+ const predicates = rawPredicates.map((entry) => {
433
+ const c = __1.cloneObject(entry);
434
+ delete c.filterType;
435
+ return c;
436
+ });
437
+ return predicates;
438
+ }
343
439
  //# sourceMappingURL=portalSearchItems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":";;;AAAA,iEAA8E;AAC9E,6BAKe;AAEf,mDAA8D;AAC9D,6CAA2D;AAC3D,uCAAqD;AAErD,kDAKyB;AASzB,oCAA2C;AAE3C;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,YAAyC,EACzC,OAA0B;;IAE1B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,YAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IACD,iCAAiC;IACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACzD,sDAAsD;IACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,6CAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;QACP,gBAAgB;KACjB,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;QACzC,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;KAC3D;SAAM;QACL,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;KAC3C;IAED,eAAe;IACf,UAAI,OAAO,CAAC,SAAS,0CAAE,MAAM,EAAE;QAC7B,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KACvC;IACD,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAhDD,8CAgDC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,aAA6B;IAE7B,wBAAwB;IACxB,MAAM,IAAI,GAAG,MAAM,gCAAW,CAAC,aAAa,CAAC,CAAC;IAE9C,mDAAmD;IACnD,MAAM,EAAE,GAAG,CAAC,IAAW,EAAE,EAAE;QACzB,OAAO,kBAAkB,CACvB,IAAI,EACJ,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,mCAAmC;IACnC,MAAM,MAAM,GAAG,qCAAiC,CAAC,IAAI,CAAC,CAAC;IAEvD,uBAAuB;IACvB,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,YAAY,CACb;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAW,EACX,WAAqB,EAAE,EACvB,cAAmC;IAEnC,4DAA4D;IAC5D,uDAAuD;IACvD,IAAI,EAAE,GAAG,6BAAyB,CAAC;IACnC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,EAAE,GAAG,8BAAsB,CAAC;YAC5B,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,EAAE,GAAG,iCAAsB,CAAC;YAC5B,MAAM;QACR,KAAK,aAAa;YAChB,EAAE,GAAG,oCAAyB,CAAC;YAC/B,MAAM;KACT;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC;AAiBY,QAAA,oBAAoB,GAA0B;IACzD,YAAY,EAAE;QACZ;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,yBAAyB;oBACzB,aAAa;oBACb,UAAU;oBACV,gBAAgB;iBACjB;gBACD,GAAG,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;aAC1C;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B;SACF;QACD;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,wBAAwB;YAC9B,YAAY,EAAE,gBAAgB;SAC/B;KACF;IACD,UAAU,EAAE;QACV;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,WAAW,CAAC;gBAClB,GAAG,EAAE,CAAC,gBAAgB,CAAC;aACxB;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC;aAC5C;SACF;KACF;IACD,QAAQ,EAAE;QACR;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,eAAe;oBACf,oBAAoB;oBACpB,aAAa;oBACb,OAAO;oBACP,gBAAgB;oBAChB,cAAc;oBACd,qBAAqB;oBACrB,eAAe;oBACf,eAAe;oBACf,iBAAiB;oBACjB,gBAAgB;oBAChB,aAAa;oBACb,qBAAqB;oBACrB,eAAe;oBACf,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,gBAAgB;oBAChB,eAAe;oBACf,KAAK;oBACL,WAAW;oBACX,SAAS;oBACT,oBAAoB;oBACpB,kBAAkB;oBAClB,aAAa;oBACb,gCAAgC;iBACjC;gBACD,GAAG,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;aACpD;SACF;QACD;YACE,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;SACzC;KACF;IACD,SAAS,EAAE;QACT;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,KAAK;gBACL,iBAAiB;gBACjB,gBAAgB;gBAChB,sBAAsB;gBACtB,eAAe;gBACf,aAAa;gBACb,eAAe;gBACf,gBAAgB;gBAChB,eAAe;aAChB;SACF;KACF;IACD,WAAW,EAAE;QACX;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;IACD,WAAW,EAAE;QACX;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;IACD,SAAS,EAAE;QACT;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,SAAS;SACxB;KACF;IACD,KAAK,EAAE;QACL;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACnD;KACF;IACD,SAAS,EAAE;QACT;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,yBAAyB;YAC/B,YAAY,EAAE,WAAW;SAC1B;KACF;IACD,SAAS,EAAE;QACT;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,yBAAyB;gBACzB,gBAAgB;gBAChB,yBAAyB;gBACzB,UAAU;aACX;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,UAAU,CAAC;gBACjE,GAAG,EAAE,UAAU;aAChB;SACF;KACF;IACD,OAAO,EAAE;QACP;YACE,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBAC7B,GAAG,EAAE,yBAAyB;aAC/B;SACF;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,yBAAyB,CACvC,YAAyC;IAEzC,MAAM,KAAK,GAAG,eAAW,CAAC,YAAY,CAAC,CAAC;IACxC,2BAA2B;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACvC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,gDAAgD;YAChD,IAAI,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACtC,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,iBAAiB,CACnC,MAAM,CAAC,IAAyC,CACjD,CAAC;gBACF,2DAA2D;gBAC3D,0DAA0D;gBAC1D,yDAAyD;gBACzD,iEAAiE;gBACjE,2DAA2D;gBAC3D,8DAA8D;gBAC9D,gBAAgB;gBAChB,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC;aACxC;iBAAM;gBACL,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,8DA+BC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,GAAsC;IAEtC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,4BAAoB,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,GAAsC;IAEtC,OAAO,4BAAoB,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}