@nextgis/geocoder 3.0.0-alpha.6 → 3.0.0-alpha.7

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,2 +1,2 @@
1
- var Geocoder=function(e){"use strict";function t(e){return null!=e}function r(e){return"string"==typeof e?!!e:t(e)}function n(e,t,r,n){if(e instanceof Array)return t instanceof Array&&t.sort().join("")===e.sort().join("");if(e instanceof Date)return t instanceof Date&&""+e==""+t;if(e instanceof Function){if(!(t instanceof Function))return!1}else if(e instanceof Object)return t instanceof Object&&(e===r?t===n:o(e,t));return e===t}function o(e,t){const r=Object.keys(e).sort(),o=Object.keys(t).sort();if(r.length!==o.length)return!1;if(r.join("")!==o.join(""))return!1;for(let s=0;s<r.length;s++){if(!n(e[r[s]],t[o[s]],e,t))return!1}return!0}function s(e){const t={};return Object.keys(e).forEach((r=>{e[r]instanceof Array||e[r]!==Object(e[r])?void 0!==e[r]&&(t[r]=e[r]):t[r]=s(e[r])})),t}function i(e){return e.replace(/([^:]\/)\/+/g,"$1")}class a{constructor(e){e&&function(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}(this,e)}}var c=Object.defineProperty,l=Object.defineProperties,u=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,d=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),y=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&y(e,r,t[r]);if(h)for(var r of h(t))p.call(t,r)&&y(e,r,t[r]);return e},v=(e,t)=>l(e,u(t)),b=function(e,t){this[0]=e,this[1]=t},g=(e,t,r)=>{var n=(e,t,o,s)=>{try{var i=r[e](t),a=(t=i.value)instanceof b,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?n("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,o,s):o({value:r,done:c}))).catch((e=>n("throw",e,o,s)))}catch(l){s(l)}},o=e=>s[e]=t=>new Promise(((r,o)=>n(e,t,r,o))),s={};return r=r.apply(e,t),s[d("asyncIterator")]=()=>s,o("next"),o("throw"),o("return"),s},w=(e,t,r)=>(t=e[d("asyncIterator")])?t.call(e):(e=e[d("iterator")](),t={},(r=(r,n)=>(n=e[r])&&(t[r]=t=>new Promise(((r,o,s)=>(t=n.call(e,t),s=t.done,Promise.resolve(t.value).then((e=>r({value:e,done:s})),o))))))("next"),r("return"),t);let O=0;class P extends a{constructor(e){super(e),y(this,"providers"+"",[]),e&&e.providers&&(this.providers=e.providers)}abort(){this.providers.forEach((e=>{e.abort&&e.abort()}))}search(e){return g(this,null,(function*(){this.abort();let t=!0;const r=[];for(const c of this.providers)try{const r=c.search(e);try{for(var n,o,s,i=w(r);n=!(o=yield new b(i.next())).done;n=!1){const e=o.value;t=!1,yield v(m({},e),{provider:c,_id:O++})}}catch(o){s=[o]}finally{try{n&&(o=i.return)&&(yield new b(o.call(i)))}finally{if(s)throw s[0]}}}catch(a){"CancelError"!==a.name&&r.push(a)}if(t&&r.length)throw new Error(`All providers failed: ${r.map((e=>e.message)).join("; ")}`)}))}result(e){return e.provider?e.provider.result(e):Promise.resolve(void 0)}reverse(e){return g(this,null,(function*(){for(const i of this.providers)if(i.reverse)try{const s=i.reverse(e);try{for(var t,r,n,o=w(s);t=!(r=yield new b(o.next())).done;t=!1){const e=r.value;yield v(m({},e),{provider:i,_id:O++})}}catch(r){n=[r]}finally{try{t&&(r=o.return)&&(yield new b(r.call(o)))}finally{if(n)throw n[0]}}}catch(s){}}))}reverseGeocodeFirstResult(e){return t=this,r=null,n=function*(){for(const i of this.providers)if("function"==typeof i.reverse)try{try{for(var t,r,n,o=w(i.reverse(e));t=!(r=yield o.next()).done;t=!1)return r.value}catch(r){n=[r]}finally{try{t&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n[0]}}}catch(s){console.error("Error in reverse geocoding:",s)}},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}}var j=Object.defineProperty,x=(e,t,r)=>((e,t,r)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class _ extends a{constructor(){super(...arguments),x(this,"searchUrl"),x(this,"label")}}function E(){}function I(){I.init.call(this)}function R(e){return void 0===e._maxListeners?I.defaultMaxListeners:e._maxListeners}function C(e,t,r,n){var o,s,i,a;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),i=s[t]):(s=e._events=new E,e._eventsCount=0),i){if("function"==typeof i?i=s[t]=n?[r,i]:[i,r]:n?i.unshift(r):i.push(r),!i.warned&&(o=R(e))&&o>0&&i.length>o){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,a=c,"function"==typeof console.warn?console.warn(a):console.log(a)}}else i=s[t]=r,++e._eventsCount;return e}function k(e,t,r){var n=!1;function o(){e.removeListener(t,o),n||(n=!0,r.apply(e,arguments))}return o.listener=r,o}function L(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function S(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}E.prototype=Object.create(null),I.EventEmitter=I,I.usingDomains=!1,I.prototype.domain=void 0,I.prototype._events=void 0,I.prototype._maxListeners=void 0,I.defaultMaxListeners=10,I.init=function(){this.domain=null,I.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new E,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},I.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},I.prototype.getMaxListeners=function(){return R(this)},I.prototype.emit=function(e){var t,r,n,o,s,i,a,c="error"===e;if(i=this._events)c=c&&null==i.error;else if(!c)return!1;if(a=this.domain,c){if(t=arguments[1],!a){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit("error",t),!1}if(!(r=i[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,o=S(e,n),s=0;s<n;++s)o[s].call(r)}(r,u,this);break;case 2:!function(e,t,r,n){if(t)e.call(r,n);else for(var o=e.length,s=S(e,o),i=0;i<o;++i)s[i].call(r,n)}(r,u,this,arguments[1]);break;case 3:!function(e,t,r,n,o){if(t)e.call(r,n,o);else for(var s=e.length,i=S(e,s),a=0;a<s;++a)i[a].call(r,n,o)}(r,u,this,arguments[1],arguments[2]);break;case 4:!function(e,t,r,n,o,s){if(t)e.call(r,n,o,s);else for(var i=e.length,a=S(e,i),c=0;c<i;++c)a[c].call(r,n,o,s)}(r,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(n-1),s=1;s<n;s++)o[s-1]=arguments[s];!function(e,t,r,n){if(t)e.apply(r,n);else for(var o=e.length,s=S(e,o),i=0;i<o;++i)s[i].apply(r,n)}(r,u,this,o)}return!0},I.prototype.on=I.prototype.addListener=function(e,t){return C(this,e,t,!1)},I.prototype.prependListener=function(e,t){return C(this,e,t,!0)},I.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,k(this,e,t)),this},I.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,k(this,e,t)),this},I.prototype.removeListener=function(e,t){var r,n,o,s,i;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(r=n[e]))return this;if(r===t||r.listener&&r.listener===t)0==--this._eventsCount?this._events=new E:(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(o=-1,s=r.length;s-- >0;)if(r[s]===t||r[s].listener&&r[s].listener===t){i=r[s].listener,o=s;break}if(o<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new E,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,o=e.length;n<o;r+=1,n+=1)e[r]=e[n];e.pop()}(r,o);n.removeListener&&this.emit("removeListener",e,i||t)}return this},I.prototype.off=function(e,t){return this.removeListener(e,t)},I.prototype.removeAllListeners=function(e){var t,r;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=new E,this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=new E:delete r[e]),this;if(0===arguments.length){for(var n,o=Object.keys(r),s=0;s<o.length;++s)"removeListener"!==(n=o[s])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new E,this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},I.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(t):[]},I.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):L.call(e,t)},I.prototype.listenerCount=L,I.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var T=Object.defineProperty,U=(e,t,r)=>((e,t,r)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const A=class e{constructor(t={}){var r;U(this,"cache",[]);const n=null!=(r=t.namespace)?r:"default";return e.instance[n]?e.instance[n]:(e.instance[n]=this,this)}clean(){this.cache.length=0}all(){return this.cache}addFull(e,t,r){return this.add(e,t,r,!0)}add(e,t,n,o){const i=this._find(e,n);if(i)return i.value;{let i;i=t instanceof Function?t():t;const a=n&&JSON.parse(JSON.stringify(s(n))),c={key:e,value:i,props:a};return o&&!r(i)?i:(this.cache.push(c),i instanceof Promise?(i.catch((t=>{this.delete(e,n)})),o&&i.then((t=>(r(t)||this.delete(e,n),t))),i):i)}}match(e,t){const r=this._find(e,t);return null==r?void 0:r.value}matchAll(e,t){return e?this.cache.filter((r=>this._filter(r,e,t))).map((e=>e.value)):this.cache.map((e=>e.value))}delete(e,t){const r="string"==typeof e?this.cache.filter((r=>this._filter(r,e,t))):[e];for(const n of r){const e=this.cache.indexOf(n);-1!==e&&this.cache.splice(e,1)}}_find(e,t){return this.cache.find((r=>this._filter(r,e,t)))}_filter(e,t,r){if(e.key!==t)return!1;if(!r)return!0;return o(e.props||{},s(r))}};U(A,"instance",{});let q=A;var $="3.0.0-alpha.6";const N=[];function F(e){N.push(e)}class M extends Error{constructor(e="AbortError"){super(e),this.name="AbortError"}}var G=Object.defineProperty,D=(e,t,r)=>((e,t,r)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class B extends Error{constructor(e){super(),D(this,"name","NgwError"),D(this,"title"),D(this,"message"),D(this,"detail"),D(this,"exception"),D(this,"status_code"),D(this,"data"),D(this,"guru_meditation"),Object.assign(this,e),Object.setPrototypeOf(this,B.prototype)}}var H=Object.defineProperty,J=(e,t,r)=>((e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class z extends B{constructor(e){super(e),J(this,"name","InsufficientPermissionsError"),J(this,"exception","nextgisweb.core.exception.InsufficientPermissions"),Object.setPrototypeOf(this,z.prototype)}}var Q=Object.defineProperty,W=(e,t,r)=>((e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class X extends B{constructor(e){super(e),W(this,"name","ResourceNotFoundError"),W(this,"exception","nextgisweb.resource.exception.ResourceNotFound"),Object.setPrototypeOf(this,X.prototype)}}var K=Object.defineProperty,V=(e,t,r)=>((e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Y extends Error{constructor(e){super(e||"Something went wrong."),V(this,"title"),this.name="BaseAPIError",this.title="Unknown API error",Error.captureStackTrace&&Error.captureStackTrace(this,Y)}}class Z extends Y{constructor(e){super(e||"There is no response from the server or problem connecting to server."),V(this,"detail"),this.title="Network error",this.detail="Check network connectivity and try again later."}}class ee extends Y{constructor(e){super(e||"Something went wrong."),this.title="Unexpected server response"}}class te extends Y{constructor(e){super(e.message),V(this,"detail"),V(this,"data"),this.title=e.title||this.title,this.detail=e.detail||null,this.data=e}}class re extends Error{constructor(e,t={}){super(e||"Unexpected error while processing long-running request."),V(this,"title"),V(this,"data"),this.name="LunkwillError",this.title="Long-running request error",this.data=t,Error.captureStackTrace&&Error.captureStackTrace(this,re)}}class ne extends re{constructor(e){super("Long-running request was cancelled.",e)}}class oe extends re{constructor(e){super(void 0,e)}}var se=Object.defineProperty,ie=Object.getOwnPropertySymbols,ae=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,le=(e,t,r)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ue=(e,t)=>{for(var r in t||(t={}))ae.call(t,r)&&le(e,r,t[r]);if(ie)for(var r of ie(t))ce.call(t,r)&&le(e,r,t[r]);return e},he=(e,t)=>{var r={};for(var n in e)ae.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&ie)for(var n of ie(e))t.indexOf(n)<0&&ce.call(e,n)&&(r[n]=e[n]);return r},fe=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));function pe(e){return fe(this,null,(function*(){const t=yield function(e){return fe(this,null,(function*(){try{return e.json()}catch(t){throw new Error}}))}(e);let r=t.delay_ms;const n=void 0!==t.retry_ms?t.retry_ms:2e3,o=`/api/lunkwill/${t.id}/summary`,s=`/api/lunkwill/${t.id}/response`,i=e=>new Promise((t=>setTimeout(t,e)));let a=!1,c=!1;for(;!c;){let e,t;yield i(a?n:r),a=!1;try{e=yield fetch(o,{credentials:"same-origin"}),t=yield e.json()}catch(l){a=!0;continue}switch(t.status){case void 0:throw new re(void 0,t);case"ready":c=!0;break;case"cancelled":throw new ne(t);case"failed":throw new oe(t);case"spooled":case"processing":case"buffering":r=t.delay_ms;break;default:throw new re(void 0,t)}}return s}))}const de=new RegExp(["application/pdf","image/png","image/jpeg","image/tiff","text/csv"].join("|"));function ye(e,t){let r="";return void 0!==t&&(r="?"+function(e){const t=[];for(const[r,n]of Object.entries(e))if("string"==typeof n||"number"==typeof n||"boolean"==typeof n)t.push(`${r}=${encodeURIComponent(n)}`);else if(Array.isArray(n))t.push(`${r}=${n.map(encodeURIComponent).join(",")}`);else for(const[e,o]of Object.entries(n)){const n=`${r}[${encodeURIComponent(e)}]`;if("string"==typeof o||"number"==typeof o||"boolean"==typeof o)t.push(`${n}=${encodeURIComponent(o)}`);else if(Array.isArray(o)){const e=o.map(encodeURIComponent);t.push(`${n}=${e.join(",")}`)}}return t.join("&")}(t)),e+r}function me(e,t,r){return fe(this,null,(function*(){var n;const o=ue(ue({},{method:"GET",credentials:"same-origin",headers:{}}),t),{withCredentials:i,responseType:a,cacheProps:c,cacheName:l,lunkwill:u,cache:h,query:f,json:p}=o,d=he(o,["withCredentials","responseType","cacheProps","cacheName","lunkwill","cache","query","json"]);i&&(d.credentials="include");let y=!1;void 0!==u&&(u.toHeaders(d.headers||{}),y=!0);const m=!!d.lunkwillReturnUrl;if(delete d.lunkwillReturnUrl,void 0!==p){d.body=JSON.stringify(p);const e=d.headers||{};e["Content-Type"]="application/json",d.headers=e}const v=ye(e,f),b=()=>fe(this,null,(function*(){let e;try{e=yield fetch(v,d)}catch(o){if("AbortError"===o.name)throw o;throw new Z}if(y&&function(e){const t=e.headers.get("content-type");return null!=t&&t.includes("application/vnd.lunkwill.request-summary+json")}(e)){const t=yield pe(e);if(m)return t;e=yield function(e){return fe(this,null,(function*(){try{return yield window.fetch(e,{credentials:"same-origin"})}catch(o){throw new Z}}))}(t)}const t=e.headers.get("content-type"),r=t&&(t.includes("application/json")||t.includes("application/vnd.lunkwill.request-summary+json"));let n;try{const o=t&&de.test(t);if("blob"===a||o)n=yield e.blob();else{if(!r)throw new ee;n=yield e.json()}}catch(o){if("AbortError"===o.name||o instanceof ee)throw o;throw new ee}if(400<=e.status&&e.status<=599)throw new te(n);return n}));if(r&&h&&"GET"===(null==(n=d.method)?void 0:n.toUpperCase())){const e=c||ue({},s({withCredentials:i,responseType:a}));return r.add(l||v,b,e,!1)}return b()}))}var ve=Object.defineProperty,be=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,je=(e,t,r)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,xe=(e,t)=>{for(var r in t||(t={}))Oe.call(t,r)&&je(e,r,t[r]);if(we)for(var r of we(t))Pe.call(t,r)&&je(e,r,t[r]);return e},_e=(e,t)=>{var r={};for(var n in e)Oe.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&we)for(var n of we(e))t.indexOf(n)<0&&Pe.call(e,n)&&(r[n]=e[n]);return r},Ee=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));function Ie(e,t,r,...n){const[o,...s]=r[e],a=n[0];let c;if(void 0===a)c=[];else if("object"==typeof a&&null!==a){if(n.length>1)throw new Error("Too many arguments for route(name, object)!");c=[];for(const[e,t]of Object.entries(a))c[s.indexOf(e)]=String(t)}else c=n.map((e=>String(e)));return i(t+o.replace(/\{(\w+)\}/g,(function(e,t){const r=parseInt(t),n=c[r];if(void 0===n){throw new Error(`Undefined parameter ${r} in "${o}".`)}return String(n)})))}var Re=Object.defineProperty,Ce=(e,t,r)=>((e,t,r)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,t+"",r);class ke extends Error{constructor(e){super(),Ce(this,"name","NetworkError"),Object.setPrototypeOf(this,ke.prototype),this.message=`Unable to request ${e}.\n Possibly invalid NGW URL entered or CORS not configured to get request from ${location.origin}`}}function Le(e){return"[object Object]"===Object.prototype.toString.call(e)}let Se;Se=(e,t,r={},n,o)=>{r.method=r.method||"GET";const s=new XMLHttpRequest;s.open(r.method||"GET",e,!0),"blob"===r.responseType&&(s.responseType=r.responseType);const i=()=>{try{return JSON.parse(s.responseText)}catch(e){return s.responseText}};s.onload=()=>{-1!==[401,403,404,422,500].indexOf(s.status)&&n(new B(i())),((e=!1)=>{const o=e?n:t;"blob"===r.responseType?o(s.response):s.responseText?o(i()):n({message:""})})()},s.onerror=t=>{n(0===s.status?new ke(e):t)},s.upload.onprogress=function(e){if(e.lengthComputable){r.onProgress&&r.onProgress(e.loaded/e.total*100,e)}};const a=r.headers;if(a)for(const l in a){const e=a[l];"string"==typeof e&&s.setRequestHeader(l,e)}let c;if(void 0!==r.withCredentials&&(s.withCredentials=r.withCredentials),r.file){if(c=new FormData,c.append("file",r.file),r.data)for(const l in r.data)c.append(l,c[l])}else c=r.data?"string"==typeof r.data?r.data:JSON.stringify(r.data):null;o&&o((()=>{s.abort()})),s.send(c)};const Te=/\{ *([\w_-]+) *\}/g;function Ue(e,t){return e.replace(Te,((e,r)=>{let n=t[r];if(void 0===n)throw new Error("No value provided for letiable "+e);return"function"==typeof n&&(n=n(t)),n}))}var Ae=Object.defineProperty,qe=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,Ge=(e,t,r)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,De=(e,t)=>{for(var r in t||(t={}))Fe.call(t,r)&&Ge(e,r,t[r]);if(Ne)for(var r of Ne(t))Me.call(t,r)&&Ge(e,r,t[r]);return e},Be=(e,t,r)=>Ge(e,"symbol"!=typeof t?t+"":t,r),He=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));let Je=0,ze=0;class Qe{constructor(e){this.options=e,Be(this,"id",Je++),Be(this,"emitter",new I),Be(this,"user"),Be(this,"cache"),Be(this,"withCredentials"),Be(this,"client",`NextGIS-NGW-Connector/${$}`),Be(this,"routeStr","/api/component/pyramid/route"),Be(this,"activeRequests",{}),Be(this,"requestTransform");const t=function(e){return N.find((t=>{if(t.options.baseUrl===e.baseUrl){if(!e.auth)return!0;if(t.options.auth)return o(t.options.auth,e.auth)}}))}(e);if(this.cache=new q({namespace:e.cacheId}),t)return t;{const{route:e,requestTransform:t,withCredentials:r}=this.options;e&&(this.routeStr=e),t&&(this.requestTransform=t),void 0!==r&&(this.withCredentials=r),F(this)}}static create(e){return new this(e)}clearCache(){this.cache.clean()}setRequestTransform(e){this.requestTransform=e}setNgw(e){this.logout(),this.options.baseUrl=e,F(this)}connect(){return He(this,null,(function*(){const e=this.options.auth;if(e){const{login:t,password:r}=e;t&&r&&(yield this._login({login:t,password:r}))}const t=`${this.routeStr}?client=${this.client}`;return yield this.makeQuery(t,{},{cacheName:"route",cache:!0,cacheProps:{id:this.id,auth:e,baseUrl:this.options.baseUrl}})}))}login(e,t){return this.logout(),F(this),this._login(e,t)}logout(){this.abort(),function(e){const t=N.indexOf(e);-1!==t&&N.splice(t,1)}(this),this.options.auth=void 0,this.user=void 0,this.clearCache(),this.emitter.emit("logout")}getUserInfo(e,t){return He(this,null,(function*(){if(this.user&&this.user.id)return this.user;e&&(this.options.auth=e);const r=De({headers:this.getAuthorizationHeaders(e),cache:!0},t);return this.makeQuery("/api/component/auth/current_user",{},r)}))}getAuthorizationHeaders(e){const t=this.makeClientId(e);return t?{Authorization:`Basic ${t}`}:{}}makeClientId(e){if(e=e||this.options.auth){const{login:t,password:r}=e,n=[t,r].map(encodeURIComponent).join(":");return window.btoa(n)}}abort(){for(const e of Object.values(this.activeRequests))e.abort();this.activeRequests={}}getActiveApiRequests(){return De({},this.activeRequests)}route(e,...t){return function(e,t,...r){const n={url:n=>Ee(this,null,(function*(){var o;const s=yield t.connect();return ye(Ie(e,null!=(o=t.options.baseUrl)?o:"",s,...r),null==n?void 0:n.query)}))},o=["get","post","put","delete","patch"];for(const i of o){const o=n=>Ee(this,null,(function*(){var o;const a=n||{},{headers:c}=a,l=_e(a,["headers"]),u=yield t.connect(),h=Ie(e,null!=(o=t.options.baseUrl)?o:"",u,...r),f=s(xe(xe({},t.getAuthorizationHeaders()),null!=c?c:{}));return me(h,(p=xe({headers:f},l),be(p,ge({method:i}))),t.cache);var p}));n[i]=o}return n}(e,this,...t)}makeQuery(e,t){return He(this,arguments,(function*(e,t,r={}){var n;if(!(e=(this.options.baseUrl?this.options.baseUrl:"")+e))throw new Error("Empty `url` not allowed");if(t){const r=((e,t)=>{var r={};for(var n in e)Fe.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Ne)for(var n of Ne(e))t.indexOf(n)<0&&Me.call(e,n)&&(r[n]=e[n]);return r})(t,["paramList"]);e=Ue(e,r)}e=encodeURI(i(e)),r=De({withCredentials:this.withCredentials},r);const{cache:o,signal:a,method:c="GET",headers:l,cacheName:u,cacheProps:h,responseType:f,withCredentials:p}=r,d=new AbortController,y=d.signal;if(a){if(a.aborted)throw new M;a.addEventListener("abort",(()=>{d.abort()}))}r.signal=y;const m=()=>He(this,null,(function*(){const t=ze++;this.activeRequests[t]=d;try{return this._loadData(e,r)}finally{this._cleanActiveRequest(t)}}));if(o&&"GET"===c){const r=h||(v=De({},s({headers:l,withCredentials:p,responseType:f,baseUrl:this.options.baseUrl,userId:null==(n=this.user)?void 0:n.id})),qe(v,$e({params:t})));return this.cache.add(u||e,m,r,!1)}var v;return m()}))}_loadData(e,t){return t.responseType=t.responseType||"json",new Promise(((r,n)=>{var o;if(this.user&&((t=t||{}).headers=De(De({},this.getAuthorizationHeaders()),t.headers)),this.requestTransform){const[r,n]=this.requestTransform(e,t);e=r,t=n}let s;Se(e,r,t,n,(e=>{s=e})),null==(o=t.signal)||o.addEventListener("abort",(()=>{void 0!==s&&s(),n(new M)}))})).catch((e=>{if("AbortError"!==e.name){const t=this._handleHttpError(e);if(t)throw t}throw e}))}_login(e,t){return He(this,null,(function*(){try{const r=yield this.getUserInfo(e,t);return this.user=r,this.emitter.emit("login",r),r}catch(r){throw this.emitter.emit("login:error",r),r}}))}_cleanActiveRequest(e){delete this.activeRequests[e]}_handleHttpError(e){if(e&&e instanceof B){if("nextgisweb.resource.exception.ResourceNotFound"===e.exception)throw new X(e);if("nextgisweb.core.exception.InsufficientPermissions"===e.exception)throw new z(e)}return e}}Be(Qe,"errors",{NgwError:B,ResourceNotFoundError:X});const We=["description"];function Xe(e,r=""){r=r?r+"__":"";const n={};for(const[o,s]of Object.entries(e))if(-1===We.indexOf(o))if(Le(s))if("owner_user"===o){const e=Xe(s,o);Object.assign(n,e)}else"parent"===o&&"id"in s&&(n.parent_id=s.id);else t(s)&&(n[r+o]=s);return n}var Ke=Object.defineProperty,Ve=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,et=(e,t,r)=>t in e?Ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tt=(e,t)=>{for(var r in t||(t={}))Ye.call(t,r)&&et(e,r,t[r]);if(Ve)for(var r of Ve(t))Ze.call(t,r)&&et(e,r,t[r]);return e},rt=(e,t,r)=>et(e,"symbol"!=typeof t?t+"":t,r);class nt{constructor({connector:e,cacheId:t}){rt(this,"cache"),rt(this,"connector"),this.connector=e,this.cache=new q({namespace:t})}getOne(e,t){const r=tt({},t);return"string"==typeof e||"number"==typeof e||Le(e),"string"==typeof e?this._fetchResourceBy({keyname:e},r):"number"==typeof e?this._fetchResourceById(e,r):Le(e)?this._fetchResourceBy(e,r):Promise.resolve(void 0)}getOneOrFail(e,t){return this.getOne(e,t).then((e=>{if(e)return e;throw new X}))}getId(e,t){return"number"==typeof e?Promise.resolve(e):"string"==typeof e||Le(e)?this.getOne(e,t).then((e=>{if(e)return e.resource.id})):Promise.resolve(void 0)}getIdOrFail(e,t){return this.getId(e,t).then((e=>{if(void 0===e)throw new Error;return e}))}getMany(e,t){return this._resourceCacheFilter(e).then((r=>{if(!r.length){const r={};return e.keyname?r.keyname=e.keyname:Object.assign(r,Xe(e)),this.connector.get("resource.search",t,tt({serialization:"full"},r)).then((e=>{if((null==t?void 0:t.cache)&&e)for(const t of e)this.cache.add("resource.item",Promise.resolve(t),{id:t.resource.id});return e}))}return r}))}getParent(e,t){return this.getOne(e,t).then((e=>e?this.getOne(e.resource.parent.id,t):Promise.resolve(void 0)))}getChildrenOf(e,t){return this.getIdOrFail(e).then((e=>this._getChildrenOf(e,t)))}update(e,t){return this.getId(e).then((e=>{if(void 0!==e)return this.connector.put("resource.item",{data:t},{id:e})}))}delete(e){return this.getId(e).then((e=>{if(void 0!==e)return this.connector.delete("resource.item",null,{id:e}).then((()=>{this._cleanResourceItemCache(e)}))}))}_getChildrenOf(e,t,r=[]){return this.connector.get("resource.collection",t,{parent:e}).then((e=>{const n=[];for(const o of e)(null==t?void 0:t.cache)&&this.cache.add("resource.item",Promise.resolve(o),{id:o.resource.id}),r.push(o),(null==t?void 0:t.recursive)&&o.resource.children&&n.push(this._getChildrenOf(o.resource.id,t,r));return n.length?Promise.all(n).then((()=>r)):r}))}_cleanResourceItemCache(e){return t=this,r=null,n=function*(){var t;const r=this.cache.all(),n=[];for(const o of r){const r=null==(t=o.props)?void 0:t.id;["resource.item","resource"].includes(o.key)&&void 0!==r&&("number"==typeof r?r===e&&n.push(o):(yield this.getId(r))===e&&n.push(o))}for(const e of n)this.cache.delete(e)},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}_fetchResourceById(e,t){return this.connector.get("resource.item",t,{id:e})}_fetchResourceBy(e,t){return this.getMany(e,t).then((e=>e[0]))}_resourceCacheFilter(e){return Promise.all(this.cache.matchAll("resource.item")).then((r=>(r.filter((r=>{if(r)return e.keyname&&r.resource.keyname?e.keyname===r.resource.keyname:t(e.id)&&t(r.resource.id)?e.id===r.resource.id:o(e,r.resource)})),[])))}}var ot=Object.defineProperty,st=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,ct=(e,t,r)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function lt(e){return t=this,r=null,n=function*(){const{params:t,name:r,connector:n,requestOptions:o}=e,s=yield n.connect();let i=s&&s[r];if(i){i=[...i];let e=i.shift();if(i.length){const r={};for(let e=0;e<i.length;e++){const n=i[e];if(r[e]=`{${n}}`,void 0===t[n])throw new Error(`\`${n}\` URL API argument is not specified`)}e&&(e=Ue(e,r))}if(t){const r=[],n=t.paramList;Array.isArray(n)&&n.forEach((([e,t])=>{r.push(`${e}=${t}`)}));for(const e in t)-1===i.indexOf(e)&&r.push(`${e}=${t[e]}`);r.length&&(e=`${e}?${r.join("&")}`)}if(e)return n.makeQuery(e,t,((e,t)=>{for(var r in t||(t={}))it.call(t,r)&&ct(e,r,t[r]);if(st)for(var r of st(t))at.call(t,r)&&ct(e,r,t[r]);return e})({cacheName:r},o));throw new Error("Request URL is not set")}},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}var ut=Object.defineProperty,ht=(e,t,r)=>((e,t,r)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,t+"",r);class ft extends Qe{constructor(e){super(e),ht(this,"resources"),this.resources=new nt({connector:this,cacheId:e.cacheId})}clearCache(){super.clearCache(),this.resources.cache.clean()}apiRequest(e,t={},r={}){var n;return lt({name:e,params:s(t=null!=(n=r.params)?n:t),requestOptions:r,connector:this})}post(e,t,r){return(t=t||{}).method="POST",this.apiRequest(e,r,t)}get(e,t,r){return(t=t||{}).method="GET",this.apiRequest(e,r,t)}patch(e,t,r){return(t=t||{}).method="PATCH",this.apiRequest(e,r,t)}put(e,t,r){return(t=t||{}).method="PUT",this.apiRequest(e,r,t)}delete(e,t,r){return(t=t||{}).method="DELETE",this.apiRequest(e,r,t)}getResource(e,t){return this.resources.getOne(e,t)}getResourceOrFail(e,t){return this.resources.getOneOrFail(e,t)}getResourceBy(e){return this.resources.getOne(e)}getResourceByKeyname(e){return this.resources.getOne(e)}getResourceById(e){return this.resources.getOne(e)}getResourceId(e,t){return this.resources.getId(e,t)}getResourceIdOrFail(e,t){return this.resources.getIdOrFail(e,t)}getResourcesBy(e,t){return this.resources.getMany(e,t)}getResourceParent(e,t){return this.resources.getParent(e,t)}getResourceChildren(e,t){return this.resources.getChildrenOf(e,t)}updateResource(e,t){return this.resources.update(e,t)}deleteResource(e){return this.resources.delete(e)}}function pt(e,t,r){if((t=String(t))===(e=String(e)))return!0;if(r&&t.toUpperCase()===e.toUpperCase())return!0;const n=`^${o=t,o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}$`.replace(/%/g,".*").replace("_",".");var o;return null!==new RegExp(n,r?"i":"").exec(e)}const dt={gt:(e,t)=>e>t,lt:(e,t)=>e<t,ge:(e,t)=>e>=t,le:(e,t)=>e<=t,eq:(e,t)=>e===t,ne:(e,t)=>e!==t,in:(e,t)=>-1!==t.indexOf(e),notin:(e,t)=>-1===t.indexOf(e),like:(e,t)=>pt(e,t),ilike:(e,t)=>pt(e,t,!0)};function yt(e){return 3===e.length&&"string"==typeof e[0]&&"string"==typeof e[1]}function mt(e,t){const r="string"==typeof t[0]?t[0]:"all",n=t=>{if(yt(t)){const[r,n,o]=t,s=dt[n];if(s){if(("like"===n||"ilike"===n)&&"string"==typeof r){let t="";const n=r.replace(/^%?(\w+)%?$/,((n,s)=>(t=e[s],r.replace(s,o))));return s(t,n)}return s(e[r],o)}return!1}return mt(e,t)},o=t.filter((e=>Array.isArray(e)));return"any"===r?o.some(n):o.every(n)}var vt=Object.defineProperty,bt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,jt=(e,t,r)=>t in e?vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,xt=(e,t)=>{for(var r in t||(t={}))Ot.call(t,r)&&jt(e,r,t[r]);if(wt)for(var r of wt(t))Pt.call(t,r)&&jt(e,r,t[r]);return e},_t=(e,t)=>bt(e,gt(t)),Et=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));const It={srs:4326,geom_format:"geojson"};function Rt(e){return Et(this,null,(function*(){const t=kt(e),r=yield Promise.all(t),n=[],o=[];for(const e of r)for(const t of e)n.includes(t.id)||(o.push(t),n.push(t.id));return e.offset||e.limit?o.splice(void 0!==e.offset?e.offset:0,void 0!==e.limit?e.limit:o.length):o}))}function Ct(e){const[t,r,n]=e;let o="",s="";return[`${"id"!==t?"fld_":""}${String(t).trim().replace(/^(%?)(.+?)(%?)$/,((e,t,r,n)=>(o=t,s=n,r)))}__${r}`,o+n+s]}function kt(e,t=[],r=[]){var n;const{filters:o}=e,s=null!=(n=e.paramList)?n:[],i="string"==typeof o[0]?o[0]:"all",a=o.filter((e=>Array.isArray(e)));if("any"===i)for(const c of a)yt(c)?t.push(St(_t(xt({},e),{paramList:[...r,...s,Ct(c)]}))):kt(_t(xt({},e),{filters:c}),t,[...r]);else if("all"===i){const n=[],o=[];for(const e of a)yt(e)?n.push(Ct(e)):o.push(e);if(o.length)for(const s of o)kt(_t(xt({},e),{filters:s}),t,[...r,...n]);else t.push(St(_t(xt({},e),{paramList:[...r,...s,...n]})))}return t}function Lt(e){return`POLYGON((${e.map((([e,t])=>{const[r,n]=function(e,t){t=t>85.06?85.06:t<-85.06?-85.06:t;const r=20037508.34*e/180;let n=Math.log(Math.tan((90+t)*Math.PI/360))/(Math.PI/180);return n=20037508.34*n/180,[r,n]}(e,t).map((e=>Math.round(1*(e+Number.EPSILON))/1));return r+" "+n})).join(", ")}))`}function St(e){const r=xt({},It),{limit:n,cache:o,signal:s,offset:i,orderBy:a,paramList:c,connector:l,geomFormat:u,intersects:h,resourceId:f}=e;if(n?n!==Number.POSITIVE_INFINITY&&(r.limit=n):r.limit=7e3,i&&(r.offset=i),u&&(r.geom_format=u),function(e,r){const{extensions:n,geom:o,fields:s,srs:i,ilike:a,like:c}=r,l=n?n.join(","):"";"*"!==l&&(e.extensions=l),null!=s&&(e.fields=Array.isArray(s)?s.join(","):""),void 0!==o&&(e.geom=o?"yes":"no",o||(delete e.srs,delete e.geom_format)),t(a)?e.ilike=a:t(c)&&(e.like=c),t(i)&&(e.srs=i)}(r,e),a&&(r.order_by=a.join(",")),Array.isArray(h)){const e=(p=h,Array.isArray(p)&&4===p.length&&p.every((e=>"number"==typeof e))?function(e){const t=[e[0],e[1]];return[t,[e[2],e[1]],[e[2],e[3]],[e[0],e[3]],t]}(h):h);r.intersects=Lt(e)}else"string"==typeof h&&(r.intersects=h);var p;c&&(r.paramList=c);const d=xt({id:f},r);return l.get("feature_layer.feature.collection",{cache:o,signal:s},d)}var Tt=Object.defineProperty,Ut=Object.defineProperties,At=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,Ft=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Mt=(e,t)=>{for(var r in t||(t={}))$t.call(t,r)&&Ft(e,r,t[r]);if(qt)for(var r of qt(t))Nt.call(t,r)&&Ft(e,r,t[r]);return e},Gt=(e,t)=>Ut(e,At(t));function Dt(e){return r=this,n=null,o=function*(){var r;const n=e.filters;if(n){let o=yield Rt(Gt(Mt({},e),{filters:n}));return(null!=(r=e.clientFilterValidate)?r:Bt(n))&&(o=o.filter((e=>mt(function(e){let r;for(r in e){const n=e[r];if("[object Object]"===Object.prototype.toString.call(n)){const o=n;if(t(o.year)&&t(o.month)&&t(o.day)){const t=[o.year,o.month-1,o.day];"hour"in o&&[o.hour,o.minute,o.second].forEach((e=>{t.push(e)})),e[r]=new Date(...t).toISOString()}}else"id"===r&&"string"==typeof n&&(e[r]=n.split(",").map(Number))}return e}(Gt(Mt({},e.fields),{id:e.id})),n)))),o}return St(e)},new Promise(((e,t)=>{var s=e=>{try{a(o.next(e))}catch(r){t(r)}},i=e=>{try{a(o.throw(e))}catch(r){t(r)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((o=o.apply(r,n)).next())}));var r,n,o}function Bt(e){if("any"===e[0])return!0;for(let t=1;t<e.length;t++){const r=e[t];if("[object Array]"===Object.prototype.toString.call(r)){if(Bt(r))return!0}}return!1}var Ht=Object.defineProperty,Jt=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,Wt=(e,t,r)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Xt=(e,t,r)=>Wt(e,"symbol"!=typeof t?t+"":t,r),Kt=function(e,t){this[0]=e,this[1]=t},Vt=(e,t,r)=>{var n,o,s=(e,t,n,o)=>{try{var i=r[e](t),a=(t=i.value)instanceof Kt,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?s("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,n,o):n({value:r,done:c}))).catch((e=>s("throw",e,n,o)))}catch(l){o(l)}},i=e=>a[e]=t=>new Promise(((r,n)=>s(e,t,r,n))),a={};return r=r.apply(e,t),a[(n="asyncIterator",(o=Symbol[n])?o:Symbol.for("Symbol."+n))]=()=>a,i("next"),i("throw"),i("return"),a};const Yt=class e extends _{constructor(e){var t;if(super(e),Xt(this,"searchResources",[]),Xt(this,"connector"),Xt(this,"_abortControllers",[]),!e.searchUrl&&!(null==(t=e.connectorOptions)?void 0:t.baseUrl))throw new Error("The `searchUrl` of `connectorOptions.baseUrl` are required");this.connector=e.connector||new ft(((e,t)=>{for(var r in t||(t={}))zt.call(t,r)&&Wt(e,r,t[r]);if(Jt)for(var r of Jt(t))Qt.call(t,r)&&Wt(e,r,t[r]);return e})({baseUrl:this.searchUrl},e.connectorOptions)),this.searchResources=e.searchResources}abort(){this._abortControllers.forEach((e=>{e.abort()})),this._abortControllers.length=0}search(t){return Vt(this,null,(function*(){var r,n;const o=this._makeSignal();for(const i of this.searchResources){if(o.aborted)break;const{searchMethod:a}=i,c=null!=(r=i.limit)?r:e.limit,l=null!=(n=i.id)?n:i.resourceId;try{const e=yield new Kt(this.connector.getResourceOrFail(l,{cache:!0})),r={connector:this.connector,resourceId:l,signal:o,limit:c};"like"===a?r.like=t:r.ilike=t;const n=Dt(r),s=yield new Kt(n);for(const o of this._items({entries:s,query:t,config:i,resourceItem:e}))o.result=()=>this.result(o),yield o}catch(s){s&&"name"in s&&"CancelError"!==s.name&&console.warn(s)}}}))}result(e){const t=this._makeSignal();return this.connector.get("feature_layer.feature.item_extent",{signal:t},{id:e.resourceId,fid:e.featureId}).then((t=>{const r=t.extent;return{text:e.text,extent:[r.minLon,r.minLat,r.maxLon,r.maxLat]}}))}reverse(e){return Vt(this,null,(function*(){throw new Error("Not implemented")}))}_makeSignal(){const e=new AbortController;return this._abortControllers.push(e),e.signal}_items({entries:e,query:t,config:r,resourceItem:n}){var o;const s=[];let i;n.feature_layer&&(i=null==(o=n.feature_layer.fields.find((e=>e.label_field)))?void 0:o.keyname);return this.searchResources.find((e=>{var t;return null!=(t=e.id)?t:e.resourceId===n.resource.id}))&&e.forEach((e=>{let o=i?e.fields[i]:e.id;r.renderSearch?o=r.renderSearch({item:e,resourceItem:n}):i&&(o=e.fields[i]),s.push({query:t,text:o,featureId:e.id,resourceId:n.resource.id,item:e,resourceItem:n})})),s}};Xt(Yt,"limit",300);let Zt=Yt;var er=Object.defineProperty,tr=(e,t,r)=>((e,t,r)=>t in e?er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),rr=function(e,t){this[0]=e,this[1]=t},nr=(e,t,r)=>{var n,o,s=(e,t,n,o)=>{try{var i=r[e](t),a=(t=i.value)instanceof rr,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?s("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,n,o):n({value:r,done:c}))).catch((e=>s("throw",e,n,o)))}catch(l){o(l)}},i=e=>a[e]=t=>new Promise(((r,n)=>s(e,t,r,n))),a={};return r=r.apply(e,t),a[(n="asyncIterator",(o=Symbol[n])?o:Symbol.for("Symbol."+n))]=()=>a,i("next"),i("throw"),i("return"),a};return e.BaseProvider=_,e.Geocoder=P,e.NgwProvider=Zt,e.NominatimProvider=class extends _{constructor(e){super(e),tr(this,"searchUrl","https://nominatim.openstreetmap.org"),tr(this,"_abort",[]),e&&e.searchUrl&&(this.searchUrl=e.searchUrl)}abort(){this._abort.forEach((e=>e())),this._abort=[]}search(e){return nr(this,null,(function*(){const t=i(`${this.searchUrl}/search?format=geojson&polygon_geojson=1&q=${e}`),r=new Promise(((r,n)=>{const o=new XMLHttpRequest;o.open("GET",t,!0),o.onload=()=>{try{const t=JSON.parse(o.responseText).features.map((t=>({geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e})));r(t)}catch(t){n(t)}},o.onerror=e=>{n(e)},this._abort.push(o.abort),o.send()})).catch((e=>{throw e})),n=yield new rr(r);if(n)for(const e of n)e.result=()=>this.result(e),yield e}))}result(e){return Promise.resolve({text:e.text,extent:e.extent||[],geom:e.geom})}reverse(e){return nr(this,null,(function*(){const[t,r]=e,n=i(`${this.searchUrl}/reverse?format=geojson&lat=${r}&lon=${t}`),o=new Promise(((e,o)=>{const s=new XMLHttpRequest;s.open("GET",n,!0),s.onload=()=>{try{const n=JSON.parse(s.responseText).features[0];e({geom:n,extent:n.bbox,text:n.properties&&n.properties.display_name,query:`${r}, ${t}`})}catch(n){o(n)}},s.onerror=e=>{o(e)},this._abort.push(s.abort),s.send()})).catch((e=>{throw e})),s=yield new rr(o);s&&(s.result=()=>this.result(s),yield s)}))}},e.create=function(e){return new P(e)},e}({});
1
+ var Geocoder=function(e){"use strict";function t(e){return null!=e}function r(e){return"string"==typeof e?!!e:t(e)}function n(e,t,r,n){if(e instanceof Array)return t instanceof Array&&t.sort().join("")===e.sort().join("");if(e instanceof Date)return t instanceof Date&&""+e==""+t;if(e instanceof Function){if(!(t instanceof Function))return!1}else if(e instanceof Object)return t instanceof Object&&(e===r?t===n:o(e,t));return e===t}function o(e,t){const r=Object.keys(e).sort(),o=Object.keys(t).sort();if(r.length!==o.length)return!1;if(r.join("")!==o.join(""))return!1;for(let s=0;s<r.length;s++){if(!n(e[r[s]],t[o[s]],e,t))return!1}return!0}function s(e){const t={};return Object.keys(e).forEach((r=>{e[r]instanceof Array||e[r]!==Object(e[r])?void 0!==e[r]&&(t[r]=e[r]):t[r]=s(e[r])})),t}function i(e){return e.replace(/([^:]\/)\/+/g,"$1")}class a{constructor(e){e&&function(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}(this,e)}}var c=Object.defineProperty,l=Object.defineProperties,u=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,d=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),y=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&y(e,r,t[r]);if(h)for(var r of h(t))p.call(t,r)&&y(e,r,t[r]);return e},v=(e,t)=>l(e,u(t)),b=function(e,t){this[0]=e,this[1]=t},g=(e,t,r)=>{var n=(e,t,o,s)=>{try{var i=r[e](t),a=(t=i.value)instanceof b,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?n("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,o,s):o({value:r,done:c}))).catch((e=>n("throw",e,o,s)))}catch(l){s(l)}},o=e=>s[e]=t=>new Promise(((r,o)=>n(e,t,r,o))),s={};return r=r.apply(e,t),s[d("asyncIterator")]=()=>s,o("next"),o("throw"),o("return"),s},w=(e,t,r)=>(t=e[d("asyncIterator")])?t.call(e):(e=e[d("iterator")](),t={},(r=(r,n)=>(n=e[r])&&(t[r]=t=>new Promise(((r,o,s)=>(t=n.call(e,t),s=t.done,Promise.resolve(t.value).then((e=>r({value:e,done:s})),o))))))("next"),r("return"),t);let O=0;class x extends a{constructor(e){super(e),y(this,"providers"+"",[]),e&&e.providers&&(this.providers=e.providers)}abort(){this.providers.forEach((e=>{e.abort&&e.abort()}))}search(e){return g(this,null,(function*(){this.abort();let t=!0;const r=[];for(const c of this.providers)try{const r=c.search(e);try{for(var n,o,s,i=w(r);n=!(o=yield new b(i.next())).done;n=!1){const e=o.value;t=!1,yield v(m({},e),{provider:c,_id:O++})}}catch(o){s=[o]}finally{try{n&&(o=i.return)&&(yield new b(o.call(i)))}finally{if(s)throw s[0]}}}catch(a){"CancelError"!==a.name&&r.push(a)}if(t&&r.length)throw new Error(`All providers failed: ${r.map((e=>e.message)).join("; ")}`)}))}result(e){return e.provider?e.provider.result(e):Promise.resolve(void 0)}reverse(e){return g(this,null,(function*(){for(const i of this.providers)if(i.reverse)try{const s=i.reverse(e);try{for(var t,r,n,o=w(s);t=!(r=yield new b(o.next())).done;t=!1){const e=r.value;yield v(m({},e),{provider:i,_id:O++})}}catch(r){n=[r]}finally{try{t&&(r=o.return)&&(yield new b(r.call(o)))}finally{if(n)throw n[0]}}}catch(s){}}))}reverseGeocodeFirstResult(e){return t=this,r=null,n=function*(){for(const i of this.providers)if("function"==typeof i.reverse)try{try{for(var t,r,n,o=w(i.reverse(e));t=!(r=yield o.next()).done;t=!1)return r.value}catch(r){n=[r]}finally{try{t&&(r=o.return)&&(yield r.call(o))}finally{if(n)throw n[0]}}}catch(s){console.error("Error in reverse geocoding:",s)}},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}}var P=Object.defineProperty,j=(e,t,r)=>((e,t,r)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class _ extends a{constructor(){super(...arguments),j(this,"searchUrl"),j(this,"label")}}function E(){}function I(){I.init.call(this)}function R(e){return void 0===e._maxListeners?I.defaultMaxListeners:e._maxListeners}function C(e,t,r,n){var o,s,i,a;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),i=s[t]):(s=e._events=new E,e._eventsCount=0),i){if("function"==typeof i?i=s[t]=n?[r,i]:[i,r]:n?i.unshift(r):i.push(r),!i.warned&&(o=R(e))&&o>0&&i.length>o){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,a=c,"function"==typeof console.warn?console.warn(a):console.log(a)}}else i=s[t]=r,++e._eventsCount;return e}function k(e,t,r){var n=!1;function o(){e.removeListener(t,o),n||(n=!0,r.apply(e,arguments))}return o.listener=r,o}function T(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function L(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}E.prototype=Object.create(null),I.EventEmitter=I,I.usingDomains=!1,I.prototype.domain=void 0,I.prototype._events=void 0,I.prototype._maxListeners=void 0,I.defaultMaxListeners=10,I.init=function(){this.domain=null,I.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new E,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},I.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},I.prototype.getMaxListeners=function(){return R(this)},I.prototype.emit=function(e){var t,r,n,o,s,i,a,c="error"===e;if(i=this._events)c=c&&null==i.error;else if(!c)return!1;if(a=this.domain,c){if(t=arguments[1],!a){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit("error",t),!1}if(!(r=i[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,o=L(e,n),s=0;s<n;++s)o[s].call(r)}(r,u,this);break;case 2:!function(e,t,r,n){if(t)e.call(r,n);else for(var o=e.length,s=L(e,o),i=0;i<o;++i)s[i].call(r,n)}(r,u,this,arguments[1]);break;case 3:!function(e,t,r,n,o){if(t)e.call(r,n,o);else for(var s=e.length,i=L(e,s),a=0;a<s;++a)i[a].call(r,n,o)}(r,u,this,arguments[1],arguments[2]);break;case 4:!function(e,t,r,n,o,s){if(t)e.call(r,n,o,s);else for(var i=e.length,a=L(e,i),c=0;c<i;++c)a[c].call(r,n,o,s)}(r,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(n-1),s=1;s<n;s++)o[s-1]=arguments[s];!function(e,t,r,n){if(t)e.apply(r,n);else for(var o=e.length,s=L(e,o),i=0;i<o;++i)s[i].apply(r,n)}(r,u,this,o)}return!0},I.prototype.on=I.prototype.addListener=function(e,t){return C(this,e,t,!1)},I.prototype.prependListener=function(e,t){return C(this,e,t,!0)},I.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,k(this,e,t)),this},I.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,k(this,e,t)),this},I.prototype.removeListener=function(e,t){var r,n,o,s,i;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(r=n[e]))return this;if(r===t||r.listener&&r.listener===t)0==--this._eventsCount?this._events=new E:(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(o=-1,s=r.length;s-- >0;)if(r[s]===t||r[s].listener&&r[s].listener===t){i=r[s].listener,o=s;break}if(o<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new E,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,o=e.length;n<o;r+=1,n+=1)e[r]=e[n];e.pop()}(r,o);n.removeListener&&this.emit("removeListener",e,i||t)}return this},I.prototype.off=function(e,t){return this.removeListener(e,t)},I.prototype.removeAllListeners=function(e){var t,r;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=new E,this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=new E:delete r[e]),this;if(0===arguments.length){for(var n,o=Object.keys(r),s=0;s<o.length;++s)"removeListener"!==(n=o[s])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new E,this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},I.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(t):[]},I.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):T.call(e,t)},I.prototype.listenerCount=T,I.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var S=Object.defineProperty,U=(e,t,r)=>((e,t,r)=>t in e?S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const A=class e{constructor(t={}){var r;U(this,"cache",[]);const n=null!=(r=t.namespace)?r:"default";return e.instance[n]?e.instance[n]:(e.instance[n]=this,this)}clean(){this.cache.length=0}all(){return this.cache}addFull(e,t,r,n){return"object"==typeof r&&"valueToSet"in r&&(r.onlyFull=!0),this.add(e,t,r,!0,n)}add(e,t,n,o,i){let a,c;"object"==typeof n&&"valueToSet"in n?(a=n,o=a.onlyFull,i=a.expirationTime,c=a.props):c=n;const l=this._find(e,c);if(l)return l.value;{let n;n=t instanceof Function?t():t;const a=c&&JSON.parse(JSON.stringify(s(c)));i=i?Date.now()+i:void 0;const l={key:e,value:n,props:a,expirationTime:i};return o&&!r(n)?n:(this.cache.push(l),n instanceof Promise?(n.catch((t=>{this.delete(e,c)})),o&&n.then((t=>(r(t)||this.delete(e,c),t))),n):n)}}match(e,t){const r=this._find(e,t);if(!(r&&r.expirationTime&&Date.now()>r.expirationTime))return null==r?void 0:r.value;this.delete(r)}matchAll(e,t){const r=Date.now();return this.cache.forEach((e=>{e.expirationTime&&r>e.expirationTime&&this.delete(e)})),e?this.cache.filter((r=>this._filter(r,e,t))).map((e=>e.value)):this.cache.map((e=>e.value))}delete(e,t){const r="string"==typeof e?this.cache.filter((r=>this._filter(r,e,t))):[e];for(const n of r){const e=this.cache.indexOf(n);-1!==e&&this.cache.splice(e,1)}}_find(e,t){return this.cache.find((r=>this._filter(r,e,t)))}_filter(e,t,r){if(e.key!==t)return!1;if(!r)return!0;return o(e.props||{},s(r))}};U(A,"instance",{});let q=A;var $="3.0.0-alpha.7";const N=[];function F(e){N.push(e)}class M extends Error{constructor(e="AbortError"){super(e),this.name="AbortError"}}var D=Object.defineProperty,G=(e,t,r)=>((e,t,r)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class B extends Error{constructor(e){super(),G(this,"name","NgwError"),G(this,"title"),G(this,"message"),G(this,"detail"),G(this,"exception"),G(this,"status_code"),G(this,"data"),G(this,"guru_meditation"),Object.assign(this,e),Object.setPrototypeOf(this,B.prototype)}}var H=Object.defineProperty,J=(e,t,r)=>((e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class z extends B{constructor(e){super(e),J(this,"name","InsufficientPermissionsError"),J(this,"exception","nextgisweb.core.exception.InsufficientPermissions"),Object.setPrototypeOf(this,z.prototype)}}var Q=Object.defineProperty,W=(e,t,r)=>((e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class X extends B{constructor(e){super(e),W(this,"name","ResourceNotFoundError"),W(this,"exception","nextgisweb.resource.exception.ResourceNotFound"),Object.setPrototypeOf(this,X.prototype)}}var K=Object.defineProperty,V=(e,t,r)=>((e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Y extends Error{constructor(e){super(e||"Something went wrong."),V(this,"title"),this.name="BaseAPIError",this.title="Unknown API error",Error.captureStackTrace&&Error.captureStackTrace(this,Y)}}class Z extends Y{constructor(e){super(e||"There is no response from the server or problem connecting to server."),V(this,"detail"),this.title="Network error",this.detail="Check network connectivity and try again later."}}class ee extends Y{constructor(e){super(e||"Something went wrong."),this.title="Unexpected server response"}}class te extends Y{constructor(e){super(e.message),V(this,"detail"),V(this,"data"),this.title=e.title||this.title,this.detail=e.detail||null,this.data=e}}class re extends Error{constructor(e,t={}){super(e||"Unexpected error while processing long-running request."),V(this,"title"),V(this,"data"),this.name="LunkwillError",this.title="Long-running request error",this.data=t,Error.captureStackTrace&&Error.captureStackTrace(this,re)}}class ne extends re{constructor(e){super("Long-running request was cancelled.",e)}}class oe extends re{constructor(e){super(void 0,e)}}var se=Object.defineProperty,ie=Object.getOwnPropertySymbols,ae=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,le=(e,t,r)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ue=(e,t)=>{for(var r in t||(t={}))ae.call(t,r)&&le(e,r,t[r]);if(ie)for(var r of ie(t))ce.call(t,r)&&le(e,r,t[r]);return e},he=(e,t)=>{var r={};for(var n in e)ae.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&ie)for(var n of ie(e))t.indexOf(n)<0&&ce.call(e,n)&&(r[n]=e[n]);return r},fe=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));function pe(e){return fe(this,null,(function*(){const t=yield function(e){return fe(this,null,(function*(){try{return e.json()}catch(t){throw new Error}}))}(e);let r=t.delay_ms;const n=void 0!==t.retry_ms?t.retry_ms:2e3,o=`/api/lunkwill/${t.id}/summary`,s=`/api/lunkwill/${t.id}/response`,i=e=>new Promise((t=>setTimeout(t,e)));let a=!1,c=!1;for(;!c;){let e,t;yield i(a?n:r),a=!1;try{e=yield fetch(o,{credentials:"same-origin"}),t=yield e.json()}catch(l){a=!0;continue}switch(t.status){case void 0:throw new re(void 0,t);case"ready":c=!0;break;case"cancelled":throw new ne(t);case"failed":throw new oe(t);case"spooled":case"processing":case"buffering":r=t.delay_ms;break;default:throw new re(void 0,t)}}return s}))}const de=new RegExp(["application/pdf","image/png","image/jpeg","image/tiff","text/csv"].join("|"));function ye(e,t){let r="";return void 0!==t&&(r="?"+function(e){const t=[];for(const[r,n]of Object.entries(e))if("string"==typeof n||"number"==typeof n||"boolean"==typeof n)t.push(`${r}=${encodeURIComponent(n)}`);else if(Array.isArray(n))t.push(`${r}=${n.map(encodeURIComponent).join(",")}`);else for(const[e,o]of Object.entries(n)){const n=`${r}[${encodeURIComponent(e)}]`;if("string"==typeof o||"number"==typeof o||"boolean"==typeof o)t.push(`${n}=${encodeURIComponent(o)}`);else if(Array.isArray(o)){const e=o.map(encodeURIComponent);t.push(`${n}=${e.join(",")}`)}}return t.join("&")}(t)),e+r}function me(e,t,r){return fe(this,null,(function*(){var n;const o=ue(ue({},{method:"GET",credentials:"same-origin",headers:{}}),t),{withCredentials:i,responseType:a,cacheProps:c,cacheName:l,lunkwill:u,cache:h,query:f,json:p}=o,d=he(o,["withCredentials","responseType","cacheProps","cacheName","lunkwill","cache","query","json"]);i&&(d.credentials="include");let y=!1;void 0!==u&&(u.toHeaders(d.headers||{}),y=!0);const m=!!d.lunkwillReturnUrl;if(delete d.lunkwillReturnUrl,void 0!==p){d.body=JSON.stringify(p);const e=d.headers||{};e["Content-Type"]="application/json",d.headers=e}const v=ye(e,f),b=()=>fe(this,null,(function*(){let e;try{e=yield fetch(v,d)}catch(o){if("AbortError"===o.name)throw o;throw new Z}if(y&&function(e){const t=e.headers.get("content-type");return null!=t&&t.includes("application/vnd.lunkwill.request-summary+json")}(e)){const t=yield pe(e);if(m)return t;e=yield function(e){return fe(this,null,(function*(){try{return yield window.fetch(e,{credentials:"same-origin"})}catch(o){throw new Z}}))}(t)}const t=e.headers.get("content-type"),r=t&&(t.includes("application/json")||t.includes("application/vnd.lunkwill.request-summary+json"));let n;try{const o=t&&de.test(t);if("blob"===a||o)n=yield e.blob();else{if(!r)throw new ee;n=yield e.json()}}catch(o){if("AbortError"===o.name||o instanceof ee)throw o;throw new ee}if(400<=e.status&&e.status<=599)throw new te(n);return n}));if(r&&h&&"GET"===(null==(n=d.method)?void 0:n.toUpperCase())){const e=c||ue({},s({withCredentials:i,responseType:a}));return r.add(l||v,b,e,!1)}return b()}))}var ve=Object.defineProperty,be=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,Pe=(e,t,r)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,je=(e,t)=>{for(var r in t||(t={}))Oe.call(t,r)&&Pe(e,r,t[r]);if(we)for(var r of we(t))xe.call(t,r)&&Pe(e,r,t[r]);return e},_e=(e,t)=>{var r={};for(var n in e)Oe.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&we)for(var n of we(e))t.indexOf(n)<0&&xe.call(e,n)&&(r[n]=e[n]);return r},Ee=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));function Ie(e,t,r,...n){const[o,...s]=r[e],a=n[0];let c;if(void 0===a)c=[];else if("object"==typeof a&&null!==a){if(n.length>1)throw new Error("Too many arguments for route(name, object)!");c=[];for(const[e,t]of Object.entries(a))c[s.indexOf(e)]=String(t)}else c=n.map((e=>String(e)));return i(t+o.replace(/\{(\w+)\}/g,(function(e,t){const r=parseInt(t),n=c[r];if(void 0===n){throw new Error(`Undefined parameter ${r} in "${o}".`)}return String(n)})))}var Re=Object.defineProperty,Ce=(e,t,r)=>((e,t,r)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,t+"",r);class ke extends Error{constructor(e){super(),Ce(this,"name","NetworkError"),Object.setPrototypeOf(this,ke.prototype),this.message=`Unable to request ${e}.\n Possibly invalid NGW URL entered or CORS not configured to get request from ${location.origin}`}}function Te(e){return"[object Object]"===Object.prototype.toString.call(e)}let Le;Le=(e,t,r={},n,o)=>{r.method=r.method||"GET";const s=new XMLHttpRequest;s.open(r.method||"GET",e,!0),"blob"===r.responseType&&(s.responseType=r.responseType);const i=()=>{try{return JSON.parse(s.responseText)}catch(e){return s.responseText}};s.onload=()=>{-1!==[401,403,404,422,500].indexOf(s.status)&&n(new B(i())),((e=!1)=>{const o=e?n:t;"blob"===r.responseType?o(s.response):s.responseText?o(i()):n({message:""})})()},s.onerror=t=>{n(0===s.status?new ke(e):t)},s.upload.onprogress=function(e){if(e.lengthComputable){r.onProgress&&r.onProgress(e.loaded/e.total*100,e)}};const a=r.headers;if(a)for(const l in a){const e=a[l];"string"==typeof e&&s.setRequestHeader(l,e)}let c;if(void 0!==r.withCredentials&&(s.withCredentials=r.withCredentials),r.file){if(c=new FormData,c.append("file",r.file),r.data)for(const l in r.data)c.append(l,c[l])}else c=r.data?"string"==typeof r.data?r.data:JSON.stringify(r.data):null;o&&o((()=>{s.abort()})),s.send(c)};const Se=/\{ *([\w_-]+) *\}/g;function Ue(e,t){return e.replace(Se,((e,r)=>{let n=t[r];if(void 0===n)throw new Error("No value provided for letiable "+e);return"function"==typeof n&&(n=n(t)),n}))}var Ae=Object.defineProperty,qe=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,De=(e,t,r)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ge=(e,t)=>{for(var r in t||(t={}))Fe.call(t,r)&&De(e,r,t[r]);if(Ne)for(var r of Ne(t))Me.call(t,r)&&De(e,r,t[r]);return e},Be=(e,t,r)=>De(e,"symbol"!=typeof t?t+"":t,r),He=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));let Je=0,ze=0;class Qe{constructor(e){this.options=e,Be(this,"id",Je++),Be(this,"emitter",new I),Be(this,"user"),Be(this,"cache"),Be(this,"withCredentials"),Be(this,"client",`NextGIS-NGW-Connector/${$}`),Be(this,"routeStr","/api/component/pyramid/route"),Be(this,"activeRequests",{}),Be(this,"requestTransform");const t=function(e){return N.find((t=>{if(t.options.baseUrl===e.baseUrl){if(!e.auth)return!0;if(t.options.auth)return o(t.options.auth,e.auth)}}))}(e);if(this.cache=new q({namespace:e.cacheId}),t)return t;{const{route:e,requestTransform:t,withCredentials:r}=this.options;e&&(this.routeStr=e),t&&(this.requestTransform=t),void 0!==r&&(this.withCredentials=r),F(this)}}clearCache(){this.cache.clean()}setRequestTransform(e){this.requestTransform=e}setNgw(e){this.logout(),this.options.baseUrl=e,F(this)}connect(){return He(this,null,(function*(){const e=this.options.auth;if(e){const{login:t,password:r}=e;t&&r&&(yield this._login({login:t,password:r}))}const t=`${this.routeStr}?client=${this.client}`;return yield this.makeQuery(t,{},{cacheName:"route",cache:!0,cacheProps:{id:this.id,auth:e,baseUrl:this.options.baseUrl}})}))}login(e,t){return this.logout(),F(this),this._login(e,t)}logout(){this.abort(),function(e){const t=N.indexOf(e);-1!==t&&N.splice(t,1)}(this),this.options.auth=void 0,this.user=void 0,this.clearCache(),this.emitter.emit("logout")}getUserInfo(e,t){return He(this,null,(function*(){if(this.user&&this.user.id)return this.user;e&&(this.options.auth=e);const r=Ge({headers:this.getAuthorizationHeaders(e),cache:!0},t);return this.makeQuery("/api/component/auth/current_user",{},r)}))}getAuthorizationHeaders(e){const t=this.makeClientId(e);return t?{Authorization:`Basic ${t}`}:{}}makeClientId(e){if(e=e||this.options.auth){const{login:t,password:r}=e,n=[t,r].map(encodeURIComponent).join(":");return window.btoa(n)}}abort(){for(const e of Object.values(this.activeRequests))e.abort();this.activeRequests={}}getActiveApiRequests(){return Ge({},this.activeRequests)}route(e,...t){return function(e,t,...r){const n={url:n=>Ee(this,null,(function*(){var o;const s=yield t.connect();return ye(Ie(e,null!=(o=t.options.baseUrl)?o:"",s,...r),null==n?void 0:n.query)}))},o=["get","post","put","delete","patch"];for(const i of o){const o=n=>Ee(this,null,(function*(){var o;const a=n||{},{headers:c}=a,l=_e(a,["headers"]),u=yield t.connect(),h=Ie(e,null!=(o=t.options.baseUrl)?o:"",u,...r),f=s(je(je({},t.getAuthorizationHeaders()),null!=c?c:{}));return me(h,(p=je({headers:f},l),be(p,ge({method:i}))),t.cache);var p}));n[i]=o}return n}(e,this,...t)}makeQuery(e,t){return He(this,arguments,(function*(e,t,r={}){var n;if(!(e=(this.options.baseUrl?this.options.baseUrl:"")+e))throw new Error("Empty `url` not allowed");if(t){const r=((e,t)=>{var r={};for(var n in e)Fe.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Ne)for(var n of Ne(e))t.indexOf(n)<0&&Me.call(e,n)&&(r[n]=e[n]);return r})(t,["paramList"]);e=Ue(e,r)}e=encodeURI(i(e)),r=Ge({withCredentials:this.withCredentials},r);const{cache:o,signal:a,method:c="GET",headers:l,cacheName:u,cacheProps:h,responseType:f,withCredentials:p}=r,d=new AbortController,y=d.signal;if(a){if(a.aborted)throw new M;a.addEventListener("abort",(()=>{d.abort()}))}r.signal=y;const m=()=>He(this,null,(function*(){const t=ze++;this.activeRequests[t]=d;try{return this._loadData(e,r)}finally{this._cleanActiveRequest(t)}}));if("GET"===c){const r=h||(v=Ge({},s({headers:l,withCredentials:p,responseType:f,baseUrl:this.options.baseUrl,userId:null==(n=this.user)?void 0:n.id})),qe(v,$e({params:t})));return this.cache.add(u||e,m,{props:r,expirationTime:o?void 0:500})}var v;return m()}))}_loadData(e,t){return t.responseType=t.responseType||"json",new Promise(((r,n)=>{var o;if(this.user&&((t=t||{}).headers=Ge(Ge({},this.getAuthorizationHeaders()),t.headers)),this.requestTransform){const[r,n]=this.requestTransform(e,t);e=r,t=n}let s;Le(e,r,t,n,(e=>{s=e})),null==(o=t.signal)||o.addEventListener("abort",(()=>{void 0!==s&&s(),n(new M)}))})).catch((e=>{if("AbortError"!==e.name){const t=this._handleHttpError(e);if(t)throw t}throw e}))}_login(e,t){return He(this,null,(function*(){try{const r=yield this.getUserInfo(e,t);return this.user=r,this.emitter.emit("login",r),r}catch(r){throw this.emitter.emit("login:error",r),r}}))}_cleanActiveRequest(e){delete this.activeRequests[e]}_handleHttpError(e){if(e&&e instanceof B){if("nextgisweb.resource.exception.ResourceNotFound"===e.exception)throw new X(e);if("nextgisweb.core.exception.InsufficientPermissions"===e.exception)throw new z(e)}return e}}Be(Qe,"errors",{NgwError:B,ResourceNotFoundError:X});const We=["description"];function Xe(e,r=""){r=r?r+"__":"";const n={};for(const[o,s]of Object.entries(e))if(-1===We.indexOf(o))if(Te(s))if("owner_user"===o){const e=Xe(s,o);Object.assign(n,e)}else"parent"===o&&"id"in s&&(n.parent_id=s.id);else t(s)&&(n[r+o]=s);return n}var Ke=Object.defineProperty,Ve=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,et=(e,t,r)=>t in e?Ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tt=(e,t)=>{for(var r in t||(t={}))Ye.call(t,r)&&et(e,r,t[r]);if(Ve)for(var r of Ve(t))Ze.call(t,r)&&et(e,r,t[r]);return e},rt=(e,t,r)=>et(e,"symbol"!=typeof t?t+"":t,r);class nt{constructor({connector:e,cacheId:t}){rt(this,"cache"),rt(this,"connector"),this.connector=e,this.cache=new q({namespace:t})}getOne(e,t){const r=tt({},t);return"string"==typeof e||"number"==typeof e||Te(e),"string"==typeof e?this._fetchResourceBy({keyname:e},r):"number"==typeof e?this._fetchResourceById(e,r):Te(e)?this._fetchResourceBy(e,r):Promise.resolve(void 0)}getOneOrFail(e,t){return this.getOne(e,t).then((e=>{if(e)return e;throw new X}))}getId(e,t){return"number"==typeof e?Promise.resolve(e):"string"==typeof e||Te(e)?this.getOne(e,t).then((e=>{if(e)return e.resource.id})):Promise.resolve(void 0)}getIdOrFail(e,t){return this.getId(e,t).then((e=>{if(void 0===e)throw new Error;return e}))}getMany(e,t){return this._resourceCacheFilter(e).then((r=>{if(!r.length){const r={};return e.keyname?r.keyname=e.keyname:Object.assign(r,Xe(e)),this.connector.get("resource.search",t,tt({serialization:"full"},r)).then((e=>{if((null==t?void 0:t.cache)&&e)for(const t of e)this.cache.add("resource.item",Promise.resolve(t),{id:t.resource.id});return e}))}return r}))}getParent(e,t){return this.getOne(e,t).then((e=>e?this.getOne(e.resource.parent.id,t):Promise.resolve(void 0)))}getChildrenOf(e,t){return this.getIdOrFail(e).then((e=>this._getChildrenOf(e,t)))}update(e,t){return this.getId(e).then((e=>{if(void 0!==e)return this.connector.put("resource.item",{data:t},{id:e})}))}delete(e){return this.getId(e).then((e=>{if(void 0!==e)return this.connector.delete("resource.item",null,{id:e}).then((()=>{this._cleanResourceItemCache(e)}))}))}_getChildrenOf(e,t,r=[]){return this.connector.get("resource.collection",t,{parent:e}).then((e=>{const n=[];for(const o of e)(null==t?void 0:t.cache)&&this.cache.add("resource.item",Promise.resolve(o),{id:o.resource.id}),r.push(o),(null==t?void 0:t.recursive)&&o.resource.children&&n.push(this._getChildrenOf(o.resource.id,t,r));return n.length?Promise.all(n).then((()=>r)):r}))}_cleanResourceItemCache(e){return t=this,r=null,n=function*(){var t;const r=this.cache.all(),n=[];for(const o of r){const r=null==(t=o.props)?void 0:t.id;["resource.item","resource"].includes(o.key)&&void 0!==r&&("number"==typeof r?r===e&&n.push(o):(yield this.getId(r))===e&&n.push(o))}for(const e of n)this.cache.delete(e)},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}_fetchResourceById(e,t){return this.connector.get("resource.item",t,{id:e})}_fetchResourceBy(e,t){return this.getMany(e,t).then((e=>e[0]))}_resourceCacheFilter(e){return Promise.all(this.cache.matchAll("resource.item")).then((r=>(r.filter((r=>{if(r)return e.keyname&&r.resource.keyname?e.keyname===r.resource.keyname:t(e.id)&&t(r.resource.id)?e.id===r.resource.id:o(e,r.resource)})),[])))}}var ot=Object.defineProperty,st=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,ct=(e,t,r)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function lt(e){return t=this,r=null,n=function*(){const{params:t,name:r,connector:n,requestOptions:o}=e,s=yield n.connect();let i=s&&s[r];if(i){i=[...i];let e=i.shift();if(i.length){const r={};for(let e=0;e<i.length;e++){const n=i[e];if(r[e]=`{${n}}`,void 0===t[n])throw new Error(`\`${n}\` URL API argument is not specified`)}e&&(e=Ue(e,r))}if(t){const r=[],n=t.paramList;Array.isArray(n)&&n.forEach((([e,t])=>{r.push(`${e}=${t}`)}));for(const e in t)-1===i.indexOf(e)&&r.push(`${e}=${t[e]}`);r.length&&(e=`${e}?${r.join("&")}`)}if(e)return n.makeQuery(e,t,((e,t)=>{for(var r in t||(t={}))it.call(t,r)&&ct(e,r,t[r]);if(st)for(var r of st(t))at.call(t,r)&&ct(e,r,t[r]);return e})({cacheName:r},o));throw new Error("Request URL is not set")}},new Promise(((e,o)=>{var s=e=>{try{a(n.next(e))}catch(t){o(t)}},i=e=>{try{a(n.throw(e))}catch(t){o(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((n=n.apply(t,r)).next())}));var t,r,n}var ut=Object.defineProperty,ht=(e,t,r)=>((e,t,r)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,t+"",r);class ft extends Qe{constructor(e){super(e),ht(this,"resources"),this.resources=new nt({connector:this,cacheId:e.cacheId})}static create(e){return new this(e)}clearCache(){super.clearCache(),this.resources.cache.clean()}apiRequest(e,t={},r={}){var n;return lt({name:e,params:s(t=null!=(n=r.params)?n:t),requestOptions:r,connector:this})}post(e,t,r){return(t=t||{}).method="POST",this.apiRequest(e,r,t)}get(e,t,r){return(t=t||{}).method="GET",this.apiRequest(e,r,t)}patch(e,t,r){return(t=t||{}).method="PATCH",this.apiRequest(e,r,t)}put(e,t,r){return(t=t||{}).method="PUT",this.apiRequest(e,r,t)}delete(e,t,r){return(t=t||{}).method="DELETE",this.apiRequest(e,r,t)}getResource(e,t){return this.resources.getOne(e,t)}getResourceOrFail(e,t){return this.resources.getOneOrFail(e,t)}getResourceBy(e){return this.resources.getOne(e)}getResourceByKeyname(e){return this.resources.getOne(e)}getResourceById(e){return this.resources.getOne(e)}getResourceId(e,t){return this.resources.getId(e,t)}getResourceIdOrFail(e,t){return this.resources.getIdOrFail(e,t)}getResourcesBy(e,t){return this.resources.getMany(e,t)}getResourceParent(e,t){return this.resources.getParent(e,t)}getResourceChildren(e,t){return this.resources.getChildrenOf(e,t)}updateResource(e,t){return this.resources.update(e,t)}deleteResource(e){return this.resources.delete(e)}}function pt(e,t,r){if((t=String(t))===(e=String(e)))return!0;if(r&&t.toUpperCase()===e.toUpperCase())return!0;const n=`^${o=t,o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}$`.replace(/%/g,".*").replace("_",".");var o;return null!==new RegExp(n,r?"i":"").exec(e)}const dt={gt:(e,t)=>e>t,lt:(e,t)=>e<t,ge:(e,t)=>e>=t,le:(e,t)=>e<=t,eq:(e,t)=>e===t,ne:(e,t)=>e!==t,in:(e,t)=>-1!==t.indexOf(e),notin:(e,t)=>-1===t.indexOf(e),like:(e,t)=>pt(e,t),ilike:(e,t)=>pt(e,t,!0)};function yt(e){return 3===e.length&&"string"==typeof e[0]&&"string"==typeof e[1]}function mt(e,t){const r="string"==typeof t[0]?t[0]:"all",n=t=>{if(yt(t)){const[r,n,o]=t,s=dt[n];if(s){if(("like"===n||"ilike"===n)&&"string"==typeof r){let t="";const n=r.replace(/^%?(\w+)%?$/,((n,s)=>(t=e[s],r.replace(s,o))));return s(t,n)}return s(e[r],o)}return!1}return mt(e,t)},o=t.filter((e=>Array.isArray(e)));return"any"===r?o.some(n):o.every(n)}var vt=Object.defineProperty,bt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,Pt=(e,t,r)=>t in e?vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jt=(e,t)=>{for(var r in t||(t={}))Ot.call(t,r)&&Pt(e,r,t[r]);if(wt)for(var r of wt(t))xt.call(t,r)&&Pt(e,r,t[r]);return e},_t=(e,t)=>bt(e,gt(t)),Et=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(t){o(t)}},i=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));const It={srs:4326,geom_format:"geojson"};function Rt(e){return Et(this,null,(function*(){const t=kt(e),r=yield Promise.all(t),n=[],o=[];for(const e of r)for(const t of e)n.includes(t.id)||(o.push(t),n.push(t.id));return e.offset||e.limit?o.splice(void 0!==e.offset?e.offset:0,void 0!==e.limit?e.limit:o.length):o}))}function Ct(e){const[t,r,n]=e;let o="",s="";return[`${"id"!==t?"fld_":""}${String(t).trim().replace(/^(%?)(.+?)(%?)$/,((e,t,r,n)=>(o=t,s=n,r)))}__${r}`,o+n+s]}function kt(e,t=[],r=[]){var n;const{filters:o}=e,s=null!=(n=e.paramList)?n:[],i="string"==typeof o[0]?o[0]:"all",a=o.filter((e=>Array.isArray(e)));if("any"===i)for(const c of a)yt(c)?t.push(Lt(_t(jt({},e),{paramList:[...r,...s,Ct(c)]}))):kt(_t(jt({},e),{filters:c}),t,[...r]);else if("all"===i){const n=[],o=[];for(const e of a)yt(e)?n.push(Ct(e)):o.push(e);if(o.length)for(const s of o)kt(_t(jt({},e),{filters:s}),t,[...r,...n]);else t.push(Lt(_t(jt({},e),{paramList:[...r,...s,...n]})))}return t}function Tt(e){return`POLYGON((${e.map((([e,t])=>{const[r,n]=function(e,t){t=t>85.06?85.06:t<-85.06?-85.06:t;const r=20037508.34*e/180;let n=Math.log(Math.tan((90+t)*Math.PI/360))/(Math.PI/180);return n=20037508.34*n/180,[r,n]}(e,t).map((e=>Math.round(1*(e+Number.EPSILON))/1));return r+" "+n})).join(", ")}))`}function Lt(e){const r=jt({},It),{limit:n,cache:o,signal:s,offset:i,orderBy:a,paramList:c,connector:l,geomFormat:u,intersects:h,resourceId:f}=e;if(n?n!==Number.POSITIVE_INFINITY&&(r.limit=n):r.limit=7e3,i&&(r.offset=i),u&&(r.geom_format=u),function(e,r){const{extensions:n,geom:o,fields:s,srs:i,ilike:a,like:c}=r,l=n?n.join(","):"";"*"!==l&&(e.extensions=l),null!=s&&(e.fields=Array.isArray(s)?s.join(","):""),void 0!==o&&(e.geom=o?"yes":"no",o||(delete e.srs,delete e.geom_format)),t(a)?e.ilike=a:t(c)&&(e.like=c),t(i)&&(e.srs=i)}(r,e),a&&(r.order_by=a.join(",")),Array.isArray(h)){const e=(p=h,Array.isArray(p)&&4===p.length&&p.every((e=>"number"==typeof e))?function(e){const t=[e[0],e[1]];return[t,[e[2],e[1]],[e[2],e[3]],[e[0],e[3]],t]}(h):h);r.intersects=Tt(e)}else"string"==typeof h&&(r.intersects=h);var p;c&&(r.paramList=c);const d=jt({id:f},r);return l.get("feature_layer.feature.collection",{cache:o,signal:s},d)}var St=Object.defineProperty,Ut=Object.defineProperties,At=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,Ft=(e,t,r)=>t in e?St(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Mt=(e,t)=>{for(var r in t||(t={}))$t.call(t,r)&&Ft(e,r,t[r]);if(qt)for(var r of qt(t))Nt.call(t,r)&&Ft(e,r,t[r]);return e},Dt=(e,t)=>Ut(e,At(t));function Gt(e){return r=this,n=null,o=function*(){var r;const n=e.filters;if(n){let o=yield Rt(Dt(Mt({},e),{filters:n}));return(null!=(r=e.clientFilterValidate)?r:Bt(n))&&(o=o.filter((e=>mt(function(e){let r;for(r in e){const n=e[r];if("[object Object]"===Object.prototype.toString.call(n)){const o=n;if(t(o.year)&&t(o.month)&&t(o.day)){const t=[o.year,o.month-1,o.day];"hour"in o&&[o.hour,o.minute,o.second].forEach((e=>{t.push(e)})),e[r]=new Date(...t).toISOString()}}else"id"===r&&"string"==typeof n&&(e[r]=n.split(",").map(Number))}return e}(Dt(Mt({},e.fields),{id:e.id})),n)))),o}return Lt(e)},new Promise(((e,t)=>{var s=e=>{try{a(o.next(e))}catch(r){t(r)}},i=e=>{try{a(o.throw(e))}catch(r){t(r)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(s,i);a((o=o.apply(r,n)).next())}));var r,n,o}function Bt(e){if("any"===e[0])return!0;for(let t=1;t<e.length;t++){const r=e[t];if("[object Array]"===Object.prototype.toString.call(r)){if(Bt(r))return!0}}return!1}var Ht=Object.defineProperty,Jt=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,Wt=(e,t,r)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Xt=(e,t,r)=>Wt(e,"symbol"!=typeof t?t+"":t,r),Kt=function(e,t){this[0]=e,this[1]=t},Vt=(e,t,r)=>{var n,o,s=(e,t,n,o)=>{try{var i=r[e](t),a=(t=i.value)instanceof Kt,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?s("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,n,o):n({value:r,done:c}))).catch((e=>s("throw",e,n,o)))}catch(l){o(l)}},i=e=>a[e]=t=>new Promise(((r,n)=>s(e,t,r,n))),a={};return r=r.apply(e,t),a[(n="asyncIterator",(o=Symbol[n])?o:Symbol.for("Symbol."+n))]=()=>a,i("next"),i("throw"),i("return"),a};const Yt=class e extends _{constructor(e){var t;if(super(e),Xt(this,"searchResources",[]),Xt(this,"connector"),Xt(this,"_abortControllers",[]),!e.searchUrl&&!(null==(t=e.connectorOptions)?void 0:t.baseUrl))throw new Error("The `searchUrl` of `connectorOptions.baseUrl` are required");this.connector=e.connector||new ft(((e,t)=>{for(var r in t||(t={}))zt.call(t,r)&&Wt(e,r,t[r]);if(Jt)for(var r of Jt(t))Qt.call(t,r)&&Wt(e,r,t[r]);return e})({baseUrl:this.searchUrl},e.connectorOptions)),this.searchResources=e.searchResources}abort(){this._abortControllers.forEach((e=>{e.abort()})),this._abortControllers.length=0}search(t){return Vt(this,null,(function*(){var r,n;const o=this._makeSignal();for(const i of this.searchResources){if(o.aborted)break;const{searchMethod:a}=i,c=null!=(r=i.limit)?r:e.limit,l=null!=(n=i.id)?n:i.resourceId;try{const e=yield new Kt(this.connector.getResourceOrFail(l,{cache:!0})),r={connector:this.connector,resourceId:l,signal:o,limit:c};"like"===a?r.like=t:r.ilike=t;const n=Gt(r),s=yield new Kt(n);for(const o of this._items({entries:s,query:t,config:i,resourceItem:e}))o.result=()=>this.result(o),yield o}catch(s){s&&"name"in s&&"CancelError"!==s.name&&console.warn(s)}}}))}result(e){const t=this._makeSignal();return this.connector.get("feature_layer.feature.item_extent",{signal:t},{id:e.resourceId,fid:e.featureId}).then((t=>{const r=t.extent;return{text:e.text,extent:[r.minLon,r.minLat,r.maxLon,r.maxLat]}}))}reverse(e){return Vt(this,null,(function*(){throw new Error("Not implemented")}))}_makeSignal(){const e=new AbortController;return this._abortControllers.push(e),e.signal}_items({entries:e,query:t,config:r,resourceItem:n}){var o;const s=[];let i;n.feature_layer&&(i=null==(o=n.feature_layer.fields.find((e=>e.label_field)))?void 0:o.keyname);return this.searchResources.find((e=>{var t;return null!=(t=e.id)?t:e.resourceId===n.resource.id}))&&e.forEach((e=>{let o=i?e.fields[i]:e.id;r.renderSearch?o=r.renderSearch({item:e,resourceItem:n}):i&&(o=e.fields[i]),s.push({query:t,text:o,featureId:e.id,resourceId:n.resource.id,item:e,resourceItem:n})})),s}};Xt(Yt,"limit",300);let Zt=Yt;var er=Object.defineProperty,tr=(e,t,r)=>((e,t,r)=>t in e?er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),rr=function(e,t){this[0]=e,this[1]=t},nr=(e,t,r)=>{var n,o,s=(e,t,n,o)=>{try{var i=r[e](t),a=(t=i.value)instanceof rr,c=i.done;Promise.resolve(a?t[0]:t).then((r=>a?s("return"===e?e:"next",t[1]?{done:r.done,value:r.value}:r,n,o):n({value:r,done:c}))).catch((e=>s("throw",e,n,o)))}catch(l){o(l)}},i=e=>a[e]=t=>new Promise(((r,n)=>s(e,t,r,n))),a={};return r=r.apply(e,t),a[(n="asyncIterator",(o=Symbol[n])?o:Symbol.for("Symbol."+n))]=()=>a,i("next"),i("throw"),i("return"),a};return e.BaseProvider=_,e.Geocoder=x,e.NgwProvider=Zt,e.NominatimProvider=class extends _{constructor(e){super(e),tr(this,"searchUrl","https://nominatim.openstreetmap.org"),tr(this,"_abort",[]),e&&e.searchUrl&&(this.searchUrl=e.searchUrl)}abort(){this._abort.forEach((e=>e())),this._abort=[]}search(e){return nr(this,null,(function*(){const t=i(`${this.searchUrl}/search?format=geojson&polygon_geojson=1&q=${e}`),r=new Promise(((r,n)=>{const o=new XMLHttpRequest;o.open("GET",t,!0),o.onload=()=>{try{const t=JSON.parse(o.responseText).features.map((t=>({geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e})));r(t)}catch(t){n(t)}},o.onerror=e=>{n(e)},this._abort.push(o.abort),o.send()})).catch((e=>{throw e})),n=yield new rr(r);if(n)for(const e of n)e.result=()=>this.result(e),yield e}))}result(e){return Promise.resolve({text:e.text,extent:e.extent||[],geom:e.geom})}reverse(e){return nr(this,null,(function*(){const[t,r]=e,n=i(`${this.searchUrl}/reverse?format=geojson&lat=${r}&lon=${t}`),o=new Promise(((e,o)=>{const s=new XMLHttpRequest;s.open("GET",n,!0),s.onload=()=>{try{const n=JSON.parse(s.responseText).features[0];e({geom:n,extent:n.bbox,text:n.properties&&n.properties.display_name,query:`${r}, ${t}`})}catch(n){o(n)}},s.onerror=e=>{o(e)},this._abort.push(s.abort),s.send()})).catch((e=>{throw e})),s=yield new rr(o);s&&(s.result=()=>this.result(s),yield s)}))}},e.create=function(e){return new x(e)},e}({});
2
2
  //# sourceMappingURL=geocoder.global.prod.js.map