@esri/hub-common 10.0.0-next.1 → 10.0.0-next.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.
Files changed (112) hide show
  1. package/dist/es2017/projects/HubProjects.js.map +1 -1
  2. package/dist/es2017/search/_internal/hubSearchItems.js +3 -94
  3. package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -1
  4. package/dist/es2017/search/_internal/portalSearchItems.js +3 -25
  5. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  6. package/dist/es2017/search/index.js +0 -7
  7. package/dist/es2017/search/index.js.map +1 -1
  8. package/dist/es2017/search/types/index.js +0 -3
  9. package/dist/es2017/search/types/index.js.map +1 -1
  10. package/dist/es2017/search/utils.js +1 -207
  11. package/dist/es2017/search/utils.js.map +1 -1
  12. package/dist/esm/projects/HubProjects.js.map +1 -1
  13. package/dist/esm/search/_internal/hubSearchItems.js +4 -102
  14. package/dist/esm/search/_internal/hubSearchItems.js.map +1 -1
  15. package/dist/esm/search/_internal/portalSearchItems.js +3 -25
  16. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  17. package/dist/esm/search/index.js +0 -7
  18. package/dist/esm/search/index.js.map +1 -1
  19. package/dist/esm/search/types/index.js +0 -3
  20. package/dist/esm/search/types/index.js.map +1 -1
  21. package/dist/esm/search/utils.js +1 -204
  22. package/dist/esm/search/utils.js.map +1 -1
  23. package/dist/node/projects/HubProjects.js.map +1 -1
  24. package/dist/node/search/_internal/hubSearchItems.js +3 -94
  25. package/dist/node/search/_internal/hubSearchItems.js.map +1 -1
  26. package/dist/node/search/_internal/portalSearchItems.js +4 -26
  27. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  28. package/dist/node/search/index.js +0 -7
  29. package/dist/node/search/index.js.map +1 -1
  30. package/dist/node/search/types/index.js +0 -3
  31. package/dist/node/search/types/index.js.map +1 -1
  32. package/dist/node/search/utils.js +1 -213
  33. package/dist/node/search/utils.js.map +1 -1
  34. package/dist/types/search/_internal/hubSearchItems.d.ts +3 -3
  35. package/dist/types/search/_internal/portalSearchItems.d.ts +15 -15
  36. package/dist/types/search/index.d.ts +0 -7
  37. package/dist/types/search/types/index.d.ts +0 -3
  38. package/dist/types/search/types/types.d.ts +0 -204
  39. package/dist/types/search/utils.d.ts +2 -58
  40. package/dist/umd/common.umd.js +101 -1459
  41. package/dist/umd/common.umd.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/es2017/search/_searchContent.js +0 -112
  44. package/dist/es2017/search/_searchContent.js.map +0 -1
  45. package/dist/es2017/search/_searchGroups.js +0 -88
  46. package/dist/es2017/search/_searchGroups.js.map +0 -1
  47. package/dist/es2017/search/_searchUsers.js +0 -89
  48. package/dist/es2017/search/_searchUsers.js.map +0 -1
  49. package/dist/es2017/search/content-utils.js +0 -390
  50. package/dist/es2017/search/content-utils.js.map +0 -1
  51. package/dist/es2017/search/filter-utils.js +0 -31
  52. package/dist/es2017/search/filter-utils.js.map +0 -1
  53. package/dist/es2017/search/group-utils.js +0 -142
  54. package/dist/es2017/search/group-utils.js.map +0 -1
  55. package/dist/es2017/search/types/ICatalog.js +0 -1
  56. package/dist/es2017/search/types/ICatalog.js.map +0 -1
  57. package/dist/es2017/search/types/ICollection.js +0 -1
  58. package/dist/es2017/search/types/ICollection.js.map +0 -1
  59. package/dist/es2017/search/types/IHubApiSearchRequest.js +0 -1
  60. package/dist/es2017/search/types/IHubApiSearchRequest.js.map +0 -1
  61. package/dist/es2017/search/user-utils.js +0 -139
  62. package/dist/es2017/search/user-utils.js.map +0 -1
  63. package/dist/esm/search/_searchContent.js +0 -114
  64. package/dist/esm/search/_searchContent.js.map +0 -1
  65. package/dist/esm/search/_searchGroups.js +0 -91
  66. package/dist/esm/search/_searchGroups.js.map +0 -1
  67. package/dist/esm/search/_searchUsers.js +0 -92
  68. package/dist/esm/search/_searchUsers.js.map +0 -1
  69. package/dist/esm/search/content-utils.js +0 -394
  70. package/dist/esm/search/content-utils.js.map +0 -1
  71. package/dist/esm/search/filter-utils.js +0 -31
  72. package/dist/esm/search/filter-utils.js.map +0 -1
  73. package/dist/esm/search/group-utils.js +0 -146
  74. package/dist/esm/search/group-utils.js.map +0 -1
  75. package/dist/esm/search/types/ICatalog.js +0 -1
  76. package/dist/esm/search/types/ICatalog.js.map +0 -1
  77. package/dist/esm/search/types/ICollection.js +0 -1
  78. package/dist/esm/search/types/ICollection.js.map +0 -1
  79. package/dist/esm/search/types/IHubApiSearchRequest.js +0 -1
  80. package/dist/esm/search/types/IHubApiSearchRequest.js.map +0 -1
  81. package/dist/esm/search/user-utils.js +0 -143
  82. package/dist/esm/search/user-utils.js.map +0 -1
  83. package/dist/node/search/_searchContent.js +0 -116
  84. package/dist/node/search/_searchContent.js.map +0 -1
  85. package/dist/node/search/_searchGroups.js +0 -92
  86. package/dist/node/search/_searchGroups.js.map +0 -1
  87. package/dist/node/search/_searchUsers.js +0 -93
  88. package/dist/node/search/_searchUsers.js.map +0 -1
  89. package/dist/node/search/content-utils.js +0 -399
  90. package/dist/node/search/content-utils.js.map +0 -1
  91. package/dist/node/search/filter-utils.js +0 -36
  92. package/dist/node/search/filter-utils.js.map +0 -1
  93. package/dist/node/search/group-utils.js +0 -148
  94. package/dist/node/search/group-utils.js.map +0 -1
  95. package/dist/node/search/types/ICatalog.js +0 -3
  96. package/dist/node/search/types/ICatalog.js.map +0 -1
  97. package/dist/node/search/types/ICollection.js +0 -3
  98. package/dist/node/search/types/ICollection.js.map +0 -1
  99. package/dist/node/search/types/IHubApiSearchRequest.js +0 -3
  100. package/dist/node/search/types/IHubApiSearchRequest.js.map +0 -1
  101. package/dist/node/search/user-utils.js +0 -145
  102. package/dist/node/search/user-utils.js.map +0 -1
  103. package/dist/types/search/_searchContent.d.ts +0 -9
  104. package/dist/types/search/_searchGroups.d.ts +0 -13
  105. package/dist/types/search/_searchUsers.d.ts +0 -31
  106. package/dist/types/search/content-utils.d.ts +0 -66
  107. package/dist/types/search/filter-utils.d.ts +0 -13
  108. package/dist/types/search/group-utils.d.ts +0 -36
  109. package/dist/types/search/types/ICatalog.d.ts +0 -82
  110. package/dist/types/search/types/ICollection.d.ts +0 -26
  111. package/dist/types/search/types/IHubApiSearchRequest.d.ts +0 -16
  112. package/dist/types/search/user-utils.d.ts +0 -35
@@ -1,390 +0,0 @@
1
- import { cloneObject, Logger } from "..";
2
- // import { IFacetOption } from "./types/IFacetOption";
3
- // import { IFacet } from "./types/IFacet";
4
- import { mergeDateRange, mergeMatchOptions, mergeSearchOptions, relativeDateToDateRange, serializeDateRange, serializeMatchOptions, valueToMatchOptions, } from "./utils";
5
- // TODO: Remove with _searchContent
6
- // TODO: Implement $dataset
7
- const ContentFilterExpansions = {
8
- $apps: [
9
- {
10
- type: {
11
- any: [
12
- "Code Sample",
13
- "Web Mapping Application",
14
- "Mobile Application",
15
- "Application",
16
- "Desktop Application Template",
17
- "Desktop Application",
18
- "Operation View",
19
- "Dashboard",
20
- "Operations Dashboard Extension",
21
- "Workforce Project",
22
- "Insights Workbook",
23
- "Insights Page",
24
- "Insights Model",
25
- "Hub Page",
26
- "Hub Initiative",
27
- "Hub Site Application",
28
- "StoryMap",
29
- "Web Experience",
30
- "Web Experience Template",
31
- "Form",
32
- ],
33
- not: [
34
- "Code Attachment",
35
- "Featured Items",
36
- "Symbol Set",
37
- "Color Set",
38
- "Windows Viewer Add In",
39
- "Windows Viewer Configuration",
40
- "Map Area",
41
- "Indoors Map Configuration",
42
- ],
43
- },
44
- typekeywords: {
45
- not: ["MapAreaPackage", "SMX"],
46
- },
47
- },
48
- ],
49
- $storymap: [
50
- {
51
- type: "StoryMap",
52
- },
53
- {
54
- type: "Web Mapping Application",
55
- typekeywords: ["Story Map"],
56
- },
57
- ],
58
- $dashboard: [
59
- {
60
- type: "Dashboard",
61
- typekeywords: {
62
- any: ["Dashboard"],
63
- not: ["ArcGIS Operation View", "Add In", "Extension"],
64
- },
65
- },
66
- ],
67
- $dataset: [],
68
- $experience: [
69
- {
70
- type: {
71
- any: ["Web Experience"],
72
- not: ["Web Experience Template"],
73
- },
74
- },
75
- ],
76
- $site: [
77
- {
78
- type: ["Hub Site Application", "Site Application"],
79
- },
80
- {
81
- type: ["Web Mapping Application"],
82
- typekeywords: ["hubSite"],
83
- },
84
- ],
85
- $initiative: [
86
- {
87
- type: {
88
- any: "Hub Initiative",
89
- not: "Hub Initiative Template",
90
- },
91
- },
92
- ],
93
- $document: [
94
- {
95
- typekeywords: {
96
- any: "Document",
97
- not: ["MapAreaPackage", "SMX"],
98
- },
99
- type: {
100
- any: [
101
- "Image",
102
- "Layout",
103
- "Desktop Style",
104
- "Project Template",
105
- "Report Template",
106
- "Pro Report",
107
- "Statistical Data Collection",
108
- "360 VR Experience",
109
- "netCDF",
110
- "PDF",
111
- "CSV",
112
- "Administrative Report",
113
- "Raster function template",
114
- ],
115
- not: [
116
- "Image Service",
117
- "Explorer Document",
118
- "Explorer Map",
119
- "Globe Document",
120
- "Scene Document",
121
- "Code Attachment",
122
- "Featured Items",
123
- "Symbol Set",
124
- "ColorSet",
125
- "Windows Viewer Add In",
126
- "Windows Viewer Configuration",
127
- "Map Area",
128
- "Indoors Map Configuration",
129
- ],
130
- },
131
- },
132
- ],
133
- };
134
- /**
135
- * Merge `Filter<"content">` objects
136
- *
137
- * Useful in components which may get partial filters from a variety of
138
- * sub-components, which are then combined into a single filter prior
139
- * to executing the search.
140
- * @param filters
141
- * @returns
142
- */
143
- export function mergeContentFilter(filters) {
144
- Logger.warn(`DEPRECATION: mergeContentFilter will be removed and filters should not longer be merged. Work with IFilterGroups instead`);
145
- // expand all the filters so all prop types are consistent
146
- const expanded = filters.map(expandContentFilter);
147
- // now we can merge based on fields
148
- const dateFields = ["created", "modified"];
149
- const specialFields = ["filterType", "subFilters", "term", ...dateFields];
150
- const result = expanded.reduce((acc, entry) => {
151
- // process fields
152
- Object.entries(entry).forEach(([key, value]) => {
153
- if (acc.hasOwnProperty(key)) {
154
- /* istanbul ignore else */
155
- if (!specialFields.includes(key)) {
156
- acc[key] = mergeMatchOptions(acc[key], value);
157
- }
158
- else if (dateFields.includes(key)) {
159
- acc[key] = mergeDateRange(acc[key], value);
160
- }
161
- else if (key === "term") {
162
- acc[key] = `${acc[key]} ${value}`;
163
- }
164
- else if (key === "subFilters") {
165
- acc[key] = mergeSubFilters(acc[key], value);
166
- }
167
- }
168
- else {
169
- acc[key] = cloneObject(value);
170
- }
171
- });
172
- return acc;
173
- }, {});
174
- result.filterType = "content";
175
- return result;
176
- }
177
- function mergeSubFilters(sf1, sf2) {
178
- // Simplistic implementation: we just merge the arrays
179
- // in the future we may try to de-dupe things as a safeguard
180
- return [...sf1, ...sf2];
181
- }
182
- /**
183
- * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
184
- *
185
- * Filter's can express their intent in a very terse form, but to ensure consistent structures
186
- * we expand them into their more verbose form.
187
- *
188
- * i.e. `title: "Water"` expands into `title: { any: ["Water"]}`
189
- *
190
- * - "well known" type values are expanded
191
- * - i.e. `type: "$storymap"` expands into two `subFilter` entries
192
- * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
193
- * - RelativeDate fields are converted to DateRange<number>
194
- *
195
- * @param filter
196
- * @returns
197
- */
198
- export function expandContentFilter(filter) {
199
- Logger.warn(`DEPRECATION: expandContentFilter will be removed. Work with IFilterGroups<"item"> instead`);
200
- // Expand filter.type first
201
- const expandedTypeFilter = expandTypeField(filter);
202
- // Expand subfilters
203
- // Guard - JS Clients could send in anything...
204
- if (Array.isArray(filter.subFilters)) {
205
- // Convert any strings into the coresponding ContentFilterDefinition
206
- expandedTypeFilter.subFilters = expandedTypeFilter.subFilters.reduce((acc, entry) => {
207
- if (typeof entry === "string") {
208
- // if the entry is not a key of ContentFilterExpansions
209
- // we just skip over it
210
- if (ContentFilterExpansions[entry]) {
211
- acc = acc.concat(ContentFilterExpansions[entry]);
212
- }
213
- }
214
- else {
215
- acc.push(entry); // should be a ContentFilterDefinition
216
- }
217
- return acc;
218
- }, []);
219
- }
220
- // Convert all props into MatchOptions/DateRanges
221
- return convertContentDefinitionToFilter(expandedTypeFilter);
222
- }
223
- /**
224
- * @private
225
- * Expand from a well-known "type" into it's longer form
226
- *
227
- * i.e. `type: "$storymap"` expands into two subFilters entries
228
- *
229
- * @param filter
230
- * @returns
231
- */
232
- export function expandTypeField(filter) {
233
- const clone = cloneObject(filter);
234
- // ensure subFilters is defined as an array
235
- clone.subFilters = clone.subFilters || [];
236
- if (clone.type) {
237
- // if .type is an Array...
238
- if (Array.isArray(clone.type)) {
239
- // remove any well-known-keys and move their expansions into subfilters
240
- clone.type = clone.type.reduce((acc, entry) => {
241
- if (isWellKnownType(entry)) {
242
- // working with dynamic objects in typescript requires some assertions
243
- const key = entry;
244
- clone.subFilters = clone.subFilters.concat(lookupTypeFilters(key));
245
- }
246
- else {
247
- acc.push(entry);
248
- }
249
- return acc;
250
- }, []);
251
- }
252
- else if (isWellKnownType(clone.type)) {
253
- const key = clone.type;
254
- clone.subFilters = clone.subFilters.concat(lookupTypeFilters(key));
255
- delete clone.type;
256
- }
257
- else {
258
- // Future?: implement "expansions" inside MatchOptions
259
- // For now, we only attempt expansions for filter.type
260
- // if it's a string, or for strings inside an array
261
- // Unclear if it's of value to allow short-cuts inside MatchOptions
262
- }
263
- }
264
- return clone;
265
- }
266
- /**
267
- * Is the argument a well-known type "key"
268
- *
269
- * Accepts `string`, `string[]` or `IMatchOptions`
270
- * but only string values can possibly be properties
271
- * on `ContentFilterExpansions`
272
- * @param key
273
- * @returns
274
- */
275
- function isWellKnownType(key) {
276
- let result = false;
277
- if (typeof key === "string") {
278
- result = key in ContentFilterExpansions;
279
- }
280
- return result;
281
- }
282
- function lookupTypeFilters(key) {
283
- return ContentFilterExpansions[key];
284
- }
285
- /**
286
- * @private
287
- * Convert a `ContentFilterDefinition` to a `ContentFilter`
288
- *
289
- * ContentFilter is a narrower version of ContentFilterDefinition, without
290
- * the union types. Using a ContentFilter makes working with the structure
291
- * in typescript much easier.
292
- *
293
- * @param filter
294
- * @returns
295
- */
296
- export function convertContentDefinitionToFilter(filter) {
297
- // TODO: Remove with _searchContent
298
- Logger.warn(`DEPRECATION: convertContentDefinitionToFilter will be removed. Work with IFilterGroups<"item"> instead`);
299
- const result = {};
300
- if (filter.term) {
301
- result.term = filter.term;
302
- }
303
- const dateProps = ["created", "modified"];
304
- // Some properties should not get converted to MatchOptions
305
- const specialProps = ["filterType", "subFilters", "term", ...dateProps];
306
- // Do the conversion
307
- Object.entries(filter).forEach(([key, value]) => {
308
- if (!specialProps.includes(key)) {
309
- result[key] = valueToMatchOptions(value);
310
- }
311
- });
312
- // Special Cases
313
- // subFilters; Array of ContentFilterDefinitions
314
- if (filter.subFilters && Array.isArray(filter.subFilters)) {
315
- // downcast - would be nice to skip this or use some other constuct
316
- const sf = filter.subFilters;
317
- result.subFilters = sf.map(convertContentDefinitionToFilter);
318
- }
319
- // Dates; Ensure they are all DateRange<number>
320
- dateProps.forEach((fld) => {
321
- if (filter[fld]) {
322
- if (filter[fld].type === "relative-date") {
323
- result[fld] = relativeDateToDateRange(filter[fld]);
324
- }
325
- else {
326
- result[fld] = cloneObject(filter[fld]);
327
- }
328
- }
329
- });
330
- return result;
331
- }
332
- /**
333
- * @private
334
- * Serialize a `ContentFilter` into an `ISearchOptions` for use with `searchItems`
335
- * @param filter
336
- * @returns
337
- */
338
- export function serializeContentFilterForPortal(filter) {
339
- // TODO: Remove with _searchContent
340
- Logger.warn(`DEPRECATION: serializeContentFilterForPortal will be removed. Work with IFilterGroups<"item"> and hubSearch() instead`);
341
- let searchOptions = convertContentFilterToSearchOptions(filter);
342
- if (filter.subFilters) {
343
- const subFilterOptions = filter.subFilters.reduce((acc, entry) => {
344
- // Next guard is present b/c this can be used from javascript
345
- // but our tests are written in typescript which prevents us
346
- // from hitting the else
347
- /* istanbul ignore else */
348
- if (typeof entry === "object") {
349
- acc = mergeSearchOptions(acc, convertContentFilterToSearchOptions(entry), "OR");
350
- }
351
- return acc;
352
- }, { q: "", filter: "" });
353
- // merge with searchOptions using AND
354
- searchOptions = mergeSearchOptions(searchOptions, subFilterOptions, "AND");
355
- }
356
- // term is always last, and pre-pended on searchOptions.q
357
- if (filter.term) {
358
- searchOptions.q = `${filter.term} ${searchOptions.q}`.trim();
359
- }
360
- return searchOptions;
361
- }
362
- /**
363
- * @private
364
- * Convert a ContentFilter to a SearchOptions
365
- *
366
- * @param filter
367
- * @returns
368
- */
369
- export function convertContentFilterToSearchOptions(filter) {
370
- // TODO: Remove with _searchContent
371
- Logger.warn(`DEPRECATION: convertContentFilterToSearchOptions will be removed. Work with IFilterGroups<"item"> and hubSearch() instead`);
372
- let result = {
373
- q: "",
374
- filter: "",
375
- };
376
- const dateProps = ["created", "modified"];
377
- const specialProps = ["filterType", "subFilters", "term", ...dateProps];
378
- Object.entries(filter).forEach(([key, value]) => {
379
- // MatchOptions may go into either q or filter
380
- if (!specialProps.includes(key)) {
381
- result = mergeSearchOptions(result, serializeMatchOptions(key, value), "AND");
382
- }
383
- // Dates only go into q
384
- if (dateProps.includes(key)) {
385
- result = mergeSearchOptions(result, serializeDateRange(key, value), "AND");
386
- }
387
- });
388
- return result;
389
- }
390
- //# sourceMappingURL=content-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-utils.js","sourceRoot":"","sources":["../../../src/search/content-utils.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Determine if a Filter is "empty"
3
- * @param filter
4
- * @returns
5
- */
6
- export function isEmptyFilter(filter) {
7
- // if it has one property, filterType, it's empty
8
- return (Object.keys(filter).length === 1 && filter.hasOwnProperty("filterType"));
9
- }
10
- /**
11
- * Determine if a filterGroup is "empty"
12
- * @param filterGroup
13
- * @returns
14
- */
15
- export function isEmptyFilterGroup(filterGroup) {
16
- // if filters array is empty
17
- if (filterGroup.filters.length === 0) {
18
- return true;
19
- }
20
- else {
21
- // if all filters are empty
22
- const result = filterGroup.filters.reduce((acc, entry) => {
23
- if (acc) {
24
- acc = isEmptyFilter(entry);
25
- }
26
- return acc;
27
- }, true);
28
- return result;
29
- }
30
- }
31
- //# sourceMappingURL=filter-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,iDAAiD;IACjD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAqC;IAErC,4BAA4B;IAC5B,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;SAAM;QACL,2BAA2B;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,GAAG,EAAE;gBACP,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;aAC5B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,MAAM,CAAC;KACf;AACH,CAAC"}
@@ -1,142 +0,0 @@
1
- import { mergeDateRange, mergeMatchOptions, mergeSearchOptions, relativeDateToDateRange, serializeDateRange, serializeMatchOptions, valueToMatchOptions, } from ".";
2
- import { cloneObject, getProp, Logger, setProp } from "..";
3
- // TODO: Remove with _searchContent
4
- /**
5
- *
6
- * Merge `Filter<"group">` objects
7
- *
8
- * Useful in components which may get partial filters from a variety of
9
- * sub-components, which are then combined into a single filter prior
10
- * to executing the search.
11
- * @param filters
12
- * @returns
13
- */
14
- export function mergeGroupFilters(filters) {
15
- // TODO: Remove with _searchContent
16
- Logger.warn(`DEPRECATION: mergeGroupFilters will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
17
- // expand all the filters so all prop types are consistent
18
- const expanded = filters.map(expandGroupFilter);
19
- // now we can merge based on fields
20
- const dateFields = ["created", "modified"];
21
- const specialFields = ["filterType", "term", ...dateFields];
22
- // acc is initialized as Filter<group> but also needs it
23
- // in the function signature... for reasons?!
24
- const result = expanded.reduce((acc, entry) => {
25
- // process fields
26
- Object.entries(entry).forEach(([key, value]) => {
27
- // Note: getProp/setProp are used to get around
28
- // typescript issues with string indexing
29
- if (acc.hasOwnProperty(key)) {
30
- const existingValue = getProp(acc, key);
31
- // if the key is not to a special field
32
- if (!specialFields.includes(key)) {
33
- // treat as an IMatchOptions
34
- setProp(key, mergeMatchOptions(existingValue, value), acc);
35
- }
36
- else if (dateFields.includes(key)) {
37
- // treat as IDateRange
38
- setProp(key, mergeDateRange(existingValue, value), acc);
39
- }
40
- else if (key === "term") {
41
- // append terms
42
- acc[key] = `${acc[key]} ${value}`;
43
- }
44
- }
45
- else {
46
- // Acc does not have an entry for this yet
47
- // so just clone it
48
- setProp(key, cloneObject(value), acc);
49
- }
50
- });
51
- return acc;
52
- }, {
53
- filterType: "group",
54
- });
55
- return result;
56
- }
57
- /**
58
- * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
59
- *
60
- * Filter's can express their intent in a very terse form, but to ensure consistent structures
61
- * we expand them into their more verbose form.
62
- *
63
- * i.e. `title: "Water"` expands into `title: { any: ["Water"]}`
64
- *
65
- * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
66
- * - RelativeDate fields are converted to DateRange<number>
67
- *
68
- * @param filter
69
- * @returns
70
- */
71
- export function expandGroupFilter(filter) {
72
- // TODO: Remove with _searchContent
73
- Logger.warn(`DEPRECATION: expandGroupFilters will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
74
- const result = {};
75
- const dateProps = ["created", "modified"];
76
- // Some properties should not get converted to MatchOptions
77
- const specialProps = ["term", "searchUserAccess", ...dateProps];
78
- // Do the conversion
79
- Object.entries(filter).forEach(([key, value]) => {
80
- // handle Matchish fields
81
- if (!specialProps.includes(key)) {
82
- // setProp side-steps typescript complaining
83
- setProp(key, valueToMatchOptions(value), result);
84
- }
85
- // Handle date fields
86
- if (dateProps.includes(key)) {
87
- const dateFieldValue = cloneObject(getProp(filter, key));
88
- if (getProp(filter, `${key}.type`) === "relative-date") {
89
- setProp(key, relativeDateToDateRange(dateFieldValue), result);
90
- }
91
- else {
92
- setProp(key, dateFieldValue, result);
93
- }
94
- }
95
- });
96
- // searchUserAccess is boolean, so we check if the prop exists
97
- // vs checking if the value is truthy
98
- if (filter.hasOwnProperty("searchUserAccess")) {
99
- result.searchUserAccess = filter.searchUserAccess;
100
- }
101
- if (filter.term) {
102
- result.term = filter.term;
103
- }
104
- return result;
105
- }
106
- /**
107
- * @private
108
- * Serialize an `IGroupFilterDefinition` into an `ISearchOptions` for use
109
- * with `searchGroups`
110
- * @param filter
111
- * @returns
112
- */
113
- export function serializeGroupFilterForPortal(filter) {
114
- // TODO: Remove with _searchContent
115
- Logger.warn(`DEPRECATION: serializeGroupFilterForPortal will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
116
- let result = {
117
- q: "",
118
- filter: "",
119
- };
120
- const dateProps = ["created", "modified"];
121
- const specialProps = ["term", "searchUserAccess", "filterType", ...dateProps];
122
- Object.entries(filter).forEach(([key, value]) => {
123
- // MatchOptions fields
124
- if (!specialProps.includes(key)) {
125
- result = mergeSearchOptions(result, serializeMatchOptions(key, value), "AND");
126
- }
127
- // Dates only go into q
128
- if (dateProps.includes(key)) {
129
- result = mergeSearchOptions(result, serializeDateRange(key, value), "AND");
130
- }
131
- });
132
- // searchUserAccess is also a top-level property
133
- if (filter.hasOwnProperty("searchUserAccess")) {
134
- result.searchUserAccess = filter.searchUserAccess;
135
- }
136
- // add the term
137
- if (filter.term) {
138
- result.q = `${filter.term} ${result.q}`.trim();
139
- }
140
- return result;
141
- }
142
- //# sourceMappingURL=group-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-utils.js","sourceRoot":"","sources":["../../../src/search/group-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ICatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICatalog.js","sourceRoot":"","sources":["../../../../src/search/types/ICatalog.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ICollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICollection.js","sourceRoot":"","sources":["../../../../src/search/types/ICollection.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=IHubApiSearchRequest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IHubApiSearchRequest.js","sourceRoot":"","sources":["../../../../src/search/types/IHubApiSearchRequest.ts"],"names":[],"mappings":""}