blocket.js 1.2.0 → 1.2.1
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/client/index.js +31 -14
- package/dist/client/index.js.map +1 -1
- package/lib/client/index.ts +13 -12
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -8,6 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
11
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
19
|
exports.find = find;
|
|
13
20
|
exports.findById = findById;
|
|
@@ -48,6 +55,7 @@ function remapQueryParams(params) {
|
|
|
48
55
|
*/
|
|
49
56
|
function find(query, fetchOptions) {
|
|
50
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
var _a, e_1, _b, _c;
|
|
51
59
|
if (!query.query)
|
|
52
60
|
throw new Error('Query string is required');
|
|
53
61
|
const config = (0, config_1.getBaseConfig)();
|
|
@@ -64,22 +72,31 @@ function find(query, fetchOptions) {
|
|
|
64
72
|
}
|
|
65
73
|
const allAds = [...firstPageResponse.data];
|
|
66
74
|
const totalPages = firstPageResponse.total_page_count;
|
|
67
|
-
const pagePromises =
|
|
68
|
-
|
|
69
|
-
Object.assign(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
const pagePromises = Array.from({ length: totalPages - 1 }, (_, i) => i + 2).map((page) => {
|
|
76
|
+
const pageParams = Object.assign(Object.assign({}, params), { page });
|
|
77
|
+
return (0, request_1.apiRequest)(config.apiBaseUrl, Object.assign({ query: pageParams }, fetchOptions));
|
|
78
|
+
});
|
|
79
|
+
try {
|
|
80
|
+
for (var _d = true, pagePromises_1 = __asyncValues(pagePromises), pagePromises_1_1; pagePromises_1_1 = yield pagePromises_1.next(), _a = pagePromises_1_1.done, !_a; _d = true) {
|
|
81
|
+
_c = pagePromises_1_1.value;
|
|
82
|
+
_d = false;
|
|
83
|
+
const response = _c;
|
|
84
|
+
// Prevent rate limiting by adding a delay between requests
|
|
85
|
+
yield new Promise((resolve) => setTimeout(resolve, 200));
|
|
86
|
+
if (response && response.data && Array.isArray(response.data)) {
|
|
87
|
+
allAds.push(...response.data);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new Error(`Unexpected Blocket API response structure in paginated results, expected array of ads`);
|
|
91
|
+
}
|
|
79
92
|
}
|
|
80
|
-
|
|
81
|
-
|
|
93
|
+
}
|
|
94
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
95
|
+
finally {
|
|
96
|
+
try {
|
|
97
|
+
if (!_d && !_a && (_b = pagePromises_1.return)) yield _b.call(pagePromises_1);
|
|
82
98
|
}
|
|
99
|
+
finally { if (e_1) throw e_1.error; }
|
|
83
100
|
}
|
|
84
101
|
return allAds;
|
|
85
102
|
});
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/client/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/client/index.ts"],"names":[],"mappings":"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"}
|
package/lib/client/index.ts
CHANGED
|
@@ -88,23 +88,24 @@ export async function find(
|
|
|
88
88
|
const allAds = [...firstPageResponse.data];
|
|
89
89
|
const totalPages = firstPageResponse.total_page_count;
|
|
90
90
|
|
|
91
|
-
const pagePromises =
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
const pagePromises = Array.from(
|
|
92
|
+
{ length: totalPages - 1 },
|
|
93
|
+
(_, i) => i + 2
|
|
94
|
+
).map((page) => {
|
|
95
|
+
const pageParams = {
|
|
96
|
+
...params,
|
|
94
97
|
page,
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
query: params,
|
|
98
|
+
};
|
|
99
|
+
return apiRequest<BlocketApiResponse>(config.apiBaseUrl, {
|
|
100
|
+
query: pageParams,
|
|
99
101
|
...fetchOptions,
|
|
100
102
|
});
|
|
103
|
+
});
|
|
101
104
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const pageResponses = await Promise.all(pagePromises);
|
|
105
|
+
for await (const response of pagePromises) {
|
|
106
|
+
// Prevent rate limiting by adding a delay between requests
|
|
107
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
106
108
|
|
|
107
|
-
for (const response of pageResponses) {
|
|
108
109
|
if (response && response.data && Array.isArray(response.data)) {
|
|
109
110
|
allAds.push(...response.data);
|
|
110
111
|
} else {
|