@anmiles/google-api-wrapper 3.0.3 → 3.1.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/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.1.0](../../tags/v3.1.0) - 2023-03-12
|
|
9
|
+
### Changed
|
|
10
|
+
- Silent mode
|
|
11
|
+
|
|
8
12
|
## [3.0.3](../../tags/v3.0.3) - 2023-03-12
|
|
9
13
|
### Changed
|
|
10
14
|
- Fixed path to scopes file
|
package/dist/lib/api/shared.d.ts
CHANGED
|
@@ -16,4 +16,4 @@ type CommonResponse<TItem> = {
|
|
|
16
16
|
};
|
|
17
17
|
nextPageToken?: string | null | undefined;
|
|
18
18
|
};
|
|
19
|
-
declare function getItems<TApi extends CommonApi<TArgs, TResponse>, TItem, TArgs, TResponse extends CommonResponse<TItem>>(api: TApi, args: TArgs): Promise<TItem[]>;
|
|
19
|
+
declare function getItems<TApi extends CommonApi<TArgs, TResponse>, TItem, TArgs, TResponse extends CommonResponse<TItem>>(api: TApi, args: TArgs, showProgress?: boolean): Promise<TItem[]>;
|
package/dist/lib/api/shared.js
CHANGED
|
@@ -5,14 +5,16 @@ const logger_1 = require("../logger");
|
|
|
5
5
|
const sleep_1 = require("../sleep");
|
|
6
6
|
exports.default = { getItems };
|
|
7
7
|
const requestInterval = 300;
|
|
8
|
-
async function getItems(api, args) {
|
|
8
|
+
async function getItems(api, args, showProgress = false) {
|
|
9
9
|
var _a, _b;
|
|
10
10
|
const items = [];
|
|
11
11
|
let pageToken = undefined;
|
|
12
12
|
do {
|
|
13
13
|
const response = await api.list({ ...args, pageToken });
|
|
14
14
|
(_a = response.data.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => items.push(item));
|
|
15
|
-
(
|
|
15
|
+
if (showProgress) {
|
|
16
|
+
(0, logger_1.log)(`Getting items (${items.length} of ${((_b = response.data.pageInfo) === null || _b === void 0 ? void 0 : _b.totalResults) || 'many'})...`);
|
|
17
|
+
}
|
|
16
18
|
pageToken = response.data.nextPageToken;
|
|
17
19
|
await (0, sleep_1.sleep)(requestInterval);
|
|
18
20
|
} while (pageToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/lib/api/shared.ts"],"names":[],"mappings":";;;AACA,sCAAgC;AAChC,oCAAiC;AAGjC,kBAAe,EAAE,QAAQ,EAAE,CAAC;AAiB5B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,KAAK,UAAU,QAAQ,CAKrB,GAAS,EAAE,IAAW;;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/lib/api/shared.ts"],"names":[],"mappings":";;;AACA,sCAAgC;AAChC,oCAAiC;AAGjC,kBAAe,EAAE,QAAQ,EAAE,CAAC;AAiB5B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,KAAK,UAAU,QAAQ,CAKrB,GAAS,EAAE,IAAW,EAAE,eAAwB,KAAK;;IACtD,MAAM,KAAK,GAAY,EAAE,CAAC;IAE1B,IAAI,SAAS,GAA8B,SAAS,CAAC;IAErD,GAAG;QACF,MAAM,QAAQ,GAAgD,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrG,MAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,IAAI,YAAY,EAAE;YACjB,IAAA,YAAG,EAAC,kBAAkB,KAAK,CAAC,MAAM,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,MAAM,MAAM,CAAC,CAAC;SAC/F;QAED,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC;KAC7B,QAAQ,SAAS,EAAE;IAEpB,OAAO,KAAK,CAAC;AACd,CAAC;AA3CQ,4BAAQ"}
|
package/package.json
CHANGED
|
@@ -48,8 +48,8 @@ describe('src/lib/api/shared', () => {
|
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
it('should output progress', async () => {
|
|
52
|
-
await original.getItems(api, args);
|
|
51
|
+
it('should output progress if requested', async () => {
|
|
52
|
+
await original.getItems(api, args, true);
|
|
53
53
|
|
|
54
54
|
expect(logger.log).toBeCalledTimes(response.length);
|
|
55
55
|
expect(logger.log).toBeCalledWith('Getting items (2 of 4)...');
|
|
@@ -57,6 +57,12 @@ describe('src/lib/api/shared', () => {
|
|
|
57
57
|
expect(logger.log).toBeCalledWith('Getting items (4 of 4)...');
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
+
it('should not output progress by default', async () => {
|
|
61
|
+
await original.getItems(api, args);
|
|
62
|
+
|
|
63
|
+
expect(logger.log).not.toBeCalled();
|
|
64
|
+
});
|
|
65
|
+
|
|
60
66
|
it('should sleep after reach request', async () => {
|
|
61
67
|
await original.getItems(api, args);
|
|
62
68
|
|
package/src/lib/api/shared.ts
CHANGED
|
@@ -27,7 +27,7 @@ async function getItems<
|
|
|
27
27
|
TItem,
|
|
28
28
|
TArgs,
|
|
29
29
|
TResponse extends CommonResponse<TItem>
|
|
30
|
-
>(api: TApi, args: TArgs): Promise<TItem[]> {
|
|
30
|
+
>(api: TApi, args: TArgs, showProgress: boolean = false): Promise<TItem[]> {
|
|
31
31
|
const items: TItem[] = [];
|
|
32
32
|
|
|
33
33
|
let pageToken: string | null | undefined = undefined;
|
|
@@ -35,7 +35,11 @@ async function getItems<
|
|
|
35
35
|
do {
|
|
36
36
|
const response: GoogleApis.Common.GaxiosResponse<TResponse> = await api.list({ ...args, pageToken });
|
|
37
37
|
response.data.items?.forEach((item) => items.push(item));
|
|
38
|
-
|
|
38
|
+
|
|
39
|
+
if (showProgress) {
|
|
40
|
+
log(`Getting items (${items.length} of ${response.data.pageInfo?.totalResults || 'many'})...`);
|
|
41
|
+
}
|
|
42
|
+
|
|
39
43
|
pageToken = response.data.nextPageToken;
|
|
40
44
|
await sleep(requestInterval);
|
|
41
45
|
} while (pageToken);
|