@nextgis/geocoder 1.16.8 → 1.17.0
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.
- package/lib/geocoder.cjs.js +192 -441
- package/lib/geocoder.cjs.js.map +1 -1
- package/lib/geocoder.cjs.prod.js +1 -1
- package/lib/geocoder.cjs.prod.js.map +1 -1
- package/lib/geocoder.esm-browser.js +1778 -2134
- package/lib/geocoder.esm-browser.js.map +1 -1
- package/lib/geocoder.esm-browser.prod.js +1 -1
- package/lib/geocoder.esm-browser.prod.js.map +1 -1
- package/lib/geocoder.esm-bundler.js +192 -441
- package/lib/geocoder.esm-bundler.js.map +1 -1
- package/lib/geocoder.esm-bundler.prod.js +1 -1
- package/lib/geocoder.esm-bundler.prod.js.map +1 -1
- package/lib/geocoder.global.js +1993 -1984
- package/lib/geocoder.global.js.map +1 -1
- package/lib/geocoder.global.prod.js +1 -1
- package/lib/geocoder.global.prod.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(t){i(t)}}function u(e){try{c(r.throw(e))}catch(t){i(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,u)}c((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(u){i=[6,u],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function i(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function u(e){return this instanceof u?(this.v=e,this):new u(e)}function c(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||c(e,t)}))})}function c(e,t){try{(n=o[e](t)).value instanceof u?Promise.resolve(n.value.v).then(a,f):h(i[0][2],n)}catch(r){h(i[0][3],r)}var n}function a(e){c("next",e)}function f(e){c("throw",e)}function h(e,t){e(t),i.shift(),i.length&&c(i[0][0],i[0][1])}}function a(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=i(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}var f=function(e){function n(){var t=e.call(this)||this;return t.name="CancelError",Object.setPrototypeOf(t,n.prototype),t}return t(n,e),n}(Error),h=function(){function e(e){void 0===e&&(e={}),this.options=e,this._promises=new Map}return Object.defineProperty(e.prototype,"isLoaded",{get:function(){return this._promises.size>0},enumerable:!1,configurable:!0}),e.prototype.remove=function(e){this._promises.has(e)&&(this._promises.delete(e),this._onStop())},e.prototype.get=function(e){return this._promises.get(e)},e.prototype.add=function(e,t){var n=this,r=t||e,o=this._promises.get(r);return this.options.onStart&&!this.isLoaded&&this.options.onStart(),o||(this._promises.set(r,e),e.finally((function(){n.remove(r)})),e)},e.prototype.abort=function(){this.isLoaded&&(this._promises.forEach((function(e){e.cancel&&e.cancel()})),this._promises.clear(),this._onStop())},e.prototype.waitFunc=function(e,t){void 0===t&&(t="");var n=this.get(t=t||e.name);return n||this.add(e(),t)},e.prototype.WaitForMe=function(e){void 0===e&&(e="");var t=this.get.bind(this),n=this.add.bind(this);return function(r,o,i){var s=i.value;return e=e||o,i.value=function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=t(e);if(i)return i;var u=n(s.apply(this,r),e);return u},i}},e.prototype.GetOrCreateDecorator=function(e){return void 0===e&&(e=""),this.WaitForMe(e)},e.prototype._onStop=function(){this.options.onStop&&!this.isLoaded&&this.options.onStop()},e}(),p=function(e){function n(){var t=e.call(this)||this;return t.name="TimeoutError",Object.setPrototypeOf(t,n.prototype),t}return t(n,e),n}(Error),l=function(e,t,n,r){try{e(n(r))}catch(o){t(o)}},d=0,v=function(){function e(t,n){var r=this;this.id=d++,this._isCanceled=!1,this._isPending=!0,this._cancelHandlers=[],this._children=[],this._cancelPromise=new Promise((function(e,t){r._setCanceledCallback=function(t){return e(t||new f)}}));var o=[this._cancelPromise,new Promise((function(n,o){return t((function(t){t instanceof e?r.attach(t):r._isPending=!1,n(t)}),(function(e){r._isPending=!1,o(e)}),(function(e){if(!r._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");r._cancelHandlers.push(e)}))}))];n&&o.push(new Promise((function(e,t){setTimeout((function(){if(r._isPending)try{r.cancel()}finally{t(new p)}}),n)}))),this._promise=Promise.race(o)}return e.createControl=function(e){return new h(e)},e.resolve=function(t){return new e((function(e){return e(t)}))},e.reject=function(t){return new e((function(e,n){return n(t)}))},e.all=function(t){var n=this;return new e((function(e,n){Promise.all(t).then(e).catch(n)})).catch((function(e){if(e instanceof n.CancelError)for(var r=0,o=t;r<o.length;r++){var i=o[r];"cancel"in i&&i.cancel()}throw e}))},e.prototype.attach=function(e){this._isCanceled?e.cancel():this._children.push(e)},e.prototype.then=function(t,n){var r=this,o=new e((function(e,o){if(r._promise){var i=function(t){n?l(e,o,n,t):o(t)};r._promise.then((function(n){r._isCanceled?i(n):t?l(e,o,t,n):e(n)}),i)}}));return o._parentPromise=this,this._children.push(o),o},e.prototype.catch=function(e){return this._isCanceled&&e&&e(new f),this.then(void 0,e)},e.prototype.finally=function(e){return this._promise?this._promise.finally(e):Promise.reject(this._isCanceled?new f:e)},e.prototype.cancel=function(){if(this._isCanceled||!this._isPending)return this;this._isCanceled=!0;var e=this._getTopParent();if(e&&e.cancel(),this._children&&this._children.forEach((function(e){return e.cancel()})),this._isPending){if(this._cancelHandlers.length)try{for(var t=0,n=this._cancelHandlers;t<n.length;t++){(0,n[t])()}}catch(r){}this._setCanceledCallback&&this._setCanceledCallback()}return this._destroy(),this},e.prototype._getTopParent=function(){for(var e=this._parentPromise,t=!!e;t;)t=!(!e||!e._parentPromise)&&!!(e=e._parentPromise);return e},e.prototype._destroy=function(){this._setCanceledCallback=void 0,this._cancelPromise=void 0,this._promise=void 0},e.CancelError=f,e.TimeoutError=p,e.PromiseControl=h,e}();Object.setPrototypeOf(v.prototype,Promise.prototype);var y=v;function m(e){return null!=e}function g(e){return"string"==typeof e?!!e:m(e)}function b(e,t,n,r){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===n?t===r:w(e,t));return e===t}function w(e,t){var n=Object.keys(e).sort(),r=Object.keys(t).sort();if(n.length!==r.length)return!1;if(n.join("")!==r.join(""))return!1;for(var o=0;o<n.length;o++){if(!b(e[n[o]],t[r[o]],e,t))return!1}return!0}function _(e){var t={};return Object.keys(e).forEach((function(n){e[n]instanceof Array||e[n]!==Object(e[n])?void 0!==e[n]&&(t[n]=e[n]):t[n]=_(e[n])})),t}function O(e){return e.replace(/([^:]\/)\/+/g,"$1")}var x,E=function(e){e&&function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)for(var i=o[r],s=0,u=Object.getOwnPropertyNames(i);s<u.length;s++){var c=u[s];e[c]=i[c]}}(this,e)},R=0,P=function(e){function r(t){var n=e.call(this,t)||this;return n.providers=[],t&&t.providers&&(n.providers=t.providers),n}return t(r,e),r.prototype.abort=function(){this.providers.forEach((function(e){e.abort&&e.abort()}))},r.prototype.search=function(e){return c(this,arguments,(function(){var t,r,i,s,c,f,h,p,l;return o(this,(function(o){switch(o.label){case 0:t=0,r=this.providers,o.label=1;case 1:if(!(t<r.length))return[3,19];i=r[t],o.label=2;case 2:o.trys.push([2,17,,18]),s=i.search(e),o.label=3;case 3:o.trys.push([3,10,11,16]),p=void 0,c=a(s),o.label=4;case 4:return[4,u(c.next())];case 5:return(f=o.sent()).done?[3,9]:[4,u(n(n({},f.value),{provider:i,_id:R++}))];case 6:return[4,o.sent()];case 7:o.sent(),o.label=8;case 8:return[3,4];case 9:return[3,16];case 10:return h=o.sent(),p={error:h},[3,16];case 11:return o.trys.push([11,,14,15]),f&&!f.done&&(l=c.return)?[4,u(l.call(c))]:[3,13];case 12:o.sent(),o.label=13;case 13:return[3,15];case 14:if(p)throw p.error;return[7];case 15:return[7];case 16:return[3,18];case 17:return o.sent(),[3,18];case 18:return t++,[3,1];case 19:return[2]}}))}))},r.prototype.result=function(e){return e.provider?e.provider.result(e):y.resolve(void 0)},r}(E),C=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(E),L={exports:{}},j="object"==typeof Reflect?Reflect:null,q=j&&"function"==typeof j.apply?j.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};x=j&&"function"==typeof j.ownKeys?j.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var T=Number.isNaN||function(e){return e!=e};function I(){I.init.call(this)}L.exports=I,L.exports.once=function(e,t){return new Promise((function(n,r){function o(n){e.removeListener(t,i),r(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}G(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&G(e,"error",t,n)}(e,o,{once:!0})}))},I.EventEmitter=I,I.prototype._events=void 0,I.prototype._eventsCount=0,I.prototype._maxListeners=void 0;var k=10;function S(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function A(e){return void 0===e._maxListeners?I.defaultMaxListeners:e._maxListeners}function F(e,t,n,r){var o,i,s,u;if(S(n),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),s=i[t]),void 0===s)s=i[t]=n,++e._eventsCount;else if("function"==typeof s?s=i[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(o=A(e))>0&&s.length>o&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,u=c,console&&console.warn&&console.warn(u)}return e}function N(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function U(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=N.bind(r);return o.listener=n,r.wrapFn=o,o}function M(e,t,n){var r=e._events;if(void 0===r)return[];var o=r[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):B(o,o.length)}function H(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function B(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function G(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(i){r.once&&e.removeEventListener(t,o),n(i)}))}}Object.defineProperty(I,"defaultMaxListeners",{enumerable:!0,get:function(){return k},set:function(e){if("number"!=typeof e||e<0||T(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");k=e}}),I.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},I.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||T(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},I.prototype.getMaxListeners=function(){return A(this)},I.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,o=this._events;if(void 0!==o)r=r&&void 0===o.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var u=o[e];if(void 0===u)return!1;if("function"==typeof u)q(u,this,t);else{var c=u.length,a=B(u,c);for(n=0;n<c;++n)q(a[n],this,t)}return!0},I.prototype.on=I.prototype.addListener=function(e,t){return F(this,e,t,!1)},I.prototype.prependListener=function(e,t){return F(this,e,t,!0)},I.prototype.once=function(e,t){return S(t),this.on(e,U(this,e,t)),this},I.prototype.prependOnceListener=function(e,t){return S(t),this.prependListener(e,U(this,e,t)),this},I.prototype.off=I.prototype.removeListener=function(e,t){var n,r,o,i,s;if(S(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length-1;i>=0;i--)if(n[i]===t||n[i].listener===t){s=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},I.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,i=Object.keys(n);for(r=0;r<i.length;++r)"removeListener"!==(o=i[r])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},I.prototype.listeners=function(e){return M(this,e,!0)},I.prototype.rawListeners=function(e){return M(this,e,!1)},I.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):H.call(e,t)},I.prototype.listenerCount=H,I.prototype.eventNames=function(){return this._eventsCount>0?x(this._events):[]};var D,z=function(){function e(t){var n;void 0===t&&(t={}),this.cache=[];var r=null!==(n=t.namespace)&&void 0!==n?n:"default";return e.instance[r]?e.instance[r]:(e.instance[r]=this,this)}return e.prototype.clean=function(){this.cache.length=0},e.prototype.all=function(){return this.cache},e.prototype.addFull=function(e,t,n){return this.add(e,t,n,!0)},e.prototype.add=function(e,t,n,r){var o=this,i=this._find(e,n);if(i)return i.value;var s=void 0;s=t instanceof Function?t():t;var u=n&&JSON.parse(JSON.stringify(_(n))),c={key:e,value:s,props:u,options:u};return r&&!g(s)?s:(this.cache.push(c),s instanceof Promise?(s.catch((function(t){throw o.delete(e,n),t})),r&&s.then((function(t){return g(t)||o.delete(e,n),t})),s):s)},e.prototype.match=function(e,t){var n=this._find(e,t);if(n)return n.value},e.prototype.matchAll=function(e,t){var n=this;return e?this.cache.filter((function(r){return n._filter(r,e,t)})).map((function(e){return e.value})):this.cache.map((function(e){return e.value}))},e.prototype.delete=function(e,t){var n=this,r=[];"string"==typeof e?r=this.cache.filter((function(r){return n._filter(r,e,t)})):r.push(e);for(var o=0,i=r;o<i.length;o++){var s=this.cache.indexOf(i[o]);this.cache.splice(s,1)}},e.prototype._find=function(e,t){var n=this;return this.cache.find((function(r){return n._filter(r,e,t)}))},e.prototype._filter=function(e,t,n){return e.key===t&&(!n||w(e.props||e.options||{},_(n)))},e.instance={},e}(),J=z,Q=function(e){function n(t){var r=e.call(this)||this;return r.name="NetworkError",Object.setPrototypeOf(r,n.prototype),r.message="Unable to request ".concat(t,".\n Possibly invalid NGW URL entered or CORS not configured to get request from ").concat(location.origin),r}return t(n,e),n}(Error),W=function(e){function n(t){var r=e.call(this)||this;return r.name="NgwError",Object.assign(r,t),Object.setPrototypeOf(r,n.prototype),r}return t(n,e),n}(Error);function K(e){return"[object Object]"===Object.prototype.toString.call(e)}D=function(e,t,n,r,o){void 0===n&&(n={}),n.method=n.method||"GET";var i=new XMLHttpRequest;i.open(n.method||"GET",e,!0),"blob"===n.responseType&&(i.responseType=n.responseType);var s=function(){try{return JSON.parse(i.responseText)}catch(e){return i.responseText}};i.onload=function(){-1!==[401,403,404,422,500].indexOf(i.status)&&r(new W(s())),function(e){void 0===e&&(e=!1);var o=e?r:t;"blob"===n.responseType?o(i.response):i.responseText?o(s()):r({message:""})}()},i.onerror=function(t){r(0===i.status?new Q(e):t)},i.upload.onprogress=function(e){e.lengthComputable&&(n.onProgress&&n.onProgress(e.loaded/e.total*100,e))};var u,c=n.headers;if(c)for(var a in c){var f=c[a];"string"==typeof f&&i.setRequestHeader(a,f)}if(void 0!==n.withCredentials&&(i.withCredentials=n.withCredentials),n.file){if((u=new FormData).append("file",n.file),n.data)for(var h in n.data)u.append(h,u[h])}else u=n.data?"string"==typeof n.data?n.data:JSON.stringify(n.data):null;o&&o((function(){i.abort()})),i.send(u)};var X=/\{ *([\w_-]+) *\}/g;function $(e,t){return e.replace(X,(function(e,n){var r=t[n];if(void 0===r)throw new Error("No value provided for letiable "+e);return"function"==typeof r&&(r=r(t)),r}))}var V=function(e){function n(t){var r=e.call(this,t)||this;return r.name="ResourceNotFoundError",r.exception="nextgisweb.resource.exception.ResourceNotFound",Object.setPrototypeOf(r,n.prototype),r}return t(n,e),n}(W),Y=function(e){function n(t){var r=e.call(this,t)||this;return r.name="InsufficientPermissionsError",r.exception="nextgisweb.core.exception.InsufficientPermissions",Object.setPrototypeOf(r,n.prototype),r}return t(n,e),n}(W),Z=[];function ee(e){Z.push(e)}var te=["description"];function ne(e,t){void 0===t&&(t=""),t=t?t+"__":"";for(var n={},r=0,o=Object.entries(e);r<o.length;r++){var i=o[r],s=i[0],u=i[1];if(-1===te.indexOf(s))if(K(u))if("owner_user"===s){var c=ne(u,s);Object.assign(n,c)}else"parent"===s&&"id"in u&&(n.parent_id=u.id);else m(u)&&(n[t+s]=u)}return n}var re=function(){function e(e){this.connector=e,this.cache=new J}return e.prototype.getOne=function(e,t){var r=this,o=new J,i={},s=n(n({},t),{cache:!1});"string"==typeof e?i.keyname=e:"number"==typeof e?i.id=e:K(e)&&(void 0!==e.id?i.id=e.id:e.keyname&&(i.keyname=e.keyname));return o.addFull("resource",(function(){return"string"==typeof e?r._fetchResourceBy({keyname:e},s):"number"==typeof e?r._fetchResourceById(e,s):K(e)?r._fetchResourceBy(e,s):y.resolve(void 0)}),i)},e.prototype.getOneOrFail=function(e,t){return this.getOne(e,t).then((function(e){if(e)return e;throw new V}))},e.prototype.getId=function(e,t){return"number"==typeof e?y.resolve(e):"string"==typeof e||K(e)?this.getOne(e,t).then((function(e){if(e)return e.resource.id})):y.resolve(void 0)},e.prototype.getIdOrFail=function(e,t){return this.getId(e,t).then((function(e){if(void 0===e)throw new Error;return e}))},e.prototype.getMany=function(e,t){var r=this;return this._resourceCacheFilter(e).then((function(o){if(!o.length){var i={};return e.keyname?i.keyname=e.keyname:Object.assign(i,ne(e)),r.connector.get("resource.search",t,n({serialization:"full"},i)).then((function(e){if(e)for(var t=0,n=e;t<n.length;t++){var o=n[t];r.cache.add("resource.item",y.resolve(o),{id:o.resource.id})}return e}))}return o}))},e.prototype.getParent=function(e,t){var n=this;return this.getOne(e,t).then((function(e){return e?n.getOne(e.resource.parent.id,t):y.resolve(void 0)}))},e.prototype.getChildrenOf=function(e,t){var n=this;return this.getIdOrFail(e).then((function(e){return n._getChildrenOf(e,t)}))},e.prototype.update=function(e,t){var n=this;return this.getId(e).then((function(e){if(void 0!==e)return n.connector.put("resource.item",{data:t},{id:e})}))},e.prototype.delete=function(e){var t=this;return this.getId(e).then((function(e){if(void 0!==e)return t.connector.delete("resource.item",null,{id:e}).then((function(){t._cleanResourceItemCache(e)}))}))},e.prototype._getChildrenOf=function(e,t,r){var o=this;return void 0===r&&(r=[]),this.connector.get("resource.collection",n({cache:!0},t),{parent:e}).then((function(e){for(var n=[],i=0,s=e;i<s.length;i++){var u=s[i];o.cache.add("resource.item",y.resolve(u),{id:u.resource.id}),r.push(u),(null==t?void 0:t.recursive)&&u.resource.children&&n.push(o._getChildrenOf(u.resource.id,t,r))}return n.length?y.all(n).then((function(){return r})):r}))},e.prototype._cleanResourceItemCache=function(e){return r(this,void 0,void 0,(function(){var t,n,r,i,s,u,c,a;return o(this,(function(o){switch(o.label){case 0:t=this.cache.all(),n=[],r=0,i=t,o.label=1;case 1:return r<i.length?(u=(s=i[r]).options&&s.options.id,["resource.item","resource"].includes(s.key)&&void 0!==u?"number"!=typeof u?[3,2]:(u===e&&n.push(s),[3,4]):[3,4]):[3,5];case 2:return[4,this.getId(u)];case 3:o.sent()===e&&n.push(s),o.label=4;case 4:return r++,[3,1];case 5:for(c=0,a=n;c<a.length;c++)this.cache.delete(a[c]);return[2]}}))}))},e.prototype._fetchResourceById=function(e,t){var n=this;return this.cache.add("resource.item",(function(){return n.connector.get("resource.item",t,{id:e})}),{id:e}).catch((function(e){if(!(e instanceof V))throw e}))},e.prototype._fetchResourceBy=function(e,t){return this.getMany(e,t).then((function(e){return e[0]}))},e.prototype._resourceCacheFilter=function(e){return y.all(this.cache.matchAll("resource.item")).then((function(t){return t.filter((function(t){if(t)return e.keyname&&t.resource.keyname?e.keyname===t.resource.keyname:m(e.id)&&m(t.resource.id)?e.id===t.resource.id:w(e,t.resource)})),[]}))},e}(),oe=0,ie=function(){function e(e){this.options=e,this.id=oe++,this.emitter=new L.exports.EventEmitter,this.routeStr="/api/component/pyramid/route",this.activeRequests=[];var t=function(e){return Z.find((function(t){if(t.options.baseUrl===e.baseUrl){if(!e.auth)return!0;if(t.options.auth)return w(t.options.auth,e.auth)}}))}(e);if(t)return t;this.options.route&&(this.routeStr=this.options.route),this.options.requestTransform&&(this.requestTransform=this.options.requestTransform),this.resources=new re(this),ee(this)}return e.create=function(e){return new this(e)},e.prototype.setRequestTransform=function(e){this.requestTransform=e},e.prototype.setNgw=function(e){this.logout(),this.options.baseUrl=e,ee(this)},e.prototype.connect=function(){var e=this,t=new J,n=this.options.auth;return t.add("route",(function(){return new y((function(t,r){var o=function(){return e.makeQuery(e.routeStr,{},{}).then((function(e){t(e)})).catch((function(e){r(e)}))};if(n){var i=n.login,s=n.password;if(i&&s)return e._login({login:i,password:s}).then((function(){return o()})).catch((function(e){return r(e)}))}return o()}))}),{id:this.id,auth:n,baseUrl:this.options.baseUrl})},e.prototype.login=function(e,t){return this.logout(),ee(this),this._login(e,t)},e.prototype.logout=function(){var e;this.abort(),-1!==(e=Z.indexOf(this))&&Z.splice(e,1),this.options.auth=void 0,this.user=void 0,this.emitter.emit("logout"),this.resources.cache.clean()},e.prototype.getUserInfo=function(e,t){if(this.user&&this.user.id)return y.resolve(this.user);e&&(this.options.auth=e);var r=n({headers:this.getAuthorizationHeaders(e)},t);return this.makeQuery("/api/component/auth/current_user",{},r)},e.prototype.getAuthorizationHeaders=function(e){var t=this.makeClientId(e);if(t)return{Authorization:"Basic "+t}},e.prototype.makeClientId=function(e){if(e=e||this.options.auth){var t=e.password,n=unescape(encodeURIComponent("".concat(e.login,":").concat(t)));return window.btoa(n)}},e.prototype.abort=function(){for(var e=0,t=this.activeRequests;e<t.length;e++){t[e].cancel()}this.activeRequests=[]},e.prototype.getActiveApiRequests=function(){return s([],this.activeRequests,!0)},e.prototype.apiRequest=function(e,t,r){var o,i=this;void 0===t&&(t={}),void 0===r&&(r={});var u=r.method,c=r.headers,a=r.withCredentials,f=r.responseType,h=_(t),p=function(){return function(e){var t=e.params;return new y((function(n,r){e.connector.connect().then((function(o){var i=o&&o[e.name];if(i){var u=(i=s([],i,!0)).shift();if(i.length){for(var c={},a=0;a<i.length;a++){var f=i[a];if(c[a]="{"+f+"}",void 0===t[f])throw new Error("`"+f+"` url api argument is not specified")}u&&(u=$(u,c))}if(t){var h=[],p=t.paramList;for(var l in Array.isArray(p)&&(delete t.paramList,p.forEach((function(e){h.push("".concat(e[0],"=").concat(e[1]))}))),t)-1===i.indexOf(l)&&h.push("".concat(l,"=").concat(t[l]));h.length&&(u=u+"?"+h.join("&"))}u?n(e.connector.makeQuery(u,t,e.requestOptions)):r(new Error("request url is not set"))}else n(void 0)})).catch((function(e){r(e)}))}))}({name:e,params:h,requestOptions:r,connector:i})};return r.cache&&"GET"===u?(new J).add(e,p,n({params:h},_({headers:c,withCredentials:a,responseType:f,baseUrl:this.options.baseUrl,userId:null===(o=this.user)||void 0===o?void 0:o.id}))):p()},e.prototype.post=function(e,t,n){return(t=t||{}).method="POST",this.apiRequest(e,n,t)},e.prototype.get=function(e,t,n){return(t=t||{}).method="GET",this.apiRequest(e,n,t)},e.prototype.patch=function(e,t,n){return(t=t||{}).method="PATCH",this.apiRequest(e,n,t)},e.prototype.put=function(e,t,n){return(t=t||{}).method="PUT",this.apiRequest(e,n,t)},e.prototype.delete=function(e,t,n){return(t=t||{}).method="DELETE",this.apiRequest(e,n,t)},e.prototype.makeQuery=function(e,t,n){if(void 0===n&&(n={}),e=(this.options.baseUrl?this.options.baseUrl:"")+e)return t&&(e=$(e,t)),e=encodeURI(O(e)),this._loadData(e,n);throw new Error("Empty `url` not allowed")},e.prototype.getResource=function(e,t){return this.resources.getOne(e,t)},e.prototype.getResourceOrFail=function(e,t){return this.resources.getOneOrFail(e,t)},e.prototype.getResourceBy=function(e){return this.resources.getOne(e)},e.prototype.getResourceByKeyname=function(e){return this.resources.getOne(e)},e.prototype.getResourceById=function(e){return this.resources.getOne(e)},e.prototype.getResourceId=function(e,t){return this.resources.getId(e,t)},e.prototype.getResourceIdOrFail=function(e,t){return this.resources.getIdOrFail(e,t)},e.prototype.getResourcesBy=function(e,t){return this.resources.getMany(e,t)},e.prototype.getResourceParent=function(e,t){return this.resources.getParent(e,t)},e.prototype.getResourceChildren=function(e,t){return this.resources.getChildrenOf(e,t)},e.prototype.updateResource=function(e,t){return this.resources.update(e,t)},e.prototype.deleteResource=function(e){return this.resources.delete(e)},e.prototype._loadData=function(e,t){var r=this;t.responseType=t.responseType||"json";var o=new y((function(o,i,s){if(r.user&&((t=t||{}).headers=n(n({},r.getAuthorizationHeaders()),t.headers)),r.requestTransform){var u=r.requestTransform(e,t);e=u[0],t=u[1]}D(e,o,t,i,s)})).then((function(e){return r._cleanActiveRequests(o),e})).catch((function(e){if(r._cleanActiveRequests(o),e instanceof y.CancelError);else{var t=r._handleHttpError(e);if(t)throw t}}));return t.signal&&"function"==typeof t.signal.addEventListener&&t.signal.addEventListener("abort",(function(){o.cancel(),r._cleanActiveRequests(o)})),this.activeRequests.push(o),o},e.prototype._login=function(e,t){var n=this;return this.getUserInfo(e,t).then((function(e){return n.user=e,n.emitter.emit("login",e),e})).catch((function(e){throw n.emitter.emit("login:error",e),e}))},e.prototype._cleanActiveRequests=function(e){var t=this.activeRequests.indexOf(e);-1!==t&&this.activeRequests.splice(t,1)},e.prototype._handleHttpError=function(e){if(e&&e instanceof W){if("nextgisweb.resource.exception.ResourceNotFound"===e.exception)throw new V(e);if("nextgisweb.core.exception.InsufficientPermissions"===e.exception)throw new Y(e)}return e},e.errors={NgwError:W,ResourceNotFoundError:V},e}(),se=ie,ue=function(e){function r(t){var n=e.call(this,t)||this;return n.caseInsensitive=!0,n.searchUrl="https://maxim.nextgis.com",n.searchResources=[],n.requests=[],n.connector=t.connector||new se({baseUrl:n.searchUrl}),n.searchResources=t.searchResources,n}return t(r,e),r.prototype.abort=function(){this.requests.forEach((function(e){e.cancel()})),this.requests=[]},r.prototype.search=function(e){return c(this,arguments,(function(){var t,r,i,s,c=this;return o(this,(function(a){switch(a.label){case 0:t=function(t){var i,s,a,f,h,p;return o(this,(function(l){switch(l.label){case 0:return i=r.connector.get("feature_layer.store",{headers:{RANGE:"items=0-".concat(t.limit||300)}},{id:t.id,like:e}),r.requests.push(i),i.catch((function(e){console.warn(e)})),[4,u(i)];case 1:s=l.sent(),a=[],s&&s.forEach((function(r){a.push(n({query:e,resourceId:t.id},r))})),f=function(e){return o(this,(function(t){switch(t.label){case 0:return e.result=function(){return c.result(e)},[4,u(e)];case 1:return[4,t.sent()];case 2:return t.sent(),[2]}}))},h=0,p=r._items(a),l.label=2;case 2:return h<p.length?[5,f(p[h])]:[3,5];case 3:l.sent(),l.label=4;case 4:return h++,[3,2];case 5:return[2]}}))},r=this,i=0,s=this.searchResources,a.label=1;case 1:return i<s.length?[5,t(s[i])]:[3,4];case 2:a.sent(),a.label=3;case 3:return i++,[3,1];case 4:return[2]}}))}))},r.prototype.result=function(e){var t=this.connector.get("feature_layer.feature.item_extent",null,{id:e.resourceId,fid:e.featureId}).then((function(t){var n=t.extent;return{text:e.text,extent:[n.minLon,n.minLat,n.maxLon,n.maxLat]}}));return this.requests.push(t),t},r.prototype._items=function(e){var t=this,n=[];return e.forEach((function(e){t.searchResources.find((function(t){return t.id===e.resourceId}))&&n.push({query:e.query,text:e.label,featureId:e.id,resourceId:e.resourceId})})),n},r}(C),ce=function(e){function n(t){var n=e.call(this,t)||this;return n.searchUrl="https://nominatim.openstreetmap.org",n._requests=[],n}return t(n,e),n.prototype.abort=function(){this._requests.forEach((function(e){return e.cancel()})),this._requests=[]},n.prototype.search=function(e){return c(this,arguments,(function(){var t,n,r,i,s,c,a=this;return o(this,(function(f){switch(f.label){case 0:return t=O("".concat(this.searchUrl,"/search?format=geojson&polygon_geojson=1&q=").concat(e)),n=new y((function(n,r,o){var i=new XMLHttpRequest;i.open("GET",t,!0),i.onload=function(){try{var t=JSON.parse(i.responseText).features.map((function(t){return{geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e}}));n(t)}catch(o){r(o)}},i.onerror=function(e){r(e)},o((function(){i.abort()})),i.send()})).catch((function(e){throw e})),this._requests.push(n),[4,u(n)];case 1:if(!(r=f.sent()))return[3,5];i=function(e){return o(this,(function(t){switch(t.label){case 0:return e.result=function(){return a.result(e)},[4,u(e)];case 1:return[4,t.sent()];case 2:return t.sent(),[2]}}))},s=0,c=r,f.label=2;case 2:return s<c.length?[5,i(c[s])]:[3,5];case 3:f.sent(),f.label=4;case 4:return s++,[3,2];case 5:return[2]}}))}))},n.prototype.result=function(e){return y.resolve({text:e.text,extent:e.extent||[],geom:e.geom})},n}(C);function ae(e){return new P(e)}export{C as BaseProvider,P as Geocoder,ue as NgwProvider,ce as NominatimProvider,ae as create};
|
|
1
|
+
class e extends Error{constructor(){super(),this.name="CancelError",Object.setPrototypeOf(this,e.prototype)}}class t{constructor(e={}){this.options=e,this._promises=new Map}get isLoaded(){return this._promises.size>0}remove(e){this._promises.has(e)&&(this._promises.delete(e),this._onStop())}get(e){return this._promises.get(e)}add(e,t){const r=t||e,s=this._promises.get(r);return this.options.onStart&&!this.isLoaded&&this.options.onStart(),s||(this._promises.set(r,e),e.finally((()=>{this.remove(r)})),e)}abort(){this.isLoaded&&(this._promises.forEach((e=>{e.cancel&&e.cancel()})),this._promises.clear(),this._onStop())}waitFunc(e,t=""){const r=this.get(t=t||e.name);return r||this.add(e(),t)}WaitForMe(e=""){const t=this.get.bind(this),r=this.add.bind(this);return function(s,n,i){const o=i.value;return e=e||n,i.value=function(...s){const n=t(e);if(n)return n;return r(o.apply(this,s),e)},i}}GetOrCreateDecorator(e=""){return this.WaitForMe(e)}_onStop(){this.options.onStop&&!this.isLoaded&&this.options.onStop()}}class r extends Error{constructor(){super(),this.name="TimeoutError",Object.setPrototypeOf(this,r.prototype)}}const s=(e,t,r,s)=>{try{e(r(s))}catch(n){t(n)}};let n=0;class i{constructor(t,s){this.id=n++,this._isCanceled=!1,this._isPending=!0,this._cancelHandlers=[],this._children=[],this._cancelPromise=new Promise(((t,r)=>{this._setCanceledCallback=r=>t(r||new e)}));const o=[this._cancelPromise,new Promise(((e,r)=>t((t=>{t instanceof i?this.attach(t):this._isPending=!1,e(t)}),(e=>{this._isPending=!1,r(e)}),(e=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)}))))];s&&o.push(new Promise(((e,t)=>{setTimeout((()=>{if(this._isPending)try{this.cancel()}finally{t(new r)}}),s)}))),this._promise=Promise.race(o)}static createControl(e){return new t(e)}static resolve(e){return new i((t=>t(e)))}static reject(e){return new i(((t,r)=>r(e)))}static all(e){return new i(((t,r)=>{Promise.all(e).then(t).catch(r)})).catch((t=>{if(t instanceof this.CancelError)for(const r of e){"cancel"in r&&r.cancel()}throw t}))}attach(e){this._isCanceled?e.cancel():this._children.push(e)}then(e,t){const r=new i(((r,n)=>{if(this._promise){const i=e=>{t?s(r,n,t,e):n(e)};this._promise.then((t=>{this._isCanceled?i(t):e?s(r,n,e,t):r(t)}),i)}}));return r._parentPromise=this,this._children.push(r),r}catch(t){return this._isCanceled&&t&&t(new e),this.then(void 0,t)}finally(t){return this._promise?this._promise.finally(t):Promise.reject(this._isCanceled?new e:t)}cancel(){if(this._isCanceled||!this._isPending)return this;this._isCanceled=!0;const e=this._getTopParent();if(e&&e.cancel(),this._children&&this._children.forEach((e=>e.cancel())),this._isPending){if(this._cancelHandlers.length)try{for(const e of this._cancelHandlers)e()}catch(t){}this._setCanceledCallback&&this._setCanceledCallback()}return this._destroy(),this}_getTopParent(){let e=this._parentPromise,t=!!e;for(;t;)e&&e._parentPromise?(e=e._parentPromise,t=!!e):t=!1;return e}_destroy(){this._setCanceledCallback=void 0,this._cancelPromise=void 0,this._promise=void 0}}i.CancelError=e,i.TimeoutError=r,i.PromiseControl=t,Object.setPrototypeOf(i.prototype,Promise.prototype);var o=i;function c(e){return null!=e}function a(e){return"string"==typeof e?!!e:c(e)}function h(e,t,r,s){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===s:u(e,t));return e===t}function u(e,t){const r=Object.keys(e).sort(),s=Object.keys(t).sort();if(r.length!==s.length)return!1;if(r.join("")!==s.join(""))return!1;for(let n=0;n<r.length;n++){if(!h(e[r[n]],t[s[n]],e,t))return!1}return!0}function l(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]=l(e[r])})),t}function f(e){return e.replace(/([^:]\/)\/+/g,"$1")}class p{constructor(e){e&&function(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}(this,e)}}let d=0;class m extends p{constructor(e){super(e),this.providers=[],e&&e.providers&&(this.providers=e.providers)}abort(){this.providers.forEach((e=>{e.abort&&e.abort()}))}async*search(e){for(const r of this.providers)try{const t=r.search(e);for await(const e of t)yield{...e,provider:r,_id:d++}}catch(t){}}result(e){return e.provider?e.provider.result(e):o.resolve(void 0)}}class v extends p{}var y,g={exports:{}},_="object"==typeof Reflect?Reflect:null,w=_&&"function"==typeof _.apply?_.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};y=_&&"function"==typeof _.ownKeys?_.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var b=Number.isNaN||function(e){return e!=e};function O(){O.init.call(this)}g.exports=O,g.exports.once=function(e,t){return new Promise((function(r,s){function n(r){e.removeListener(t,i),s(r)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}I(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&I(e,"error",t,r)}(e,n,{once:!0})}))},O.EventEmitter=O,O.prototype._events=void 0,O.prototype._eventsCount=0,O.prototype._maxListeners=void 0;var x=10;function E(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function R(e){return void 0===e._maxListeners?O.defaultMaxListeners:e._maxListeners}function C(e,t,r,s){var n,i,o,c;if(E(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),o=i[t]),void 0===o)o=i[t]=r,++e._eventsCount;else if("function"==typeof o?o=i[t]=s?[r,o]:[o,r]:s?o.unshift(r):o.push(r),(n=R(e))>0&&o.length>n&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,c=a,console&&console.warn&&console.warn(c)}return e}function L(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function P(e,t,r){var s={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=L.bind(s);return n.listener=r,s.wrapFn=n,n}function q(e,t,r){var s=e._events;if(void 0===s)return[];var n=s[t];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(n):T(n,n.length)}function j(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function T(e,t){for(var r=new Array(t),s=0;s<t;++s)r[s]=e[s];return r}function I(e,t,r,s){if("function"==typeof e.on)s.once?e.once(t,r):e.on(t,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function n(i){s.once&&e.removeEventListener(t,n),r(i)}))}}Object.defineProperty(O,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(e){if("number"!=typeof e||e<0||b(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");x=e}}),O.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},O.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||b(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},O.prototype.getMaxListeners=function(){return R(this)},O.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var s="error"===e,n=this._events;if(void 0!==n)s=s&&void 0===n.error;else if(!s)return!1;if(s){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var o=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw o.context=i,o}var c=n[e];if(void 0===c)return!1;if("function"==typeof c)w(c,this,t);else{var a=c.length,h=T(c,a);for(r=0;r<a;++r)w(h[r],this,t)}return!0},O.prototype.on=O.prototype.addListener=function(e,t){return C(this,e,t,!1)},O.prototype.prependListener=function(e,t){return C(this,e,t,!0)},O.prototype.once=function(e,t){return E(t),this.on(e,P(this,e,t)),this},O.prototype.prependOnceListener=function(e,t){return E(t),this.prependListener(e,P(this,e,t)),this},O.prototype.removeListener=function(e,t){var r,s,n,i,o;if(E(t),void 0===(s=this._events))return this;if(void 0===(r=s[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete s[e],s.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(n=-1,i=r.length-1;i>=0;i--)if(r[i]===t||r[i].listener===t){o=r[i].listener,n=i;break}if(n<0)return this;0===n?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,n),1===r.length&&(s[e]=r[0]),void 0!==s.removeListener&&this.emit("removeListener",e,o||t)}return this},O.prototype.off=O.prototype.removeListener,O.prototype.removeAllListeners=function(e){var t,r,s;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var n,i=Object.keys(r);for(s=0;s<i.length;++s)"removeListener"!==(n=i[s])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(s=t.length-1;s>=0;s--)this.removeListener(e,t[s]);return this},O.prototype.listeners=function(e){return q(this,e,!0)},O.prototype.rawListeners=function(e){return q(this,e,!1)},O.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):j.call(e,t)},O.prototype.listenerCount=j,O.prototype.eventNames=function(){return this._eventsCount>0?y(this._events):[]};class k{constructor(e={}){var t;this.cache=[];const r=null!==(t=e.namespace)&&void 0!==t?t:"default";return k.instance[r]?k.instance[r]:(k.instance[r]=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,r,s){const n=this._find(e,r);if(n)return n.value;{let n;n=t instanceof Function?t():t;const i=r&&JSON.parse(JSON.stringify(l(r))),o={key:e,value:n,props:i,options:i};return s&&!a(n)?n:(this.cache.push(o),n instanceof Promise?(n.catch((t=>{throw this.delete(e,r),t})),s&&n.then((t=>(a(t)||this.delete(e,r),t))),n):n)}}match(e,t){const r=this._find(e,t);if(r)return 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){let r=[];"string"==typeof e?r=this.cache.filter((r=>this._filter(r,e,t))):r.push(e);for(const s of r){const e=this.cache.indexOf(s);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){if(r){return u(e.props||e.options||{},l(r))}return!0}return!1}}k.instance={};var F=k;class A extends Error{constructor(e){super(),this.name="NetworkError",Object.setPrototypeOf(this,A.prototype),this.message=`Unable to request ${e}.\n Possibly invalid NGW URL entered or CORS not configured to get request from ${location.origin}`}}class N extends Error{constructor(e){super(),this.name="NgwError",Object.assign(this,e),Object.setPrototypeOf(this,N.prototype)}}function U(e){return"[object Object]"===Object.prototype.toString.call(e)}let S;S=(e,t,r={},s,n)=>{r.method=r.method||"GET";const i=new XMLHttpRequest;i.open(r.method||"GET",e,!0),"blob"===r.responseType&&(i.responseType=r.responseType);const o=()=>{try{return JSON.parse(i.responseText)}catch(e){return i.responseText}};i.onload=()=>{-1!==[401,403,404,422,500].indexOf(i.status)&&s(new N(o())),((e=!1)=>{const n=e?s:t;"blob"===r.responseType?n(i.response):i.responseText?n(o()):s({message:""})})()},i.onerror=t=>{s(0===i.status?new A(e):t)},i.upload.onprogress=function(e){if(e.lengthComputable){r.onProgress&&r.onProgress(e.loaded/e.total*100,e)}};const c=r.headers;if(c)for(const h in c){const e=c[h];"string"==typeof e&&i.setRequestHeader(h,e)}let a;if(void 0!==r.withCredentials&&(i.withCredentials=r.withCredentials),r.file){if(a=new FormData,a.append("file",r.file),r.data)for(const h in r.data)a.append(h,a[h])}else a=r.data?"string"==typeof r.data?r.data:JSON.stringify(r.data):null;n&&n((()=>{i.abort()})),i.send(a)};const M=/\{ *([\w_-]+) *\}/g;function H(e,t){return e.replace(M,((e,r)=>{let s=t[r];if(void 0===s)throw new Error("No value provided for letiable "+e);return"function"==typeof s&&(s=s(t)),s}))}class $ extends N{constructor(e){super(e),this.name="ResourceNotFoundError",this.exception="nextgisweb.resource.exception.ResourceNotFound",Object.setPrototypeOf(this,$.prototype)}}class B extends N{constructor(e){super(e),this.name="InsufficientPermissionsError",this.exception="nextgisweb.core.exception.InsufficientPermissions",Object.setPrototypeOf(this,B.prototype)}}const G=[];function D(e){G.push(e)}const z=["description"];function J(e,t=""){t=t?t+"__":"";const r={};for(const[s,n]of Object.entries(e))if(-1===z.indexOf(s))if(U(n))if("owner_user"===s){const e=J(n,s);Object.assign(r,e)}else"parent"===s&&"id"in n&&(r.parent_id=n.id);else c(n)&&(r[t+s]=n);return r}class Q{constructor(e){this.connector=e,this.cache=new F}getOne(e,t){const r=new F,s={},n={...t,cache:!1};"string"==typeof e?s.keyname=e:"number"==typeof e?s.id=e:U(e)&&(void 0!==e.id?s.id=e.id:e.keyname&&(s.keyname=e.keyname));return r.addFull("resource",(()=>"string"==typeof e?this._fetchResourceBy({keyname:e},n):"number"==typeof e?this._fetchResourceById(e,n):U(e)?this._fetchResourceBy(e,n):o.resolve(void 0)),s)}getOneOrFail(e,t){return this.getOne(e,t).then((e=>{if(e)return e;throw new $}))}getId(e,t){return"number"==typeof e?o.resolve(e):"string"==typeof e||U(e)?this.getOne(e,t).then((e=>{if(e)return e.resource.id})):o.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,J(e)),this.connector.get("resource.search",t,{serialization:"full",...r}).then((e=>{if(e)for(const t of e)this.cache.add("resource.item",o.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):o.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",{cache:!0,...t},{parent:e}).then((e=>{const s=[];for(const n of e)this.cache.add("resource.item",o.resolve(n),{id:n.resource.id}),r.push(n),(null==t?void 0:t.recursive)&&n.resource.children&&s.push(this._getChildrenOf(n.resource.id,t,r));return s.length?o.all(s).then((()=>r)):r}))}async _cleanResourceItemCache(e){const t=this.cache.all(),r=[];for(const s of t){const t=s.options&&s.options.id;if(["resource.item","resource"].includes(s.key)&&void 0!==t)if("number"==typeof t)t===e&&r.push(s);else{await this.getId(t)===e&&r.push(s)}}for(const s of r)this.cache.delete(s)}_fetchResourceById(e,t){return this.cache.add("resource.item",(()=>this.connector.get("resource.item",t,{id:e})),{id:e}).catch((e=>{if(!(e instanceof $))throw e}))}_fetchResourceBy(e,t){return this.getMany(e,t).then((e=>e[0]))}_resourceCacheFilter(e){return o.all(this.cache.matchAll("resource.item")).then((t=>(t.filter((t=>{if(t)return e.keyname&&t.resource.keyname?e.keyname===t.resource.keyname:c(e.id)&&c(t.resource.id)?e.id===t.resource.id:u(e,t.resource)})),[])))}}let W=0;class K{constructor(e){this.options=e,this.id=W++,this.emitter=new g.exports.EventEmitter,this.routeStr="/api/component/pyramid/route",this.activeRequests=[];const t=function(e){return G.find((t=>{if(t.options.baseUrl===e.baseUrl){if(!e.auth)return!0;if(t.options.auth)return u(t.options.auth,e.auth)}}))}(e);if(t)return t;this.options.route&&(this.routeStr=this.options.route),this.options.requestTransform&&(this.requestTransform=this.options.requestTransform),this.resources=new Q(this),D(this)}static create(e){return new this(e)}setRequestTransform(e){this.requestTransform=e}setNgw(e){this.logout(),this.options.baseUrl=e,D(this)}connect(){const e=new F,t=this.options.auth;return e.add("route",(()=>new o(((e,r)=>{const s=()=>this.makeQuery(this.routeStr,{},{}).then((t=>{e(t)})).catch((e=>{r(e)}));if(t){const{login:e,password:n}=t;if(e&&n)return this._login({login:e,password:n}).then((()=>s())).catch((e=>r(e)))}return s()}))),{id:this.id,auth:t,baseUrl:this.options.baseUrl})}login(e,t){return this.logout(),D(this),this._login(e,t)}logout(){this.abort(),function(e){const t=G.indexOf(e);-1!==t&&G.splice(t,1)}(this),this.options.auth=void 0,this.user=void 0,this.emitter.emit("logout"),this.resources.cache.clean()}getUserInfo(e,t){if(this.user&&this.user.id)return o.resolve(this.user);e&&(this.options.auth=e);const r={headers:this.getAuthorizationHeaders(e),...t};return this.makeQuery("/api/component/auth/current_user",{},r)}getAuthorizationHeaders(e){const t=this.makeClientId(e);if(t)return{Authorization:"Basic "+t}}makeClientId(e){if(e=e||this.options.auth){const{login:t,password:r}=e,s=unescape(encodeURIComponent(`${t}:${r}`));return window.btoa(s)}}abort(){for(const e of this.activeRequests)e.cancel();this.activeRequests=[]}getActiveApiRequests(){return[...this.activeRequests]}apiRequest(e,t={},r={}){var s;const{method:n,headers:i,withCredentials:c,responseType:a}=r,h=l(t),u=()=>function(e){const t=e.params;return new o(((r,s)=>{e.connector.connect().then((n=>{let i=n&&n[e.name];if(i){i=[...i];let n=i.shift();if(i.length){const e={};for(let r=0;r<i.length;r++){const s=i[r];if(e[r]="{"+s+"}",void 0===t[s])throw new Error("`"+s+"` url api argument is not specified")}n&&(n=H(n,e))}if(t){const e=[],r=t.paramList;Array.isArray(r)&&(delete t.paramList,r.forEach((t=>{e.push(`${t[0]}=${t[1]}`)})));for(const s in t)-1===i.indexOf(s)&&e.push(`${s}=${t[s]}`);e.length&&(n=n+"?"+e.join("&"))}n?r(e.connector.makeQuery(n,t,e.requestOptions)):s(new Error("request url is not set"))}else r(void 0)})).catch((e=>{s(e)}))}))}({name:e,params:h,requestOptions:r,connector:this});if(r.cache&&"GET"===n){return(new F).add(e,u,{params:h,...l({headers:i,withCredentials:c,responseType:a,baseUrl:this.options.baseUrl,userId:null===(s=this.user)||void 0===s?void 0:s.id})})}return u()}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)}makeQuery(e,t,r={}){if(e=(this.options.baseUrl?this.options.baseUrl:"")+e)return t&&(e=H(e,t)),e=encodeURI(f(e)),this._loadData(e,r);throw new Error("Empty `url` not allowed")}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)}_loadData(e,t){t.responseType=t.responseType||"json";const r=new o(((r,s,n)=>{if(this.user&&((t=t||{}).headers={...this.getAuthorizationHeaders(),...t.headers}),this.requestTransform){const[r,s]=this.requestTransform(e,t);e=r,t=s}S(e,r,t,s,n)})).then((e=>(this._cleanActiveRequests(r),e))).catch((e=>{if(this._cleanActiveRequests(r),e instanceof o.CancelError);else{const t=this._handleHttpError(e);if(t)throw t}}));return t.signal&&"function"==typeof t.signal.addEventListener&&t.signal.addEventListener("abort",(()=>{r.cancel(),this._cleanActiveRequests(r)})),this.activeRequests.push(r),r}_login(e,t){return this.getUserInfo(e,t).then((e=>(this.user=e,this.emitter.emit("login",e),e))).catch((e=>{throw this.emitter.emit("login:error",e),e}))}_cleanActiveRequests(e){const t=this.activeRequests.indexOf(e);-1!==t&&this.activeRequests.splice(t,1)}_handleHttpError(e){if(e&&e instanceof N){if("nextgisweb.resource.exception.ResourceNotFound"===e.exception)throw new $(e);if("nextgisweb.core.exception.InsufficientPermissions"===e.exception)throw new B(e)}return e}}K.errors={NgwError:N,ResourceNotFoundError:$};var X=K;class V extends v{constructor(e){super(e),this.caseInsensitive=!0,this.searchUrl="https://maxim.nextgis.com",this.searchResources=[],this.requests=[],this.connector=e.connector||new X({baseUrl:this.searchUrl}),this.searchResources=e.searchResources}abort(){this.requests.forEach((e=>{e.cancel()})),this.requests=[]}async*search(e){for(const t of this.searchResources){const r=this.connector.get("feature_layer.store",{headers:{RANGE:`items=0-${t.limit||300}`}},{id:t.id,like:e});this.requests.push(r),r.catch((e=>{console.warn(e)}));const s=await r,n=[];s&&s.forEach((r=>{n.push({query:e,resourceId:t.id,...r})}));for(const e of this._items(n))e.result=()=>this.result(e),yield e}}result(e){const t=this.connector.get("feature_layer.feature.item_extent",null,{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]}}));return this.requests.push(t),t}_items(e){const t=[];return e.forEach((e=>{this.searchResources.find((t=>t.id===e.resourceId))&&t.push({query:e.query,text:e.label,featureId:e.id,resourceId:e.resourceId})})),t}}class Y extends v{constructor(e){super(e),this.searchUrl="https://nominatim.openstreetmap.org",this._requests=[]}abort(){this._requests.forEach((e=>e.cancel())),this._requests=[]}async*search(e){const t=f(`${this.searchUrl}/search?format=geojson&polygon_geojson=1&q=${e}`),r=new o(((r,s,n)=>{const i=new XMLHttpRequest;i.open("GET",t,!0),i.onload=()=>{try{const t=JSON.parse(i.responseText).features.map((t=>({geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e})));r(t)}catch(t){s(t)}},i.onerror=e=>{s(e)},n((()=>{i.abort()})),i.send()})).catch((e=>{throw e}));this._requests.push(r);const s=await r;if(s)for(const n of s)n.result=()=>this.result(n),yield n}result(e){return o.resolve({text:e.text,extent:e.extent||[],geom:e.geom})}}function Z(e){return new m(e)}export{v as BaseProvider,m as Geocoder,V as NgwProvider,Y as NominatimProvider,Z as create};
|
|
2
2
|
//# sourceMappingURL=geocoder.esm-browser.prod.js.map
|