Skip to content

Commit f3650d5

Browse files
feat(javascript): add logger-console package from v4 (generated)
algolia/api-clients-automation#3823 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Clément Vannicatte <[email protected]>
1 parent 7213be0 commit f3650d5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+513
-34
lines changed
Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,35 @@
1-
import { test, expect } from 'vitest';
1+
/* eslint no-console: 0 */
22

3-
import { algoliasearch, apiClientVersion } from '../builds/browser';
3+
import { vi, test, expect } from 'vitest';
44

5-
const client = algoliasearch('APP_ID', 'API_KEY');
5+
import { LogLevelEnum } from '../../client-common/src/types';
6+
import { createConsoleLogger } from '../../logger-console/src/logger';
7+
import { algoliasearch, apiClientVersion } from '../builds/browser';
68

79
test('sets the ua', () => {
10+
const client = algoliasearch('APP_ID', 'API_KEY');
11+
812
expect(client.transporter.algoliaAgent).toEqual({
913
add: expect.any(Function),
1014
value: expect.stringContaining(
1115
`Algolia for JavaScript (${apiClientVersion}); Search (${apiClientVersion}); Browser`,
1216
),
1317
});
1418
});
19+
20+
test('with logger', () => {
21+
vi.spyOn(console, 'debug');
22+
vi.spyOn(console, 'info');
23+
vi.spyOn(console, 'error');
24+
25+
const client = algoliasearch('APP_ID', 'API_KEY', {
26+
logger: createConsoleLogger(LogLevelEnum.Debug),
27+
});
28+
29+
expect(async () => {
30+
await client.setSettings({ indexName: 'foo', indexSettings: {} });
31+
expect(console.debug).toHaveBeenCalledTimes(1);
32+
expect(console.info).toHaveBeenCalledTimes(1);
33+
expect(console.error).toHaveBeenCalledTimes(1);
34+
}).not.toThrow();
35+
});

packages/algoliasearch/__tests__/algoliasearch.common.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ describe('api', () => {
103103
url: 'APP_ID-2.algolianet.com',
104104
},
105105
]),
106+
logger: {
107+
debug: expect.any(Function),
108+
error: expect.any(Function),
109+
info: expect.any(Function),
110+
},
106111
hostsCache: {
107112
clear: expect.any(Function),
108113
delete: expect.any(Function),
Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,42 @@
1-
import { test, expect } from 'vitest';
1+
/* eslint no-console: 0 */
22

3-
import { algoliasearch, apiClientVersion } from '../builds/fetch';
3+
import { vi, test, expect } from 'vitest';
44

5-
const client = algoliasearch('APP_ID', 'API_KEY');
5+
import { LogLevelEnum } from '../../client-common/src/types';
6+
import { createConsoleLogger } from '../../logger-console/src/logger';
7+
import { algoliasearch, apiClientVersion } from '../builds/fetch';
68

79
test('sets the ua', () => {
10+
const client = algoliasearch('APP_ID', 'API_KEY');
811
expect(client.transporter.algoliaAgent).toEqual({
912
add: expect.any(Function),
1013
value: expect.stringContaining(`Algolia for JavaScript (${apiClientVersion}); Search (${apiClientVersion}); Fetch`),
1114
});
1215
});
1316

1417
test('forwards node search helpers', () => {
18+
const client = algoliasearch('APP_ID', 'API_KEY');
1519
expect(client.generateSecuredApiKey).not.toBeUndefined();
1620
expect(client.getSecuredApiKeyRemainingValidity).not.toBeUndefined();
1721
expect(() => {
1822
const resp = client.generateSecuredApiKey({ parentApiKey: 'foo', restrictions: { validUntil: 200 } });
1923
client.getSecuredApiKeyRemainingValidity({ securedApiKey: resp });
2024
}).not.toThrow();
2125
});
26+
27+
test('with logger', () => {
28+
vi.spyOn(console, 'debug');
29+
vi.spyOn(console, 'info');
30+
vi.spyOn(console, 'error');
31+
32+
const client = algoliasearch('APP_ID', 'API_KEY', {
33+
logger: createConsoleLogger(LogLevelEnum.Debug),
34+
});
35+
36+
expect(async () => {
37+
await client.setSettings({ indexName: 'foo', indexSettings: {} });
38+
expect(console.debug).toHaveBeenCalledTimes(1);
39+
expect(console.info).toHaveBeenCalledTimes(1);
40+
expect(console.error).toHaveBeenCalledTimes(1);
41+
}).not.toThrow();
42+
});
Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
import { test, expect } from 'vitest';
1+
/* eslint no-console: 0 */
22

3-
import { algoliasearch, apiClientVersion } from '../builds/node';
3+
import { vi, test, expect } from 'vitest';
44

5-
const client = algoliasearch('APP_ID', 'API_KEY');
5+
import { LogLevelEnum } from '../../client-common/src/types';
6+
import { createConsoleLogger } from '../../logger-console/src/logger';
7+
import { algoliasearch, apiClientVersion } from '../builds/node';
68

79
test('sets the ua', () => {
10+
const client = algoliasearch('APP_ID', 'API_KEY');
811
expect(client.transporter.algoliaAgent).toEqual({
912
add: expect.any(Function),
1013
value: expect.stringContaining(
@@ -14,10 +17,28 @@ test('sets the ua', () => {
1417
});
1518

1619
test('forwards node search helpers', () => {
20+
const client = algoliasearch('APP_ID', 'API_KEY');
1721
expect(client.generateSecuredApiKey).not.toBeUndefined();
1822
expect(client.getSecuredApiKeyRemainingValidity).not.toBeUndefined();
1923
expect(() => {
2024
const resp = client.generateSecuredApiKey({ parentApiKey: 'foo', restrictions: { validUntil: 200 } });
2125
client.getSecuredApiKeyRemainingValidity({ securedApiKey: resp });
2226
}).not.toThrow();
2327
});
28+
29+
test('with logger', () => {
30+
vi.spyOn(console, 'debug');
31+
vi.spyOn(console, 'info');
32+
vi.spyOn(console, 'error');
33+
34+
const client = algoliasearch('APP_ID', 'API_KEY', {
35+
logger: createConsoleLogger(LogLevelEnum.Debug),
36+
});
37+
38+
expect(async () => {
39+
await client.setSettings({ indexName: 'foo', indexSettings: {} });
40+
expect(console.debug).toHaveBeenCalledTimes(1);
41+
expect(console.info).toHaveBeenCalledTimes(1);
42+
expect(console.error).toHaveBeenCalledTimes(1);
43+
}).not.toThrow();
44+
});

packages/algoliasearch/lite/builds/browser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createFallbackableCache,
78
createBrowserLocalStorageCache,
@@ -35,6 +36,7 @@ export function liteClient(appId: string, apiKey: string, options?: ClientOption
3536
read: DEFAULT_READ_TIMEOUT_BROWSER,
3637
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
3738
},
39+
logger: createNullLogger(),
3840
requester: createXhrRequester(),
3941
algoliaAgents: [{ segment: 'Browser' }],
4042
authMode: 'WithinQueryParameters',

packages/algoliasearch/lite/builds/node.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createNullCache,
78
DEFAULT_CONNECT_TIMEOUT_NODE,
@@ -34,6 +35,7 @@ export function liteClient(appId: string, apiKey: string, options?: ClientOption
3435
read: DEFAULT_READ_TIMEOUT_NODE,
3536
write: DEFAULT_WRITE_TIMEOUT_NODE,
3637
},
38+
logger: createNullLogger(),
3739
requester: createHttpRequester(),
3840
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
3941
responsesCache: createNullCache(),

packages/client-abtesting/builds/browser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createFallbackableCache,
78
createBrowserLocalStorageCache,
@@ -46,6 +47,7 @@ export function abtestingClient(
4647
read: DEFAULT_READ_TIMEOUT_BROWSER,
4748
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
4849
},
50+
logger: createNullLogger(),
4951
requester: createXhrRequester(),
5052
algoliaAgents: [{ segment: 'Browser' }],
5153
authMode: 'WithinQueryParameters',

packages/client-abtesting/builds/fetch.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createNullCache,
78
DEFAULT_CONNECT_TIMEOUT_NODE,
@@ -46,6 +47,7 @@ export function abtestingClient(
4647
read: DEFAULT_READ_TIMEOUT_NODE,
4748
write: DEFAULT_WRITE_TIMEOUT_NODE,
4849
},
50+
logger: createNullLogger(),
4951
algoliaAgents: [{ segment: 'Fetch' }],
5052
requester: createFetchRequester(),
5153
responsesCache: createNullCache(),

packages/client-abtesting/builds/node.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createNullCache,
78
DEFAULT_CONNECT_TIMEOUT_NODE,
@@ -46,6 +47,7 @@ export function abtestingClient(
4647
read: DEFAULT_READ_TIMEOUT_NODE,
4748
write: DEFAULT_WRITE_TIMEOUT_NODE,
4849
},
50+
logger: createNullLogger(),
4951
requester: createHttpRequester(),
5052
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
5153
responsesCache: createNullCache(),

packages/client-abtesting/src/abtestingClient.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,14 +351,13 @@ export function createAbtestingClient({
351351
const requestPath = '/2/abtests';
352352
const headers: Headers = {};
353353
const queryParameters: QueryParameters = {};
354-
355354
if (offset !== undefined) {
356355
queryParameters.offset = offset.toString();
357356
}
357+
358358
if (limit !== undefined) {
359359
queryParameters.limit = limit.toString();
360360
}
361-
362361
if (indexPrefix !== undefined) {
363362
queryParameters.indexPrefix = indexPrefix.toString();
364363
}

packages/client-analytics/builds/browser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createFallbackableCache,
78
createBrowserLocalStorageCache,
@@ -46,6 +47,7 @@ export function analyticsClient(
4647
read: DEFAULT_READ_TIMEOUT_BROWSER,
4748
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
4849
},
50+
logger: createNullLogger(),
4951
requester: createXhrRequester(),
5052
algoliaAgents: [{ segment: 'Browser' }],
5153
authMode: 'WithinQueryParameters',

packages/client-analytics/builds/fetch.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createNullCache,
78
DEFAULT_CONNECT_TIMEOUT_NODE,
@@ -46,6 +47,7 @@ export function analyticsClient(
4647
read: DEFAULT_READ_TIMEOUT_NODE,
4748
write: DEFAULT_WRITE_TIMEOUT_NODE,
4849
},
50+
logger: createNullLogger(),
4951
algoliaAgents: [{ segment: 'Fetch' }],
5052
requester: createFetchRequester(),
5153
responsesCache: createNullCache(),

packages/client-analytics/builds/node.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import type { ClientOptions } from '@algolia/client-common';
44
import {
5+
createNullLogger,
56
createMemoryCache,
67
createNullCache,
78
DEFAULT_CONNECT_TIMEOUT_NODE,
@@ -46,6 +47,7 @@ export function analyticsClient(
4647
read: DEFAULT_READ_TIMEOUT_NODE,
4748
write: DEFAULT_WRITE_TIMEOUT_NODE,
4849
},
50+
logger: createNullLogger(),
4951
requester: createHttpRequester(),
5052
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
5153
responsesCache: createNullCache(),

packages/client-analytics/src/analyticsClient.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,9 +339,11 @@ export function createAnalyticsClient({
339339
if (index !== undefined) {
340340
queryParameters.index = index.toString();
341341
}
342+
342343
if (startDate !== undefined) {
343344
queryParameters.startDate = startDate.toString();
344345
}
346+
345347
if (endDate !== undefined) {
346348
queryParameters.endDate = endDate.toString();
347349
}
@@ -392,6 +394,7 @@ export function createAnalyticsClient({
392394
if (endDate !== undefined) {
393395
queryParameters.endDate = endDate.toString();
394396
}
397+
395398
if (tags !== undefined) {
396399
queryParameters.tags = tags.toString();
397400
}
@@ -430,6 +433,7 @@ export function createAnalyticsClient({
430433
const requestPath = '/2/clicks/clickThroughRate';
431434
const headers: Headers = {};
432435
const queryParameters: QueryParameters = {};
436+
433437
if (index !== undefined) {
434438
queryParameters.index = index.toString();
435439
}
@@ -531,7 +535,6 @@ export function createAnalyticsClient({
531535
if (startDate !== undefined) {
532536
queryParameters.startDate = startDate.toString();
533537
}
534-
535538
if (endDate !== undefined) {
536539
queryParameters.endDate = endDate.toString();
537540
}
@@ -583,7 +586,6 @@ export function createAnalyticsClient({
583586
if (endDate !== undefined) {
584587
queryParameters.endDate = endDate.toString();
585588
}
586-
587589
if (tags !== undefined) {
588590
queryParameters.tags = tags.toString();
589591
}
@@ -622,10 +624,10 @@ export function createAnalyticsClient({
622624
const requestPath = '/2/conversions/purchaseRate';
623625
const headers: Headers = {};
624626
const queryParameters: QueryParameters = {};
625-
626627
if (index !== undefined) {
627628
queryParameters.index = index.toString();
628629
}
630+
629631
if (startDate !== undefined) {
630632
queryParameters.startDate = startDate.toString();
631633
}
@@ -673,7 +675,6 @@ export function createAnalyticsClient({
673675
if (index !== undefined) {
674676
queryParameters.index = index.toString();
675677
}
676-
677678
if (startDate !== undefined) {
678679
queryParameters.startDate = startDate.toString();
679680
}
@@ -725,7 +726,6 @@ export function createAnalyticsClient({
725726
if (startDate !== undefined) {
726727
queryParameters.startDate = startDate.toString();
727728
}
728-
729729
if (endDate !== undefined) {
730730
queryParameters.endDate = endDate.toString();
731731
}

packages/client-common/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
export * from './src/createAuth';
2-
export * from './src/createIterablePromise';
31
export * from './src/cache';
4-
export * from './src/transporter';
2+
export * from './src/constants';
53
export * from './src/createAlgoliaAgent';
4+
export * from './src/createAuth';
5+
export * from './src/createIterablePromise';
66
export * from './src/getAlgoliaAgent';
7+
export * from './src/logger';
8+
export * from './src/transporter';
79
export * from './src/types';
8-
export * from './src/constants';
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/* eslint no-console: 0 */
2+
3+
import { vi, describe, test, expect } from 'vitest';
4+
5+
import { createNullLogger } from '../../logger';
6+
7+
describe('null logger', () => {
8+
test('has a null behavior', async () => {
9+
vi.resetAllMocks();
10+
vi.spyOn(console, 'debug');
11+
vi.spyOn(console, 'info');
12+
vi.spyOn(console, 'error');
13+
14+
const logger = createNullLogger();
15+
16+
await logger.debug('foo', {});
17+
await logger.info('foo', {});
18+
await logger.error('foo', {});
19+
20+
expect(console.debug).toHaveBeenCalledTimes(0);
21+
expect(console.info).toHaveBeenCalledTimes(0);
22+
expect(console.error).toHaveBeenCalledTimes(0);
23+
});
24+
});

0 commit comments

Comments
 (0)