@pretto/places 0.21.0 → 0.22.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/dist/index.js +19 -10
- package/dist/module.js +19 -10
- package/dist/reverseGeolocSearch.d.ts +7 -1
- package/dist/reverseGeolocSearch.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -289,22 +289,31 @@ var geolocSearch = /*#__PURE__*/Object.freeze({
|
|
|
289
289
|
get: get$1
|
|
290
290
|
});
|
|
291
291
|
|
|
292
|
-
const formatData = (
|
|
293
|
-
|
|
292
|
+
const formatData = (geoResults, addressResults) => {
|
|
293
|
+
const district = addressResults.features.length > 0 ? addressResults.features[0].properties.district : null;
|
|
294
|
+
const postcode = addressResults.features.length > 0 ? addressResults.features[0].properties.postcode : null;
|
|
295
|
+
return geoResults.map(result => ({
|
|
294
296
|
center: { latitude: result.centre.coordinates[1], longitude: result.centre.coordinates[0] },
|
|
295
297
|
city: result.nom,
|
|
296
298
|
code: result.code,
|
|
297
299
|
coordinates: result.centre.coordinates,
|
|
298
300
|
zipcode: result.codesPostaux[0],
|
|
301
|
+
outline: result.contour.coordinates[0].map(([longitude, latitude]) => ({ longitude, latitude })),
|
|
302
|
+
district,
|
|
303
|
+
postcode,
|
|
299
304
|
}));
|
|
300
305
|
};
|
|
301
|
-
const getData = (search) => __awaiter(void 0, void 0, void 0, function* () {
|
|
306
|
+
const getData = (search, signal) => __awaiter(void 0, void 0, void 0, function* () {
|
|
302
307
|
try {
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
+
const [geoResponse, addressResponse] = yield Promise.all([
|
|
309
|
+
fetch(`https://geo.api.gouv.fr/communes?lat=${search.latitude}&lon=${search.longitude}&fields=departement,codesPostaux,centre,contour`, { signal }),
|
|
310
|
+
fetch(`https://api-adresse.data.gouv.fr/reverse/?lat=${search.latitude}&lon=${search.longitude}&limit=1&&autocomplete=0`, { signal }),
|
|
311
|
+
]);
|
|
312
|
+
if (!geoResponse.ok)
|
|
313
|
+
return Promise.reject(geoResponse);
|
|
314
|
+
const geoResults = yield geoResponse.json();
|
|
315
|
+
const addressResults = yield addressResponse.json();
|
|
316
|
+
return formatData(geoResults, addressResults);
|
|
308
317
|
}
|
|
309
318
|
catch (error) {
|
|
310
319
|
if (typeof error === 'string')
|
|
@@ -313,11 +322,11 @@ const getData = (search) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
313
322
|
}
|
|
314
323
|
});
|
|
315
324
|
let getDelayedData;
|
|
316
|
-
const get = (search, debounceValue = 300) => {
|
|
325
|
+
const get = (search, debounceValue = 300, signal) => {
|
|
317
326
|
clearTimeout(getDelayedData);
|
|
318
327
|
return new Promise((resolve, reject) => {
|
|
319
328
|
getDelayedData = setTimeout(() => {
|
|
320
|
-
resolve(getData(search));
|
|
329
|
+
resolve(getData(search, signal));
|
|
321
330
|
}, debounceValue);
|
|
322
331
|
});
|
|
323
332
|
};
|
package/dist/module.js
CHANGED
|
@@ -279,22 +279,31 @@ var geolocSearch = /*#__PURE__*/Object.freeze({
|
|
|
279
279
|
get: get$1
|
|
280
280
|
});
|
|
281
281
|
|
|
282
|
-
const formatData = (
|
|
283
|
-
|
|
282
|
+
const formatData = (geoResults, addressResults) => {
|
|
283
|
+
const district = addressResults.features.length > 0 ? addressResults.features[0].properties.district : null;
|
|
284
|
+
const postcode = addressResults.features.length > 0 ? addressResults.features[0].properties.postcode : null;
|
|
285
|
+
return geoResults.map(result => ({
|
|
284
286
|
center: { latitude: result.centre.coordinates[1], longitude: result.centre.coordinates[0] },
|
|
285
287
|
city: result.nom,
|
|
286
288
|
code: result.code,
|
|
287
289
|
coordinates: result.centre.coordinates,
|
|
288
290
|
zipcode: result.codesPostaux[0],
|
|
291
|
+
outline: result.contour.coordinates[0].map(([longitude, latitude]) => ({ longitude, latitude })),
|
|
292
|
+
district,
|
|
293
|
+
postcode,
|
|
289
294
|
}));
|
|
290
295
|
};
|
|
291
|
-
const getData = (search) => __awaiter(void 0, void 0, void 0, function* () {
|
|
296
|
+
const getData = (search, signal) => __awaiter(void 0, void 0, void 0, function* () {
|
|
292
297
|
try {
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
+
const [geoResponse, addressResponse] = yield Promise.all([
|
|
299
|
+
fetch(`https://geo.api.gouv.fr/communes?lat=${search.latitude}&lon=${search.longitude}&fields=departement,codesPostaux,centre,contour`, { signal }),
|
|
300
|
+
fetch(`https://api-adresse.data.gouv.fr/reverse/?lat=${search.latitude}&lon=${search.longitude}&limit=1&&autocomplete=0`, { signal }),
|
|
301
|
+
]);
|
|
302
|
+
if (!geoResponse.ok)
|
|
303
|
+
return Promise.reject(geoResponse);
|
|
304
|
+
const geoResults = yield geoResponse.json();
|
|
305
|
+
const addressResults = yield addressResponse.json();
|
|
306
|
+
return formatData(geoResults, addressResults);
|
|
298
307
|
}
|
|
299
308
|
catch (error) {
|
|
300
309
|
if (typeof error === 'string')
|
|
@@ -303,11 +312,11 @@ const getData = (search) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
303
312
|
}
|
|
304
313
|
});
|
|
305
314
|
let getDelayedData;
|
|
306
|
-
const get = (search, debounceValue = 300) => {
|
|
315
|
+
const get = (search, debounceValue = 300, signal) => {
|
|
307
316
|
clearTimeout(getDelayedData);
|
|
308
317
|
return new Promise((resolve, reject) => {
|
|
309
318
|
getDelayedData = setTimeout(() => {
|
|
310
|
-
resolve(getData(search));
|
|
319
|
+
resolve(getData(search, signal));
|
|
311
320
|
}, debounceValue);
|
|
312
321
|
});
|
|
313
322
|
};
|
|
@@ -6,10 +6,16 @@ export declare type ReverseGeolocSearchResult = {
|
|
|
6
6
|
city: string;
|
|
7
7
|
code: string;
|
|
8
8
|
coordinates: [number, number];
|
|
9
|
+
outline: Array<{
|
|
10
|
+
latitude: number;
|
|
11
|
+
longitude: number;
|
|
12
|
+
}>;
|
|
9
13
|
zipcode: string;
|
|
14
|
+
postcode: string | null;
|
|
15
|
+
district: string | null;
|
|
10
16
|
};
|
|
11
17
|
export declare const get: (search: {
|
|
12
18
|
latitude: number;
|
|
13
19
|
longitude: number;
|
|
14
|
-
}, debounceValue?: number) => Promise<ReverseGeolocSearchResult[]>;
|
|
20
|
+
}, debounceValue?: number, signal?: AbortSignal | undefined) => Promise<ReverseGeolocSearchResult[]>;
|
|
15
21
|
//# sourceMappingURL=reverseGeolocSearch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverseGeolocSearch.d.ts","sourceRoot":"","sources":["../src/reverseGeolocSearch.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"reverseGeolocSearch.d.ts","sourceRoot":"","sources":["../src/reverseGeolocSearch.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAuED,eAAO,MAAM,GAAG,WACN;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kBAChC,MAAM,uCAEpB,QAAQ,yBAAyB,EAAE,CAQrC,CAAA"}
|