@nextgis/geocoder 1.9.4 → 1.11.8

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,4 +1,4 @@
1
- /** Bundle of @nextgis/geocoder; version: 1.9.4; author: NextGIS */
1
+ /** Bundle of @nextgis/geocoder; version: 1.11.8; author: NextGIS */
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@nextgis/cancelable-promise"),t=require("@nextgis/utils"),s=require("@nextgis/ngw-connector");function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=r(e),c=r(s);class i{constructor(e){e&&t.objectAssign(this,e)}}let n=0;class a extends i{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 t of this.providers)try{const s=t.search(e);for await(const e of s)yield{...e,provider:t,_id:n++}}catch(e){}}result(e){return e.provider?e.provider.result(e):o.resolve(void 0)}}class u extends i{}exports.BaseProvider=u,exports.Geocoder=a,exports.NgwProvider=class extends u{constructor(e){super(e),this.caseInsensitive=!0,this.searchUrl="https://maxim.nextgis.com",this.searchResources=[],this.requests=[],this.connector=e.connector||new c({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 s=this.connector.get("feature_layer.store",{headers:{RANGE:`items=0-${t.limit||300}`}},{id:t.id,like:e});this.requests.push(s),s.catch((e=>{console.warn(e)}));const r=await s,o=[];r&&r.forEach((s=>{o.push({query:e,resourceId:t.id,...s})}));for(const e of this._items(o))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 s=t.extent;return{text:e.text,extent:[s.minLon,s.minLat,s.maxLon,s.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}},exports.NominatimProvider=class extends u{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 s=t.fixUrlStr(`${this.searchUrl}/search?format=geojson&polygon_geojson=1&q=${e}`),r=new o(((t,r,o)=>{const c=new XMLHttpRequest;c.open("GET",s,!0),c.onload=()=>{try{const s=JSON.parse(c.responseText).features.map((t=>({geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e})));t(s)}catch(e){r(e)}},c.onerror=e=>{r(e)},o((()=>{c.abort()})),c.send()})).catch((e=>{throw e}));this._requests.push(r);const c=await r;if(c)for(const e of c)e.result=()=>this.result(e),yield e}result(e){return o.resolve({text:e.text,extent:e.extent||[],geom:e.geom})}},exports.create=function(e){return new a(e)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@nextgis/cancelable-promise"),t=require("@nextgis/utils"),s=require("@nextgis/ngw-connector");function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=r(e),c=r(s);class i{constructor(e){e&&t.objectAssign(this,e)}}let n=0;class a extends i{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 s of this.providers)try{const t=s.search(e);for await(const e of t)yield{...e,provider:s,_id:n++}}catch(t){}}result(e){return e.provider?e.provider.result(e):o.resolve(void 0)}}class u extends i{}exports.BaseProvider=u,exports.Geocoder=a,exports.NgwProvider=class extends u{constructor(e){super(e),this.caseInsensitive=!0,this.searchUrl="https://maxim.nextgis.com",this.searchResources=[],this.requests=[],this.connector=e.connector||new c({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 s=this.connector.get("feature_layer.store",{headers:{RANGE:`items=0-${t.limit||300}`}},{id:t.id,like:e});this.requests.push(s),s.catch((e=>{console.warn(e)}));const r=await s,o=[];r&&r.forEach((s=>{o.push({query:e,resourceId:t.id,...s})}));for(const e of this._items(o))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 s=t.extent;return{text:e.text,extent:[s.minLon,s.minLat,s.maxLon,s.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}},exports.NominatimProvider=class extends u{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 s=t.fixUrlStr(`${this.searchUrl}/search?format=geojson&polygon_geojson=1&q=${e}`),r=new o(((t,r,o)=>{const c=new XMLHttpRequest;c.open("GET",s,!0),c.onload=()=>{try{const s=JSON.parse(c.responseText).features.map((t=>({geom:t,extent:t.bbox,text:t.properties&&t.properties.display_name,query:e})));t(s)}catch(s){r(s)}},c.onerror=e=>{r(e)},o((()=>{c.abort()})),c.send()})).catch((e=>{throw e}));this._requests.push(r);const c=await r;if(c)for(const t of c)t.result=()=>this.result(t),yield t}result(e){return o.resolve({text:e.text,extent:e.extent||[],geom:e.geom})}},exports.create=function(e){return new a(e)};
2
2
  //# sourceMappingURL=geocoder.cjs.prod.js.map
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/geocoder; version: 1.9.4; author: NextGIS */
1
+ /** Bundle of @nextgis/geocoder; version: 1.11.8; author: NextGIS */
2
2
  class CancelError extends Error {
3
3
  constructor() {
4
4
  super();
@@ -1171,6 +1171,10 @@ class NetworkError extends Error {
1171
1171
  }
1172
1172
  }
1173
1173
 
1174
+ function isObject(val) {
1175
+ return Object.prototype.toString.call(val) === '[object Object]';
1176
+ }
1177
+
1174
1178
  let loadData;
1175
1179
  // @ts-ignore
1176
1180
  {
@@ -1204,7 +1208,7 @@ let loadData;
1204
1208
  }
1205
1209
  };
1206
1210
  xhr.onload = () => {
1207
- if ([401, 403, 404, 500].indexOf(xhr.status) !== -1) {
1211
+ if ([401, 403, 404, 422, 500].indexOf(xhr.status) !== -1) {
1208
1212
  error(new NgwError(getResponseText()));
1209
1213
  }
1210
1214
  processingResponse();
@@ -1259,7 +1263,7 @@ let loadData;
1259
1263
  data = new FormData();
1260
1264
  data.append('file', options.file);
1261
1265
  if (options.data) {
1262
- for (const d in data) {
1266
+ for (const d in options.data) {
1263
1267
  data.append(d, data[d]);
1264
1268
  }
1265
1269
  }
@@ -1345,10 +1349,6 @@ function removeConnector(connector) {
1345
1349
  }
1346
1350
  }
1347
1351
 
1348
- function isObject(val) {
1349
- return Object.prototype.toString.call(val) === '[object Object]';
1350
- }
1351
-
1352
1352
  const exclude = ['description'];
1353
1353
  /**
1354
1354
  * @remarks
@@ -1573,7 +1573,7 @@ class ResourcesControl {
1573
1573
  }
1574
1574
  }
1575
1575
  _fetchResourceById(id, requestOptions) {
1576
- const promise = () => this.connector.get('resource.item', requestOptions, { id }).catch();
1576
+ const promise = () => this.connector.get('resource.item', requestOptions, { id });
1577
1577
  return this.cache
1578
1578
  .add('resource.item', promise, {
1579
1579
  id,
@@ -1775,7 +1775,7 @@ class NgwConnector$1 {
1775
1775
  headers: this.getAuthorizationHeaders(credentials),
1776
1776
  // withCredentials: true
1777
1777
  };
1778
- // Do not use request('auth.current_user') to avoid circular-references
1778
+ // Do not use apiRequest('auth.current_user') to avoid circular-references
1779
1779
  return this.makeQuery('/api/component/auth/current_user', {}, options)
1780
1780
  .then((data) => {
1781
1781
  this.user = data;