@adtrackify/at-service-common 4.0.25 → 4.0.26
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/cjs/__tests__/clients/open-exchange-rates-client.spec.d.ts +1 -0
- package/dist/cjs/__tests__/clients/open-exchange-rates-client.spec.js +56 -0
- package/dist/cjs/__tests__/clients/open-exchange-rates-client.spec.js.map +1 -0
- package/dist/cjs/clients/third-party/index.d.ts +1 -0
- package/dist/cjs/clients/third-party/index.js +1 -0
- package/dist/cjs/clients/third-party/index.js.map +1 -1
- package/dist/cjs/clients/third-party/open-exchange-rates-client.d.ts +8 -0
- package/dist/cjs/clients/third-party/open-exchange-rates-client.js +28 -0
- package/dist/cjs/clients/third-party/open-exchange-rates-client.js.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/open-exchange-rates-types.d.ts +10 -0
- package/dist/cjs/types/open-exchange-rates-types.js +3 -0
- package/dist/cjs/types/open-exchange-rates-types.js.map +1 -0
- package/dist/esm/__tests__/clients/open-exchange-rates-client.spec.d.ts +1 -0
- package/dist/esm/__tests__/clients/open-exchange-rates-client.spec.js +54 -0
- package/dist/esm/__tests__/clients/open-exchange-rates-client.spec.js.map +1 -0
- package/dist/esm/clients/third-party/index.d.ts +1 -0
- package/dist/esm/clients/third-party/index.js +1 -0
- package/dist/esm/clients/third-party/index.js.map +1 -1
- package/dist/esm/clients/third-party/open-exchange-rates-client.d.ts +8 -0
- package/dist/esm/clients/third-party/open-exchange-rates-client.js +24 -0
- package/dist/esm/clients/third-party/open-exchange-rates-client.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/open-exchange-rates-types.d.ts +10 -0
- package/dist/esm/types/open-exchange-rates-types.js +2 -0
- package/dist/esm/types/open-exchange-rates-types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const generic_1 = require("../../clients/generic");
|
|
4
|
+
jest.mock('../../clients/generic', () => ({
|
|
5
|
+
axiosHttpService: jest.fn(() => ({ get: jest.fn() })),
|
|
6
|
+
}));
|
|
7
|
+
const open_exchange_rates_client_1 = require("../../clients/third-party/open-exchange-rates-client");
|
|
8
|
+
const mockGet = generic_1.axiosHttpService.mock.results[0].value.get;
|
|
9
|
+
const fixtureRates = {
|
|
10
|
+
disclaimer: 'Usage subject to terms',
|
|
11
|
+
license: 'https://openexchangerates.org/license',
|
|
12
|
+
timestamp: 1704067200,
|
|
13
|
+
historical: true,
|
|
14
|
+
base: 'USD',
|
|
15
|
+
rates: {
|
|
16
|
+
USD: 1,
|
|
17
|
+
EUR: 0.92,
|
|
18
|
+
GBP: 0.79,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
describe('OpenExchangeRatesClient', () => {
|
|
22
|
+
beforeEach(() => {
|
|
23
|
+
jest.clearAllMocks();
|
|
24
|
+
});
|
|
25
|
+
it('requests historical rates with app_id query param', async () => {
|
|
26
|
+
mockGet.mockResolvedValue({ status: 200, data: fixtureRates });
|
|
27
|
+
const oxrClient = new open_exchange_rates_client_1.OpenExchangeRatesClient('test-app-id');
|
|
28
|
+
const response = await oxrClient.getHistoricalRates('2024-01-01');
|
|
29
|
+
expect(mockGet).toHaveBeenCalledTimes(1);
|
|
30
|
+
const [url, config] = mockGet.mock.calls[0];
|
|
31
|
+
expect(url).toBe('/historical/2024-01-01.json');
|
|
32
|
+
expect(config.params).toEqual({ app_id: 'test-app-id' });
|
|
33
|
+
expect(response).toEqual({ status: 200, data: fixtureRates });
|
|
34
|
+
});
|
|
35
|
+
it('requests latest rates with app_id query param', async () => {
|
|
36
|
+
const latestFixture = { ...fixtureRates, historical: undefined };
|
|
37
|
+
mockGet.mockResolvedValue({ status: 200, data: latestFixture });
|
|
38
|
+
const oxrClient = new open_exchange_rates_client_1.OpenExchangeRatesClient('test-app-id');
|
|
39
|
+
const response = await oxrClient.getLatestRates();
|
|
40
|
+
expect(mockGet).toHaveBeenCalledTimes(1);
|
|
41
|
+
const [url, config] = mockGet.mock.calls[0];
|
|
42
|
+
expect(url).toBe('/latest.json');
|
|
43
|
+
expect(config.params).toEqual({ app_id: 'test-app-id' });
|
|
44
|
+
expect(response).toEqual({ status: 200, data: latestFixture });
|
|
45
|
+
});
|
|
46
|
+
it('passes a non-200 response through without throwing', async () => {
|
|
47
|
+
mockGet.mockResolvedValue({
|
|
48
|
+
status: 429,
|
|
49
|
+
data: { error: true, status: 429, message: 'rate_limit', description: 'Too many requests' },
|
|
50
|
+
});
|
|
51
|
+
const oxrClient = new open_exchange_rates_client_1.OpenExchangeRatesClient('test-app-id');
|
|
52
|
+
const response = await oxrClient.getLatestRates();
|
|
53
|
+
expect(response.status).toBe(429);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=open-exchange-rates-client.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-client.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/clients/open-exchange-rates-client.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./shopify/shopify-graphql-client.js"), exports);
|
|
|
19
19
|
__exportStar(require("./emailable-client.js"), exports);
|
|
20
20
|
__exportStar(require("./loops-client.js"), exports);
|
|
21
21
|
__exportStar(require("./acuity-client.js"), exports);
|
|
22
|
+
__exportStar(require("./open-exchange-rates-client.js"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/third-party/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/third-party/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,qDAAmC;AACnC,kEAAgD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiResponse } from '../../types/api-response';
|
|
2
|
+
import { OpenExchangeRatesApiResponse } from '../../types/open-exchange-rates-types';
|
|
3
|
+
export declare class OpenExchangeRatesClient {
|
|
4
|
+
private OPEN_EXCHANGE_RATES_APP_ID;
|
|
5
|
+
constructor(openExchangeRatesAppId: string);
|
|
6
|
+
getHistoricalRates: (rateDate: string) => Promise<ApiResponse<OpenExchangeRatesApiResponse>>;
|
|
7
|
+
getLatestRates: () => Promise<ApiResponse<OpenExchangeRatesApiResponse>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenExchangeRatesClient = void 0;
|
|
4
|
+
const generic_1 = require("../generic");
|
|
5
|
+
const OPEN_EXCHANGE_RATES_API_URL = 'https://openexchangerates.org/api';
|
|
6
|
+
const client = (0, generic_1.axiosHttpService)({
|
|
7
|
+
baseURL: OPEN_EXCHANGE_RATES_API_URL,
|
|
8
|
+
});
|
|
9
|
+
class OpenExchangeRatesClient {
|
|
10
|
+
OPEN_EXCHANGE_RATES_APP_ID;
|
|
11
|
+
constructor(openExchangeRatesAppId) {
|
|
12
|
+
this.OPEN_EXCHANGE_RATES_APP_ID = openExchangeRatesAppId;
|
|
13
|
+
}
|
|
14
|
+
getHistoricalRates = async (rateDate) => {
|
|
15
|
+
const response = await client.get(`/historical/${rateDate}.json`, {
|
|
16
|
+
params: { app_id: this.OPEN_EXCHANGE_RATES_APP_ID },
|
|
17
|
+
});
|
|
18
|
+
return response;
|
|
19
|
+
};
|
|
20
|
+
getLatestRates = async () => {
|
|
21
|
+
const response = await client.get('/latest.json', {
|
|
22
|
+
params: { app_id: this.OPEN_EXCHANGE_RATES_APP_ID },
|
|
23
|
+
});
|
|
24
|
+
return response;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.OpenExchangeRatesClient = OpenExchangeRatesClient;
|
|
28
|
+
//# sourceMappingURL=open-exchange-rates-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/open-exchange-rates-client.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAI9C,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAExE,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC;IAC9B,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAEH,MAAa,uBAAuB;IAC1B,0BAA0B,CAAS;IAE3C,YAAY,sBAA8B;QACxC,IAAI,CAAC,0BAA0B,GAAG,sBAAsB,CAAC;IAC3D,CAAC;IAGM,kBAAkB,GAAG,KAAK,EAC/B,QAAgB,EACoC,EAAE;QACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,QAAQ,OAAO,EAAE;YAChE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE;SACpD,CAAC,CAAC;QACH,OAAO,QAAqD,CAAC;IAC/D,CAAC,CAAC;IAGK,cAAc,GAAG,KAAK,IAAwD,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAChD,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE;SACpD,CAAC,CAAC;QACH,OAAO,QAAqD,CAAC;IAC/D,CAAC,CAAC;CACH;AAxBD,0DAwBC"}
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -30,6 +30,7 @@ exports.ShopifyRest = void 0;
|
|
|
30
30
|
__exportStar(require("./internal-events/index.js"), exports);
|
|
31
31
|
__exportStar(require("./acuity-types.js"), exports);
|
|
32
32
|
__exportStar(require("./public-api-types.js"), exports);
|
|
33
|
+
__exportStar(require("./open-exchange-rates-types.js"), exports);
|
|
33
34
|
const ShopifyRest = __importStar(require("./shopify-rest-types.js"));
|
|
34
35
|
exports.ShopifyRest = ShopifyRest;
|
|
35
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,wDAAsC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,wDAAsC;AACtC,iEAA+C;AAG/C,qEAAuD;AAC9C,kCAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-types.js","sourceRoot":"","sources":["../../../src/types/open-exchange-rates-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { axiosHttpService } from '../../clients/generic';
|
|
2
|
+
jest.mock('../../clients/generic', () => ({
|
|
3
|
+
axiosHttpService: jest.fn(() => ({ get: jest.fn() })),
|
|
4
|
+
}));
|
|
5
|
+
import { OpenExchangeRatesClient } from '../../clients/third-party/open-exchange-rates-client';
|
|
6
|
+
const mockGet = axiosHttpService.mock.results[0].value.get;
|
|
7
|
+
const fixtureRates = {
|
|
8
|
+
disclaimer: 'Usage subject to terms',
|
|
9
|
+
license: 'https://openexchangerates.org/license',
|
|
10
|
+
timestamp: 1704067200,
|
|
11
|
+
historical: true,
|
|
12
|
+
base: 'USD',
|
|
13
|
+
rates: {
|
|
14
|
+
USD: 1,
|
|
15
|
+
EUR: 0.92,
|
|
16
|
+
GBP: 0.79,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
describe('OpenExchangeRatesClient', () => {
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
jest.clearAllMocks();
|
|
22
|
+
});
|
|
23
|
+
it('requests historical rates with app_id query param', async () => {
|
|
24
|
+
mockGet.mockResolvedValue({ status: 200, data: fixtureRates });
|
|
25
|
+
const oxrClient = new OpenExchangeRatesClient('test-app-id');
|
|
26
|
+
const response = await oxrClient.getHistoricalRates('2024-01-01');
|
|
27
|
+
expect(mockGet).toHaveBeenCalledTimes(1);
|
|
28
|
+
const [url, config] = mockGet.mock.calls[0];
|
|
29
|
+
expect(url).toBe('/historical/2024-01-01.json');
|
|
30
|
+
expect(config.params).toEqual({ app_id: 'test-app-id' });
|
|
31
|
+
expect(response).toEqual({ status: 200, data: fixtureRates });
|
|
32
|
+
});
|
|
33
|
+
it('requests latest rates with app_id query param', async () => {
|
|
34
|
+
const latestFixture = { ...fixtureRates, historical: undefined };
|
|
35
|
+
mockGet.mockResolvedValue({ status: 200, data: latestFixture });
|
|
36
|
+
const oxrClient = new OpenExchangeRatesClient('test-app-id');
|
|
37
|
+
const response = await oxrClient.getLatestRates();
|
|
38
|
+
expect(mockGet).toHaveBeenCalledTimes(1);
|
|
39
|
+
const [url, config] = mockGet.mock.calls[0];
|
|
40
|
+
expect(url).toBe('/latest.json');
|
|
41
|
+
expect(config.params).toEqual({ app_id: 'test-app-id' });
|
|
42
|
+
expect(response).toEqual({ status: 200, data: latestFixture });
|
|
43
|
+
});
|
|
44
|
+
it('passes a non-200 response through without throwing', async () => {
|
|
45
|
+
mockGet.mockResolvedValue({
|
|
46
|
+
status: 429,
|
|
47
|
+
data: { error: true, status: 429, message: 'rate_limit', description: 'Too many requests' },
|
|
48
|
+
});
|
|
49
|
+
const oxrClient = new OpenExchangeRatesClient('test-app-id');
|
|
50
|
+
const response = await oxrClient.getLatestRates();
|
|
51
|
+
expect(response.status).toBe(429);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=open-exchange-rates-client.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-client.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/clients/open-exchange-rates-client.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/third-party/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/third-party/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiResponse } from '../../types/api-response';
|
|
2
|
+
import { OpenExchangeRatesApiResponse } from '../../types/open-exchange-rates-types';
|
|
3
|
+
export declare class OpenExchangeRatesClient {
|
|
4
|
+
private OPEN_EXCHANGE_RATES_APP_ID;
|
|
5
|
+
constructor(openExchangeRatesAppId: string);
|
|
6
|
+
getHistoricalRates: (rateDate: string) => Promise<ApiResponse<OpenExchangeRatesApiResponse>>;
|
|
7
|
+
getLatestRates: () => Promise<ApiResponse<OpenExchangeRatesApiResponse>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { axiosHttpService } from '../generic';
|
|
2
|
+
const OPEN_EXCHANGE_RATES_API_URL = 'https://openexchangerates.org/api';
|
|
3
|
+
const client = axiosHttpService({
|
|
4
|
+
baseURL: OPEN_EXCHANGE_RATES_API_URL,
|
|
5
|
+
});
|
|
6
|
+
export class OpenExchangeRatesClient {
|
|
7
|
+
OPEN_EXCHANGE_RATES_APP_ID;
|
|
8
|
+
constructor(openExchangeRatesAppId) {
|
|
9
|
+
this.OPEN_EXCHANGE_RATES_APP_ID = openExchangeRatesAppId;
|
|
10
|
+
}
|
|
11
|
+
getHistoricalRates = async (rateDate) => {
|
|
12
|
+
const response = await client.get(`/historical/${rateDate}.json`, {
|
|
13
|
+
params: { app_id: this.OPEN_EXCHANGE_RATES_APP_ID },
|
|
14
|
+
});
|
|
15
|
+
return response;
|
|
16
|
+
};
|
|
17
|
+
getLatestRates = async () => {
|
|
18
|
+
const response = await client.get('/latest.json', {
|
|
19
|
+
params: { app_id: this.OPEN_EXCHANGE_RATES_APP_ID },
|
|
20
|
+
});
|
|
21
|
+
return response;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=open-exchange-rates-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/open-exchange-rates-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAExE,MAAM,MAAM,GAAG,gBAAgB,CAAC;IAC9B,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAEH,MAAM,OAAO,uBAAuB;IAC1B,0BAA0B,CAAS;IAE3C,YAAY,sBAA8B;QACxC,IAAI,CAAC,0BAA0B,GAAG,sBAAsB,CAAC;IAC3D,CAAC;IAGM,kBAAkB,GAAG,KAAK,EAC/B,QAAgB,EACoC,EAAE;QACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,QAAQ,OAAO,EAAE;YAChE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE;SACpD,CAAC,CAAC;QACH,OAAO,QAAqD,CAAC;IAC/D,CAAC,CAAC;IAGK,cAAc,GAAG,KAAK,IAAwD,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAChD,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE;SACpD,CAAC,CAAC;QACH,OAAO,QAAqD,CAAC;IAC/D,CAAC,CAAC;CACH"}
|
package/dist/esm/types/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './internal-events/index.js';
|
|
2
2
|
export * from './acuity-types.js';
|
|
3
3
|
export * from './public-api-types.js';
|
|
4
|
+
export * from './open-exchange-rates-types.js';
|
|
4
5
|
import * as ShopifyRest from './shopify-rest-types.js';
|
|
5
6
|
export { ShopifyRest };
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAG/C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exchange-rates-types.js","sourceRoot":"","sources":["../../../src/types/open-exchange-rates-types.ts"],"names":[],"mappings":""}
|