geocodio-library-node 1.9.1 → 1.11.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/index.d.ts CHANGED
@@ -17,6 +17,8 @@ declare module 'geocodio-library-node' {
17
17
  postal_code?: string; // Alternative to zip used in some API calls
18
18
  }
19
19
 
20
+ export type AddressInputComponents = Pick<AddressComponents, "street" | "city" | "county" | "state" | "postal_code" | "country">
21
+
20
22
  export type GeocodeAccuracyType =
21
23
  | 'rooftop'
22
24
  | 'point'
@@ -224,26 +226,28 @@ declare module 'geocodio-library-node' {
224
226
  formatted_address: string;
225
227
  };
226
228
  results: GeocodedAddress[];
229
+ _warnings?: string[];
227
230
  }
228
231
 
229
- export interface BatchGeocodeResponse {
230
- results: Array<{
231
- query: string;
232
+ export interface BatchGeocodeResponse<Q extends string | AddressInputComponents, T extends Array<Q> | Record<string, Q>> {
233
+ results: T extends Array<Q> ? Array<{
234
+ query: Q;
232
235
  response: SingleGeocodeResponse;
233
- }> | Record<string, {
236
+ }> : Record<keyof T, {
234
237
  response: SingleGeocodeResponse;
235
238
  }>;
236
239
  }
237
240
 
238
241
  export interface ReverseGeocodeResponse {
239
242
  results: GeocodedAddress[];
243
+ _warnings?: string[];
240
244
  }
241
245
 
242
- export interface BatchReverseGeocodeResponse {
243
- results: Array<{
244
- query: string;
246
+ export interface BatchReverseGeocodeResponse<Q extends string | [number, number], T extends Array<Q> | Record<string, Q>> {
247
+ results: T extends Array<Q> ? Array<{
248
+ query: Q;
245
249
  response: ReverseGeocodeResponse;
246
- }> | Record<string, {
250
+ }> : Record<keyof T, {
247
251
  response: ReverseGeocodeResponse;
248
252
  }>;
249
253
  }
@@ -259,11 +263,10 @@ declare module 'geocodio-library-node' {
259
263
  export default class Geocodio {
260
264
  constructor(apiKey?: string, hostname?: string, apiVersion?: string);
261
265
 
262
- geocode(query: string | AddressComponents, fields?: FieldOption[], limit?: number): Promise<SingleGeocodeResponse>;
263
- geocode(query: (string | AddressComponents)[] | Record<string, string | AddressComponents>, fields?: FieldOption[], limit?: number): Promise<BatchGeocodeResponse>;
264
-
266
+ geocode(query: string | AddressInputComponents, fields?: FieldOption[], limit?: number): Promise<SingleGeocodeResponse>;
267
+ geocode<Q extends string | AddressInputComponents, T extends Array<Q> | Record<string, Q>>(query: T, fields?: FieldOption[], limit?: number): Promise<BatchGeocodeResponse<Q, T>>;
265
268
  reverse(query: string | [number, number], fields?: FieldOption[], limit?: number): Promise<ReverseGeocodeResponse>;
266
- reverse(query: (string | [number, number])[] | Record<string, string | [number, number]>, fields?: FieldOption[], limit?: number): Promise<BatchReverseGeocodeResponse>;
269
+ reverse<Q extends string | [number, number], T extends Array<Q> | Record<string, Q>>(query: T, fields?: FieldOption[], limit?: number): Promise<BatchReverseGeocodeResponse<Q, T>>;
267
270
 
268
271
  list: {
269
272
  create(filename: string, direction: string, format: string, callback: string): Promise<ListResponse>;
package/lib/index.js CHANGED
@@ -9,13 +9,13 @@ class Geocodio {
9
9
  this.apiKey = apiKey || process.env.GEOCODIO_API_KEY || null;
10
10
  this.hostname =
11
11
  hostname || process.env.GEOCODIO_HOSTNAME || "api.geocod.io";
12
- this.apiVersion = apiVersion || process.env.GEOCODIO_API_VERSION || "v1.7";
12
+ this.apiVersion = apiVersion || process.env.GEOCODIO_API_VERSION || "v1.8";
13
13
 
14
14
  this.SINGLE_TIMEOUT_MS = 5000;
15
15
  this.BATCH_TIMEOUT_MS = 30 * 60 * 1000;
16
16
 
17
17
  this.HTTP_HEADERS = {
18
- "User-Agent": "geocodio-library-node/1.8.0",
18
+ "User-Agent": "geocodio-library-node/1.10.0",
19
19
  Authorization: `Bearer ${this.apiKey}`
20
20
  };
21
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geocodio-library-node",
3
- "version": "1.9.1",
3
+ "version": "1.11.0",
4
4
  "description": "geocod.io geocoding API library",
5
5
  "homepage": "https://github.com/Geocodio/geocodio-library-node",
6
6
  "author": {