@esri/hub-common 9.10.1 → 9.13.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 (1237) hide show
  1. package/dist/es2017/ArcGISContext.js +280 -0
  2. package/dist/es2017/ArcGISContext.js.map +1 -0
  3. package/dist/es2017/OperationError.js +34 -0
  4. package/dist/es2017/OperationError.js.map +1 -0
  5. package/dist/es2017/OperationStack.js +260 -0
  6. package/dist/es2017/OperationStack.js.map +1 -0
  7. package/dist/es2017/access/can-edit-event.js +19 -0
  8. package/dist/es2017/access/can-edit-event.js.map +1 -0
  9. package/dist/es2017/access/can-edit-item.js +34 -0
  10. package/dist/es2017/access/can-edit-item.js.map +1 -0
  11. package/dist/es2017/access/can-edit-site-content.js +38 -0
  12. package/dist/es2017/access/can-edit-site-content.js.map +1 -0
  13. package/dist/es2017/access/can-edit-site.js +20 -0
  14. package/dist/es2017/access/can-edit-site.js.map +1 -0
  15. package/dist/es2017/access/has-base-priv.js +11 -0
  16. package/dist/es2017/access/has-base-priv.js.map +1 -0
  17. package/dist/es2017/access/index.js +6 -0
  18. package/dist/es2017/access/index.js.map +1 -0
  19. package/dist/es2017/api.js +22 -0
  20. package/dist/es2017/api.js.map +1 -0
  21. package/dist/es2017/auth.js +34 -0
  22. package/dist/es2017/auth.js.map +1 -0
  23. package/dist/es2017/categories.js +75 -0
  24. package/dist/es2017/categories.js.map +1 -0
  25. package/dist/es2017/collections.js +130 -0
  26. package/dist/es2017/collections.js.map +1 -0
  27. package/dist/es2017/content/_internal.js +64 -0
  28. package/dist/es2017/content/_internal.js.map +1 -0
  29. package/dist/es2017/content/index.js +859 -0
  30. package/dist/es2017/content/index.js.map +1 -0
  31. package/dist/es2017/downloads/build-existing-exports-portal-query.js +187 -0
  32. package/dist/es2017/downloads/build-existing-exports-portal-query.js.map +1 -0
  33. package/dist/es2017/downloads/index.js +2 -0
  34. package/dist/es2017/downloads/index.js.map +1 -0
  35. package/dist/es2017/extent.js +141 -0
  36. package/dist/es2017/extent.js.map +1 -0
  37. package/dist/es2017/groups/_unprotect-and-remove-group.js +18 -0
  38. package/dist/es2017/groups/_unprotect-and-remove-group.js.map +1 -0
  39. package/dist/es2017/groups/add-users-workflow/add-users-to-group.js +63 -0
  40. package/dist/es2017/groups/add-users-workflow/add-users-to-group.js.map +1 -0
  41. package/dist/es2017/groups/add-users-workflow/index.js +6 -0
  42. package/dist/es2017/groups/add-users-workflow/index.js.map +1 -0
  43. package/dist/es2017/groups/add-users-workflow/interfaces.js +1 -0
  44. package/dist/es2017/groups/add-users-workflow/interfaces.js.map +1 -0
  45. package/dist/es2017/groups/add-users-workflow/output-processors/_consolidate-results.js +29 -0
  46. package/dist/es2017/groups/add-users-workflow/output-processors/_consolidate-results.js.map +1 -0
  47. package/dist/es2017/groups/add-users-workflow/output-processors/_format-auto-add-response.js +30 -0
  48. package/dist/es2017/groups/add-users-workflow/output-processors/_format-auto-add-response.js.map +1 -0
  49. package/dist/es2017/groups/add-users-workflow/output-processors/_process-auto-add.js +10 -0
  50. package/dist/es2017/groups/add-users-workflow/output-processors/_process-auto-add.js.map +1 -0
  51. package/dist/es2017/groups/add-users-workflow/output-processors/_process-invite.js +12 -0
  52. package/dist/es2017/groups/add-users-workflow/output-processors/_process-invite.js.map +1 -0
  53. package/dist/es2017/groups/add-users-workflow/output-processors/_process-primary-email.js +21 -0
  54. package/dist/es2017/groups/add-users-workflow/output-processors/_process-primary-email.js.map +1 -0
  55. package/dist/es2017/groups/add-users-workflow/output-processors/_process-secondary-email.js +30 -0
  56. package/dist/es2017/groups/add-users-workflow/output-processors/_process-secondary-email.js.map +1 -0
  57. package/dist/es2017/groups/add-users-workflow/output-processors/index.js +7 -0
  58. package/dist/es2017/groups/add-users-workflow/output-processors/index.js.map +1 -0
  59. package/dist/es2017/groups/add-users-workflow/utils/_can-email-user.js +9 -0
  60. package/dist/es2017/groups/add-users-workflow/utils/_can-email-user.js.map +1 -0
  61. package/dist/es2017/groups/add-users-workflow/utils/_get-auto-add-users.js +15 -0
  62. package/dist/es2017/groups/add-users-workflow/utils/_get-auto-add-users.js.map +1 -0
  63. package/dist/es2017/groups/add-users-workflow/utils/_get-email-users.js +17 -0
  64. package/dist/es2017/groups/add-users-workflow/utils/_get-email-users.js.map +1 -0
  65. package/dist/es2017/groups/add-users-workflow/utils/_get-invite-users.js +11 -0
  66. package/dist/es2017/groups/add-users-workflow/utils/_get-invite-users.js.map +1 -0
  67. package/dist/es2017/groups/add-users-workflow/utils/_is-org-admin.js +7 -0
  68. package/dist/es2017/groups/add-users-workflow/utils/_is-org-admin.js.map +1 -0
  69. package/dist/es2017/groups/add-users-workflow/utils/index.js +6 -0
  70. package/dist/es2017/groups/add-users-workflow/utils/index.js.map +1 -0
  71. package/dist/es2017/groups/add-users-workflow/workflow-sections/auto-add-users.js +24 -0
  72. package/dist/es2017/groups/add-users-workflow/workflow-sections/auto-add-users.js.map +1 -0
  73. package/dist/es2017/groups/add-users-workflow/workflow-sections/email-org-users.js +29 -0
  74. package/dist/es2017/groups/add-users-workflow/workflow-sections/email-org-users.js.map +1 -0
  75. package/dist/es2017/groups/add-users-workflow/workflow-sections/index.js +4 -0
  76. package/dist/es2017/groups/add-users-workflow/workflow-sections/index.js.map +1 -0
  77. package/dist/es2017/groups/add-users-workflow/workflow-sections/invite-users.js +30 -0
  78. package/dist/es2017/groups/add-users-workflow/workflow-sections/invite-users.js.map +1 -0
  79. package/dist/es2017/groups/index.js +3 -0
  80. package/dist/es2017/groups/index.js.map +1 -0
  81. package/dist/es2017/i18n/convert-to-well-known-locale.js +25 -0
  82. package/dist/es2017/i18n/convert-to-well-known-locale.js.map +1 -0
  83. package/dist/es2017/i18n/fetch-hub-translation.js +23 -0
  84. package/dist/es2017/i18n/fetch-hub-translation.js.map +1 -0
  85. package/dist/es2017/i18n/get-culture.js +12 -0
  86. package/dist/es2017/i18n/get-culture.js.map +1 -0
  87. package/dist/es2017/i18n/hub-locales.js +46 -0
  88. package/dist/es2017/i18n/hub-locales.js.map +1 -0
  89. package/dist/es2017/i18n/index.js +5 -0
  90. package/dist/es2017/i18n/index.js.map +1 -0
  91. package/dist/es2017/index.js +29 -0
  92. package/dist/es2017/index.js.map +1 -0
  93. package/dist/es2017/items/_unprotect-and-remove-item.js +18 -0
  94. package/dist/es2017/items/_unprotect-and-remove-item.js.map +1 -0
  95. package/dist/es2017/items/apply-properties-to-items.js +16 -0
  96. package/dist/es2017/items/apply-properties-to-items.js.map +1 -0
  97. package/dist/es2017/items/delete-prop.js +20 -0
  98. package/dist/es2017/items/delete-prop.js.map +1 -0
  99. package/dist/es2017/items/does-item-exist-with-title.js +22 -0
  100. package/dist/es2017/items/does-item-exist-with-title.js.map +1 -0
  101. package/dist/es2017/items/fail-safe-update.js +19 -0
  102. package/dist/es2017/items/fail-safe-update.js.map +1 -0
  103. package/dist/es2017/items/fetch-all-pages.js +52 -0
  104. package/dist/es2017/items/fetch-all-pages.js.map +1 -0
  105. package/dist/es2017/items/get-model-from-options.js +31 -0
  106. package/dist/es2017/items/get-model-from-options.js.map +1 -0
  107. package/dist/es2017/items/get-model.js +19 -0
  108. package/dist/es2017/items/get-model.js.map +1 -0
  109. package/dist/es2017/items/get-structured-license.js +295 -0
  110. package/dist/es2017/items/get-structured-license.js.map +1 -0
  111. package/dist/es2017/items/get-unique-item-title.js +31 -0
  112. package/dist/es2017/items/get-unique-item-title.js.map +1 -0
  113. package/dist/es2017/items/index.js +19 -0
  114. package/dist/es2017/items/index.js.map +1 -0
  115. package/dist/es2017/items/interpolate-item-id.js +16 -0
  116. package/dist/es2017/items/interpolate-item-id.js.map +1 -0
  117. package/dist/es2017/items/interpolate.js +11 -0
  118. package/dist/es2017/items/interpolate.js.map +1 -0
  119. package/dist/es2017/items/normalize-solution-template-item.js +44 -0
  120. package/dist/es2017/items/normalize-solution-template-item.js.map +1 -0
  121. package/dist/es2017/items/replace-item-id.js +13 -0
  122. package/dist/es2017/items/replace-item-id.js.map +1 -0
  123. package/dist/es2017/items/serialize-model.js +12 -0
  124. package/dist/es2017/items/serialize-model.js.map +1 -0
  125. package/dist/es2017/items/share-item-to-groups.js +18 -0
  126. package/dist/es2017/items/share-item-to-groups.js.map +1 -0
  127. package/dist/es2017/items/unprotect-model.js +18 -0
  128. package/dist/es2017/items/unprotect-model.js.map +1 -0
  129. package/dist/es2017/items/unshare-item-from-groups.js +18 -0
  130. package/dist/es2017/items/unshare-item-from-groups.js.map +1 -0
  131. package/dist/es2017/objects/_deep-map-values.js +71 -0
  132. package/dist/es2017/objects/_deep-map-values.js.map +1 -0
  133. package/dist/es2017/objects/_map-values.js +15 -0
  134. package/dist/es2017/objects/_map-values.js.map +1 -0
  135. package/dist/es2017/objects/deep-set.js +33 -0
  136. package/dist/es2017/objects/deep-set.js.map +1 -0
  137. package/dist/es2017/objects/deep-string-replace.js +23 -0
  138. package/dist/es2017/objects/deep-string-replace.js.map +1 -0
  139. package/dist/es2017/objects/deepFind.js +95 -0
  140. package/dist/es2017/objects/deepFind.js.map +1 -0
  141. package/dist/es2017/objects/ensure-prop.js +11 -0
  142. package/dist/es2017/objects/ensure-prop.js.map +1 -0
  143. package/dist/es2017/objects/get-prop.js +11 -0
  144. package/dist/es2017/objects/get-prop.js.map +1 -0
  145. package/dist/es2017/objects/get-props.js +14 -0
  146. package/dist/es2017/objects/get-props.js.map +1 -0
  147. package/dist/es2017/objects/get-with-default.js +13 -0
  148. package/dist/es2017/objects/get-with-default.js.map +1 -0
  149. package/dist/es2017/objects/index.js +13 -0
  150. package/dist/es2017/objects/index.js.map +1 -0
  151. package/dist/es2017/objects/merge-objects.js +26 -0
  152. package/dist/es2017/objects/merge-objects.js.map +1 -0
  153. package/dist/es2017/objects/remove-empty-props.js +17 -0
  154. package/dist/es2017/objects/remove-empty-props.js.map +1 -0
  155. package/dist/es2017/objects/set-prop.js +15 -0
  156. package/dist/es2017/objects/set-prop.js.map +1 -0
  157. package/dist/es2017/request.js +66 -0
  158. package/dist/es2017/request.js.map +1 -0
  159. package/dist/es2017/resources/_add-token-to-resource-url.js +22 -0
  160. package/dist/es2017/resources/_add-token-to-resource-url.js.map +1 -0
  161. package/dist/es2017/resources/add-solution-resource-url-to-assets.js +31 -0
  162. package/dist/es2017/resources/add-solution-resource-url-to-assets.js.map +1 -0
  163. package/dist/es2017/resources/convert-solution-template-resources-to-assets.js +32 -0
  164. package/dist/es2017/resources/convert-solution-template-resources-to-assets.js.map +1 -0
  165. package/dist/es2017/resources/fetch-and-upload-resource.js +20 -0
  166. package/dist/es2017/resources/fetch-and-upload-resource.js.map +1 -0
  167. package/dist/es2017/resources/fetch-and-upload-thumbnail.js +30 -0
  168. package/dist/es2017/resources/fetch-and-upload-thumbnail.js.map +1 -0
  169. package/dist/es2017/resources/fetch-image-as-blob.js +16 -0
  170. package/dist/es2017/resources/fetch-image-as-blob.js.map +1 -0
  171. package/dist/es2017/resources/get-item-assets.js +36 -0
  172. package/dist/es2017/resources/get-item-assets.js.map +1 -0
  173. package/dist/es2017/resources/get-item-thumbnail-url.js +31 -0
  174. package/dist/es2017/resources/get-item-thumbnail-url.js.map +1 -0
  175. package/dist/es2017/resources/index.js +12 -0
  176. package/dist/es2017/resources/index.js.map +1 -0
  177. package/dist/es2017/resources/object-to-json-blob.js +15 -0
  178. package/dist/es2017/resources/object-to-json-blob.js.map +1 -0
  179. package/dist/es2017/resources/string-to-blob.js +21 -0
  180. package/dist/es2017/resources/string-to-blob.js.map +1 -0
  181. package/dist/es2017/resources/upload-resources-from-url.js +38 -0
  182. package/dist/es2017/resources/upload-resources-from-url.js.map +1 -0
  183. package/dist/es2017/search/_searchContent.js +94 -0
  184. package/dist/es2017/search/_searchContent.js.map +1 -0
  185. package/dist/es2017/search/_searchGroups.js +95 -0
  186. package/dist/es2017/search/_searchGroups.js.map +1 -0
  187. package/dist/es2017/search/_searchUsers.js +83 -0
  188. package/dist/es2017/search/_searchUsers.js.map +1 -0
  189. package/dist/es2017/search/content-utils.js +416 -0
  190. package/dist/es2017/search/content-utils.js.map +1 -0
  191. package/dist/es2017/search/group-utils.js +135 -0
  192. package/dist/es2017/search/group-utils.js.map +1 -0
  193. package/dist/es2017/search/hub-api-search.js +19 -0
  194. package/dist/es2017/search/hub-api-search.js.map +1 -0
  195. package/dist/es2017/search/index.js +10 -0
  196. package/dist/es2017/search/index.js.map +1 -0
  197. package/dist/es2017/search/types.js +1 -0
  198. package/dist/es2017/search/types.js.map +1 -0
  199. package/dist/es2017/search/user-utils.js +132 -0
  200. package/dist/es2017/search/user-utils.js.map +1 -0
  201. package/dist/es2017/search/utils.js +391 -0
  202. package/dist/es2017/search/utils.js.map +1 -0
  203. package/dist/es2017/sites/_apply-site-schema.js +41 -0
  204. package/dist/es2017/sites/_apply-site-schema.js.map +1 -0
  205. package/dist/es2017/sites/_enforce-lowercase-domains.js +29 -0
  206. package/dist/es2017/sites/_enforce-lowercase-domains.js.map +1 -0
  207. package/dist/es2017/sites/_ensure-catalog.js +23 -0
  208. package/dist/es2017/sites/_ensure-catalog.js.map +1 -0
  209. package/dist/es2017/sites/_ensure-telemetry.js +32 -0
  210. package/dist/es2017/sites/_ensure-telemetry.js.map +1 -0
  211. package/dist/es2017/sites/_migrate-feed-config.js +59 -0
  212. package/dist/es2017/sites/_migrate-feed-config.js.map +1 -0
  213. package/dist/es2017/sites/_purge-non-guids-from-catalog.js +16 -0
  214. package/dist/es2017/sites/_purge-non-guids-from-catalog.js.map +1 -0
  215. package/dist/es2017/sites/domains/_check-status-and-parse-json.js +27 -0
  216. package/dist/es2017/sites/domains/_check-status-and-parse-json.js.map +1 -0
  217. package/dist/es2017/sites/domains/_ensure-safe-domain-length.js +24 -0
  218. package/dist/es2017/sites/domains/_ensure-safe-domain-length.js.map +1 -0
  219. package/dist/es2017/sites/domains/_get-auth-header.js +15 -0
  220. package/dist/es2017/sites/domains/_get-auth-header.js.map +1 -0
  221. package/dist/es2017/sites/domains/_get-domain-service-url.js +10 -0
  222. package/dist/es2017/sites/domains/_get-domain-service-url.js.map +1 -0
  223. package/dist/es2017/sites/domains/_lookup-portal.js +37 -0
  224. package/dist/es2017/sites/domains/_lookup-portal.js.map +1 -0
  225. package/dist/es2017/sites/domains/add-domain.js +28 -0
  226. package/dist/es2017/sites/domains/add-domain.js.map +1 -0
  227. package/dist/es2017/sites/domains/domain-exists-portal.js +16 -0
  228. package/dist/es2017/sites/domains/domain-exists-portal.js.map +1 -0
  229. package/dist/es2017/sites/domains/domain-exists.js +22 -0
  230. package/dist/es2017/sites/domains/domain-exists.js.map +1 -0
  231. package/dist/es2017/sites/domains/ensure-unique-domain-name.js +25 -0
  232. package/dist/es2017/sites/domains/ensure-unique-domain-name.js.map +1 -0
  233. package/dist/es2017/sites/domains/get-domains-for-site.js +21 -0
  234. package/dist/es2017/sites/domains/get-domains-for-site.js.map +1 -0
  235. package/dist/es2017/sites/domains/get-unique-domain-name-portal.js +25 -0
  236. package/dist/es2017/sites/domains/get-unique-domain-name-portal.js.map +1 -0
  237. package/dist/es2017/sites/domains/get-unique-domain-name.js +27 -0
  238. package/dist/es2017/sites/domains/get-unique-domain-name.js.map +1 -0
  239. package/dist/es2017/sites/domains/index.js +19 -0
  240. package/dist/es2017/sites/domains/index.js.map +1 -0
  241. package/dist/es2017/sites/domains/is-domain-for-legacy-site.js +12 -0
  242. package/dist/es2017/sites/domains/is-domain-for-legacy-site.js.map +1 -0
  243. package/dist/es2017/sites/domains/is-domain-used-elsewhere.js +20 -0
  244. package/dist/es2017/sites/domains/is-domain-used-elsewhere.js.map +1 -0
  245. package/dist/es2017/sites/domains/is-valid-domain.js +30 -0
  246. package/dist/es2017/sites/domains/is-valid-domain.js.map +1 -0
  247. package/dist/es2017/sites/domains/lookup-domain.js +21 -0
  248. package/dist/es2017/sites/domains/lookup-domain.js.map +1 -0
  249. package/dist/es2017/sites/domains/remove-domain.js +19 -0
  250. package/dist/es2017/sites/domains/remove-domain.js.map +1 -0
  251. package/dist/es2017/sites/domains/update-domain.js +28 -0
  252. package/dist/es2017/sites/domains/update-domain.js.map +1 -0
  253. package/dist/es2017/sites/drafts/build-draft.js +10 -0
  254. package/dist/es2017/sites/drafts/build-draft.js.map +1 -0
  255. package/dist/es2017/sites/drafts/index.js +2 -0
  256. package/dist/es2017/sites/drafts/index.js.map +1 -0
  257. package/dist/es2017/sites/get-site-by-id.js +11 -0
  258. package/dist/es2017/sites/get-site-by-id.js.map +1 -0
  259. package/dist/es2017/sites/index.js +31 -0
  260. package/dist/es2017/sites/index.js.map +1 -0
  261. package/dist/es2017/sites/site-schema-version.js +2 -0
  262. package/dist/es2017/sites/site-schema-version.js.map +1 -0
  263. package/dist/es2017/sites/upgrade-site-schema.js +31 -0
  264. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -0
  265. package/dist/es2017/surveys/get-input-feature-service-model.js +21 -0
  266. package/dist/es2017/surveys/get-input-feature-service-model.js.map +1 -0
  267. package/dist/es2017/surveys/get-source-feature-service-model-from-fieldworker.js +20 -0
  268. package/dist/es2017/surveys/get-source-feature-service-model-from-fieldworker.js.map +1 -0
  269. package/dist/es2017/surveys/get-stakeholder-model.js +20 -0
  270. package/dist/es2017/surveys/get-stakeholder-model.js.map +1 -0
  271. package/dist/es2017/surveys/get-survey-models.js +51 -0
  272. package/dist/es2017/surveys/get-survey-models.js.map +1 -0
  273. package/dist/es2017/surveys/index.js +6 -0
  274. package/dist/es2017/surveys/index.js.map +1 -0
  275. package/dist/es2017/surveys/is-fieldworker-view.js +23 -0
  276. package/dist/es2017/surveys/is-fieldworker-view.js.map +1 -0
  277. package/dist/es2017/types.js +3 -0
  278. package/dist/es2017/types.js.map +1 -0
  279. package/dist/es2017/urls/_get-http-and-https-uris.js +14 -0
  280. package/dist/es2017/urls/_get-http-and-https-uris.js.map +1 -0
  281. package/dist/es2017/urls/_get-hub-url-from-portal-hostname.js +22 -0
  282. package/dist/es2017/urls/_get-hub-url-from-portal-hostname.js.map +1 -0
  283. package/dist/es2017/urls/_get-location.js +12 -0
  284. package/dist/es2017/urls/_get-location.js.map +1 -0
  285. package/dist/es2017/urls/build-url.js +22 -0
  286. package/dist/es2017/urls/build-url.js.map +1 -0
  287. package/dist/es2017/urls/convert-urls-to-anchor-tags.js +14 -0
  288. package/dist/es2017/urls/convert-urls-to-anchor-tags.js.map +1 -0
  289. package/dist/es2017/urls/get-hub-api-url-from-portal.js +9 -0
  290. package/dist/es2017/urls/get-hub-api-url-from-portal.js.map +1 -0
  291. package/dist/es2017/urls/get-hub-locale-asset-url.js +23 -0
  292. package/dist/es2017/urls/get-hub-locale-asset-url.js.map +1 -0
  293. package/dist/es2017/urls/get-hub-url-from-portal.js +14 -0
  294. package/dist/es2017/urls/get-hub-url-from-portal.js.map +1 -0
  295. package/dist/es2017/urls/get-item-api-url.js +19 -0
  296. package/dist/es2017/urls/get-item-api-url.js.map +1 -0
  297. package/dist/es2017/urls/get-item-data-url.js +16 -0
  298. package/dist/es2017/urls/get-item-data-url.js.map +1 -0
  299. package/dist/es2017/urls/get-item-home-url.js +12 -0
  300. package/dist/es2017/urls/get-item-home-url.js.map +1 -0
  301. package/dist/es2017/urls/get-portal-api-url.js +27 -0
  302. package/dist/es2017/urls/get-portal-api-url.js.map +1 -0
  303. package/dist/es2017/urls/get-portal-url.js +50 -0
  304. package/dist/es2017/urls/get-portal-url.js.map +1 -0
  305. package/dist/es2017/urls/hub-cdn-urlmap.js +9 -0
  306. package/dist/es2017/urls/hub-cdn-urlmap.js.map +1 -0
  307. package/dist/es2017/urls/index.js +37 -0
  308. package/dist/es2017/urls/index.js.map +1 -0
  309. package/dist/es2017/urls/strip-protocol.js +12 -0
  310. package/dist/es2017/urls/strip-protocol.js.map +1 -0
  311. package/dist/es2017/urls/upgrade-protocol.js +14 -0
  312. package/dist/es2017/urls/upgrade-protocol.js.map +1 -0
  313. package/dist/es2017/util.js +394 -0
  314. package/dist/es2017/util.js.map +1 -0
  315. package/dist/es2017/utils/batch.js +32 -0
  316. package/dist/es2017/utils/batch.js.map +1 -0
  317. package/dist/es2017/utils/create-operation-pipeline.js +35 -0
  318. package/dist/es2017/utils/create-operation-pipeline.js.map +1 -0
  319. package/dist/es2017/utils/ensure-unique-string.js +22 -0
  320. package/dist/es2017/utils/ensure-unique-string.js.map +1 -0
  321. package/dist/es2017/utils/fail-safe.js +13 -0
  322. package/dist/es2017/utils/fail-safe.js.map +1 -0
  323. package/dist/es2017/utils/generate-random-string.js +19 -0
  324. package/dist/es2017/utils/generate-random-string.js.map +1 -0
  325. package/dist/es2017/utils/get-hub-product.js +15 -0
  326. package/dist/es2017/utils/get-hub-product.js.map +1 -0
  327. package/dist/es2017/utils/get-subscription-type.js +5 -0
  328. package/dist/es2017/utils/get-subscription-type.js.map +1 -0
  329. package/dist/es2017/utils/includes.js +9 -0
  330. package/dist/es2017/utils/includes.js.map +1 -0
  331. package/dist/es2017/utils/increment-string.js +20 -0
  332. package/dist/es2017/utils/increment-string.js.map +1 -0
  333. package/dist/es2017/utils/index.js +19 -0
  334. package/dist/es2017/utils/index.js.map +1 -0
  335. package/dist/es2017/utils/is-guid.js +15 -0
  336. package/dist/es2017/utils/is-guid.js.map +1 -0
  337. package/dist/es2017/utils/is-update-group.js +10 -0
  338. package/dist/es2017/utils/is-update-group.js.map +1 -0
  339. package/dist/es2017/utils/logger.js +102 -0
  340. package/dist/es2017/utils/logger.js.map +1 -0
  341. package/dist/es2017/utils/map-by.js +9 -0
  342. package/dist/es2017/utils/map-by.js.map +1 -0
  343. package/dist/es2017/utils/propify-string.js +17 -0
  344. package/dist/es2017/utils/propify-string.js.map +1 -0
  345. package/dist/es2017/utils/revertable-tasks.js +47 -0
  346. package/dist/es2017/utils/revertable-tasks.js.map +1 -0
  347. package/dist/es2017/utils/sessionLocalStorage.js +47 -0
  348. package/dist/es2017/utils/sessionLocalStorage.js.map +1 -0
  349. package/dist/es2017/utils/slugify.js +23 -0
  350. package/dist/es2017/utils/slugify.js.map +1 -0
  351. package/dist/es2017/utils/without-by-prop.js +14 -0
  352. package/dist/es2017/utils/without-by-prop.js.map +1 -0
  353. package/dist/esm/ArcGISContext.js +395 -0
  354. package/dist/esm/ArcGISContext.js.map +1 -0
  355. package/dist/esm/OperationError.js +40 -0
  356. package/dist/esm/OperationError.js.map +1 -0
  357. package/dist/esm/OperationStack.js +263 -0
  358. package/dist/esm/OperationStack.js.map +1 -0
  359. package/dist/esm/access/can-edit-event.js +19 -0
  360. package/dist/esm/access/can-edit-event.js.map +1 -0
  361. package/dist/esm/access/can-edit-item.js +36 -0
  362. package/dist/esm/access/can-edit-item.js.map +1 -0
  363. package/dist/esm/access/can-edit-site-content.js +38 -0
  364. package/dist/esm/access/can-edit-site-content.js.map +1 -0
  365. package/dist/esm/access/can-edit-site.js +20 -0
  366. package/dist/esm/access/can-edit-site.js.map +1 -0
  367. package/dist/esm/access/has-base-priv.js +11 -0
  368. package/dist/esm/access/has-base-priv.js.map +1 -0
  369. package/dist/esm/access/index.js +6 -0
  370. package/dist/esm/access/index.js.map +1 -0
  371. package/dist/esm/api.js +22 -0
  372. package/dist/esm/api.js.map +1 -0
  373. package/dist/esm/auth.js +35 -0
  374. package/dist/esm/auth.js.map +1 -0
  375. package/dist/esm/categories.js +77 -0
  376. package/dist/esm/categories.js.map +1 -0
  377. package/dist/esm/collections.js +130 -0
  378. package/dist/esm/collections.js.map +1 -0
  379. package/dist/esm/content/_internal.js +65 -0
  380. package/dist/esm/content/_internal.js.map +1 -0
  381. package/dist/esm/content/index.js +869 -0
  382. package/dist/esm/content/index.js.map +1 -0
  383. package/dist/esm/downloads/build-existing-exports-portal-query.js +187 -0
  384. package/dist/esm/downloads/build-existing-exports-portal-query.js.map +1 -0
  385. package/dist/esm/downloads/index.js +2 -0
  386. package/dist/esm/downloads/index.js.map +1 -0
  387. package/dist/esm/extent.js +144 -0
  388. package/dist/esm/extent.js.map +1 -0
  389. package/dist/esm/groups/_unprotect-and-remove-group.js +18 -0
  390. package/dist/esm/groups/_unprotect-and-remove-group.js.map +1 -0
  391. package/dist/esm/groups/add-users-workflow/add-users-to-group.js +63 -0
  392. package/dist/esm/groups/add-users-workflow/add-users-to-group.js.map +1 -0
  393. package/dist/esm/groups/add-users-workflow/index.js +6 -0
  394. package/dist/esm/groups/add-users-workflow/index.js.map +1 -0
  395. package/dist/esm/groups/add-users-workflow/interfaces.js +1 -0
  396. package/dist/esm/groups/add-users-workflow/interfaces.js.map +1 -0
  397. package/dist/esm/groups/add-users-workflow/output-processors/_consolidate-results.js +29 -0
  398. package/dist/esm/groups/add-users-workflow/output-processors/_consolidate-results.js.map +1 -0
  399. package/dist/esm/groups/add-users-workflow/output-processors/_format-auto-add-response.js +32 -0
  400. package/dist/esm/groups/add-users-workflow/output-processors/_format-auto-add-response.js.map +1 -0
  401. package/dist/esm/groups/add-users-workflow/output-processors/_process-auto-add.js +10 -0
  402. package/dist/esm/groups/add-users-workflow/output-processors/_process-auto-add.js.map +1 -0
  403. package/dist/esm/groups/add-users-workflow/output-processors/_process-invite.js +12 -0
  404. package/dist/esm/groups/add-users-workflow/output-processors/_process-invite.js.map +1 -0
  405. package/dist/esm/groups/add-users-workflow/output-processors/_process-primary-email.js +21 -0
  406. package/dist/esm/groups/add-users-workflow/output-processors/_process-primary-email.js.map +1 -0
  407. package/dist/esm/groups/add-users-workflow/output-processors/_process-secondary-email.js +32 -0
  408. package/dist/esm/groups/add-users-workflow/output-processors/_process-secondary-email.js.map +1 -0
  409. package/dist/esm/groups/add-users-workflow/output-processors/index.js +7 -0
  410. package/dist/esm/groups/add-users-workflow/output-processors/index.js.map +1 -0
  411. package/dist/esm/groups/add-users-workflow/utils/_can-email-user.js +9 -0
  412. package/dist/esm/groups/add-users-workflow/utils/_can-email-user.js.map +1 -0
  413. package/dist/esm/groups/add-users-workflow/utils/_get-auto-add-users.js +15 -0
  414. package/dist/esm/groups/add-users-workflow/utils/_get-auto-add-users.js.map +1 -0
  415. package/dist/esm/groups/add-users-workflow/utils/_get-email-users.js +20 -0
  416. package/dist/esm/groups/add-users-workflow/utils/_get-email-users.js.map +1 -0
  417. package/dist/esm/groups/add-users-workflow/utils/_get-invite-users.js +11 -0
  418. package/dist/esm/groups/add-users-workflow/utils/_get-invite-users.js.map +1 -0
  419. package/dist/esm/groups/add-users-workflow/utils/_is-org-admin.js +7 -0
  420. package/dist/esm/groups/add-users-workflow/utils/_is-org-admin.js.map +1 -0
  421. package/dist/esm/groups/add-users-workflow/utils/index.js +6 -0
  422. package/dist/esm/groups/add-users-workflow/utils/index.js.map +1 -0
  423. package/dist/esm/groups/add-users-workflow/workflow-sections/auto-add-users.js +24 -0
  424. package/dist/esm/groups/add-users-workflow/workflow-sections/auto-add-users.js.map +1 -0
  425. package/dist/esm/groups/add-users-workflow/workflow-sections/email-org-users.js +29 -0
  426. package/dist/esm/groups/add-users-workflow/workflow-sections/email-org-users.js.map +1 -0
  427. package/dist/esm/groups/add-users-workflow/workflow-sections/index.js +4 -0
  428. package/dist/esm/groups/add-users-workflow/workflow-sections/index.js.map +1 -0
  429. package/dist/esm/groups/add-users-workflow/workflow-sections/invite-users.js +32 -0
  430. package/dist/esm/groups/add-users-workflow/workflow-sections/invite-users.js.map +1 -0
  431. package/dist/esm/groups/index.js +3 -0
  432. package/dist/esm/groups/index.js.map +1 -0
  433. package/dist/esm/i18n/convert-to-well-known-locale.js +26 -0
  434. package/dist/esm/i18n/convert-to-well-known-locale.js.map +1 -0
  435. package/dist/esm/i18n/fetch-hub-translation.js +24 -0
  436. package/dist/esm/i18n/fetch-hub-translation.js.map +1 -0
  437. package/dist/esm/i18n/get-culture.js +12 -0
  438. package/dist/esm/i18n/get-culture.js.map +1 -0
  439. package/dist/esm/i18n/hub-locales.js +46 -0
  440. package/dist/esm/i18n/hub-locales.js.map +1 -0
  441. package/dist/esm/i18n/index.js +5 -0
  442. package/dist/esm/i18n/index.js.map +1 -0
  443. package/dist/esm/index.js +29 -0
  444. package/dist/esm/index.js.map +1 -0
  445. package/dist/esm/items/_unprotect-and-remove-item.js +18 -0
  446. package/dist/esm/items/_unprotect-and-remove-item.js.map +1 -0
  447. package/dist/esm/items/apply-properties-to-items.js +16 -0
  448. package/dist/esm/items/apply-properties-to-items.js.map +1 -0
  449. package/dist/esm/items/delete-prop.js +20 -0
  450. package/dist/esm/items/delete-prop.js.map +1 -0
  451. package/dist/esm/items/does-item-exist-with-title.js +22 -0
  452. package/dist/esm/items/does-item-exist-with-title.js.map +1 -0
  453. package/dist/esm/items/fail-safe-update.js +19 -0
  454. package/dist/esm/items/fail-safe-update.js.map +1 -0
  455. package/dist/esm/items/fetch-all-pages.js +52 -0
  456. package/dist/esm/items/fetch-all-pages.js.map +1 -0
  457. package/dist/esm/items/get-model-from-options.js +31 -0
  458. package/dist/esm/items/get-model-from-options.js.map +1 -0
  459. package/dist/esm/items/get-model.js +19 -0
  460. package/dist/esm/items/get-model.js.map +1 -0
  461. package/dist/esm/items/get-structured-license.js +295 -0
  462. package/dist/esm/items/get-structured-license.js.map +1 -0
  463. package/dist/esm/items/get-unique-item-title.js +32 -0
  464. package/dist/esm/items/get-unique-item-title.js.map +1 -0
  465. package/dist/esm/items/index.js +19 -0
  466. package/dist/esm/items/index.js.map +1 -0
  467. package/dist/esm/items/interpolate-item-id.js +16 -0
  468. package/dist/esm/items/interpolate-item-id.js.map +1 -0
  469. package/dist/esm/items/interpolate.js +11 -0
  470. package/dist/esm/items/interpolate.js.map +1 -0
  471. package/dist/esm/items/normalize-solution-template-item.js +44 -0
  472. package/dist/esm/items/normalize-solution-template-item.js.map +1 -0
  473. package/dist/esm/items/replace-item-id.js +14 -0
  474. package/dist/esm/items/replace-item-id.js.map +1 -0
  475. package/dist/esm/items/serialize-model.js +12 -0
  476. package/dist/esm/items/serialize-model.js.map +1 -0
  477. package/dist/esm/items/share-item-to-groups.js +18 -0
  478. package/dist/esm/items/share-item-to-groups.js.map +1 -0
  479. package/dist/esm/items/unprotect-model.js +18 -0
  480. package/dist/esm/items/unprotect-model.js.map +1 -0
  481. package/dist/esm/items/unshare-item-from-groups.js +18 -0
  482. package/dist/esm/items/unshare-item-from-groups.js.map +1 -0
  483. package/dist/esm/objects/_deep-map-values.js +71 -0
  484. package/dist/esm/objects/_deep-map-values.js.map +1 -0
  485. package/dist/esm/objects/_map-values.js +15 -0
  486. package/dist/esm/objects/_map-values.js.map +1 -0
  487. package/dist/esm/objects/deep-set.js +34 -0
  488. package/dist/esm/objects/deep-set.js.map +1 -0
  489. package/dist/esm/objects/deep-string-replace.js +23 -0
  490. package/dist/esm/objects/deep-string-replace.js.map +1 -0
  491. package/dist/esm/objects/deepFind.js +95 -0
  492. package/dist/esm/objects/deepFind.js.map +1 -0
  493. package/dist/esm/objects/ensure-prop.js +11 -0
  494. package/dist/esm/objects/ensure-prop.js.map +1 -0
  495. package/dist/esm/objects/get-prop.js +11 -0
  496. package/dist/esm/objects/get-prop.js.map +1 -0
  497. package/dist/esm/objects/get-props.js +14 -0
  498. package/dist/esm/objects/get-props.js.map +1 -0
  499. package/dist/esm/objects/get-with-default.js +13 -0
  500. package/dist/esm/objects/get-with-default.js.map +1 -0
  501. package/dist/esm/objects/index.js +13 -0
  502. package/dist/esm/objects/index.js.map +1 -0
  503. package/dist/esm/objects/merge-objects.js +26 -0
  504. package/dist/esm/objects/merge-objects.js.map +1 -0
  505. package/dist/esm/objects/remove-empty-props.js +17 -0
  506. package/dist/esm/objects/remove-empty-props.js.map +1 -0
  507. package/dist/esm/objects/set-prop.js +15 -0
  508. package/dist/esm/objects/set-prop.js.map +1 -0
  509. package/dist/esm/request.js +71 -0
  510. package/dist/esm/request.js.map +1 -0
  511. package/dist/esm/resources/_add-token-to-resource-url.js +22 -0
  512. package/dist/esm/resources/_add-token-to-resource-url.js.map +1 -0
  513. package/dist/esm/resources/add-solution-resource-url-to-assets.js +31 -0
  514. package/dist/esm/resources/add-solution-resource-url-to-assets.js.map +1 -0
  515. package/dist/esm/resources/convert-solution-template-resources-to-assets.js +32 -0
  516. package/dist/esm/resources/convert-solution-template-resources-to-assets.js.map +1 -0
  517. package/dist/esm/resources/fetch-and-upload-resource.js +20 -0
  518. package/dist/esm/resources/fetch-and-upload-resource.js.map +1 -0
  519. package/dist/esm/resources/fetch-and-upload-thumbnail.js +30 -0
  520. package/dist/esm/resources/fetch-and-upload-thumbnail.js.map +1 -0
  521. package/dist/esm/resources/fetch-image-as-blob.js +17 -0
  522. package/dist/esm/resources/fetch-image-as-blob.js.map +1 -0
  523. package/dist/esm/resources/get-item-assets.js +36 -0
  524. package/dist/esm/resources/get-item-assets.js.map +1 -0
  525. package/dist/esm/resources/get-item-thumbnail-url.js +31 -0
  526. package/dist/esm/resources/get-item-thumbnail-url.js.map +1 -0
  527. package/dist/esm/resources/index.js +12 -0
  528. package/dist/esm/resources/index.js.map +1 -0
  529. package/dist/esm/resources/object-to-json-blob.js +15 -0
  530. package/dist/esm/resources/object-to-json-blob.js.map +1 -0
  531. package/dist/esm/resources/string-to-blob.js +22 -0
  532. package/dist/esm/resources/string-to-blob.js.map +1 -0
  533. package/dist/esm/resources/upload-resources-from-url.js +38 -0
  534. package/dist/esm/resources/upload-resources-from-url.js.map +1 -0
  535. package/dist/esm/search/_searchContent.js +98 -0
  536. package/dist/esm/search/_searchContent.js.map +1 -0
  537. package/dist/esm/search/_searchGroups.js +100 -0
  538. package/dist/esm/search/_searchGroups.js.map +1 -0
  539. package/dist/esm/search/_searchUsers.js +88 -0
  540. package/dist/esm/search/_searchUsers.js.map +1 -0
  541. package/dist/esm/search/content-utils.js +420 -0
  542. package/dist/esm/search/content-utils.js.map +1 -0
  543. package/dist/esm/search/group-utils.js +139 -0
  544. package/dist/esm/search/group-utils.js.map +1 -0
  545. package/dist/esm/search/hub-api-search.js +20 -0
  546. package/dist/esm/search/hub-api-search.js.map +1 -0
  547. package/dist/esm/search/index.js +10 -0
  548. package/dist/esm/search/index.js.map +1 -0
  549. package/dist/esm/search/types.js +1 -0
  550. package/dist/esm/search/types.js.map +1 -0
  551. package/dist/esm/search/user-utils.js +136 -0
  552. package/dist/esm/search/user-utils.js.map +1 -0
  553. package/dist/esm/search/utils.js +388 -0
  554. package/dist/esm/search/utils.js.map +1 -0
  555. package/dist/esm/sites/_apply-site-schema.js +41 -0
  556. package/dist/esm/sites/_apply-site-schema.js.map +1 -0
  557. package/dist/esm/sites/_enforce-lowercase-domains.js +29 -0
  558. package/dist/esm/sites/_enforce-lowercase-domains.js.map +1 -0
  559. package/dist/esm/sites/_ensure-catalog.js +23 -0
  560. package/dist/esm/sites/_ensure-catalog.js.map +1 -0
  561. package/dist/esm/sites/_ensure-telemetry.js +32 -0
  562. package/dist/esm/sites/_ensure-telemetry.js.map +1 -0
  563. package/dist/esm/sites/_migrate-feed-config.js +59 -0
  564. package/dist/esm/sites/_migrate-feed-config.js.map +1 -0
  565. package/dist/esm/sites/_purge-non-guids-from-catalog.js +16 -0
  566. package/dist/esm/sites/_purge-non-guids-from-catalog.js.map +1 -0
  567. package/dist/esm/sites/domains/_check-status-and-parse-json.js +33 -0
  568. package/dist/esm/sites/domains/_check-status-and-parse-json.js.map +1 -0
  569. package/dist/esm/sites/domains/_ensure-safe-domain-length.js +24 -0
  570. package/dist/esm/sites/domains/_ensure-safe-domain-length.js.map +1 -0
  571. package/dist/esm/sites/domains/_get-auth-header.js +15 -0
  572. package/dist/esm/sites/domains/_get-auth-header.js.map +1 -0
  573. package/dist/esm/sites/domains/_get-domain-service-url.js +10 -0
  574. package/dist/esm/sites/domains/_get-domain-service-url.js.map +1 -0
  575. package/dist/esm/sites/domains/_lookup-portal.js +37 -0
  576. package/dist/esm/sites/domains/_lookup-portal.js.map +1 -0
  577. package/dist/esm/sites/domains/add-domain.js +28 -0
  578. package/dist/esm/sites/domains/add-domain.js.map +1 -0
  579. package/dist/esm/sites/domains/domain-exists-portal.js +16 -0
  580. package/dist/esm/sites/domains/domain-exists-portal.js.map +1 -0
  581. package/dist/esm/sites/domains/domain-exists.js +22 -0
  582. package/dist/esm/sites/domains/domain-exists.js.map +1 -0
  583. package/dist/esm/sites/domains/ensure-unique-domain-name.js +25 -0
  584. package/dist/esm/sites/domains/ensure-unique-domain-name.js.map +1 -0
  585. package/dist/esm/sites/domains/get-domains-for-site.js +21 -0
  586. package/dist/esm/sites/domains/get-domains-for-site.js.map +1 -0
  587. package/dist/esm/sites/domains/get-unique-domain-name-portal.js +26 -0
  588. package/dist/esm/sites/domains/get-unique-domain-name-portal.js.map +1 -0
  589. package/dist/esm/sites/domains/get-unique-domain-name.js +28 -0
  590. package/dist/esm/sites/domains/get-unique-domain-name.js.map +1 -0
  591. package/dist/esm/sites/domains/index.js +19 -0
  592. package/dist/esm/sites/domains/index.js.map +1 -0
  593. package/dist/esm/sites/domains/is-domain-for-legacy-site.js +12 -0
  594. package/dist/esm/sites/domains/is-domain-for-legacy-site.js.map +1 -0
  595. package/dist/esm/sites/domains/is-domain-used-elsewhere.js +20 -0
  596. package/dist/esm/sites/domains/is-domain-used-elsewhere.js.map +1 -0
  597. package/dist/esm/sites/domains/is-valid-domain.js +30 -0
  598. package/dist/esm/sites/domains/is-valid-domain.js.map +1 -0
  599. package/dist/esm/sites/domains/lookup-domain.js +21 -0
  600. package/dist/esm/sites/domains/lookup-domain.js.map +1 -0
  601. package/dist/esm/sites/domains/remove-domain.js +19 -0
  602. package/dist/esm/sites/domains/remove-domain.js.map +1 -0
  603. package/dist/esm/sites/domains/update-domain.js +28 -0
  604. package/dist/esm/sites/domains/update-domain.js.map +1 -0
  605. package/dist/esm/sites/drafts/build-draft.js +10 -0
  606. package/dist/esm/sites/drafts/build-draft.js.map +1 -0
  607. package/dist/esm/sites/drafts/index.js +2 -0
  608. package/dist/esm/sites/drafts/index.js.map +1 -0
  609. package/dist/esm/sites/get-site-by-id.js +11 -0
  610. package/dist/esm/sites/get-site-by-id.js.map +1 -0
  611. package/dist/esm/sites/index.js +34 -0
  612. package/dist/esm/sites/index.js.map +1 -0
  613. package/dist/esm/sites/site-schema-version.js +2 -0
  614. package/dist/esm/sites/site-schema-version.js.map +1 -0
  615. package/dist/esm/sites/upgrade-site-schema.js +31 -0
  616. package/dist/esm/sites/upgrade-site-schema.js.map +1 -0
  617. package/dist/esm/surveys/get-input-feature-service-model.js +23 -0
  618. package/dist/esm/surveys/get-input-feature-service-model.js.map +1 -0
  619. package/dist/esm/surveys/get-source-feature-service-model-from-fieldworker.js +22 -0
  620. package/dist/esm/surveys/get-source-feature-service-model-from-fieldworker.js.map +1 -0
  621. package/dist/esm/surveys/get-stakeholder-model.js +22 -0
  622. package/dist/esm/surveys/get-stakeholder-model.js.map +1 -0
  623. package/dist/esm/surveys/get-survey-models.js +54 -0
  624. package/dist/esm/surveys/get-survey-models.js.map +1 -0
  625. package/dist/esm/surveys/index.js +6 -0
  626. package/dist/esm/surveys/index.js.map +1 -0
  627. package/dist/esm/surveys/is-fieldworker-view.js +25 -0
  628. package/dist/esm/surveys/is-fieldworker-view.js.map +1 -0
  629. package/dist/esm/types.js +3 -0
  630. package/dist/esm/types.js.map +1 -0
  631. package/dist/esm/urls/_get-http-and-https-uris.js +14 -0
  632. package/dist/esm/urls/_get-http-and-https-uris.js.map +1 -0
  633. package/dist/esm/urls/_get-hub-url-from-portal-hostname.js +22 -0
  634. package/dist/esm/urls/_get-hub-url-from-portal-hostname.js.map +1 -0
  635. package/dist/esm/urls/_get-location.js +12 -0
  636. package/dist/esm/urls/_get-location.js.map +1 -0
  637. package/dist/esm/urls/build-url.js +23 -0
  638. package/dist/esm/urls/build-url.js.map +1 -0
  639. package/dist/esm/urls/convert-urls-to-anchor-tags.js +14 -0
  640. package/dist/esm/urls/convert-urls-to-anchor-tags.js.map +1 -0
  641. package/dist/esm/urls/get-hub-api-url-from-portal.js +9 -0
  642. package/dist/esm/urls/get-hub-api-url-from-portal.js.map +1 -0
  643. package/dist/esm/urls/get-hub-locale-asset-url.js +23 -0
  644. package/dist/esm/urls/get-hub-locale-asset-url.js.map +1 -0
  645. package/dist/esm/urls/get-hub-url-from-portal.js +14 -0
  646. package/dist/esm/urls/get-hub-url-from-portal.js.map +1 -0
  647. package/dist/esm/urls/get-item-api-url.js +19 -0
  648. package/dist/esm/urls/get-item-api-url.js.map +1 -0
  649. package/dist/esm/urls/get-item-data-url.js +16 -0
  650. package/dist/esm/urls/get-item-data-url.js.map +1 -0
  651. package/dist/esm/urls/get-item-home-url.js +12 -0
  652. package/dist/esm/urls/get-item-home-url.js.map +1 -0
  653. package/dist/esm/urls/get-portal-api-url.js +27 -0
  654. package/dist/esm/urls/get-portal-api-url.js.map +1 -0
  655. package/dist/esm/urls/get-portal-url.js +50 -0
  656. package/dist/esm/urls/get-portal-url.js.map +1 -0
  657. package/dist/esm/urls/hub-cdn-urlmap.js +9 -0
  658. package/dist/esm/urls/hub-cdn-urlmap.js.map +1 -0
  659. package/dist/esm/urls/index.js +37 -0
  660. package/dist/esm/urls/index.js.map +1 -0
  661. package/dist/esm/urls/strip-protocol.js +12 -0
  662. package/dist/esm/urls/strip-protocol.js.map +1 -0
  663. package/dist/esm/urls/upgrade-protocol.js +14 -0
  664. package/dist/esm/urls/upgrade-protocol.js.map +1 -0
  665. package/dist/esm/util.js +411 -0
  666. package/dist/esm/util.js.map +1 -0
  667. package/dist/esm/utils/batch.js +35 -0
  668. package/dist/esm/utils/batch.js.map +1 -0
  669. package/dist/esm/utils/create-operation-pipeline.js +37 -0
  670. package/dist/esm/utils/create-operation-pipeline.js.map +1 -0
  671. package/dist/esm/utils/ensure-unique-string.js +22 -0
  672. package/dist/esm/utils/ensure-unique-string.js.map +1 -0
  673. package/dist/esm/utils/fail-safe.js +18 -0
  674. package/dist/esm/utils/fail-safe.js.map +1 -0
  675. package/dist/esm/utils/generate-random-string.js +19 -0
  676. package/dist/esm/utils/generate-random-string.js.map +1 -0
  677. package/dist/esm/utils/get-hub-product.js +15 -0
  678. package/dist/esm/utils/get-hub-product.js.map +1 -0
  679. package/dist/esm/utils/get-subscription-type.js +5 -0
  680. package/dist/esm/utils/get-subscription-type.js.map +1 -0
  681. package/dist/esm/utils/includes.js +9 -0
  682. package/dist/esm/utils/includes.js.map +1 -0
  683. package/dist/esm/utils/increment-string.js +20 -0
  684. package/dist/esm/utils/increment-string.js.map +1 -0
  685. package/dist/esm/utils/index.js +19 -0
  686. package/dist/esm/utils/index.js.map +1 -0
  687. package/dist/esm/utils/is-guid.js +15 -0
  688. package/dist/esm/utils/is-guid.js.map +1 -0
  689. package/dist/esm/utils/is-update-group.js +10 -0
  690. package/dist/esm/utils/is-update-group.js.map +1 -0
  691. package/dist/esm/utils/logger.js +127 -0
  692. package/dist/esm/utils/logger.js.map +1 -0
  693. package/dist/esm/utils/map-by.js +10 -0
  694. package/dist/esm/utils/map-by.js.map +1 -0
  695. package/dist/esm/utils/propify-string.js +17 -0
  696. package/dist/esm/utils/propify-string.js.map +1 -0
  697. package/dist/esm/utils/revertable-tasks.js +49 -0
  698. package/dist/esm/utils/revertable-tasks.js.map +1 -0
  699. package/dist/esm/utils/sessionLocalStorage.js +50 -0
  700. package/dist/esm/utils/sessionLocalStorage.js.map +1 -0
  701. package/dist/esm/utils/slugify.js +23 -0
  702. package/dist/esm/utils/slugify.js.map +1 -0
  703. package/dist/esm/utils/without-by-prop.js +14 -0
  704. package/dist/esm/utils/without-by-prop.js.map +1 -0
  705. package/dist/node/ArcGISContext.js +284 -0
  706. package/dist/node/ArcGISContext.js.map +1 -0
  707. package/dist/node/OperationError.js +37 -0
  708. package/dist/node/OperationError.js.map +1 -0
  709. package/dist/node/OperationStack.js +263 -0
  710. package/dist/node/OperationStack.js.map +1 -0
  711. package/dist/node/access/can-edit-event.js +23 -0
  712. package/dist/node/access/can-edit-event.js.map +1 -0
  713. package/dist/node/access/can-edit-item.js +38 -0
  714. package/dist/node/access/can-edit-item.js.map +1 -0
  715. package/dist/node/access/can-edit-site-content.js +42 -0
  716. package/dist/node/access/can-edit-site-content.js.map +1 -0
  717. package/dist/node/access/can-edit-site.js +24 -0
  718. package/dist/node/access/can-edit-site.js.map +1 -0
  719. package/dist/node/access/has-base-priv.js +15 -0
  720. package/dist/node/access/has-base-priv.js.map +1 -0
  721. package/dist/node/access/index.js +9 -0
  722. package/dist/node/access/index.js.map +1 -0
  723. package/dist/node/api.js +26 -0
  724. package/dist/node/api.js.map +1 -0
  725. package/dist/node/auth.js +38 -0
  726. package/dist/node/auth.js.map +1 -0
  727. package/dist/node/categories.js +79 -0
  728. package/dist/node/categories.js.map +1 -0
  729. package/dist/node/collections.js +133 -0
  730. package/dist/node/collections.js.map +1 -0
  731. package/dist/node/content/_internal.js +67 -0
  732. package/dist/node/content/_internal.js.map +1 -0
  733. package/dist/node/content/index.js +878 -0
  734. package/dist/node/content/index.js.map +1 -0
  735. package/dist/node/downloads/build-existing-exports-portal-query.js +195 -0
  736. package/dist/node/downloads/build-existing-exports-portal-query.js.map +1 -0
  737. package/dist/node/downloads/index.js +5 -0
  738. package/dist/node/downloads/index.js.map +1 -0
  739. package/dist/node/extent.js +150 -0
  740. package/dist/node/extent.js.map +1 -0
  741. package/dist/node/groups/_unprotect-and-remove-group.js +22 -0
  742. package/dist/node/groups/_unprotect-and-remove-group.js.map +1 -0
  743. package/dist/node/groups/add-users-workflow/add-users-to-group.js +67 -0
  744. package/dist/node/groups/add-users-workflow/add-users-to-group.js.map +1 -0
  745. package/dist/node/groups/add-users-workflow/index.js +9 -0
  746. package/dist/node/groups/add-users-workflow/index.js.map +1 -0
  747. package/dist/node/groups/add-users-workflow/interfaces.js +3 -0
  748. package/dist/node/groups/add-users-workflow/interfaces.js.map +1 -0
  749. package/dist/node/groups/add-users-workflow/output-processors/_consolidate-results.js +33 -0
  750. package/dist/node/groups/add-users-workflow/output-processors/_consolidate-results.js.map +1 -0
  751. package/dist/node/groups/add-users-workflow/output-processors/_format-auto-add-response.js +34 -0
  752. package/dist/node/groups/add-users-workflow/output-processors/_format-auto-add-response.js.map +1 -0
  753. package/dist/node/groups/add-users-workflow/output-processors/_process-auto-add.js +14 -0
  754. package/dist/node/groups/add-users-workflow/output-processors/_process-auto-add.js.map +1 -0
  755. package/dist/node/groups/add-users-workflow/output-processors/_process-invite.js +16 -0
  756. package/dist/node/groups/add-users-workflow/output-processors/_process-invite.js.map +1 -0
  757. package/dist/node/groups/add-users-workflow/output-processors/_process-primary-email.js +25 -0
  758. package/dist/node/groups/add-users-workflow/output-processors/_process-primary-email.js.map +1 -0
  759. package/dist/node/groups/add-users-workflow/output-processors/_process-secondary-email.js +34 -0
  760. package/dist/node/groups/add-users-workflow/output-processors/_process-secondary-email.js.map +1 -0
  761. package/dist/node/groups/add-users-workflow/output-processors/index.js +10 -0
  762. package/dist/node/groups/add-users-workflow/output-processors/index.js.map +1 -0
  763. package/dist/node/groups/add-users-workflow/utils/_can-email-user.js +13 -0
  764. package/dist/node/groups/add-users-workflow/utils/_can-email-user.js.map +1 -0
  765. package/dist/node/groups/add-users-workflow/utils/_get-auto-add-users.js +19 -0
  766. package/dist/node/groups/add-users-workflow/utils/_get-auto-add-users.js.map +1 -0
  767. package/dist/node/groups/add-users-workflow/utils/_get-email-users.js +21 -0
  768. package/dist/node/groups/add-users-workflow/utils/_get-email-users.js.map +1 -0
  769. package/dist/node/groups/add-users-workflow/utils/_get-invite-users.js +15 -0
  770. package/dist/node/groups/add-users-workflow/utils/_get-invite-users.js.map +1 -0
  771. package/dist/node/groups/add-users-workflow/utils/_is-org-admin.js +11 -0
  772. package/dist/node/groups/add-users-workflow/utils/_is-org-admin.js.map +1 -0
  773. package/dist/node/groups/add-users-workflow/utils/index.js +9 -0
  774. package/dist/node/groups/add-users-workflow/utils/index.js.map +1 -0
  775. package/dist/node/groups/add-users-workflow/workflow-sections/auto-add-users.js +28 -0
  776. package/dist/node/groups/add-users-workflow/workflow-sections/auto-add-users.js.map +1 -0
  777. package/dist/node/groups/add-users-workflow/workflow-sections/email-org-users.js +33 -0
  778. package/dist/node/groups/add-users-workflow/workflow-sections/email-org-users.js.map +1 -0
  779. package/dist/node/groups/add-users-workflow/workflow-sections/index.js +7 -0
  780. package/dist/node/groups/add-users-workflow/workflow-sections/index.js.map +1 -0
  781. package/dist/node/groups/add-users-workflow/workflow-sections/invite-users.js +34 -0
  782. package/dist/node/groups/add-users-workflow/workflow-sections/invite-users.js.map +1 -0
  783. package/dist/node/groups/index.js +6 -0
  784. package/dist/node/groups/index.js.map +1 -0
  785. package/dist/node/i18n/convert-to-well-known-locale.js +29 -0
  786. package/dist/node/i18n/convert-to-well-known-locale.js.map +1 -0
  787. package/dist/node/i18n/fetch-hub-translation.js +27 -0
  788. package/dist/node/i18n/fetch-hub-translation.js.map +1 -0
  789. package/dist/node/i18n/get-culture.js +16 -0
  790. package/dist/node/i18n/get-culture.js.map +1 -0
  791. package/dist/node/i18n/hub-locales.js +49 -0
  792. package/dist/node/i18n/hub-locales.js.map +1 -0
  793. package/dist/node/i18n/index.js +8 -0
  794. package/dist/node/i18n/index.js.map +1 -0
  795. package/dist/node/index.js +35 -0
  796. package/dist/node/index.js.map +1 -0
  797. package/dist/node/items/_unprotect-and-remove-item.js +22 -0
  798. package/dist/node/items/_unprotect-and-remove-item.js.map +1 -0
  799. package/dist/node/items/apply-properties-to-items.js +20 -0
  800. package/dist/node/items/apply-properties-to-items.js.map +1 -0
  801. package/dist/node/items/delete-prop.js +24 -0
  802. package/dist/node/items/delete-prop.js.map +1 -0
  803. package/dist/node/items/does-item-exist-with-title.js +26 -0
  804. package/dist/node/items/does-item-exist-with-title.js.map +1 -0
  805. package/dist/node/items/fail-safe-update.js +23 -0
  806. package/dist/node/items/fail-safe-update.js.map +1 -0
  807. package/dist/node/items/fetch-all-pages.js +56 -0
  808. package/dist/node/items/fetch-all-pages.js.map +1 -0
  809. package/dist/node/items/get-model-from-options.js +35 -0
  810. package/dist/node/items/get-model-from-options.js.map +1 -0
  811. package/dist/node/items/get-model.js +23 -0
  812. package/dist/node/items/get-model.js.map +1 -0
  813. package/dist/node/items/get-structured-license.js +299 -0
  814. package/dist/node/items/get-structured-license.js.map +1 -0
  815. package/dist/node/items/get-unique-item-title.js +35 -0
  816. package/dist/node/items/get-unique-item-title.js.map +1 -0
  817. package/dist/node/items/index.js +22 -0
  818. package/dist/node/items/index.js.map +1 -0
  819. package/dist/node/items/interpolate-item-id.js +20 -0
  820. package/dist/node/items/interpolate-item-id.js.map +1 -0
  821. package/dist/node/items/interpolate.js +15 -0
  822. package/dist/node/items/interpolate.js.map +1 -0
  823. package/dist/node/items/normalize-solution-template-item.js +48 -0
  824. package/dist/node/items/normalize-solution-template-item.js.map +1 -0
  825. package/dist/node/items/replace-item-id.js +17 -0
  826. package/dist/node/items/replace-item-id.js.map +1 -0
  827. package/dist/node/items/serialize-model.js +16 -0
  828. package/dist/node/items/serialize-model.js.map +1 -0
  829. package/dist/node/items/share-item-to-groups.js +22 -0
  830. package/dist/node/items/share-item-to-groups.js.map +1 -0
  831. package/dist/node/items/unprotect-model.js +22 -0
  832. package/dist/node/items/unprotect-model.js.map +1 -0
  833. package/dist/node/items/unshare-item-from-groups.js +22 -0
  834. package/dist/node/items/unshare-item-from-groups.js.map +1 -0
  835. package/dist/node/objects/_deep-map-values.js +80 -0
  836. package/dist/node/objects/_deep-map-values.js.map +1 -0
  837. package/dist/node/objects/_map-values.js +19 -0
  838. package/dist/node/objects/_map-values.js.map +1 -0
  839. package/dist/node/objects/deep-set.js +37 -0
  840. package/dist/node/objects/deep-set.js.map +1 -0
  841. package/dist/node/objects/deep-string-replace.js +27 -0
  842. package/dist/node/objects/deep-string-replace.js.map +1 -0
  843. package/dist/node/objects/deepFind.js +100 -0
  844. package/dist/node/objects/deepFind.js.map +1 -0
  845. package/dist/node/objects/ensure-prop.js +15 -0
  846. package/dist/node/objects/ensure-prop.js.map +1 -0
  847. package/dist/node/objects/get-prop.js +15 -0
  848. package/dist/node/objects/get-prop.js.map +1 -0
  849. package/dist/node/objects/get-props.js +18 -0
  850. package/dist/node/objects/get-props.js.map +1 -0
  851. package/dist/node/objects/get-with-default.js +17 -0
  852. package/dist/node/objects/get-with-default.js.map +1 -0
  853. package/dist/node/objects/index.js +16 -0
  854. package/dist/node/objects/index.js.map +1 -0
  855. package/dist/node/objects/merge-objects.js +30 -0
  856. package/dist/node/objects/merge-objects.js.map +1 -0
  857. package/dist/node/objects/remove-empty-props.js +21 -0
  858. package/dist/node/objects/remove-empty-props.js.map +1 -0
  859. package/dist/node/objects/set-prop.js +19 -0
  860. package/dist/node/objects/set-prop.js.map +1 -0
  861. package/dist/node/request.js +71 -0
  862. package/dist/node/request.js.map +1 -0
  863. package/dist/node/resources/_add-token-to-resource-url.js +26 -0
  864. package/dist/node/resources/_add-token-to-resource-url.js.map +1 -0
  865. package/dist/node/resources/add-solution-resource-url-to-assets.js +35 -0
  866. package/dist/node/resources/add-solution-resource-url-to-assets.js.map +1 -0
  867. package/dist/node/resources/convert-solution-template-resources-to-assets.js +36 -0
  868. package/dist/node/resources/convert-solution-template-resources-to-assets.js.map +1 -0
  869. package/dist/node/resources/fetch-and-upload-resource.js +24 -0
  870. package/dist/node/resources/fetch-and-upload-resource.js.map +1 -0
  871. package/dist/node/resources/fetch-and-upload-thumbnail.js +34 -0
  872. package/dist/node/resources/fetch-and-upload-thumbnail.js.map +1 -0
  873. package/dist/node/resources/fetch-image-as-blob.js +20 -0
  874. package/dist/node/resources/fetch-image-as-blob.js.map +1 -0
  875. package/dist/node/resources/get-item-assets.js +40 -0
  876. package/dist/node/resources/get-item-assets.js.map +1 -0
  877. package/dist/node/resources/get-item-thumbnail-url.js +35 -0
  878. package/dist/node/resources/get-item-thumbnail-url.js.map +1 -0
  879. package/dist/node/resources/index.js +15 -0
  880. package/dist/node/resources/index.js.map +1 -0
  881. package/dist/node/resources/object-to-json-blob.js +19 -0
  882. package/dist/node/resources/object-to-json-blob.js.map +1 -0
  883. package/dist/node/resources/string-to-blob.js +25 -0
  884. package/dist/node/resources/string-to-blob.js.map +1 -0
  885. package/dist/node/resources/upload-resources-from-url.js +42 -0
  886. package/dist/node/resources/upload-resources-from-url.js.map +1 -0
  887. package/dist/node/search/_searchContent.js +98 -0
  888. package/dist/node/search/_searchContent.js.map +1 -0
  889. package/dist/node/search/_searchGroups.js +99 -0
  890. package/dist/node/search/_searchGroups.js.map +1 -0
  891. package/dist/node/search/_searchUsers.js +87 -0
  892. package/dist/node/search/_searchUsers.js.map +1 -0
  893. package/dist/node/search/content-utils.js +426 -0
  894. package/dist/node/search/content-utils.js.map +1 -0
  895. package/dist/node/search/group-utils.js +141 -0
  896. package/dist/node/search/group-utils.js.map +1 -0
  897. package/dist/node/search/hub-api-search.js +23 -0
  898. package/dist/node/search/hub-api-search.js.map +1 -0
  899. package/dist/node/search/index.js +13 -0
  900. package/dist/node/search/index.js.map +1 -0
  901. package/dist/node/search/types.js +3 -0
  902. package/dist/node/search/types.js.map +1 -0
  903. package/dist/node/search/user-utils.js +138 -0
  904. package/dist/node/search/user-utils.js.map +1 -0
  905. package/dist/node/search/utils.js +407 -0
  906. package/dist/node/search/utils.js.map +1 -0
  907. package/dist/node/sites/_apply-site-schema.js +45 -0
  908. package/dist/node/sites/_apply-site-schema.js.map +1 -0
  909. package/dist/node/sites/_enforce-lowercase-domains.js +33 -0
  910. package/dist/node/sites/_enforce-lowercase-domains.js.map +1 -0
  911. package/dist/node/sites/_ensure-catalog.js +27 -0
  912. package/dist/node/sites/_ensure-catalog.js.map +1 -0
  913. package/dist/node/sites/_ensure-telemetry.js +36 -0
  914. package/dist/node/sites/_ensure-telemetry.js.map +1 -0
  915. package/dist/node/sites/_migrate-feed-config.js +63 -0
  916. package/dist/node/sites/_migrate-feed-config.js.map +1 -0
  917. package/dist/node/sites/_purge-non-guids-from-catalog.js +20 -0
  918. package/dist/node/sites/_purge-non-guids-from-catalog.js.map +1 -0
  919. package/dist/node/sites/domains/_check-status-and-parse-json.js +31 -0
  920. package/dist/node/sites/domains/_check-status-and-parse-json.js.map +1 -0
  921. package/dist/node/sites/domains/_ensure-safe-domain-length.js +28 -0
  922. package/dist/node/sites/domains/_ensure-safe-domain-length.js.map +1 -0
  923. package/dist/node/sites/domains/_get-auth-header.js +19 -0
  924. package/dist/node/sites/domains/_get-auth-header.js.map +1 -0
  925. package/dist/node/sites/domains/_get-domain-service-url.js +14 -0
  926. package/dist/node/sites/domains/_get-domain-service-url.js.map +1 -0
  927. package/dist/node/sites/domains/_lookup-portal.js +41 -0
  928. package/dist/node/sites/domains/_lookup-portal.js.map +1 -0
  929. package/dist/node/sites/domains/add-domain.js +32 -0
  930. package/dist/node/sites/domains/add-domain.js.map +1 -0
  931. package/dist/node/sites/domains/domain-exists-portal.js +20 -0
  932. package/dist/node/sites/domains/domain-exists-portal.js.map +1 -0
  933. package/dist/node/sites/domains/domain-exists.js +26 -0
  934. package/dist/node/sites/domains/domain-exists.js.map +1 -0
  935. package/dist/node/sites/domains/ensure-unique-domain-name.js +29 -0
  936. package/dist/node/sites/domains/ensure-unique-domain-name.js.map +1 -0
  937. package/dist/node/sites/domains/get-domains-for-site.js +25 -0
  938. package/dist/node/sites/domains/get-domains-for-site.js.map +1 -0
  939. package/dist/node/sites/domains/get-unique-domain-name-portal.js +29 -0
  940. package/dist/node/sites/domains/get-unique-domain-name-portal.js.map +1 -0
  941. package/dist/node/sites/domains/get-unique-domain-name.js +31 -0
  942. package/dist/node/sites/domains/get-unique-domain-name.js.map +1 -0
  943. package/dist/node/sites/domains/index.js +22 -0
  944. package/dist/node/sites/domains/index.js.map +1 -0
  945. package/dist/node/sites/domains/is-domain-for-legacy-site.js +16 -0
  946. package/dist/node/sites/domains/is-domain-for-legacy-site.js.map +1 -0
  947. package/dist/node/sites/domains/is-domain-used-elsewhere.js +24 -0
  948. package/dist/node/sites/domains/is-domain-used-elsewhere.js.map +1 -0
  949. package/dist/node/sites/domains/is-valid-domain.js +34 -0
  950. package/dist/node/sites/domains/is-valid-domain.js.map +1 -0
  951. package/dist/node/sites/domains/lookup-domain.js +25 -0
  952. package/dist/node/sites/domains/lookup-domain.js.map +1 -0
  953. package/dist/node/sites/domains/remove-domain.js +23 -0
  954. package/dist/node/sites/domains/remove-domain.js.map +1 -0
  955. package/dist/node/sites/domains/update-domain.js +32 -0
  956. package/dist/node/sites/domains/update-domain.js.map +1 -0
  957. package/dist/node/sites/drafts/build-draft.js +14 -0
  958. package/dist/node/sites/drafts/build-draft.js.map +1 -0
  959. package/dist/node/sites/drafts/index.js +5 -0
  960. package/dist/node/sites/drafts/index.js.map +1 -0
  961. package/dist/node/sites/get-site-by-id.js +15 -0
  962. package/dist/node/sites/get-site-by-id.js.map +1 -0
  963. package/dist/node/sites/index.js +36 -0
  964. package/dist/node/sites/index.js.map +1 -0
  965. package/dist/node/sites/site-schema-version.js +5 -0
  966. package/dist/node/sites/site-schema-version.js.map +1 -0
  967. package/dist/node/sites/upgrade-site-schema.js +35 -0
  968. package/dist/node/sites/upgrade-site-schema.js.map +1 -0
  969. package/dist/node/surveys/get-input-feature-service-model.js +24 -0
  970. package/dist/node/surveys/get-input-feature-service-model.js.map +1 -0
  971. package/dist/node/surveys/get-source-feature-service-model-from-fieldworker.js +23 -0
  972. package/dist/node/surveys/get-source-feature-service-model-from-fieldworker.js.map +1 -0
  973. package/dist/node/surveys/get-stakeholder-model.js +23 -0
  974. package/dist/node/surveys/get-stakeholder-model.js.map +1 -0
  975. package/dist/node/surveys/get-survey-models.js +54 -0
  976. package/dist/node/surveys/get-survey-models.js.map +1 -0
  977. package/dist/node/surveys/index.js +9 -0
  978. package/dist/node/surveys/index.js.map +1 -0
  979. package/dist/node/surveys/is-fieldworker-view.js +27 -0
  980. package/dist/node/surveys/is-fieldworker-view.js.map +1 -0
  981. package/dist/node/types.js +5 -0
  982. package/dist/node/types.js.map +1 -0
  983. package/dist/node/urls/_get-http-and-https-uris.js +18 -0
  984. package/dist/node/urls/_get-http-and-https-uris.js.map +1 -0
  985. package/dist/node/urls/_get-hub-url-from-portal-hostname.js +26 -0
  986. package/dist/node/urls/_get-hub-url-from-portal-hostname.js.map +1 -0
  987. package/dist/node/urls/_get-location.js +16 -0
  988. package/dist/node/urls/_get-location.js.map +1 -0
  989. package/dist/node/urls/build-url.js +26 -0
  990. package/dist/node/urls/build-url.js.map +1 -0
  991. package/dist/node/urls/convert-urls-to-anchor-tags.js +18 -0
  992. package/dist/node/urls/convert-urls-to-anchor-tags.js.map +1 -0
  993. package/dist/node/urls/get-hub-api-url-from-portal.js +13 -0
  994. package/dist/node/urls/get-hub-api-url-from-portal.js.map +1 -0
  995. package/dist/node/urls/get-hub-locale-asset-url.js +27 -0
  996. package/dist/node/urls/get-hub-locale-asset-url.js.map +1 -0
  997. package/dist/node/urls/get-hub-url-from-portal.js +18 -0
  998. package/dist/node/urls/get-hub-url-from-portal.js.map +1 -0
  999. package/dist/node/urls/get-item-api-url.js +22 -0
  1000. package/dist/node/urls/get-item-api-url.js.map +1 -0
  1001. package/dist/node/urls/get-item-data-url.js +19 -0
  1002. package/dist/node/urls/get-item-data-url.js.map +1 -0
  1003. package/dist/node/urls/get-item-home-url.js +16 -0
  1004. package/dist/node/urls/get-item-home-url.js.map +1 -0
  1005. package/dist/node/urls/get-portal-api-url.js +31 -0
  1006. package/dist/node/urls/get-portal-api-url.js.map +1 -0
  1007. package/dist/node/urls/get-portal-url.js +54 -0
  1008. package/dist/node/urls/get-portal-url.js.map +1 -0
  1009. package/dist/node/urls/hub-cdn-urlmap.js +12 -0
  1010. package/dist/node/urls/hub-cdn-urlmap.js.map +1 -0
  1011. package/dist/node/urls/index.js +41 -0
  1012. package/dist/node/urls/index.js.map +1 -0
  1013. package/dist/node/urls/strip-protocol.js +16 -0
  1014. package/dist/node/urls/strip-protocol.js.map +1 -0
  1015. package/dist/node/urls/upgrade-protocol.js +18 -0
  1016. package/dist/node/urls/upgrade-protocol.js.map +1 -0
  1017. package/dist/node/util.js +415 -0
  1018. package/dist/node/util.js.map +1 -0
  1019. package/dist/node/utils/batch.js +36 -0
  1020. package/dist/node/utils/batch.js.map +1 -0
  1021. package/dist/node/utils/create-operation-pipeline.js +38 -0
  1022. package/dist/node/utils/create-operation-pipeline.js.map +1 -0
  1023. package/dist/node/utils/ensure-unique-string.js +26 -0
  1024. package/dist/node/utils/ensure-unique-string.js.map +1 -0
  1025. package/dist/node/utils/fail-safe.js +17 -0
  1026. package/dist/node/utils/fail-safe.js.map +1 -0
  1027. package/dist/node/utils/generate-random-string.js +23 -0
  1028. package/dist/node/utils/generate-random-string.js.map +1 -0
  1029. package/dist/node/utils/get-hub-product.js +19 -0
  1030. package/dist/node/utils/get-hub-product.js.map +1 -0
  1031. package/dist/node/utils/get-subscription-type.js +8 -0
  1032. package/dist/node/utils/get-subscription-type.js.map +1 -0
  1033. package/dist/node/utils/includes.js +13 -0
  1034. package/dist/node/utils/includes.js.map +1 -0
  1035. package/dist/node/utils/increment-string.js +24 -0
  1036. package/dist/node/utils/increment-string.js.map +1 -0
  1037. package/dist/node/utils/index.js +22 -0
  1038. package/dist/node/utils/index.js.map +1 -0
  1039. package/dist/node/utils/is-guid.js +19 -0
  1040. package/dist/node/utils/is-guid.js.map +1 -0
  1041. package/dist/node/utils/is-update-group.js +14 -0
  1042. package/dist/node/utils/is-update-group.js.map +1 -0
  1043. package/dist/node/utils/logger.js +106 -0
  1044. package/dist/node/utils/logger.js.map +1 -0
  1045. package/dist/node/utils/map-by.js +13 -0
  1046. package/dist/node/utils/map-by.js.map +1 -0
  1047. package/dist/node/utils/propify-string.js +21 -0
  1048. package/dist/node/utils/propify-string.js.map +1 -0
  1049. package/dist/node/utils/revertable-tasks.js +50 -0
  1050. package/dist/node/utils/revertable-tasks.js.map +1 -0
  1051. package/dist/node/utils/sessionLocalStorage.js +53 -0
  1052. package/dist/node/utils/sessionLocalStorage.js.map +1 -0
  1053. package/dist/node/utils/slugify.js +27 -0
  1054. package/dist/node/utils/slugify.js.map +1 -0
  1055. package/dist/node/utils/without-by-prop.js +18 -0
  1056. package/dist/node/utils/without-by-prop.js.map +1 -0
  1057. package/dist/types/ArcGISContext.d.ts +148 -0
  1058. package/dist/types/OperationError.d.ts +39 -0
  1059. package/dist/types/OperationStack.d.ts +201 -0
  1060. package/dist/types/access/can-edit-event.d.ts +13 -0
  1061. package/dist/types/access/can-edit-item.d.ts +8 -0
  1062. package/dist/types/access/can-edit-site-content.d.ts +11 -0
  1063. package/dist/types/access/can-edit-site.d.ts +10 -0
  1064. package/dist/types/access/has-base-priv.d.ts +7 -0
  1065. package/dist/types/access/index.d.ts +5 -0
  1066. package/dist/types/api.d.ts +15 -0
  1067. package/dist/types/auth.d.ts +5 -0
  1068. package/dist/types/categories.d.ts +9 -0
  1069. package/dist/types/collections.d.ts +3 -0
  1070. package/dist/types/content/_internal.d.ts +91 -0
  1071. package/dist/types/content/index.d.ts +251 -0
  1072. package/dist/types/downloads/build-existing-exports-portal-query.d.ts +86 -0
  1073. package/dist/types/downloads/index.d.ts +1 -0
  1074. package/dist/types/extent.d.ts +33 -0
  1075. package/dist/types/groups/_unprotect-and-remove-group.d.ts +10 -0
  1076. package/dist/types/groups/add-users-workflow/add-users-to-group.d.ts +33 -0
  1077. package/dist/types/groups/add-users-workflow/index.d.ts +5 -0
  1078. package/dist/types/groups/add-users-workflow/interfaces.d.ts +33 -0
  1079. package/dist/types/groups/add-users-workflow/output-processors/_consolidate-results.d.ts +5 -0
  1080. package/dist/types/groups/add-users-workflow/output-processors/_format-auto-add-response.d.ts +12 -0
  1081. package/dist/types/groups/add-users-workflow/output-processors/_process-auto-add.d.ts +5 -0
  1082. package/dist/types/groups/add-users-workflow/output-processors/_process-invite.d.ts +5 -0
  1083. package/dist/types/groups/add-users-workflow/output-processors/_process-primary-email.d.ts +8 -0
  1084. package/dist/types/groups/add-users-workflow/output-processors/_process-secondary-email.d.ts +12 -0
  1085. package/dist/types/groups/add-users-workflow/output-processors/index.d.ts +6 -0
  1086. package/dist/types/groups/add-users-workflow/utils/_can-email-user.d.ts +7 -0
  1087. package/dist/types/groups/add-users-workflow/utils/_get-auto-add-users.d.ts +8 -0
  1088. package/dist/types/groups/add-users-workflow/utils/_get-email-users.d.ts +8 -0
  1089. package/dist/types/groups/add-users-workflow/utils/_get-invite-users.d.ts +7 -0
  1090. package/dist/types/groups/add-users-workflow/utils/_is-org-admin.d.ts +5 -0
  1091. package/dist/types/groups/add-users-workflow/utils/index.d.ts +5 -0
  1092. package/dist/types/groups/add-users-workflow/workflow-sections/auto-add-users.d.ts +14 -0
  1093. package/dist/types/groups/add-users-workflow/workflow-sections/email-org-users.d.ts +15 -0
  1094. package/dist/types/groups/add-users-workflow/workflow-sections/index.d.ts +3 -0
  1095. package/dist/types/groups/add-users-workflow/workflow-sections/invite-users.d.ts +17 -0
  1096. package/dist/types/groups/index.d.ts +2 -0
  1097. package/dist/types/i18n/convert-to-well-known-locale.d.ts +7 -0
  1098. package/dist/types/i18n/fetch-hub-translation.d.ts +8 -0
  1099. package/dist/types/i18n/get-culture.d.ts +7 -0
  1100. package/dist/types/i18n/hub-locales.d.ts +4 -0
  1101. package/dist/types/i18n/index.d.ts +4 -0
  1102. package/dist/types/index.d.ts +25 -0
  1103. package/dist/types/items/_unprotect-and-remove-item.d.ts +10 -0
  1104. package/dist/types/items/apply-properties-to-items.d.ts +8 -0
  1105. package/dist/types/items/delete-prop.d.ts +7 -0
  1106. package/dist/types/items/does-item-exist-with-title.d.ts +5 -0
  1107. package/dist/types/items/fail-safe-update.d.ts +10 -0
  1108. package/dist/types/items/fetch-all-pages.d.ts +11 -0
  1109. package/dist/types/items/get-model-from-options.d.ts +10 -0
  1110. package/dist/types/items/get-model.d.ts +8 -0
  1111. package/dist/types/items/get-structured-license.d.ts +20 -0
  1112. package/dist/types/items/get-unique-item-title.d.ts +12 -0
  1113. package/dist/types/items/index.d.ts +18 -0
  1114. package/dist/types/items/interpolate-item-id.d.ts +7 -0
  1115. package/dist/types/items/interpolate.d.ts +7 -0
  1116. package/dist/types/items/normalize-solution-template-item.d.ts +9 -0
  1117. package/dist/types/items/replace-item-id.d.ts +7 -0
  1118. package/dist/types/items/serialize-model.d.ts +12 -0
  1119. package/dist/types/items/share-item-to-groups.d.ts +9 -0
  1120. package/dist/types/items/unprotect-model.d.ts +11 -0
  1121. package/dist/types/items/unshare-item-from-groups.d.ts +10 -0
  1122. package/dist/types/objects/_deep-map-values.d.ts +38 -0
  1123. package/dist/types/objects/_map-values.d.ts +7 -0
  1124. package/dist/types/objects/deep-set.d.ts +7 -0
  1125. package/dist/types/objects/deep-string-replace.d.ts +5 -0
  1126. package/dist/types/objects/deepFind.d.ts +43 -0
  1127. package/dist/types/objects/ensure-prop.d.ts +7 -0
  1128. package/dist/types/objects/get-prop.d.ts +7 -0
  1129. package/dist/types/objects/get-props.d.ts +6 -0
  1130. package/dist/types/objects/get-with-default.d.ts +10 -0
  1131. package/dist/types/objects/index.d.ts +12 -0
  1132. package/dist/types/objects/merge-objects.d.ts +8 -0
  1133. package/dist/types/objects/remove-empty-props.d.ts +9 -0
  1134. package/dist/types/objects/set-prop.d.ts +8 -0
  1135. package/dist/types/request.d.ts +24 -0
  1136. package/dist/types/resources/_add-token-to-resource-url.d.ts +8 -0
  1137. package/dist/types/resources/add-solution-resource-url-to-assets.d.ts +7 -0
  1138. package/dist/types/resources/convert-solution-template-resources-to-assets.d.ts +9 -0
  1139. package/dist/types/resources/fetch-and-upload-resource.d.ts +13 -0
  1140. package/dist/types/resources/fetch-and-upload-thumbnail.d.ts +12 -0
  1141. package/dist/types/resources/fetch-image-as-blob.d.ts +6 -0
  1142. package/dist/types/resources/get-item-assets.d.ts +9 -0
  1143. package/dist/types/resources/get-item-thumbnail-url.d.ts +16 -0
  1144. package/dist/types/resources/index.d.ts +11 -0
  1145. package/dist/types/resources/object-to-json-blob.d.ts +6 -0
  1146. package/dist/types/resources/string-to-blob.d.ts +7 -0
  1147. package/dist/types/resources/upload-resources-from-url.d.ts +8 -0
  1148. package/dist/types/search/_searchContent.d.ts +8 -0
  1149. package/dist/types/search/_searchGroups.d.ts +16 -0
  1150. package/dist/types/search/_searchUsers.d.ts +28 -0
  1151. package/dist/types/search/content-utils.d.ts +73 -0
  1152. package/dist/types/search/group-utils.d.ts +36 -0
  1153. package/dist/types/search/hub-api-search.d.ts +10 -0
  1154. package/dist/types/search/index.d.ts +9 -0
  1155. package/dist/types/search/types.d.ts +315 -0
  1156. package/dist/types/search/user-utils.d.ts +35 -0
  1157. package/dist/types/search/utils.d.ts +124 -0
  1158. package/dist/types/sites/_apply-site-schema.d.ts +7 -0
  1159. package/dist/types/sites/_enforce-lowercase-domains.d.ts +7 -0
  1160. package/dist/types/sites/_ensure-catalog.d.ts +8 -0
  1161. package/dist/types/sites/_ensure-telemetry.d.ts +8 -0
  1162. package/dist/types/sites/_migrate-feed-config.d.ts +15 -0
  1163. package/dist/types/sites/_purge-non-guids-from-catalog.d.ts +7 -0
  1164. package/dist/types/sites/domains/_check-status-and-parse-json.d.ts +7 -0
  1165. package/dist/types/sites/domains/_ensure-safe-domain-length.d.ts +12 -0
  1166. package/dist/types/sites/domains/_get-auth-header.d.ts +12 -0
  1167. package/dist/types/sites/domains/_get-domain-service-url.d.ts +6 -0
  1168. package/dist/types/sites/domains/_lookup-portal.d.ts +11 -0
  1169. package/dist/types/sites/domains/add-domain.d.ts +7 -0
  1170. package/dist/types/sites/domains/domain-exists-portal.d.ts +7 -0
  1171. package/dist/types/sites/domains/domain-exists.d.ts +11 -0
  1172. package/dist/types/sites/domains/ensure-unique-domain-name.d.ts +8 -0
  1173. package/dist/types/sites/domains/get-domains-for-site.d.ts +7 -0
  1174. package/dist/types/sites/domains/get-unique-domain-name-portal.d.ts +9 -0
  1175. package/dist/types/sites/domains/get-unique-domain-name.d.ts +10 -0
  1176. package/dist/types/sites/domains/index.d.ts +18 -0
  1177. package/dist/types/sites/domains/is-domain-for-legacy-site.d.ts +9 -0
  1178. package/dist/types/sites/domains/is-domain-used-elsewhere.d.ts +10 -0
  1179. package/dist/types/sites/domains/is-valid-domain.d.ts +7 -0
  1180. package/dist/types/sites/domains/lookup-domain.d.ts +11 -0
  1181. package/dist/types/sites/domains/remove-domain.d.ts +8 -0
  1182. package/dist/types/sites/domains/update-domain.d.ts +8 -0
  1183. package/dist/types/sites/drafts/build-draft.d.ts +7 -0
  1184. package/dist/types/sites/drafts/index.d.ts +1 -0
  1185. package/dist/types/sites/get-site-by-id.d.ts +7 -0
  1186. package/dist/types/sites/index.d.ts +14 -0
  1187. package/dist/types/sites/site-schema-version.d.ts +1 -0
  1188. package/dist/types/sites/upgrade-site-schema.d.ts +6 -0
  1189. package/dist/types/surveys/get-input-feature-service-model.d.ts +11 -0
  1190. package/dist/types/surveys/get-source-feature-service-model-from-fieldworker.d.ts +10 -0
  1191. package/dist/types/surveys/get-stakeholder-model.d.ts +10 -0
  1192. package/dist/types/surveys/get-survey-models.d.ts +10 -0
  1193. package/dist/types/surveys/index.d.ts +5 -0
  1194. package/dist/types/surveys/is-fieldworker-view.d.ts +8 -0
  1195. package/dist/types/types.d.ts +421 -0
  1196. package/dist/types/urls/_get-http-and-https-uris.d.ts +7 -0
  1197. package/dist/types/urls/_get-hub-url-from-portal-hostname.d.ts +9 -0
  1198. package/dist/types/urls/_get-location.d.ts +5 -0
  1199. package/dist/types/urls/build-url.d.ts +12 -0
  1200. package/dist/types/urls/convert-urls-to-anchor-tags.d.ts +5 -0
  1201. package/dist/types/urls/get-hub-api-url-from-portal.d.ts +6 -0
  1202. package/dist/types/urls/get-hub-locale-asset-url.d.ts +7 -0
  1203. package/dist/types/urls/get-hub-url-from-portal.d.ts +6 -0
  1204. package/dist/types/urls/get-item-api-url.d.ts +11 -0
  1205. package/dist/types/urls/get-item-data-url.d.ts +11 -0
  1206. package/dist/types/urls/get-item-home-url.d.ts +10 -0
  1207. package/dist/types/urls/get-portal-api-url.d.ts +26 -0
  1208. package/dist/types/urls/get-portal-url.d.ts +26 -0
  1209. package/dist/types/urls/hub-cdn-urlmap.d.ts +8 -0
  1210. package/dist/types/urls/index.d.ts +28 -0
  1211. package/dist/types/urls/strip-protocol.d.ts +5 -0
  1212. package/dist/types/urls/upgrade-protocol.d.ts +5 -0
  1213. package/dist/types/util.d.ts +253 -0
  1214. package/dist/types/utils/batch.d.ts +10 -0
  1215. package/dist/types/utils/create-operation-pipeline.d.ts +32 -0
  1216. package/dist/types/utils/ensure-unique-string.d.ts +6 -0
  1217. package/dist/types/utils/fail-safe.d.ts +7 -0
  1218. package/dist/types/utils/generate-random-string.d.ts +6 -0
  1219. package/dist/types/utils/get-hub-product.d.ts +8 -0
  1220. package/dist/types/utils/get-subscription-type.d.ts +2 -0
  1221. package/dist/types/utils/includes.d.ts +6 -0
  1222. package/dist/types/utils/increment-string.d.ts +6 -0
  1223. package/dist/types/utils/index.d.ts +18 -0
  1224. package/dist/types/utils/is-guid.d.ts +5 -0
  1225. package/dist/types/utils/is-update-group.d.ts +6 -0
  1226. package/dist/types/utils/logger.d.ts +75 -0
  1227. package/dist/types/utils/map-by.d.ts +6 -0
  1228. package/dist/types/utils/propify-string.d.ts +6 -0
  1229. package/dist/types/utils/revertable-tasks.d.ts +17 -0
  1230. package/dist/types/utils/sessionLocalStorage.d.ts +23 -0
  1231. package/dist/types/utils/slugify.d.ts +9 -0
  1232. package/dist/types/utils/without-by-prop.d.ts +9 -0
  1233. package/dist/umd/common.umd.js +11626 -0
  1234. package/dist/umd/common.umd.js.map +1 -0
  1235. package/dist/umd/common.umd.min.js +2 -0
  1236. package/dist/umd/common.umd.min.js.map +1 -0
  1237. package/package.json +1 -1
@@ -0,0 +1,859 @@
1
+ import { collections } from "../collections";
2
+ import { categories as allCategories, isDownloadable } from "../categories";
3
+ import { isBBox } from "../extent";
4
+ import { includes, isGuid } from "../utils";
5
+ import { getProp } from "../objects";
6
+ import { getStructuredLicense } from "../items/get-structured-license";
7
+ import { getServiceTypeFromUrl } from "../urls";
8
+ import { setContentExtent } from "./_internal";
9
+ import { camelize } from "../util";
10
+ function collectionToFamily(collection) {
11
+ const overrides = {
12
+ other: "content",
13
+ solution: "template",
14
+ };
15
+ return overrides[collection] || collection;
16
+ }
17
+ const cache = {};
18
+ // TODO: remove this at next breaking version
19
+ /**
20
+ * ```js
21
+ * import { getCategory } from "@esri/hub-common";
22
+ * //
23
+ * getCategory('Feature Layer')
24
+ * > 'dataset'
25
+ * ```
26
+ * **DEPRECATED: Use getCollection() instead**
27
+ * returns the Hub category for a given item type
28
+ * @param itemType The ArcGIS [item type](https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm).
29
+ * @returns the category of a given item type.
30
+ */
31
+ export function getCategory(itemType = "") {
32
+ /* tslint:disable no-console */
33
+ console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");
34
+ /* tslint:enable no-console */
35
+ const collection = getCollection(itemType);
36
+ // for backwards compatibility
37
+ return collection === "feedback" ? "app" : collection;
38
+ }
39
+ /**
40
+ * ```js
41
+ * import { getTypes } from "@esri/hub-common";
42
+ * //
43
+ * getTypes('site')
44
+ * > [ 'hub site application' ]
45
+ * ```
46
+ * To do.
47
+ * @param category The ArcGIS Hub category.
48
+ * @returns all the item types for the given category.
49
+ *
50
+ */
51
+ export function getTypes(category = "") {
52
+ return allCategories[category.toLowerCase()];
53
+ }
54
+ /**
55
+ * ```js
56
+ * import { normalizeItemType } from "@esri/hub-common";
57
+ * //
58
+ * normalizeItemType(item)
59
+ * > [ 'Hub Site Application' ]
60
+ * ```
61
+ * @param item Item object.
62
+ * @returns type of the input item.
63
+ *
64
+ */
65
+ export function normalizeItemType(item = {}) {
66
+ let ret = item.type;
67
+ const typeKeywords = item.typeKeywords || [];
68
+ if (item.type === "Site Application" ||
69
+ (item.type === "Web Mapping Application" &&
70
+ includes(typeKeywords, "hubSite"))) {
71
+ ret = "Hub Site Application";
72
+ }
73
+ if (item.type === "Site Page" ||
74
+ (item.type === "Web Mapping Application" &&
75
+ includes(typeKeywords, "hubPage"))) {
76
+ ret = "Hub Page";
77
+ }
78
+ if (item.type === "Hub Initiative" &&
79
+ includes(typeKeywords, "hubInitiativeTemplate")) {
80
+ ret = "Hub Initiative Template";
81
+ }
82
+ if (item.type === "Web Mapping Application" &&
83
+ includes(typeKeywords, "hubSolutionTemplate")) {
84
+ ret = "Solution";
85
+ }
86
+ return ret;
87
+ }
88
+ /**
89
+ * ```js
90
+ * import { getTypeCategories } from "@esri/hub-common";
91
+ * //
92
+ * getTypeCategories(item)
93
+ * > [ 'Hub Site Application' ]
94
+ * ```
95
+ * @param item Item object.
96
+ * @returns typeCategory of the input item.
97
+ *
98
+ */
99
+ export function getTypeCategories(item = {}) {
100
+ const type = normalizeItemType(item);
101
+ const category = getCategory(type);
102
+ if (category) {
103
+ // upper case first letter and return as element in array for backwards compatibility
104
+ const chars = Array.from(category);
105
+ chars[0] = chars[0].toUpperCase();
106
+ return [chars.join("")];
107
+ }
108
+ else {
109
+ return ["Other"];
110
+ }
111
+ }
112
+ /**
113
+ * ```js
114
+ * import { getCollection } from "@esri/hub-common";
115
+ * //
116
+ * getCollection('Feature Layer')
117
+ * > 'dataset'
118
+ * ```
119
+ * Get the Hub collection for a given item type
120
+ * @param itemType The ArcGIS [item type](https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm).
121
+ * @returns the Hub collection of a given item type.
122
+ */
123
+ export function getCollection(itemType = "") {
124
+ if (cache[itemType]) {
125
+ return cache[itemType];
126
+ }
127
+ for (const collection of Object.keys(collections)) {
128
+ for (const type of collections[collection]) {
129
+ if (itemType.toLowerCase() === type.toLowerCase()) {
130
+ cache[itemType] = collection;
131
+ return collection;
132
+ }
133
+ }
134
+ }
135
+ }
136
+ /**
137
+ * Case-insensitive check if the type is "Feature Service"
138
+ * @param {string} type - item's type
139
+ * @returns {boolean}
140
+ */
141
+ export const isFeatureService = (type) => {
142
+ return type && type.toLowerCase() === "feature service";
143
+ };
144
+ /**
145
+ * parse layer id from a service URL
146
+ * @param {string} url
147
+ * @returns {string} layer id
148
+ */
149
+ export const getLayerIdFromUrl = (url) => {
150
+ const endsWithNumberSegmentRegEx = /\/\d+$/;
151
+ const matched = url && url.match(endsWithNumberSegmentRegEx);
152
+ return matched && matched[0].slice(1);
153
+ };
154
+ /**
155
+ * return the layerId if we can tell that item is a single layer service
156
+ * @param {*} item from AGO
157
+ * @returns {string} layer id
158
+ */
159
+ export const getItemLayerId = (item) => {
160
+ // try to parse it from the URL, but failing that we check for
161
+ // the Singlelayer typeKeyword, which I think is set when you create the item in AGO
162
+ // but have not verified that, nor that we should alway return '0' in that case
163
+ return (getLayerIdFromUrl(item.url) ||
164
+ (isFeatureService(item.type) &&
165
+ includes(item.typeKeywords, "Singlelayer") &&
166
+ "0"));
167
+ };
168
+ /**
169
+ * given an item, get the id to use w/ the Hub API
170
+ * @param item
171
+ * @returns Hub API id (hubId)
172
+ */
173
+ export const getItemHubId = (item) => {
174
+ if (item.access !== "public") {
175
+ // the hub only indexes public items
176
+ return;
177
+ }
178
+ const id = item.id;
179
+ const layerId = getItemLayerId(item);
180
+ return layerId ? `${id}_${layerId}` : id;
181
+ };
182
+ /**
183
+ * ```js
184
+ * import { getContentIdentifier } from "@esri/hub-common";
185
+ * //
186
+ * getContentIdentifier(content, site)
187
+ * > 'f12hhjk32' // id
188
+ * // OR
189
+ * > 'content-slug' // human-readable slug
190
+ * ```
191
+ * Returns the preferred identifier for a piece of content (determined by content type):
192
+ * - Content from the 'template' and 'feedback' families return the standard id field
193
+ * - Pages that are linked to the site parameter will return the slug defined by the site. Otherwise, the page id will be returned
194
+ * - All other content will return the highest available item in the following hierarchy:
195
+ * 1. slug - includes org prefix if the site parameter is a portal or has an orgKey different from the slug prefix
196
+ * 2. hubId
197
+ * 3. id
198
+ * @param content The IHubContent item
199
+ * @param site The site to compare content against
200
+ * @returns the preferred id for the given content.
201
+ */
202
+ export function getContentIdentifier(content, site) {
203
+ // We don't currently support slugs for hub initiative templates, solutions or surveys
204
+ if (includes(["template", "feedback"], content.family)) {
205
+ return content.id;
206
+ }
207
+ // If it is a hub page linked to a site, return the page slug at the
208
+ // site data instead. Because this one is the original one that was used
209
+ // to create the page url (not mutable once created) and the slug (below)
210
+ // generated by the hub-indexer could simply change with page name.
211
+ if (isPageContent(content)) {
212
+ // check if the page is linked to the current site
213
+ const pages = getProp(site, "data.values.pages") || [];
214
+ // if so, return the page slug otherwise the page id
215
+ const page = pages.find((p) => p.id === content.id);
216
+ return page ? page.slug : content.id;
217
+ }
218
+ // If a slug is present, always return it
219
+ if (content.slug) {
220
+ let slug;
221
+ const orgKey = getProp(site, "domainInfo.orgKey");
222
+ // Use namespaced slug when on the umbrella site
223
+ if (getProp(site, "data.values.isUmbrella")) {
224
+ slug = content.slug;
225
+ }
226
+ else {
227
+ // Use shortened slug if the slug's namespace is the same as the orgKey
228
+ slug = removeContextFromSlug(content.slug, orgKey);
229
+ }
230
+ return slug;
231
+ }
232
+ return content.hubId || content.id;
233
+ }
234
+ //////////////////////
235
+ // Slug Helpers
236
+ //////////////////////
237
+ /**
238
+ * Parse item ID and layer ID (if any) from dataset record ID
239
+ *
240
+ * @param datasetId Hub API dataset record id ({itemId}_{layerId} or {itemId})
241
+ * @returns A hash with the `itemId` and `layerId` (if any)
242
+ */
243
+ export function parseDatasetId(datasetId) {
244
+ const [itemId, layerId] = datasetId ? datasetId.split("_") : [];
245
+ return { itemId, layerId };
246
+ }
247
+ /**
248
+ * Determine if an identifier is a Hub API slug
249
+ *
250
+ * @param identifier Hub API slug ({orgKey}::{title-as-slug} or {title-as-slug})
251
+ * or record id ((itemId}_{layerId} or {itemId})
252
+ * @returns true if the identifier is valid _and_ is **not** a record id
253
+ */
254
+ export function isSlug(identifier) {
255
+ const { itemId } = parseDatasetId(identifier);
256
+ if (!itemId || isGuid(itemId)) {
257
+ // it's either invalid, or an item id, or a dataset id
258
+ return false;
259
+ }
260
+ // otherwise assume it's a slug
261
+ return true;
262
+ }
263
+ /**
264
+ * Add a context (prefix) to slug if it doesn't already have one
265
+ *
266
+ * @param slug Hub API slug (with or without context)
267
+ * @param context usually a portal's orgKey
268
+ * @returns slug with context ({context}::{slug})
269
+ */
270
+ export function addContextToSlug(slug, context) {
271
+ // the slug has an org key already e.g. dc::crime-incidents
272
+ if (/.+::.+/.test(slug)) {
273
+ return slug;
274
+ // the slug belongs to the org that owns the site e.g. crime-incidents
275
+ }
276
+ else {
277
+ return `${context}::${slug}`;
278
+ }
279
+ }
280
+ /**
281
+ * Remove context (prefix) from a slug
282
+ *
283
+ * @param slug Hub API slug with context
284
+ * @param context usually a portal's orgKey
285
+ * @returns slug without context
286
+ */
287
+ export function removeContextFromSlug(slug, context) {
288
+ if (context && slug.match(`${context}::`)) {
289
+ return slug.split(`${context}::`)[1];
290
+ }
291
+ else {
292
+ return slug;
293
+ }
294
+ }
295
+ /**
296
+ * Splits item category strings at slashes and discards the "Categories" keyword
297
+ *
298
+ * ```
299
+ * ["/Categories/Boundaries", "/Categories/Planning and cadastre/Property records", "/Categories/Structure"]
300
+ * ```
301
+ * Should end up being
302
+ * ```
303
+ * ["Boundaries", "Planning and cadastre", "Property records", "Structure"]
304
+ * ```
305
+ *
306
+ * @param categories - an array of strings
307
+ * @private
308
+ */
309
+ export function parseItemCategories(categories) {
310
+ if (!categories)
311
+ return categories;
312
+ const exclude = ["categories", ""];
313
+ const parsed = categories.map((cat) => cat.split("/"));
314
+ const flattened = parsed.reduce((acc, arr, _) => [...acc, ...arr], []);
315
+ return flattened.filter((cat) => !includes(exclude, cat.toLowerCase()));
316
+ }
317
+ /**
318
+ * return the Hub family given an item's type
319
+ * @param type item type
320
+ * @returns Hub family
321
+ */
322
+ export function getFamily(type) {
323
+ let family;
324
+ // override default behavior for the rows that are highlighted in yellow here:
325
+ // https://esriis.sharepoint.com/:x:/r/sites/ArcGISHub/_layouts/15/Doc.aspx?sourcedoc=%7BADA1C9DC-4F6C-4DE4-92C6-693EF9571CFA%7D&file=Hub%20Routes.xlsx&nav=MTBfe0VENEREQzI4LUZFMDctNEI0Ri04NjcyLThCQUE2MTA0MEZGRn1fezIwMTIwMEJFLTA4MEQtNEExRC05QzA4LTE5MTAzOUQwMEE1RH0&action=default&mobileredirect=true&cid=df1c874b-c367-4cea-bc13-7bebfad3f2ac
326
+ switch ((type || "").toLowerCase()) {
327
+ case "image service":
328
+ family = "dataset";
329
+ break;
330
+ case "feature service":
331
+ case "raster layer":
332
+ // TODO: check if feature service has > 1 layer first?
333
+ family = "map";
334
+ break;
335
+ case "microsoft excel":
336
+ family = "document";
337
+ break;
338
+ case "cad drawing":
339
+ case "feature collection template":
340
+ case "report template":
341
+ family = "content";
342
+ break;
343
+ default:
344
+ // by default derive from collection
345
+ family = collectionToFamily(getCollection(type));
346
+ }
347
+ return family;
348
+ }
349
+ /**
350
+ * DEPRECATED: Use getFamily() instead.
351
+ *
352
+ * get the HubType for a given item or item type
353
+ *
354
+ * @param itemOrType an item or item.type
355
+ */
356
+ export function getItemHubType(itemOrType) {
357
+ /* tslint:disable no-console */
358
+ console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0");
359
+ /* tslint:enable no-console */
360
+ if (typeof itemOrType === "string") {
361
+ itemOrType = { type: itemOrType };
362
+ }
363
+ const itemType = normalizeItemType(itemOrType);
364
+ // TODO: not all categories are Hub types, may need to validate
365
+ return getCollection(itemType);
366
+ }
367
+ /**
368
+ * Convert a Portal item to Hub content
369
+ *
370
+ * @param item Portal Item
371
+ * @returns Hub content
372
+ * @export
373
+ */
374
+ export function itemToContent(item) {
375
+ const createdDate = new Date(item.created);
376
+ const createdDateSource = "item.created";
377
+ const properties = item.properties;
378
+ const content = Object.assign({}, item, {
379
+ identifier: item.id,
380
+ // no server errors when fetching the item directly
381
+ errors: [],
382
+ // store a reference to the item
383
+ item,
384
+ // NOTE: this will overwrite any existing item.name, which is
385
+ // The file name of the item for file types. Read-only.
386
+ // presumably there to use as the default file name when downloading
387
+ // we don't store item.name in the Hub API and we use name for title
388
+ name: item.title,
389
+ // TODO: hubType is no longer used, remove it at next breaking change
390
+ hubType: getItemHubType(item),
391
+ categories: parseItemCategories(item.categories),
392
+ itemCategories: item.categories,
393
+ // can we strip HTML from description, and do we need to trim it to a X chars?
394
+ summary: item.snippet || item.description,
395
+ publisher: {
396
+ name: item.owner,
397
+ username: item.owner,
398
+ },
399
+ permissions: {
400
+ visibility: item.access,
401
+ control: item.itemControl || "view",
402
+ },
403
+ // Hub app configuration metadata from item properties
404
+ actionLinks: properties && properties.links,
405
+ hubActions: properties && properties.actions,
406
+ metrics: properties && properties.metrics,
407
+ isDownloadable: isDownloadable(item),
408
+ // default boundary from item.extent
409
+ license: { name: "Custom License", description: item.accessInformation },
410
+ // dates and sources we will enrich these later...
411
+ createdDate,
412
+ createdDateSource,
413
+ publishedDate: createdDate,
414
+ publishedDateSource: createdDateSource,
415
+ updatedDate: new Date(item.modified),
416
+ updatedDateSource: "item.modified",
417
+ structuredLicense: getStructuredLicense(item.licenseInfo),
418
+ });
419
+ return setContentExtent(setContentType(content, item.type), item.extent);
420
+ }
421
+ /**
422
+ * Convert a Hub API dataset resource to Hub Content
423
+ *
424
+ * @param {DatasetResource} Dataset resource
425
+ * @returns {IHubContent} Hub content object
426
+ * @export
427
+ */
428
+ export function datasetToContent(dataset) {
429
+ // extract item from dataset, create content from the item
430
+ const item = datasetToItem(dataset);
431
+ const content = itemToContent(item);
432
+ // We remove these because the indexer doesn't actually
433
+ // preserve the original item categories so this attribute is invalid
434
+ delete content.itemCategories;
435
+ // overwrite or add enrichments from Hub API
436
+ const { id: hubId, attributes } = dataset;
437
+ const {
438
+ // common enrichments
439
+ errors, boundary, extent, metadata, modified, modifiedProvenance, slug, searchDescription, groupIds,
440
+ // map and feature server enrichments
441
+ server, layers,
442
+ // NOTE: the Hub API also returns the following server properties
443
+ // but we should be able to get them from the above server object
444
+ // currentVersion, capabilities, tileInfo, serviceSpatialReference
445
+ // maxRecordCount, supportedQueryFormats, etc
446
+ // feature and raster layer enrichments
447
+ layer, recordCount, statistics,
448
+ // NOTE: the Hub API also returns the following layer properties
449
+ // but we should be able to get them from the above layer object
450
+ // supportedQueryFormats, supportsAdvancedQueries, advancedQueryCapabilities, useStandardizedQueries
451
+ // geometryType, objectIdField, displayField, fields,
452
+ // org properties?
453
+ orgId, orgName, organization, orgExtent,
454
+ // NOTE: for layers and tables the Hub API returns the layer type
455
+ // ("Feature Layer", "Table", "Raster Layer") instead of the item type
456
+ type, } = attributes;
457
+ // NOTE: we could throw or return if there are errors
458
+ // to prevent type errors trying to read properties below
459
+ content.errors = errors;
460
+ // common enrichments
461
+ content.boundary = boundary;
462
+ if (!isBBox(item.extent) && extent && isBBox(extent.coordinates)) {
463
+ // we fall back to the extent derived by the API
464
+ // which prefers layer or service extents and ultimately
465
+ // falls back to the org's extent
466
+ content.extent = extent.coordinates;
467
+ }
468
+ // setting this to null signals to enrichMetadata to skip this
469
+ content.metadata = metadata || null;
470
+ if (content.modified !== modified) {
471
+ // capture the enriched modified date
472
+ // NOTE: the item modified date is still available on content.item.modified
473
+ content.modified = modified;
474
+ content.updatedDate = new Date(modified);
475
+ content.updatedDateSource = modifiedProvenance;
476
+ }
477
+ content.slug = slug;
478
+ if (searchDescription) {
479
+ // overwrite default summary (from snippet) w/ search description
480
+ content.summary = searchDescription;
481
+ }
482
+ content.groupIds = groupIds;
483
+ // server enrichments
484
+ content.server = server;
485
+ content.layers = layers;
486
+ // layer enrichments
487
+ content.layer = layer;
488
+ content.recordCount = recordCount;
489
+ content.statistics = statistics;
490
+ // org enrichments
491
+ if (orgId) {
492
+ content.org = {
493
+ id: orgId,
494
+ name: orgName || organization,
495
+ extent: orgExtent,
496
+ };
497
+ }
498
+ // return a content with updated hubId and type
499
+ // along w/ related properties like identifier, family, etc
500
+ return setContentType(setContentHubId(content, hubId), type);
501
+ }
502
+ /**
503
+ * Convert a Hub API dataset resource to a portal item
504
+ *
505
+ * @param {DatasetResource} Dataset resource
506
+ * @returns {IItem} portal item
507
+ * @export
508
+ */
509
+ export function datasetToItem(dataset) {
510
+ if (!dataset) {
511
+ return;
512
+ }
513
+ const { id, attributes } = dataset;
514
+ if (!attributes) {
515
+ return;
516
+ }
517
+ // parse item id
518
+ const { itemId } = parseDatasetId(id);
519
+ // read item properties from attributes
520
+ // NOTE: we attempt to read all item properties
521
+ // even though some may not be currently returned
522
+ const {
523
+ // start w/ item properties from
524
+ // https://developers.arcgis.com/rest/users-groups-and-items/item.htm
525
+ owner, orgId, created,
526
+ // the Hub API returns item.modified in attributes.itemModified (below)
527
+ modified,
528
+ // NOTE: we use attributes.name to store the title or the service/layer name
529
+ // but in Portal name is only used for file types to store the file name (read only)
530
+ name, title, type, typeKeywords, description, snippet, tags, thumbnail,
531
+ // the Hub API returns item.extent in attributes.itemExtent (below)
532
+ // extent,
533
+ categories, contentStatus,
534
+ // the Hub API doesn't currently return spatialReference
535
+ spatialReference,
536
+ // the Hub API doesn't currently return accessInformation
537
+ accessInformation, licenseInfo, culture, url, access,
538
+ // the Hub API doesn't currently return proxyFilter
539
+ proxyFilter, properties,
540
+ // the Hub API doesn't currently return appCategories, industries,
541
+ // languages, largeThumbnail, banner, screenshots, listed, ownerFolder
542
+ appCategories, industries, languages, largeThumbnail, banner, screenshots, listed, ownerFolder, size,
543
+ // the Hub API doesn't currently return protected
544
+ protected: isProtected, commentsEnabled,
545
+ // the Hub API doesn't currently return numComments, numRatings,
546
+ // avgRating, numViews, itemControl, scoreCompleteness
547
+ numComments, numRatings, avgRating, numViews, itemControl, scoreCompleteness,
548
+ // additional attributes we'll need
549
+ // to derive the above values when missing
550
+ itemExtent, itemModified, modifiedProvenance, serviceSpatialReference, } = attributes;
551
+ // layer datasets will get their type from the layer
552
+ // so we will need to derive the item type from the URL
553
+ const serviceType = url && getServiceTypeFromUrl(url);
554
+ // build and return an item from properties
555
+ // NOTE: we currently do NOT provide default values
556
+ // (i.e. null for scalar attributes, [] for arrays, etc)
557
+ // for attributes that are not returned by the Hub API
558
+ // this helps distinguish an item that comes from the API
559
+ // but forces all consumers to do handle missing properties
560
+ return {
561
+ id: itemId,
562
+ owner: owner,
563
+ orgId,
564
+ created: created,
565
+ // for feature layers, modified will usually come from the layer so
566
+ // we prefer itemModified, but fall back to modified if it came from the item
567
+ modified: (itemModified ||
568
+ (modifiedProvenance === "item.modified" && modified)),
569
+ title: (title || name),
570
+ type: serviceType || type,
571
+ typeKeywords,
572
+ description,
573
+ tags,
574
+ snippet,
575
+ thumbnail,
576
+ extent: itemExtent ||
577
+ /* istanbul ignore next: API should always return itemExtent, but we default to [] just in case */ [],
578
+ categories,
579
+ contentStatus,
580
+ spatialReference: spatialReference || serviceSpatialReference,
581
+ accessInformation,
582
+ licenseInfo,
583
+ culture,
584
+ url,
585
+ access,
586
+ size,
587
+ protected: isProtected,
588
+ proxyFilter,
589
+ properties,
590
+ appCategories,
591
+ industries,
592
+ languages,
593
+ largeThumbnail,
594
+ banner,
595
+ screenshots,
596
+ listed,
597
+ ownerFolder,
598
+ commentsEnabled,
599
+ numComments,
600
+ numRatings,
601
+ avgRating,
602
+ numViews,
603
+ itemControl,
604
+ scoreCompleteness,
605
+ };
606
+ }
607
+ /**
608
+ * returns a new content that has the specified type and
609
+ * and updated related properties like normalizedType, family, etc
610
+ * @param content orignal content
611
+ * @param type new type
612
+ * @returns new content
613
+ */
614
+ export const setContentType = (content, type) => {
615
+ // get family and normalized type based on new type
616
+ const normalizedType = normalizeItemType(Object.assign(Object.assign({}, content.item), { type }));
617
+ const family = getFamily(normalizedType);
618
+ const contentTypeIcon = getContentTypeIcon(normalizedType);
619
+ const contentTypeLabel = getContentTypeLabel(normalizedType, content.isProxied);
620
+ // TODO: don't we need to update content.item.type too?
621
+ const updated = Object.assign(Object.assign({}, content), { type,
622
+ family,
623
+ normalizedType,
624
+ contentTypeIcon,
625
+ contentTypeLabel });
626
+ // update the relative URL to the content
627
+ // which is based on type and family
628
+ return appendContentUrls(updated, {
629
+ relative: getContentRelativeUrl(updated),
630
+ });
631
+ };
632
+ /**
633
+ * Compute the content type icon based on the normalizedType
634
+ * @param normalizedType
635
+ * @returns content type icon
636
+ */
637
+ export const getContentTypeIcon = (normalizedType) => {
638
+ var _a;
639
+ const type = camelize(normalizedType || "");
640
+ const iconMap = {
641
+ appbuilderExtension: "file",
642
+ appbuilderWidgetPackage: "widgets-source",
643
+ application: "web",
644
+ arcgisProMap: "desktop",
645
+ cadDrawing: "file-cad",
646
+ cityEngineWebScene: "urban-model",
647
+ codeAttachment: "file-code",
648
+ colorSet: "palette",
649
+ contentCategorySet: "label",
650
+ cSV: "file-csv",
651
+ cSVCollection: "file-csv",
652
+ dashboard: "dashboard",
653
+ desktopApplication: "desktop",
654
+ documentLink: "link",
655
+ excaliburImageryProject: "file",
656
+ explorerMap: "file",
657
+ exportPackage: "file",
658
+ featureCollection: "data",
659
+ featureCollectionTemplate: "file",
660
+ featureLayer: "data",
661
+ featureService: "collection",
662
+ fileGeodatabase: "data",
663
+ form: "survey",
664
+ geocodingService: "file",
665
+ geodataService: "file",
666
+ geometryService: "file",
667
+ geopackage: "file",
668
+ geoprocessingService: "file",
669
+ globeLayer: "layers",
670
+ globeService: "file",
671
+ hubInitiative: "mountain-summit-nocap",
672
+ hubInitiativeTemplate: "initiative-template-outlines-thick",
673
+ hubPage: "browser",
674
+ hubSiteApplication: "web",
675
+ image: "file-image",
676
+ imageService: "data",
677
+ insightsModel: "file",
678
+ insightsPage: "graph-moving-average",
679
+ insightsTheme: "palette",
680
+ insightsWorkbook: "graph-moving-average",
681
+ iWorkPages: "file-text",
682
+ iWorkKeynote: "presentation",
683
+ iWorkNumbers: "file-report",
684
+ kML: "data",
685
+ kMLCollection: "data",
686
+ layer: "layers",
687
+ layerPackage: "layers",
688
+ locatorPackage: "file",
689
+ mapArea: "file",
690
+ mapDocument: "map-contents",
691
+ mapImageLayer: "collection",
692
+ mapPackage: "file",
693
+ mapService: "collection",
694
+ microsoftExcel: "file-report",
695
+ microsoftPowerpoint: "presentation",
696
+ microsoftWord: "file-text",
697
+ mission: "file",
698
+ mobileMapPackage: "map-contents",
699
+ nativeApplication: "mobile",
700
+ nativeApplicationInstaller: "file",
701
+ nativeApplicationTemplate: "file",
702
+ mobileApplication: "mobile",
703
+ networkAnalysisService: "file",
704
+ notebook: "code",
705
+ orientedImageryCatalog: "file",
706
+ orthoMappingProject: "file",
707
+ orthoMappingTemplate: "file",
708
+ pDF: "file-pdf",
709
+ quickCaptureProject: "mobile",
710
+ rasterLayer: "map",
711
+ realTimeAnalytic: "file",
712
+ relationalDatabaseConnection: "file",
713
+ reportTemplate: "file",
714
+ sceneLayer: "data",
715
+ sceneService: "urban-model",
716
+ serviceDefinition: "file",
717
+ shapefile: "data",
718
+ solution: "solutions",
719
+ sqliteGeodatabase: "file",
720
+ statisticalDataCollection: "file",
721
+ storyMap: "tour",
722
+ symbolSet: "file",
723
+ table: "table",
724
+ urbanModel: "urban-model",
725
+ vectorTileService: "map",
726
+ visioDocument: "conditional-rules",
727
+ webExperience: "apps",
728
+ webMap: "map",
729
+ webMappingApplication: "apps",
730
+ webScene: "urban-model",
731
+ wFS: "map",
732
+ wMS: "map",
733
+ wMTS: "map",
734
+ workflowManagerService: "file",
735
+ workforceProject: "list-check",
736
+ };
737
+ return (_a = iconMap[type]) !== null && _a !== void 0 ? _a : "file";
738
+ };
739
+ /**
740
+ * Compute the content type label
741
+ * @param normalizedType
742
+ * @param isProxied
743
+ * @returns content type label
744
+ */
745
+ export const getContentTypeLabel = (normalizedType, isProxied) => {
746
+ return isProxied ? "CSV" : camelize(normalizedType || "");
747
+ };
748
+ /**
749
+ * returns a new content that has the specified hubId and updated identifier
750
+ * @param content orignal content
751
+ * @param hubId new hubId
752
+ * @returns new content
753
+ */
754
+ export const setContentHubId = (content, hubId) => {
755
+ const { id, slug } = content;
756
+ // get the identifier which is based on hubId
757
+ const identifier = slug || hubId || id;
758
+ const updated = Object.assign(Object.assign({}, content), { hubId, identifier });
759
+ // update the relative URL to the content
760
+ // which is based on identifier
761
+ return appendContentUrls(updated, {
762
+ relative: getContentRelativeUrl(updated),
763
+ });
764
+ };
765
+ /**
766
+ * Calculates the relative and absolute urls for a given content on a specific site
767
+ *
768
+ * @param content
769
+ * @param siteModel
770
+ * @returns relative and absolute urls
771
+ */
772
+ export const getContentSiteUrls = (content, siteModel) => {
773
+ // compute relative URL using a site specific identifier
774
+ const siteIdentifier = getContentIdentifier(content, siteModel);
775
+ const relative = getContentRelativeUrl(content, siteIdentifier);
776
+ // get the absolute URL to this content on the site
777
+ const siteUrl = getProp(siteModel, "item.url").replace(/\/$/, "");
778
+ const absolute = `${siteUrl}${relative}`;
779
+ return { relative, absolute };
780
+ };
781
+ /**
782
+ * append the absolute URL to the content on the site
783
+ * also updates the relative URL in case the
784
+ * @param content
785
+ * @param siteModel
786
+ * @returns
787
+ */
788
+ export const setContentSiteUrls = (content, siteModel) => {
789
+ const { relative, absolute: site } = getContentSiteUrls(content, siteModel);
790
+ // append the updated URLs to a new content
791
+ return appendContentUrls(content, {
792
+ relative,
793
+ site,
794
+ });
795
+ };
796
+ // URL helpers
797
+ const appendContentUrls = (content, newUrls) => {
798
+ // merge new urls into existing ones and return a new content
799
+ const urls = Object.assign(Object.assign({}, content.urls), newUrls);
800
+ return Object.assign(Object.assign({}, content), { urls });
801
+ };
802
+ const getContentRelativeUrl = (content, siteIdentifier) => {
803
+ const { family } = content;
804
+ // prefer site specific identifier if passed in
805
+ const identifier = siteIdentifier || content.identifier;
806
+ // solution types have their own logic
807
+ let contentUrl = getSolutionUrl(content);
808
+ if (!contentUrl) {
809
+ const pluralizedFamilies = [
810
+ "app",
811
+ "dataset",
812
+ "document",
813
+ "map",
814
+ "template",
815
+ ];
816
+ // default to the catchall content route
817
+ let path = "/content";
818
+ if (content.family === "feedback") {
819
+ // exception
820
+ path = "/feedback/surveys";
821
+ }
822
+ else if (isPageContent(content)) {
823
+ // pages are in the document family,
824
+ // but instead of showing the page's metadata on /documents/about
825
+ // but we render the page on the pages route
826
+ path = "/pages";
827
+ }
828
+ else if (pluralizedFamilies.indexOf(family) > -1) {
829
+ // the rule
830
+ path = `/${family}s`;
831
+ }
832
+ contentUrl = `${path}/${identifier}`;
833
+ }
834
+ return contentUrl;
835
+ };
836
+ const getSolutionUrl = (content) => {
837
+ var _a;
838
+ let hubUrl;
839
+ const { normalizedType, identifier } = content;
840
+ if (normalizedType === "Solution") {
841
+ // NOTE: as per the above spreadsheet,
842
+ // solution types are now in the Template family
843
+ // but we don't send them to the route for initiative templates
844
+ if (((_a = content.typeKeywords) === null || _a === void 0 ? void 0 : _a.indexOf("Deployed")) > 0) {
845
+ // deployed solutions go to the generic content route
846
+ hubUrl = `/content/${identifier}`;
847
+ }
848
+ // others go to the solution about route
849
+ hubUrl = `/templates/${identifier}/about`;
850
+ }
851
+ return hubUrl;
852
+ };
853
+ // page helpers
854
+ // TODO: we check both "Hub Page" and "Site Page" because we don't know whether the site is a portal or not
855
+ // In the future, the site object will have a site.isPortal() function that we can leverage
856
+ // instead of hardcoding the types here.
857
+ // TODO: should this be based on normalizedType instead?
858
+ const isPageContent = (content) => includes(["Hub Page", "Site Page"], content.type);
859
+ //# sourceMappingURL=index.js.map