@volontariapp/domain-event 3.4.0-snap-d9ec8fe → 3.4.0-snap-d42e2cf

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.
@@ -6,12 +6,14 @@ export interface NominatimResult {
6
6
  }
7
7
  export declare class OpenStreetMapStrategy implements IGeocodingStrategy {
8
8
  private readonly userAgent;
9
+ private readonly skipInTestEnv;
9
10
  private readonly logger;
10
11
  private readonly baseUrl;
11
12
  private static rateLimitPromise;
12
13
  private readonly rateLimitMs;
13
- constructor(userAgent: string);
14
+ constructor(userAgent: string, skipInTestEnv?: boolean);
14
15
  private delayIfNeeded;
16
+ private static cache;
15
17
  geocode(request: GeocodeRequest): Promise<GeocodeResponse | null>;
16
18
  }
17
19
  //# sourceMappingURL=open-street-map.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-street-map.strategy.d.ts","sourceRoot":"","sources":["../../../../src/services/geocoding/strategy/open-street-map.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAOlD,OAAO,CAAC,QAAQ,CAAC,SAAS;IANtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgD;IAExE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEP,SAAS,EAAE,MAAM;YAMhC,aAAa;IAQrB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CA6CxE"}
1
+ {"version":3,"file":"open-street-map.strategy.d.ts","sourceRoot":"","sources":["../../../../src/services/geocoding/strategy/open-street-map.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAQ5D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgD;IAExE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAGjB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,OAAe;YAOnC,aAAa;IAQ3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAA6C;IAE3D,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CAiDxE"}
@@ -1,13 +1,16 @@
1
+ import axios from 'axios';
1
2
  import { Logger } from '@volontariapp/logger';
2
3
  import { GEOCODING_FAILED } from '@volontariapp/errors-nest';
3
4
  export class OpenStreetMapStrategy {
4
5
  userAgent;
6
+ skipInTestEnv;
5
7
  logger = new Logger({ context: OpenStreetMapStrategy.name });
6
8
  baseUrl = 'https://nominatim.openstreetmap.org/search';
7
9
  static rateLimitPromise = Promise.resolve();
8
10
  rateLimitMs = 1100;
9
- constructor(userAgent) {
11
+ constructor(userAgent, skipInTestEnv = false) {
10
12
  this.userAgent = userAgent;
13
+ this.skipInTestEnv = skipInTestEnv;
11
14
  if (!this.userAgent) {
12
15
  throw new Error('OpenStreetMapStrategy requires a valid userAgent.');
13
16
  }
@@ -19,39 +22,45 @@ export class OpenStreetMapStrategy {
19
22
  OpenStreetMapStrategy.rateLimitPromise = nextPromise.catch(() => { });
20
23
  await nextPromise;
21
24
  }
25
+ static cache = new Map();
22
26
  async geocode(request) {
27
+ if (this.skipInTestEnv) {
28
+ return { lat: 48.8566, lng: 2.3522 };
29
+ }
23
30
  try {
31
+ if (OpenStreetMapStrategy.cache.has(request.address)) {
32
+ return OpenStreetMapStrategy.cache.get(request.address);
33
+ }
24
34
  await this.delayIfNeeded();
25
- const url = new URL(this.baseUrl);
26
- url.searchParams.append('q', request.address);
27
- url.searchParams.append('format', 'json');
28
- url.searchParams.append('limit', '1');
29
- const controller = new AbortController();
30
- const timeoutId = setTimeout(() => {
31
- controller.abort();
32
- }, 5000);
33
- const response = await fetch(url.toString(), {
35
+ const response = await axios.get(this.baseUrl, {
36
+ params: {
37
+ q: request.address,
38
+ format: 'json',
39
+ limit: '1',
40
+ },
34
41
  headers: {
35
42
  'User-Agent': this.userAgent,
36
43
  },
37
- signal: controller.signal,
44
+ timeout: 5000,
38
45
  });
39
- clearTimeout(timeoutId);
40
- if (!response.ok) {
41
- this.logger.error('OSM API responded with status:', String(response.status));
42
- throw GEOCODING_FAILED('OSM', response.status);
43
- }
44
- const data = (await response.json());
46
+ const data = response.data;
45
47
  if (data.length > 0) {
46
48
  const { lat, lon } = data[0];
47
- return {
49
+ const result = {
48
50
  lat: parseFloat(lat),
49
51
  lng: parseFloat(lon),
50
52
  };
53
+ OpenStreetMapStrategy.cache.set(request.address, result);
54
+ return result;
51
55
  }
56
+ OpenStreetMapStrategy.cache.set(request.address, null);
52
57
  return null;
53
58
  }
54
59
  catch (error) {
60
+ if (axios.isAxiosError(error) && error.response) {
61
+ this.logger.error('OSM API responded with status:', String(error.response.status));
62
+ throw GEOCODING_FAILED('OSM', error.response.status);
63
+ }
55
64
  if (error instanceof Error && error.name === 'BadRequestError')
56
65
  throw error;
57
66
  const err = error;
@@ -1 +1 @@
1
- {"version":3,"file":"open-street-map.strategy.js","sourceRoot":"","sources":["../../../../src/services/geocoding/strategy/open-street-map.strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-street-map.strategy.js","sourceRoot":"","sources":["../../../../src/services/geocoding/strategy/open-street-map.strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=open-street-map.strategy.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-street-map.strategy.unit.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/test/unit/services/geocoding/strategy/open-street-map.strategy.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ import { jest, expect, describe, it, beforeEach, afterEach } from '@jest/globals';
2
+ import axios from 'axios';
3
+ import { OpenStreetMapStrategy } from '../../../../../services/geocoding/strategy/open-street-map.strategy.js';
4
+ describe('OpenStreetMapStrategy', () => {
5
+ let strategy;
6
+ beforeEach(() => {
7
+ strategy = new OpenStreetMapStrategy('TestUserAgent/1.0', false);
8
+ });
9
+ afterEach(() => {
10
+ jest.restoreAllMocks();
11
+ jest.useRealTimers();
12
+ });
13
+ it('should rate limit 10 requests to ~1.1s each sequentially', async () => {
14
+ jest.useFakeTimers();
15
+ let activeRequests = 0;
16
+ const axiosSpy = jest
17
+ .spyOn(axios, 'get')
18
+ .mockImplementation(async () => {
19
+ await Promise.resolve();
20
+ activeRequests++;
21
+ return {
22
+ data: [{ lat: '48.8566', lon: '2.3522' }],
23
+ status: 200,
24
+ statusText: 'OK',
25
+ headers: {},
26
+ config: { headers: new axios.AxiosHeaders() },
27
+ };
28
+ });
29
+ const promises = Array.from({ length: 10 }).map((_, i) => strategy.geocode({ address: `Address ${String(i)}` }));
30
+ await Promise.resolve();
31
+ expect(activeRequests).toBe(0);
32
+ for (let i = 1; i <= 10; i++) {
33
+ jest.advanceTimersByTime(1100);
34
+ for (let j = 0; j < 5; j++) {
35
+ await Promise.resolve();
36
+ }
37
+ expect(activeRequests).toBe(i);
38
+ }
39
+ const results = await Promise.all(promises);
40
+ expect(axiosSpy).toHaveBeenCalledTimes(10);
41
+ expect(results).toHaveLength(10);
42
+ results.forEach((result) => {
43
+ expect(result).toEqual({ lat: 48.8566, lng: 2.3522 });
44
+ });
45
+ });
46
+ it('should hit the cache instantly for the same address', async () => {
47
+ jest.useFakeTimers();
48
+ const axiosSpy = jest
49
+ .spyOn(axios, 'get')
50
+ .mockImplementation(async () => {
51
+ await Promise.resolve();
52
+ return {
53
+ data: [{ lat: '48.8566', lon: '2.3522' }],
54
+ status: 200,
55
+ statusText: 'OK',
56
+ headers: {},
57
+ config: { headers: new axios.AxiosHeaders() },
58
+ };
59
+ });
60
+ const promise1 = strategy.geocode({ address: 'Cached Address' });
61
+ await Promise.resolve();
62
+ jest.advanceTimersByTime(1100);
63
+ for (let j = 0; j < 5; j++) {
64
+ await Promise.resolve();
65
+ }
66
+ const res1 = await promise1;
67
+ const res2 = await strategy.geocode({ address: 'Cached Address' });
68
+ expect(axiosSpy).toHaveBeenCalledTimes(1);
69
+ expect(res1).toEqual(res2);
70
+ });
71
+ });
72
+ //# sourceMappingURL=open-street-map.strategy.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-street-map.strategy.unit.spec.js","sourceRoot":"","sources":["../../../../../../src/test/unit/services/geocoding/strategy/open-street-map.strategy.unit.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/domain-event",
3
- "version": "3.4.0-snap-d9ec8fe",
3
+ "version": "3.4.0-snap-d42e2cf",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -56,13 +56,13 @@
56
56
  "dependencies": {
57
57
  "@nestjs/common": "^11.0.1",
58
58
  "@volontariapp/contracts": "4.0.14",
59
- "@volontariapp/database": "3.3.1-snap-d9ec8fe",
59
+ "@volontariapp/database": "3.3.1-snap-d42e2cf",
60
60
  "@volontariapp/errors": "0.6.0",
61
- "@volontariapp/errors-nest": "0.13.0-snap-d9ec8fe",
61
+ "@volontariapp/errors-nest": "0.13.0-snap-d42e2cf",
62
62
  "@volontariapp/logger": "0.2.5",
63
- "@volontariapp/messaging": "2.7.0-snap-d9ec8fe",
64
- "@volontariapp/outbox": "0.9.19-snap-d9ec8fe",
65
- "@volontariapp/shared": "0.6.1-snap-d9ec8fe",
63
+ "@volontariapp/messaging": "2.7.0-snap-d42e2cf",
64
+ "@volontariapp/outbox": "0.9.19-snap-d42e2cf",
65
+ "@volontariapp/shared": "0.6.1-snap-d42e2cf",
66
66
  "class-transformer": "^0.5.1"
67
67
  }
68
68
  }