@esri/solution-deployer 1.2.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/solution-deployer - v1.2.0 - Apache-2.0
3
- * Copyright (c) 2018-2021 Esri, Inc.
4
- * Thu Dec 09 2021 16:06:14 GMT-0800 (Pacific Standard Time)
2
+ * @esri/solution-deployer - v1.3.2 - Apache-2.0
3
+ * Copyright (c) 2018-2022 Esri, Inc.
4
+ * Thu Mar 03 2022 14:40:59 GMT-0800 (Pacific Standard Time)
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -15,5 +15,5 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common"),require("@esri/solution-feature-layer"),require("@esri/solution-file"),require("@esri/solution-form"),require("@esri/solution-group"),require("@esri/solution-simple-types"),require("@esri/solution-storymap"),require("@esri/solution-velocity"),require("@esri/solution-web-experience"),require("@esri/solution-hub-types"),require("@esri/hub-common"),require("@esri/arcgis-rest-portal")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common","@esri/solution-feature-layer","@esri/solution-file","@esri/solution-form","@esri/solution-group","@esri/solution-simple-types","@esri/solution-storymap","@esri/solution-velocity","@esri/solution-web-experience","@esri/solution-hub-types","@esri/hub-common","@esri/arcgis-rest-portal"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisHub,e.arcgisRest)}(this,(function(e,t,r,i,o,s,n,a,l,c,p,u,d){"use strict";function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var g=m(t),f=m(r),y=m(i),h=m(o),I=m(s),P=m(d);const b=null,S={Group:I,"Big Data Analytic":l.VelocityProcessor,"Feature Collection":n.simpleTypes,"Feature Service":f,Feed:l.VelocityProcessor,"Geocoding Service":void 0,"Geodata Service":void 0,"Geometry Service":void 0,"Geoprocessing Service":void 0,"Globe Service":void 0,"Image Service":void 0,KML:void 0,"Map Service":f,"Network Analysis Service":void 0,"Real Time Analytic":l.VelocityProcessor,"Relational Database Connection":void 0,"Scene Service":void 0,"Stream Service":void 0,Tool:void 0,"Vector Tile Service":void 0,WFS:void 0,WMS:void 0,WMTS:void 0,"Workflow Manager Service":void 0,"3D Web Scene":void 0,"Web Map":n.simpleTypes,"Web Scene":n.simpleTypes,Application:void 0,Dashboard:n.simpleTypes,"Data Store":void 0,"Desktop Application":void 0,"Excalibur Imagery Project":void 0,Form:h,"Hub Initiative":b,"Hub Page":p.HubPageProcessor,"Hub Site Application":p.HubSiteProcessor,"Insights Model":n.simpleTypes,"Insights Page":void 0,"Insights Theme":void 0,"Insights Workbook":void 0,Mission:void 0,"Mobile Application":void 0,Notebook:n.notebookProcessor,"Oriented Imagery Catalog":n.simpleTypes,"Ortho Mapping Project":void 0,"QuickCapture Project":n.quickcaptureProcessor,"Site Application":p.HubSiteProcessor,"Site Page":p.HubPageProcessor,Solution:b,StoryMap:a.StoryMapProcessor,"Urban Model":void 0,"Web Experience Template":void 0,"Web Experience":c.WebExperienceProcessor,"Web Mapping Application":n.simpleTypes,"Workforce Project":n.simpleTypes,"360 VR Experience":y,"AppBuilder Extension":y,"AppBuilder Widget Package":y,"Application Configuration":y,"ArcGIS Pro Add In":y,"ArcGIS Pro Configuration":y,"ArcPad Package":y,"Basemap Package":y,"CAD Drawing":y,"CityEngine Web Scene":y,"Code Attachment":b,"Code Sample":y,"Color Set":y,"Compact Tile Package":y,"CSV Collection":y,CSV:y,"Deep Learning Package":y,"Desktop Add In":y,"Desktop Application Template":y,"Desktop Style":y,"Document Link":y,"Explorer Add In":y,"Explorer Layer":y,"Explorer Map":y,"Feature Collection Template":y,"File Geodatabase":y,GeoJson:y,GeoPackage:y,"Geoprocessing Package":y,"Geoprocessing Sample":y,"Globe Document":y,"Image Collection":y,Image:y,"iWork Keynote":y,"iWork Numbers":y,"iWork Pages":y,"KML Collection":y,"Layer Package":y,"Layer Template":y,Layer:y,Layout:y,"Locator Package":y,"Map Document":y,"Map Package":y,"Map Template":y,"Microsoft Excel":y,"Microsoft Powerpoint":y,"Microsoft Word":y,"Mobile Basemap Package":y,"Mobile Map Package":y,"Mobile Scene Package":y,"Native Application":y,"Native Application Installer":y,"Native Application Template":y,netCDF:y,"Operation View":y,"Operations Dashboard Add In":y,"Operations Dashboard Extension":y,PDF:y,"Pro Layer Package":y,"Pro Layer":y,"Pro Map Package":y,"Pro Map":y,"Pro Report":y,"Project Package":y,"Project Template":y,"Published Map":y,"Raster function template":y,"Report Template":y,"Rule Package":y,"Scene Document":y,"Scene Package":y,"Service Definition":y,Shapefile:y,"Statistical Data Collection":y,Style:y,"Survey123 Add In":y,"Symbol Set":y,"Task File":y,"Tile Package":y,"Toolbox Package":y,"Vector Tile Package":y,"Viewer Configuration":y,"Visio Document":y,"Window Mobile Package":y,"Windows Mobile Package":y,"Windows Viewer Add In":y,"Windows Viewer Configuration":y,"Workflow Manager Package":y,Undefined:void 0,Unsupported:b};function v(e,t,r,i,o,s,n,a){return new Promise(((l,c)=>{const p=K(r)+1;let u=10;const d=(99-u)/p,m=[],f=[];let y=!0;const h=(e,t,r,i)=>{if(u+=d*r,a.progressCallback)if(t===g.EItemProgressStatus.Finished){const r={event:g.SItemProgressStatus[t],data:e};a.progressCallback(Math.round(u),a.jobId,r)}else a.progressCallback(Math.round(u),a.jobId);return a.consoleProgress&&console.log(Date.now(),e,a.jobId??"",g.SItemProgressStatus[t],u.toFixed(0)+"%",r,i?"==> "+i:""),t===g.EItemProgressStatus.Created?f.push(i):t===g.EItemProgressStatus.Failed&&(m.push(e),console.error("Item "+e+" has failed"),y=!1),y};g.getProp(o,"organization.isPortal")&&(r=k(r));const{buildOrder:I,itemsToBePatched:P}=g.topologicallySortItems(r),b=[];O(r,a.enableItemReuse??!1,o,n).then((()=>{A(r,g.getProp(o,"params.useExisting"),o,n).then((()=>{r=g.setNamesAndTitles(r,o.solutionItemId),I.forEach((s=>{const l=g.findTemplateInList(r,s);b.push(_(l,g.generateStorageFilePaths(e,t,l.resources,a.storageVersion),i,o,n,h))})),Promise.all(b).then((e=>{if(0===m.length)w(P,o,e),l(e);else{const e={consoleProgress:!0};g.deleteSolutionByComponents(s,f,r,o,n,e).then((()=>c(g.failWithIds(m))))}}))}))}),(e=>{console.error(e),c(g.fail(e))}))}))}function w(e,t,r){let i=Object.keys(e);i.length>0&&(i=i.map((e=>t[e].itemId)),r.forEach((e=>{i.includes(e.id)&&(e.postProcess=!0)})))}function k(e){const t=x(e);T(e,t);const r=E(t);let i=[];const o=[];return Object.keys(r).forEach((t=>{r[t].forEach((t=>{const r=g.findTemplateInList(e,t),s=g.getProp(r,"properties.syncViews");o.indexOf(r.itemId)>-1&&(i=i.concat(s)),s&&s.length>0&&g.setProp(r,"properties.syncViews",g.cloneObject(i)),i.indexOf(t)<0&&i.push(t),o.indexOf(r.itemId)<0&&o.push(r.itemId)})),i=[]})),e}function T(e,t){return t.forEach((t=>{t.dependencies.forEach((r=>{e=e.map((e=>(g.getProp(e,"properties.service.isView")&&e.dependencies.indexOf(r)>-1&&e.itemId!==t.id&&(Array.isArray(e.properties.syncViews)||(e.properties.syncViews=[]),e.properties.syncViews.indexOf(t.id)<0&&e.properties.syncViews.push(t.id)),e)))}))})),e}function E(e){const t={};return e.forEach((e=>{e.dependencies.forEach((r=>{Object.keys(t).indexOf(r)<0?t[r]=[e.id]:t[r].indexOf(e.id)<0&&t[r].push(e.id)}))})),t}function x(e){return e.reduce(((e,t)=>(g.getProp(t,"properties.service.isView")&&e.push({id:t.itemId,dependencies:t.dependencies}),e)),[])}function O(e,t,r,i){return new Promise(((o,s)=>{if(t){const t=W(e,r,i);Promise.all(t).then((t=>{const n=M(t,r,i,!0);Promise.all(n).then((t=>{M(t,r,i,!1),C(e,r,i).then(o)}),(e=>s(g.fail(e))))}),(e=>s(g.fail(e))))}else o(null)}))}function A(e,t,r,i){return new Promise((o=>{if(t){const t=[],s={},n=[];Object.keys(r.params).forEach((e=>{const o=r.params[e];o.itemId&&/[0-9A-F]{32}/i.test(e)&&(V(r,e,o.itemId,o),t.push(g.getItemBase(o.itemId,i)),s[o.itemId]=e,n.indexOf(e)<0&&n.push(e))})),j(t,s,i).then((()=>{C(n.map((t=>g.getTemplateById(e,t))),r,i).then(o)}))}else o(null)}))}function j(e,t,r){return new Promise((i=>{e.length>0?Promise.all(e).then((e=>{const o=[];e.forEach((e=>{const i=t[e.id];if(e&&i&&e.typeKeywords){const t=`source-${i}`,s=e.typeKeywords;if(s.indexOf(t)<0){s.push(t);const i={id:e.id,typeKeywords:s};o.push(g.updateItem(i,r))}}})),o.length>0?Promise.all(o).then(i,(()=>i(void 0))):i(void 0)}),(()=>i(void 0))):i(void 0)}))}function C(e,t,r){return new Promise((i=>{const o=[],s=[],n=[],a=[];e.forEach((e=>{const i=t[e.itemId];if(i&&i.url&&i.itemId){if("Feature Service"===e.item.type){const r=g.getProp(t,`params.${e.itemId}.enterpriseIDMapping`);Object.assign(t[e.itemId],g.getLayerSettings(g.getLayersAndTables(e),i.url,i.itemId,r)),g.getProp(e,"properties.service.hasViews")&&g._updateTemplateDictionaryFields(e,t,!1)}s.indexOf(i.url)<0&&(o.push("Feature Service"===e.item.type?g.rest_request(i.url,{authentication:r}):g.getItemBase(i.itemId,r)),s.push(i.url),n.push(e.item.type),a.push(i.itemId))}})),o.length>0?Promise.all(o.map((e=>e.catch((e=>e))))).then((e=>{if(Array.isArray(e)&&e.length>0){const o=[];e.forEach(((e,i)=>{e.serviceItemId&&"Feature Service"===n[i]?Object.keys(t).forEach((n=>{const a=t[n];if(a.itemId&&a.itemId===e.serviceItemId){g.setDefaultSpatialReference(t,n,e.spatialReference),g.setCreateProp(t,`${n}.defaultExtent`,e.fullExtent||e.initialExtent);const a=(e.layers||[]).map((e=>e.id)),l=(e.tables||[]).map((e=>e.id));o.push(g.getExistingLayersAndTables(s[i],a.concat(l),r))}})):("Feature Service"===n[i]||g.getProp(e,"response.error"))&&(t=F(t,a[i]))})),o.length>0?Promise.all(o).then((e=>{e.forEach((e=>{e.forEach((e=>{Object.keys(t).forEach((r=>{if(t[r].itemId===e.serviceItemId){let i="";Object.keys(t).some((r=>{if(t[r].itemId===e.serviceItemId)return i=r,!0}));const o=g.getProp(t,`params.${i}.enterpriseIDMapping`);o?Object.keys(o).forEach((i=>{o[i].toString()===e.id.toString()&&D(t,r,i,e.fields)})):D(t,r,e.id,e.fields)}}))}))})),i(null)})):i(null)}else i(null)})):i(null)}))}function D(e,t,r,i){const o=g.getProp(e,`${t}.layer${r}`);o&&i&&(o.fields=i)}function F(e,t){if(t){let r="";Object.keys(e).some((i=>{if(e[i].itemId===t)return r=i,!0})),""!==r&&delete e[r]}return e}function M(e,t,r,i){const o=[Promise.resolve(null)];return e&&Array.isArray(e)&&e.forEach((e=>{if(Array.isArray(e?.results)){let s;const n=e.results;if(1===n.length)s=n[0];else if(n.length>1)s=n.reduce(((e,t)=>e.created>t.created?e:t));else if(i&&e.query){const t=e.query.replace("typekeywords","tags");o.push(G(t,r))}if(s){const r=e.query?e.query.match(/[0-9A-F]{32}/i)[0]:e.sourceId;r&&V(t,r,s.id,s)}}})),o}function V(e,t,r,i){e[t]=Object.assign(e[t]||{},{def:Promise.resolve(g.generateEmptyCreationResponse(i.type,r)),itemId:r,name:i.name,title:i.title,url:i.url})}function W(e,t,r){const i=[];return e.forEach((e=>{if("Group"===e.item.type){const r=t.user?.groups;Array.isArray(r)&&i.push(Promise.resolve({results:r.filter((t=>t.tags.indexOf(`source-${e.itemId}`)>-1)).map((e=>(e.type="Group",e))),sourceId:e.itemId}))}else i.push(G(`typekeywords:source-${e.itemId} type:${e.item.type} owner:${t.user.username}`,r))})),i}function G(e,t){const r={q:e,authentication:t,pagingParam:{start:1,num:100}};return g.searchItems(r)}function _(e,t,r,i,o,s){if(e.dependencies=e.dependencies||[],!i.hasOwnProperty(e.itemId)||!g.getProp(i[e.itemId],"def")){let n,a,l=g.EItemProgressStatus.Unknown;i[e.itemId]=i[e.itemId]||{},i[e.itemId].def=new Promise((c=>{const p=e.dependencies.reduce(((e,t)=>{const r=g.getProp(i,`${t}.def`);return r&&e.push(r),e}),[]),u=g.getProp(e,"properties.syncViews"),d=u&&u.length>0?u.reduce(((e,t)=>{const r=g.getProp(i,`${t}.def`);return r&&e.push(r),e}),p):p;Promise.all(d).then((()=>{const i=e.type;if(a=S[i],!a||null===a)throw null===a?(l=g.EItemProgressStatus.Ignored,new Error):(l=g.EItemProgressStatus.Failed,new Error);return g.getThumbnailFromStorageItem(r,t)})).then((t=>(e.item.thumbnail=t,a.createItemFromTemplate(e,i,o,s)))).then((s=>{if(""===s.id)throw l=g.EItemProgressStatus.Failed,new Error("handled");return n=s,n.item.item.url&&g.setCreateProp(i,e.itemId+".url",n.item.item.url),t.length>0?g.copyFilesFromStorageItem(r,t,i.folderId,n.id,o,n.item):Promise.resolve(null)})).then((()=>{c(n)})).catch((t=>{t&&"handled"===t.message||s(e.itemId,l===g.EItemProgressStatus.Unknown?g.EItemProgressStatus.Failed:l,0),c(g.generateEmptyCreationResponse(e.type))}))}))}return i[e.itemId].def}function K(e){return e.reduce(((e,t)=>e+(t.estimatedDeploymentCostFactor||1)),0)}function R(e,r,i,o,s){const n=i.filter((e=>"Group"!==e.type)).map((t=>d.addItemRelationship({originItemId:e,destinationItemId:t.id,relationshipType:"Solution2Item",authentication:o}))),a=function(e,r,i){const o=e.filter((e=>e.groups&&e.groups.length>0));return Promise.all(o.map((e=>{const o=e.groups.reduce(((e,i)=>u.maybePush(t.getProp(r,`${i}.itemId`),e)),[]);if(!t.isTrackingViewTemplate(e)||t.getProp(r,"locationTracking.userIsOwner"))return t.shareItemToGroups(o,e.itemId,i);{const s=t.getProp(e,"item.properties.trackViewGroup"),n=t.getProp(r,"locationTracking.owner");if(s&&n){const a=o.filter((e=>e===t.replaceInTemplate(s,r)));if(a.length!==o.length){const r=o.filter((e=>e!==s));return Promise.all([t.shareItemToGroups(a,e.itemId,i,n),t.shareItemToGroups(r,e.itemId,i)])}return t.shareItemToGroups(o,e.itemId,i,n)}}})))}(r,s,o),l=i.filter((e=>e.postProcess)).reduce(((e,n)=>{const a=S[n.type];return a&&a.postProcess&&e.push(a.postProcess(n.id,n.type,i,t.getTemplateById(r,n.id),r,s,o)),e}),[]);return Promise.all([a].concat(l,n))}function $(e,r,i,o,s){return s.storageVersion=g.extractSolutionVersion(i),new Promise(((n,a)=>{const l=s.storageAuthentication?s.storageAuthentication:o,c=s.templateDictionary??{};let p,d;!function(e,t,r,i){["title","snippet","description","tags"].forEach((i=>{e[i]=e[i]??t[i],e[i]&&(t[i]=e[i],r[i]=e[i])})),!e.thumbnailurl&&t.thumbnail&&(e.thumbnailurl=g.generateSourceThumbnailUrl(i.portal,t.id,t.thumbnail),delete t.thumbnail)}(s,r,c,o),s.additionalTypeKeywords&&(r.typeKeywords=[].concat(r.typeKeywords,s.additionalTypeKeywords));let m="thumbnail",f=Promise.resolve(null);if(!s.thumbnail&&s.thumbnailurl){m=g.getFilenameFromUrl(s.thumbnailurl)||m;const e=g.appendQueryParam(s.thumbnailurl,"w=400");delete s.thumbnailurl,f=g.getBlobAsFile(e,m,l,[400])}!function(e,t){e.templates=e.templates.map((e=>{if("Feature Service"===e.type){const r="params.";e=q(e,"item.spatialReference.wkid",r,t);e=q(e,"properties.service.spatialReference.wkid",r,t)}return e}))}(i,c),Promise.all([g.getPortal("",o),g.getUser(o),g.getFoldersAndGroups(o),f]).then((e=>{const[t,n,a,l]=e;!s.thumbnail&&l&&(s.thumbnail=l),i.templates=i.templates.map((e=>{const t="source-"+e.itemId;return e.item&&(e.item.typeKeywords&&e.item.typeKeywords.push(t),e.item.tags&&"Group"===g.getProp(e,"item.type")&&e.item.tags.push(t)),e})),c.isPortal=t.isPortal,c.organization=Object.assign(c.organization||{},t),c.portalBaseUrl=function(e,t){const r="https",i=g.getProp(e,"urlKey"),o=g.getProp(e,"customBaseUrl"),s=g.getProp(e,"portalHostname");return i&&o?`${r}://${i}.${o}`:s?`${r}://${s}`:t.portal.replace("/sharing/rest","")}(t,o),c.user=n,c.user.folders=a.folders,c.user.groups=a.groups.filter((e=>e.owner===c.user.username)),g.setLocationTrackingEnabled(t,n,c,i.templates);const p=g.getTackingServiceOwner(c,o),u=g.createUniqueFolder(r.title,c,o),d=t.defaultExtent,m=g.convertExtentWithFallback(d,void 0,{wkid:4326},t.helperServices.geometry.url,o);return Promise.all([u,m,p])})).then((e=>{const[i,n,a]=e;p=i.folder.id,c.folderId=p,c.solutionItemExtent=n.xmin+","+n.ymin+","+n.xmax+","+n.ymax,c.organization.defaultExtentBBox=[[n.xmin,n.ymin],[n.xmax,n.ymax]],c.locationTrackingEnabled&&t.setCreateProp(c,"locationTracking.userIsOwner",a);const l={...g.sanitizeJSONAndReportChanges(r),type:"Solution",typeKeywords:["Solution"]};return s.additionalTypeKeywords&&(l.typeKeywords=["Solution"].concat(s.additionalTypeKeywords)),l.thumbnail=s.thumbnail,g.createItemWithData(l,{},o,p)})).then((e=>{d=e.id;const t={id:d,authentication:o};return P.protectItem(t)})).then((()=>(c.solutionItemId=d,r.id=d,r.tryitUrl=B(r.tryitUrl,e,d),r.url=B(r.url,e,d),v(l.portal,e,i.templates,l,c,d,o,s)))).then((e=>{var t,r;return i.templates=i.templates.map((e=>(e.itemId=g.getProp(c,`${e.itemId}.itemId`),e.dependencies=e.dependencies.map((e=>u.getWithDefault(c,`${e}.itemId`,e))),e))),t=i.templates,r=e.map((e=>e.id)),t.sort(((e,t)=>r.indexOf(e.itemId)-r.indexOf(t.itemId))),R(d,i.templates,e,o,c)})).then((()=>{r.typeKeywords=[].concat(r.typeKeywords,["Deployed"]);const e=r.typeKeywords.indexOf("Template");return e>=0&&r.typeKeywords.splice(e,1),i.templates=i.templates.map((e=>function(e){const t=["itemId","type","dependencies","groups"],r=Object.keys(e).filter((e=>t.indexOf(e)<0));return g.deleteProps(e,r),e}(e))),i.templates=function(e,t){const r=e.reduce(((e,t)=>("Group"===t.type&&e.push(t.itemId),e)),[]);return Object.keys(t).forEach((i=>{const o=t[i].itemId;r.indexOf(o)>-1&&e.forEach((e=>{e.groups=e.groups.map((e=>e===i?o:e))}))})),e}(i.templates,c),r.data=g.replaceInTemplate(i,c),c.params&&(r.data.params=c.params),g.updateItem(r,o,p)})).then((()=>n(r.id)),a)}))}function q(e,t,r,i){const o=g.getProp(e,t);return o&&"string"==typeof o&&o.indexOf(r)>-1&&g.setProp(e,t,g.replaceInTemplate(o,i)),e}function B(e,t,r){let i;if(e&&e.indexOf(t)>-1){const o=new RegExp(t,"g");i=e.replace(o,r)}else i=e;return i}function L(e,t){return"string"==typeof e?Promise.all([g.getItemBase(e,t),g.getItemDataAsJson(e,t)]).then((([e,t])=>g.migrateSchema({item:e,data:t}))):H(e)?g.migrateSchema(e):Promise.reject(g.fail("getSolutionTemplateItem must be passed an item id or a model object"))}function U(e,t,r){return e.jobId=e.jobId??t.id,e.title=e.title??t.title,e.snippet=e.snippet??t.snippet,e.description=e.description??t.description,e.tags=e.tags??t.tags,e.thumbnailurl=t.thumbnail?g.getItemThumbnailUrl(t.id,t.thumbnail,!1,r):null,e}function H(e){let t=!1;const r=e=>null!=e&&"string"!=typeof e&&!Array.isArray(e)&&"object"==typeof e;return r(e)&&(t=["item","data"].reduce(((t,i)=>(t&&(t=r(e[i])),t)),!0)),t}function N(e){const t=e.typeKeywords;let r=!1;return"Solution"===e.type&&t.indexOf("Solution")>-1&&(t.indexOf("Template")>-1||t.indexOf("solutionTemplate")>-1)&&(r=!0),"Web Mapping Application"===e.type&&t.indexOf("hubSolutionTemplate")>-1&&(r=!0),r}e.UNSUPPORTED=b,e._createItemFromTemplateWhenReady=_,e._estimateDeploymentCost=K,e._evaluateSharedViewSources=k,e._findExistingItem=G,e._findExistingItemByKeyword=W,e._flagPatchItemsForPostProcessing=w,e._getGroupUpdates=function(e,t,r){return(e.groups||[]).map((i=>g.shareItem(r[i].itemId,e.itemId,t,g.isTrackingViewTemplate(e)?r.locationTracking.owner:void 0)))},e._getViewHash=E,e._getViews=x,e._handleExistingItems=M,e._isModel=H,e._reuseDeployedItems=O,e._setFields=D,e._setTypekeywordForExisting=j,e._updateTemplateDictionary=C,e._updateTemplateDictionaryById=V,e._updateTemplateDictionaryForError=F,e._updateViewTemplates=T,e._useExistingItems=A,e.deploySolution=function(e,t,r){if(!e)return Promise.reject(g.fail("The Solution Template id is missing"));let i=r||{};i.progressCallback&&i.progressCallback(1,i.jobId);const o=i.storageAuthentication?i.storageAuthentication:t;return L(e,o).then((e=>N(e.item)?Promise.all([Promise.resolve(e.item),Promise.resolve(e.data)]):Promise.reject(g.fail(`${e.item.id} is not a Solution Template`)))).then((e=>{const[r,s]=e,n=new g.Sanitizer,a=g.sanitizeJSONAndReportChanges(r,n),l=s,c=a.id;return i=U(i,a,o),g.deleteItemProps(a),$(c,a,l,t,i)})).then((e=>(i.progressCallback&&i.progressCallback(100,i.jobId),e)),(e=>(i.progressCallback&&i.progressCallback(1,i.jobId),Promise.reject(e)))).catch((e=>{throw e}))},e.deploySolutionItems=v,e.getSolutionTemplateItem=L,e.isSolutionTemplateItem=N,e.moduleMap=S,e.updateDeployOptions=U,Object.defineProperty(e,"__esModule",{value:!0})}));
18
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common"),require("@esri/solution-feature-layer"),require("@esri/solution-file"),require("@esri/solution-form"),require("@esri/solution-group"),require("@esri/solution-simple-types"),require("@esri/solution-storymap"),require("@esri/solution-velocity"),require("@esri/solution-web-experience"),require("@esri/solution-hub-types"),require("@esri/hub-common"),require("@esri/arcgis-rest-portal")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common","@esri/solution-feature-layer","@esri/solution-file","@esri/solution-form","@esri/solution-group","@esri/solution-simple-types","@esri/solution-storymap","@esri/solution-velocity","@esri/solution-web-experience","@esri/solution-hub-types","@esri/hub-common","@esri/arcgis-rest-portal"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisSolution,e.arcgisHub,e.arcgisRest)}(this,(function(e,t,r,i,o,n,s,a,l,c,p,u,d){"use strict";function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var g=m(t),f=m(r),y=m(i),h=m(o),I=m(n),P=m(d);const b=null,S={Group:I,"Big Data Analytic":l.VelocityProcessor,"Feature Collection":s.simpleTypes,"Feature Service":f,Feed:l.VelocityProcessor,"Geocoding Service":void 0,"Geodata Service":void 0,"Geometry Service":void 0,"Geoprocessing Service":void 0,"Globe Service":void 0,"Image Service":void 0,KML:void 0,"Map Service":f,"Network Analysis Service":void 0,"Real Time Analytic":l.VelocityProcessor,"Relational Database Connection":void 0,"Scene Service":void 0,"Stream Service":void 0,Tool:void 0,"Vector Tile Service":void 0,WFS:void 0,WMS:void 0,WMTS:void 0,"Workflow Manager Service":void 0,"3D Web Scene":void 0,"Web Map":s.simpleTypes,"Web Scene":s.simpleTypes,Application:void 0,Dashboard:s.simpleTypes,"Data Store":void 0,"Desktop Application":void 0,"Excalibur Imagery Project":void 0,Form:h,"Hub Initiative":b,"Hub Page":p.HubPageProcessor,"Hub Site Application":p.HubSiteProcessor,"Insights Model":s.simpleTypes,"Insights Page":void 0,"Insights Theme":void 0,"Insights Workbook":void 0,Mission:void 0,"Mobile Application":void 0,Notebook:s.notebookProcessor,"Oriented Imagery Catalog":s.simpleTypes,"Ortho Mapping Project":void 0,"QuickCapture Project":s.quickcaptureProcessor,"Site Application":p.HubSiteProcessor,"Site Page":p.HubPageProcessor,Solution:b,StoryMap:a.StoryMapProcessor,"Urban Model":void 0,"Web Experience Template":void 0,"Web Experience":c.WebExperienceProcessor,"Web Mapping Application":s.simpleTypes,"Workforce Project":s.simpleTypes,"360 VR Experience":y,"AppBuilder Extension":y,"AppBuilder Widget Package":y,"Application Configuration":y,"ArcGIS Pro Add In":y,"ArcGIS Pro Configuration":y,"ArcPad Package":y,"Basemap Package":y,"CAD Drawing":y,"CityEngine Web Scene":y,"Code Attachment":b,"Code Sample":y,"Color Set":y,"Compact Tile Package":y,"CSV Collection":y,CSV:y,"Deep Learning Package":y,"Desktop Add In":y,"Desktop Application Template":y,"Desktop Style":y,"Document Link":y,"Explorer Add In":y,"Explorer Layer":y,"Explorer Map":y,"Feature Collection Template":y,"File Geodatabase":y,GeoJson:y,GeoPackage:y,"Geoprocessing Package":y,"Geoprocessing Sample":y,"Globe Document":y,"Image Collection":y,Image:y,"iWork Keynote":y,"iWork Numbers":y,"iWork Pages":y,"KML Collection":y,"Layer Package":y,"Layer Template":y,Layer:y,Layout:y,"Locator Package":y,"Map Document":y,"Map Package":y,"Map Template":y,"Microsoft Excel":y,"Microsoft Powerpoint":y,"Microsoft Word":y,"Mobile Basemap Package":y,"Mobile Map Package":y,"Mobile Scene Package":y,"Native Application":y,"Native Application Installer":y,"Native Application Template":y,netCDF:y,"Operation View":y,"Operations Dashboard Add In":y,"Operations Dashboard Extension":y,PDF:y,"Pro Layer Package":y,"Pro Layer":y,"Pro Map Package":y,"Pro Map":y,"Pro Report":y,"Project Package":y,"Project Template":y,"Published Map":y,"Raster function template":y,"Report Template":y,"Rule Package":y,"Scene Document":y,"Scene Package":y,"Service Definition":y,Shapefile:y,"Statistical Data Collection":y,Style:y,"Survey123 Add In":y,"Symbol Set":y,"Task File":y,"Tile Package":y,"Toolbox Package":y,"Vector Tile Package":y,"Viewer Configuration":y,"Visio Document":y,"Window Mobile Package":y,"Windows Mobile Package":y,"Windows Viewer Add In":y,"Windows Viewer Configuration":y,"Workflow Manager Package":y,Undefined:void 0,Unsupported:b};function v(e,t,r,i,o,n,s,a){return new Promise(((l,c)=>{const p=K(r)+1;let u=10;const d=(99-u)/p,m=[],f=[];let y=!0;const h=(e,t,r,i)=>{if(u+=d*r,a.progressCallback)if(t===g.EItemProgressStatus.Finished){const r={event:g.SItemProgressStatus[t],data:e};a.progressCallback(Math.round(u),a.jobId,r)}else a.progressCallback(Math.round(u),a.jobId);return a.consoleProgress&&console.log(Date.now(),e,a.jobId??"",g.SItemProgressStatus[t],u.toFixed(0)+"%",r,i?"==> "+i:""),t===g.EItemProgressStatus.Created?f.push(i):t===g.EItemProgressStatus.Failed&&(m.push(e),console.error("Item "+e+" has failed"),y=!1),y};g.getProp(o,"organization.isPortal")&&(r=k(r));const{buildOrder:I,itemsToBePatched:P}=g.topologicallySortItems(r),b=[];O(r,a.enableItemReuse??!1,o,s).then((()=>{A(r,g.getProp(o,"params.useExisting"),o,s).then((()=>{r=g.setNamesAndTitles(r,o.solutionItemId),I.forEach((n=>{const l=g.findTemplateInList(r,n);b.push(_(l,g.generateStorageFilePaths(e,t,l.resources,a.storageVersion),i,o,s,h))})),Promise.all(b).then((e=>{if(0===m.length)w(P,o,e),l(e);else{const e={consoleProgress:!0};g.deleteSolutionByComponents(n,f,r,o,s,e).then((()=>c(g.failWithIds(m))))}}))}))}),(e=>{console.error(e),c(g.fail(e))}))}))}function w(e,t,r){let i=Object.keys(e);i.length>0&&(i=i.map((e=>t[e].itemId)),r.forEach((e=>{i.includes(e.id)&&(e.postProcess=!0)})))}function k(e){const t=x(e);T(e,t);const r=E(t);let i=[];const o=[];return Object.keys(r).forEach((t=>{r[t].forEach((t=>{const r=g.findTemplateInList(e,t),n=g.getProp(r,"properties.syncViews");o.indexOf(r.itemId)>-1&&(i=i.concat(n)),n&&n.length>0&&g.setProp(r,"properties.syncViews",g.cloneObject(i)),i.indexOf(t)<0&&i.push(t),o.indexOf(r.itemId)<0&&o.push(r.itemId)})),i=[]})),e}function T(e,t){return t.forEach((t=>{t.dependencies.forEach((r=>{e=e.map((e=>(g.getProp(e,"properties.service.isView")&&e.dependencies.indexOf(r)>-1&&e.itemId!==t.id&&(Array.isArray(e.properties.syncViews)||(e.properties.syncViews=[]),e.properties.syncViews.indexOf(t.id)<0&&e.properties.syncViews.push(t.id)),e)))}))})),e}function E(e){const t={};return e.forEach((e=>{e.dependencies.forEach((r=>{Object.keys(t).indexOf(r)<0?t[r]=[e.id]:t[r].indexOf(e.id)<0&&t[r].push(e.id)}))})),t}function x(e){return e.reduce(((e,t)=>(g.getProp(t,"properties.service.isView")&&e.push({id:t.itemId,dependencies:t.dependencies}),e)),[])}function O(e,t,r,i){return new Promise(((o,n)=>{if(t){const t=W(e,r,i);Promise.all(t).then((t=>{const s=M(t,r,i,!0);Promise.all(s).then((t=>{M(t,r,i,!1),C(e,r,i).then(o)}),(e=>n(g.fail(e))))}),(e=>n(g.fail(e))))}else o(null)}))}function A(e,t,r,i){return new Promise((o=>{if(t){const t=[],n={},s=[];Object.keys(r.params).forEach((e=>{const o=r.params[e];o.itemId&&/[0-9A-F]{32}/i.test(e)&&(V(r,e,o.itemId,o),t.push(g.getItemBase(o.itemId,i)),n[o.itemId]=e,s.indexOf(e)<0&&s.push(e))})),j(t,n,i).then((()=>{C(s.map((t=>g.getTemplateById(e,t))),r,i).then(o)}))}else o(null)}))}function j(e,t,r){return new Promise((i=>{e.length>0?Promise.all(e).then((e=>{const o=[];e.forEach((e=>{const i=t[e.id];if(e&&i&&e.typeKeywords){const t=`source-${i}`,n=e.typeKeywords;if(n.indexOf(t)<0){n.push(t);const i={id:e.id,typeKeywords:n};o.push(g.updateItem(i,r))}}})),o.length>0?Promise.all(o).then(i,(()=>i(void 0))):i(void 0)}),(()=>i(void 0))):i(void 0)}))}function C(e,t,r){return new Promise((i=>{const o=[],n=[],s=[],a=[];e.forEach((e=>{const i=t[e.itemId];if(i&&i.url&&i.itemId){if("Feature Service"===e.item.type){const r=g.getProp(t,`params.${e.itemId}.enterpriseIDMapping`);Object.assign(t[e.itemId],g.getLayerSettings(g.getLayersAndTables(e),i.url,i.itemId,r)),g.getProp(e,"properties.service.hasViews")&&g._updateTemplateDictionaryFields(e,t,!1)}n.indexOf(i.url)<0&&(o.push("Feature Service"===e.item.type?g.rest_request(i.url,{authentication:r}):g.getItemBase(i.itemId,r)),n.push(i.url),s.push(e.item.type),a.push(i.itemId))}})),o.length>0?Promise.all(o.map((e=>e.catch((e=>e))))).then((e=>{if(Array.isArray(e)&&e.length>0){const o=[];e.forEach(((e,i)=>{e.serviceItemId&&"Feature Service"===s[i]?Object.keys(t).forEach((s=>{const a=t[s];if(a.itemId&&a.itemId===e.serviceItemId){g.setDefaultSpatialReference(t,s,e.spatialReference),g.setCreateProp(t,`${s}.defaultExtent`,e.fullExtent||e.initialExtent);const a=(e.layers||[]).map((e=>e.id)),l=(e.tables||[]).map((e=>e.id));o.push(g.getExistingLayersAndTables(n[i],a.concat(l),r))}})):("Feature Service"===s[i]||g.getProp(e,"response.error"))&&(t=F(t,a[i]))})),o.length>0?Promise.all(o).then((e=>{e.forEach((e=>{e.forEach((e=>{Object.keys(t).forEach((r=>{if(t[r].itemId===e.serviceItemId){let i="";Object.keys(t).some((r=>{if(t[r].itemId===e.serviceItemId)return i=r,!0}));const o=g.getProp(t,`params.${i}.enterpriseIDMapping`);o?Object.keys(o).forEach((i=>{o[i].toString()===e.id.toString()&&D(t,r,i,e.fields)})):D(t,r,e.id,e.fields)}}))}))})),i(null)})):i(null)}else i(null)})):i(null)}))}function D(e,t,r,i){const o=g.getProp(e,`${t}.layer${r}`);o&&i&&(o.fields=i)}function F(e,t){if(t){let r="";Object.keys(e).some((i=>{if(e[i].itemId===t)return r=i,!0})),""!==r&&delete e[r]}return e}function M(e,t,r,i){const o=[Promise.resolve(null)];return e&&Array.isArray(e)&&e.forEach((e=>{if(Array.isArray(e?.results)){let n;const s=e.results;if(1===s.length)n=s[0];else if(s.length>1)n=s.reduce(((e,t)=>e.created>t.created?e:t));else if(i&&e.query){const t=e.query.replace("typekeywords","tags");o.push(G(t,r))}if(n){const r=e.query?e.query.match(/[0-9A-F]{32}/i)[0]:e.sourceId;r&&V(t,r,n.id,n)}}})),o}function V(e,t,r,i){e[t]=Object.assign(e[t]||{},{def:Promise.resolve(g.generateEmptyCreationResponse(i.type,r)),itemId:r,name:i.name,title:i.title,url:i.url})}function W(e,t,r){const i=[];return e.forEach((e=>{if("Group"===e.item.type){const r=t.user?.groups;Array.isArray(r)&&i.push(Promise.resolve({results:r.filter((t=>t.tags.indexOf(`source-${e.itemId}`)>-1||t.typeKeywords.indexOf(`source-${e.itemId}`)>-1)).map((e=>(e.type="Group",e))),sourceId:e.itemId}))}else i.push(G(`typekeywords:source-${e.itemId} type:${e.item.type} owner:${t.user.username}`,r))})),i}function G(e,t){const r={q:e,authentication:t,pagingParam:{start:1,num:100}};return g.searchItems(r)}function _(e,t,r,i,o,n){if(e.dependencies=e.dependencies||[],!i.hasOwnProperty(e.itemId)||!g.getProp(i[e.itemId],"def")){let s,a,l=g.EItemProgressStatus.Unknown;i[e.itemId]=i[e.itemId]||{},i[e.itemId].def=new Promise((c=>{const p=e.dependencies.reduce(((e,t)=>{const r=g.getProp(i,`${t}.def`);return r&&e.push(r),e}),[]),u=g.getProp(e,"properties.syncViews"),d=u&&u.length>0?u.reduce(((e,t)=>{const r=g.getProp(i,`${t}.def`);return r&&e.push(r),e}),p):p;Promise.all(d).then((()=>{const i=e.type;if(a=S[i],!a||null===a)throw null===a?(l=g.EItemProgressStatus.Ignored,new Error):(l=g.EItemProgressStatus.Failed,new Error);return g.getThumbnailFromStorageItem(r,t)})).then((t=>(e.item.thumbnail=t,a.createItemFromTemplate(e,i,o,n)))).then((n=>{if(""===n.id)throw l=g.EItemProgressStatus.Failed,new Error("handled");return s=n,s.item.item.url&&g.setCreateProp(i,e.itemId+".url",s.item.item.url),t.length>0?g.copyFilesFromStorageItem(r,t,i.folderId,s.id,o,s.item):Promise.resolve(null)})).then((()=>{c(s)})).catch((t=>{t&&"handled"===t.message||n(e.itemId,l===g.EItemProgressStatus.Unknown?g.EItemProgressStatus.Failed:l,0),c(g.generateEmptyCreationResponse(e.type))}))}))}return i[e.itemId].def}function K(e){return e.reduce(((e,t)=>e+(t.estimatedDeploymentCostFactor||1)),0)}function $(e,r,i,o,n){const s=i.filter((e=>"Group"!==e.type)).map((t=>d.addItemRelationship({originItemId:e,destinationItemId:t.id,relationshipType:"Solution2Item",authentication:o}))),a=function(e,r,i){const o=e.filter((e=>e.groups&&e.groups.length>0));return Promise.all(o.map((e=>{const o=e.groups.reduce(((e,i)=>u.maybePush(t.getProp(r,`${i}.itemId`),e)),[]);if(!t.isTrackingViewTemplate(e)||t.getProp(r,"locationTracking.userIsOwner"))return t.shareItemToGroups(o,e.itemId,i);{const n=t.getProp(e,"item.properties.trackViewGroup"),s=t.getProp(r,"locationTracking.owner");if(n&&s){const a=o.filter((e=>e===t.replaceInTemplate(n,r)));if(a.length!==o.length){const r=o.filter((e=>e!==n));return Promise.all([t.shareItemToGroups(a,e.itemId,i,s),t.shareItemToGroups(r,e.itemId,i)])}return t.shareItemToGroups(o,e.itemId,i,s)}}})))}(r,n,o),l=i.filter((e=>e.postProcess)).reduce(((e,s)=>{const a=S[s.type];return a&&a.postProcess&&e.push(a.postProcess(s.id,s.type,i,t.getTemplateById(r,s.id),r,n,o)),e}),[]);return Promise.all([a].concat(l,s))}function R(e,r,i,o,n){return n.storageVersion=g.extractSolutionVersion(i),new Promise(((s,a)=>{const l=n.storageAuthentication?n.storageAuthentication:o,c=n.templateDictionary??{};let p,d;!function(e,t,r,i){["title","snippet","description","tags"].forEach((i=>{e[i]=e[i]??t[i],e[i]&&(t[i]=e[i],r[i]=e[i])})),!e.thumbnailurl&&t.thumbnail&&(e.thumbnailurl=g.generateSourceThumbnailUrl(i.portal,t.id,t.thumbnail),delete t.thumbnail)}(n,r,c,o),n.additionalTypeKeywords&&(r.typeKeywords=[].concat(r.typeKeywords,n.additionalTypeKeywords));let m="thumbnail",f=Promise.resolve(null);if(!n.thumbnail&&n.thumbnailurl){m=g.getFilenameFromUrl(n.thumbnailurl)||m;const e=g.appendQueryParam(n.thumbnailurl,"w=400");delete n.thumbnailurl,f=g.getBlobAsFile(e,m,l,[400])}!function(e,t){e.templates=e.templates.map((e=>{if("Feature Service"===e.type){const r="params.";e=q(e,"item.spatialReference.wkid",r,t);e=q(e,"properties.service.spatialReference.wkid",r,t)}return e}))}(i,c),Promise.all([g.getPortal("",o),g.getUser(o),g.getFoldersAndGroups(o),f]).then((e=>{const[t,s,a,l]=e;!n.thumbnail&&l&&(n.thumbnail=l),i.templates=i.templates.map((e=>{if(e.item){const t=e.item.typeKeywords||[];t.push("source-"+e.itemId),e.item.typeKeywords=t}return e})),c.isPortal=t.isPortal,c.organization=Object.assign(c.organization||{},t),c.portalBaseUrl=function(e,t){const r="https",i=g.getProp(e,"urlKey"),o=g.getProp(e,"customBaseUrl"),n=g.getProp(e,"portalHostname");return i&&o?`${r}://${i}.${o}`:n?`${r}://${n}`:t.portal.replace("/sharing/rest","")}(t,o),c.user=s,c.user.folders=a.folders,c.user.groups=a.groups.filter((e=>e.owner===c.user.username)),g.setLocationTrackingEnabled(t,s,c,i.templates);const p=g.getTackingServiceOwner(c,o),u=g.createUniqueFolder(r.title,c,o),d=t.defaultExtent,m=g.convertExtentWithFallback(d,void 0,{wkid:4326},t.helperServices.geometry.url,o);return Promise.all([u,m,p])})).then((e=>{const[i,s,a]=e;p=i.folder.id,c.folderId=p,c.solutionItemExtent=s.xmin+","+s.ymin+","+s.xmax+","+s.ymax,c.organization.defaultExtentBBox=[[s.xmin,s.ymin],[s.xmax,s.ymax]],c.locationTrackingEnabled&&t.setCreateProp(c,"locationTracking.userIsOwner",a);const l={...g.sanitizeJSONAndReportChanges(r),type:"Solution",typeKeywords:["Solution"]};return n.additionalTypeKeywords&&(l.typeKeywords=["Solution"].concat(n.additionalTypeKeywords)),l.thumbnail=n.thumbnail,g.createItemWithData(l,{},o,p)})).then((e=>{d=e.id;const t={id:d,authentication:o};return P.protectItem(t)})).then((()=>(c.solutionItemId=d,r.id=d,r.tryitUrl=B(r.tryitUrl,e,d),r.url=B(r.url,e,d),v(l.portal,e,i.templates,l,c,d,o,n)))).then((e=>{var t,r;return i.templates=i.templates.map((e=>(e.itemId=g.getProp(c,`${e.itemId}.itemId`),e.dependencies=e.dependencies.map((e=>u.getWithDefault(c,`${e}.itemId`,e))),e))),t=i.templates,r=e.map((e=>e.id)),t.sort(((e,t)=>r.indexOf(e.itemId)-r.indexOf(t.itemId))),$(d,i.templates,e,o,c)})).then((()=>{r.typeKeywords=[].concat(r.typeKeywords,["Deployed"]);const e=r.typeKeywords.indexOf("Template");return e>=0&&r.typeKeywords.splice(e,1),i.templates=i.templates.map((e=>function(e){const t=["itemId","type","dependencies","groups"],r=Object.keys(e).filter((e=>t.indexOf(e)<0));return g.deleteProps(e,r),e}(e))),i.templates=function(e,t){const r=e.reduce(((e,t)=>("Group"===t.type&&e.push(t.itemId),e)),[]);return Object.keys(t).forEach((i=>{const o=t[i].itemId;r.indexOf(o)>-1&&e.forEach((e=>{e.groups=e.groups.map((e=>e===i?o:e))}))})),e}(i.templates,c),r.data=g.replaceInTemplate(i,c),c.params&&(r.data.params=c.params),g.updateItem(r,o,p)})).then((()=>s(r.id)),a)}))}function q(e,t,r,i){const o=g.getProp(e,t);return o&&"string"==typeof o&&o.indexOf(r)>-1&&g.setProp(e,t,g.replaceInTemplate(o,i)),e}function B(e,t,r){let i;if(e&&e.indexOf(t)>-1){const o=new RegExp(t,"g");i=e.replace(o,r)}else i=e;return i}function L(e,t){return"string"==typeof e?Promise.all([g.getItemBase(e,t),g.getItemDataAsJson(e,t)]).then((([e,t])=>g.migrateSchema({item:e,data:t}))):H(e)?g.migrateSchema(e):Promise.reject(g.fail("getSolutionTemplateItem must be passed an item id or a model object"))}function U(e,t,r){return e.jobId=e.jobId??t.id,e.title=e.title??t.title,e.snippet=e.snippet??t.snippet,e.description=e.description??t.description,e.tags=e.tags??t.tags,e.thumbnailurl=t.thumbnail?g.getItemThumbnailUrl(t.id,t.thumbnail,!1,r):null,e}function H(e){let t=!1;const r=e=>null!=e&&"string"!=typeof e&&!Array.isArray(e)&&"object"==typeof e;return r(e)&&(t=["item","data"].reduce(((t,i)=>(t&&(t=r(e[i])),t)),!0)),t}function N(e){const t=e.typeKeywords;let r=!1;return"Solution"===e.type&&t.indexOf("Solution")>-1&&(t.indexOf("Template")>-1||t.indexOf("solutionTemplate")>-1)&&(r=!0),"Web Mapping Application"===e.type&&t.indexOf("hubSolutionTemplate")>-1&&(r=!0),r}e.UNSUPPORTED=b,e._createItemFromTemplateWhenReady=_,e._estimateDeploymentCost=K,e._evaluateSharedViewSources=k,e._findExistingItem=G,e._findExistingItemByKeyword=W,e._flagPatchItemsForPostProcessing=w,e._getGroupUpdates=function(e,t,r){return(e.groups||[]).map((i=>g.shareItem(r[i].itemId,e.itemId,t,g.isTrackingViewTemplate(e)?r.locationTracking.owner:void 0)))},e._getViewHash=E,e._getViews=x,e._handleExistingItems=M,e._isModel=H,e._reuseDeployedItems=O,e._setFields=D,e._setTypekeywordForExisting=j,e._updateTemplateDictionary=C,e._updateTemplateDictionaryById=V,e._updateTemplateDictionaryForError=F,e._updateViewTemplates=T,e._useExistingItems=A,e.deploySolution=function(e,t,r){if(!e)return Promise.reject(g.fail("The Solution Template id is missing"));let i=r||{};i.progressCallback&&i.progressCallback(1,i.jobId);const o=i.storageAuthentication?i.storageAuthentication:t;return L(e,o).then((e=>N(e.item)?Promise.all([Promise.resolve(e.item),Promise.resolve(e.data)]):Promise.reject(g.fail(`${e.item.id} is not a Solution Template`)))).then((e=>{const[r,n]=e,s=new g.Sanitizer,a=g.sanitizeJSONAndReportChanges(r,s),l=n,c=a.id;return i=U(i,a,o),g.deleteItemProps(a),R(c,a,l,t,i)})).then((e=>(i.progressCallback&&i.progressCallback(100,i.jobId),e)),(e=>(i.progressCallback&&i.progressCallback(1,i.jobId),Promise.reject(e)))).catch((e=>{throw e}))},e.deploySolutionItems=v,e.getSolutionTemplateItem=L,e.isSolutionTemplateItem=N,e.moduleMap=S,e.updateDeployOptions=U,Object.defineProperty(e,"__esModule",{value:!0})}));
19
19
  //# sourceMappingURL=deployer.umd.min.js.map