// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["require","exports","../../request","../../core/uuid"],function(l,d,q,f){const m=f.generateLowercaseBracedUUID(),n=new Map,g=new Map;f=new Map;d.currentSessionId=m;d.defaultVersionNameLookup=n;d.isHistoricVersion=async function(a,c,b){if(!a||!b)return!1;if(!c)return!0;b=(new URL(a)).host;b=n.get(b);b||(a=a.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),b=(await q(a,{responseType:"json",query:{f:"json"}})).data.defaultVersionName);return b===c?!0:!1};d.isSafeToEditVersion= async function(a,c,b=!1){if(!a||!c)return!0;a=a.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");const p=g.get(a)?.entries();if(p)for(const [r,e]of p)if(e.name===c){c=!e.stack?.hasForwardEdits();if(!c&&b){const [{deleteForwardEdits:t},{default:u}]=await Promise.all([new Promise((h,k)=>l(["../../rest/versionManagement/gdbVersion/deleteForwardEdits"],h,k)),new Promise((h,k)=>l(["../../rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters"],v=>h(Object.freeze(Object.defineProperty({__proto__:null, default:v},Symbol.toStringTag,{value:"Module"}))),k))]);b=await t(a,r,new u({sessionId:m,moment:e.moment}));b.success&&e.stack?.clearForwardEdits();return b.success}return c}return!0};d.isVersionInEditSession=function(a,c){if(!a)return!1;a=a.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");if(a=g.get(a)?.entries())for(const [,b]of a)if(b.name===c)return"edit"===b.lockType;return!1};d.versionCollection=g;d.versionCollectionCount=f;Object.defineProperty(d,Symbol.toStringTag, {value:"Module"})});