/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{readOffsetDistance as t,makeFeatureFromGroupPart as e}from"./support/builderUtils.js";import{offset as s}from"./support/offsetUtils.js";import{convertRadialToPolylines as o}from"./support/shapeUtils.js";import{isRadial as r,isPolyline as i,maxDigitizingDisplayEdits as p}from"../support/executorUtils.js";import a from"../../../../geometry/Polyline.js";import{getPaths as l,pathHasCurves as f}from"../../../../geometry/support/curves/curveUtils.js";function m({templatePart:m,shape:n,edits:c,relationships:u,mode:h}){let d=[];if(r(n))d=o(n);else{if(!i(n))return;d=[n]}const g=t(m.builderConfig);for(const t of d){const o=t.clone();for(const t of l(o)){let r=new a({spatialReference:o.spatialReference,...f(t)?{curvePaths:[t]}:{paths:[t]},hasZ:o.hasZ,hasM:o.hasM});r&&g&&(r=s(r,g)),r&&e({templatePart:m,shape:r,edits:c,relationships:u,mode:h})}if("digitizing"===h&&c.length>p)break}}const n=!1;export{m as execute,n as isAsync};
