UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.62 kB
import{_ as r}from"../../chunks/tslib.es6.js";import"../../geometry.js";import e from"../../Graphic.js";import{isSome as t,isNone as s}from"../../core/maybe.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import c from"./DirectionsEvent.js";import i from"./DirectionsString.js";import a from"../../geometry/Polyline.js";function m(r){if(s(r)||""===r)return null;let e=0,t=0,o=0,p=0;const n=[];let c,i,a,m,u,l,f,y,d=0,h=0,j=0;if(u=r.match(/((\+|\-)[^\+\-\|]+|\|)/g),u||(u=[]),0===parseInt(u[d],32)){d=2;const r=parseInt(u[d],32);d++,l=parseInt(u[d],32),d++,1&r&&(h=u.indexOf("|")+1,f=parseInt(u[h],32),h++),2&r&&(j=u.indexOf("|",h)+1,y=parseInt(u[j],32),j++)}else l=parseInt(u[d],32),d++;for(;d<u.length&&"|"!==u[d];){c=parseInt(u[d],32)+e,d++,e=c,i=parseInt(u[d],32)+t,d++,t=i;const r=[c/l,i/l];h&&(m=parseInt(u[h],32)+o,h++,o=m,r.push(m/f)),j&&(a=parseInt(u[j],32)+p,j++,p=a,r.push(a/y)),n.push(r)}return{paths:[n],hasZ:h>0,hasM:j>0}}let u=class extends e{constructor(r){super(r),this.events=null,this.strings=null}readGeometry(r,e){const s=m(e.compressedGeometry);return t(s)?a.fromJSON(s):null}};r([o({type:[c]})],u.prototype,"events",void 0),r([p("geometry",["compressedGeometry"])],u.prototype,"readGeometry",null),r([o({type:[i]})],u.prototype,"strings",void 0),u=r([n("esri.rest.support.DirectionsFeature")],u);const l=u;export{l as default};