/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{readOffsetDistance as e,makeFeatureFromGroupPart as t}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 m}from"../../../../geometry/support/curves/curveUtils.js";function n({templatePart:n,shape:f,edits:c,relationships:u,mode:h,associationFeaturesByTemplate:d}){let g=[];if(r(f))g=o(f);else{if(!i(f))return;g=[f]}const j=e(n.builderConfig);for(const e of g){const o=e.clone();for(const e of l(o)){let r=new a({spatialReference:o.spatialReference,...m(e)?{curvePaths:[e]}:{paths:[e]},hasZ:o.hasZ,hasM:o.hasM});r&&j&&(r=s(r,j)),r&&t({templatePart:n,shape:r,edits:c,relationships:u,mode:h,associationFeaturesByTemplate:d})}if("digitizing"===h&&c.length>p)break}}const f=!1;export{n as execute,f as isAsync};
