@crawlee/core 3.0.5-beta.8 → 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/autoscaling/system_status.d.ts.map +1 -1
- package/autoscaling/system_status.js +8 -1
- package/autoscaling/system_status.js.map +1 -1
- package/configuration.d.ts +12 -2
- package/configuration.d.ts.map +1 -1
- package/configuration.js +13 -3
- package/configuration.js.map +1 -1
- package/crawlers/crawler_commons.d.ts +49 -2
- package/crawlers/crawler_commons.d.ts.map +1 -1
- package/crawlers/statistics.d.ts +16 -0
- package/crawlers/statistics.d.ts.map +1 -1
- package/crawlers/statistics.js +50 -1
- package/crawlers/statistics.js.map +1 -1
- package/enqueue_links/enqueue_links.d.ts +6 -5
- package/enqueue_links/enqueue_links.d.ts.map +1 -1
- package/enqueue_links/enqueue_links.js +18 -6
- package/enqueue_links/enqueue_links.js.map +1 -1
- package/enqueue_links/shared.d.ts +1 -0
- package/enqueue_links/shared.d.ts.map +1 -1
- package/enqueue_links/shared.js +26 -5
- package/enqueue_links/shared.js.map +1 -1
- package/events/event_manager.d.ts +1 -1
- package/events/event_manager.d.ts.map +1 -1
- package/events/event_manager.js +1 -0
- package/events/event_manager.js.map +1 -1
- package/except.d.ts +7 -0
- package/except.d.ts.map +1 -0
- package/except.js +4 -0
- package/except.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs +2 -0
- package/package.json +8 -5
- package/request.d.ts +1 -1
- package/request.js +1 -1
- package/router.d.ts +11 -2
- package/router.d.ts.map +1 -1
- package/router.js.map +1 -1
- package/session_pool/session_pool.d.ts +7 -0
- package/session_pool/session_pool.d.ts.map +1 -1
- package/session_pool/session_pool.js +7 -0
- package/session_pool/session_pool.js.map +1 -1
- package/storages/dataset.d.ts +48 -1
- package/storages/dataset.d.ts.map +1 -1
- package/storages/dataset.js +85 -1
- package/storages/dataset.js.map +1 -1
- package/storages/key_value_store.d.ts +63 -4
- package/storages/key_value_store.d.ts.map +1 -1
- package/storages/key_value_store.js +5 -4
- package/storages/key_value_store.js.map +1 -1
- package/storages/request_queue.js +1 -1
- package/storages/request_queue.js.map +1 -1
- package/storages/storage_manager.js.map +1 -1
- package/storages/utils.d.ts +19 -0
- package/storages/utils.d.ts.map +1 -1
- package/storages/utils.js +16 -1
- package/storages/utils.js.map +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/enqueue_links/shared.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createRequestOptions = exports.createRequests = exports.constructRegExpObjectsFromRegExps = exports.validateGlobPattern = exports.constructGlobObjectsFromGlobs = exports.constructRegExpObjectsFromPseudoUrls = exports.updateEnqueueLinksPatternCache = void 0;
|
|
3
|
+
exports.createRequestOptions = exports.filterRequestsByPatterns = exports.createRequests = exports.constructRegExpObjectsFromRegExps = exports.validateGlobPattern = exports.constructGlobObjectsFromGlobs = exports.constructRegExpObjectsFromPseudoUrls = exports.updateEnqueueLinksPatternCache = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const url_1 = require("url");
|
|
6
6
|
const pseudo_url_1 = require("@apify/pseudo_url");
|
|
@@ -112,22 +112,43 @@ function createRequests(requestOptions, urlPatternObjects) {
|
|
|
112
112
|
.map((opts) => new request_1.Request(typeof opts === 'string' ? { url: opts } : opts));
|
|
113
113
|
}
|
|
114
114
|
const requests = [];
|
|
115
|
-
for (const
|
|
116
|
-
const
|
|
117
|
-
for (const
|
|
118
|
-
const
|
|
115
|
+
for (const opts of requestOptions) {
|
|
116
|
+
const urlToMatch = typeof opts === 'string' ? opts : opts.url;
|
|
117
|
+
for (const urlPatternObject of urlPatternObjects) {
|
|
118
|
+
const { regexp, glob, ...requestRegExpOptions } = urlPatternObject;
|
|
119
119
|
if ((regexp && urlToMatch.match(regexp)) || // eslint-disable-line
|
|
120
120
|
(glob && (0, minimatch_1.default)(urlToMatch, glob, { nocase: true }))) {
|
|
121
121
|
const request = typeof opts === 'string'
|
|
122
122
|
? { url: opts, ...requestRegExpOptions }
|
|
123
123
|
: { ...opts, ...requestRegExpOptions };
|
|
124
124
|
requests.push(new request_1.Request(request));
|
|
125
|
+
// Stop checking other patterns for this request option as it was already matched
|
|
126
|
+
break;
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
129
|
}
|
|
128
130
|
return requests;
|
|
129
131
|
}
|
|
130
132
|
exports.createRequests = createRequests;
|
|
133
|
+
function filterRequestsByPatterns(requests, patterns) {
|
|
134
|
+
if (!patterns?.length) {
|
|
135
|
+
return requests;
|
|
136
|
+
}
|
|
137
|
+
const filtered = [];
|
|
138
|
+
for (const request of requests) {
|
|
139
|
+
for (const urlPatternObject of patterns) {
|
|
140
|
+
const { regexp, glob } = urlPatternObject;
|
|
141
|
+
if ((regexp && request.url.match(regexp)) || // eslint-disable-line
|
|
142
|
+
(glob && (0, minimatch_1.default)(request.url, glob, { nocase: true }))) {
|
|
143
|
+
filtered.push(request);
|
|
144
|
+
// Break the pattern loop, as we already matched this request once
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return filtered;
|
|
150
|
+
}
|
|
151
|
+
exports.filterRequestsByPatterns = filterRequestsByPatterns;
|
|
131
152
|
/**
|
|
132
153
|
* @ignore
|
|
133
154
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ interface Intervals {
|
|
|
15
15
|
}
|
|
16
16
|
export declare abstract class EventManager {
|
|
17
17
|
readonly config: Configuration;
|
|
18
|
-
protected events: AsyncEventEmitter<Record<
|
|
18
|
+
protected events: AsyncEventEmitter<Record<PropertyKey, unknown[]> & import("@vladfrangu/async_event_emitter").AsyncEventEmitterPredefinedEvents>;
|
|
19
19
|
protected initialized: boolean;
|
|
20
20
|
protected intervals: Intervals;
|
|
21
21
|
protected log: import("@apify/log").Log;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_manager.d.ts","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,0BAAkB,SAAS;IACvB,aAAa,iBAAiB;IAC9B,WAAW,eAAe;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,oBAAY,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1G,UAAU,SAAS;IACf,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,8BAAsB,YAAY;IAMlB,QAAQ,CAAC,MAAM;IAL3B,SAAS,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"event_manager.d.ts","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,0BAAkB,SAAS;IACvB,aAAa,iBAAiB;IAC9B,WAAW,eAAe;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,oBAAY,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1G,UAAU,SAAS;IACf,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,8BAAsB,YAAY;IAMlB,QAAQ,CAAC,MAAM;IAL3B,SAAS,CAAC,MAAM,kIAA2B;IAC3C,SAAS,CAAC,WAAW,UAAS;IAC9B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAM;IACpC,SAAS,CAAC,GAAG,2BAAmC;gBAE3B,MAAM,gBAAkC;IAI7D;;;OAGG;IACG,IAAI;IAaV;;;OAGG;IACG,KAAK;IAeX,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAIjE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAQnE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIpD,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAI3C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;IAI3D;;OAEG;IACH,6BAA6B;CAGhC"}
|
package/events/event_manager.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_manager.js","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":";;;;AAAA,6DAA6B;AAE7B,gDAA0E;AAC1E,yEAAoE;AACpE,oDAAiD;AAEjD,IAAkB,SAMjB;AAND,WAAkB,SAAS;IACvB,2CAA8B,CAAA;IAC9B,uCAA0B,CAAA;IAC1B,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,0BAAa,CAAA;AACjB,CAAC,EANiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAM1B;AASD,MAAsB,YAAY;IAM9B,YAAqB,SAAS,6BAAa,CAAC,eAAe,EAAE;;;;;mBAAxC;;QALrB;;;;mBAAmB,IAAI,uCAAiB,EAAE;WAAC;QAC3C;;;;mBAAwB,KAAK;WAAC;QAC9B;;;;mBAAiC,EAAE;WAAC;QACpC;;;;mBAAgB,aAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;WAAC;
|
|
1
|
+
{"version":3,"file":"event_manager.js","sourceRoot":"","sources":["../../src/events/event_manager.ts"],"names":[],"mappings":";;;;AAAA,6DAA6B;AAE7B,gDAA0E;AAC1E,yEAAoE;AACpE,oDAAiD;AAEjD,IAAkB,SAMjB;AAND,WAAkB,SAAS;IACvB,2CAA8B,CAAA;IAC9B,uCAA0B,CAAA;IAC1B,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,0BAAa,CAAA;AACjB,CAAC,EANiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAM1B;AASD,MAAsB,YAAY;IAM9B,YAAqB,SAAS,6BAAa,CAAC,eAAe,EAAE;;;;;mBAAxC;;QALrB;;;;mBAAmB,IAAI,uCAAiB,EAAE;WAAC;QAC3C;;;;mBAAwB,KAAK;WAAC;QAC9B;;;;mBAAiC,EAAE;WAAC;QACpC;;;;mBAAgB,aAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;WAAC;QAG5C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAE,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAA,6BAAiB,EAAC,CAAC,gBAA+B,EAAE,EAAE;YAChF,IAAI,CAAC,IAAI,+CAA0B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,gBAAgB,EAAE,CAAC;QACvB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO;SACV;QAED,IAAA,+BAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,iCAAiC;QACjC,IAAI,CAAC,IAAI,+CAA0B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,oCAAoC;QACpC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,KAAoB,EAAE,QAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAC,KAAoB,EAAE,QAAkC;QACxD,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC/C;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,CAAC,KAAoB,EAAE,GAAG,IAAe;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAoB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAoB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAA+B,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,6BAA6B;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;IACvD,CAAC;CACJ;AAtFD,oCAsFC"}
|
package/except.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare type IsEqual<T, U> = (<G>() => G extends T ? 1 : 2) extends (<G>() => G extends U ? 1 : 2) ? true : false;
|
|
2
|
+
declare type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
3
|
+
export declare type Except<ObjectType, KeysType extends keyof ObjectType> = {
|
|
4
|
+
[KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
|
|
5
|
+
};
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=except.d.ts.map
|
package/except.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"except.d.ts","sourceRoot":"","sources":["../src/except.ts"],"names":[],"mappings":"AAEA,aAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IACb,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAC9B,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACxB,IAAI,GACJ,KAAK,CAAC;AAEhB,aAAK,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,OAAO,SAAS,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAEzI,oBAAY,MAAM,CAAC,UAAU,EAAE,QAAQ,SAAS,MAAM,UAAU,IAAI;KAC/D,OAAO,IAAI,MAAM,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;CAClF,CAAC"}
|
package/except.js
ADDED
package/except.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"except.js","sourceRoot":"","sources":["../src/except.ts"],"names":[],"mappings":";AAAA,oCAAoC"}
|
package/index.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export * from './storages';
|
|
|
14
14
|
export * from './validators';
|
|
15
15
|
export * from './cookie_utils';
|
|
16
16
|
export { PseudoUrl } from '@apify/pseudo_url';
|
|
17
|
-
export { Dictionary, Awaitable, Constructor, StorageClient } from '@crawlee/types';
|
|
17
|
+
export { Dictionary, Awaitable, Constructor, StorageClient, Cookie } from '@crawlee/types';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
|
package/index.mjs
CHANGED
|
@@ -53,6 +53,7 @@ export const createRequestOptions = mod.createRequestOptions;
|
|
|
53
53
|
export const createRequests = mod.createRequests;
|
|
54
54
|
export const deserializeArray = mod.deserializeArray;
|
|
55
55
|
export const enqueueLinks = mod.enqueueLinks;
|
|
56
|
+
export const filterRequestsByPatterns = mod.filterRequestsByPatterns;
|
|
56
57
|
export const getCookiesFromResponse = mod.getCookiesFromResponse;
|
|
57
58
|
export const getDefaultCookieExpirationDate = mod.getDefaultCookieExpirationDate;
|
|
58
59
|
export const getRequestId = mod.getRequestId;
|
|
@@ -65,5 +66,6 @@ export const resolveBaseUrlForEnqueueLinksFiltering = mod.resolveBaseUrlForEnque
|
|
|
65
66
|
export const serializeArray = mod.serializeArray;
|
|
66
67
|
export const toughCookieToBrowserPoolCookie = mod.toughCookieToBrowserPoolCookie;
|
|
67
68
|
export const updateEnqueueLinksPatternCache = mod.updateEnqueueLinksPatternCache;
|
|
69
|
+
export const useState = mod.useState;
|
|
68
70
|
export const validateGlobPattern = mod.validateGlobPattern;
|
|
69
71
|
export const validators = mod.validators;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crawlee/core",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.0.0"
|
|
@@ -58,17 +58,20 @@
|
|
|
58
58
|
"@apify/pseudo_url": "^2.0.0",
|
|
59
59
|
"@apify/timeout": "^0.3.0",
|
|
60
60
|
"@apify/utilities": "^2.0.0",
|
|
61
|
-
"@crawlee/memory-storage": "^3.0
|
|
62
|
-
"@crawlee/types": "^3.0
|
|
63
|
-
"@crawlee/utils": "^3.0
|
|
61
|
+
"@crawlee/memory-storage": "^3.1.0",
|
|
62
|
+
"@crawlee/types": "^3.1.0",
|
|
63
|
+
"@crawlee/utils": "^3.1.0",
|
|
64
64
|
"@types/tough-cookie": "^4.0.2",
|
|
65
65
|
"@vladfrangu/async_event_emitter": "^2.0.0",
|
|
66
|
+
"csv-stringify": "^6.2.0",
|
|
66
67
|
"fs-extra": "^10.1.0",
|
|
68
|
+
"json5": "^2.2.1",
|
|
67
69
|
"minimatch": "^5.1.0",
|
|
68
70
|
"ow": "^0.28.1",
|
|
69
71
|
"stream-chain": "^2.2.5",
|
|
70
72
|
"stream-json": "^1.7.4",
|
|
71
73
|
"tldts": "^5.7.80",
|
|
72
|
-
"tough-cookie": "^4.0.0"
|
|
74
|
+
"tough-cookie": "^4.0.0",
|
|
75
|
+
"type-fest": "^3.0.0"
|
|
73
76
|
}
|
|
74
77
|
}
|
package/request.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { AllowedHttpMethods } from './typedefs';
|
|
|
9
9
|
*
|
|
10
10
|
* Each `Request` instance has the `uniqueKey` property, which can be either specified
|
|
11
11
|
* manually in the constructor or generated automatically from the URL. Two requests with the same `uniqueKey`
|
|
12
|
-
* are considered as pointing to the same web resource. This behavior applies to all
|
|
12
|
+
* are considered as pointing to the same web resource. This behavior applies to all Crawlee classes,
|
|
13
13
|
* such as {@apilink RequestList}, {@apilink RequestQueue}, {@apilink PuppeteerCrawler} or {@apilink PlaywrightCrawler}.
|
|
14
14
|
*
|
|
15
15
|
* Example use:
|
package/request.js
CHANGED
|
@@ -33,7 +33,7 @@ const requestOptionalPredicates = {
|
|
|
33
33
|
*
|
|
34
34
|
* Each `Request` instance has the `uniqueKey` property, which can be either specified
|
|
35
35
|
* manually in the constructor or generated automatically from the URL. Two requests with the same `uniqueKey`
|
|
36
|
-
* are considered as pointing to the same web resource. This behavior applies to all
|
|
36
|
+
* are considered as pointing to the same web resource. This behavior applies to all Crawlee classes,
|
|
37
37
|
* such as {@apilink RequestList}, {@apilink RequestQueue}, {@apilink PuppeteerCrawler} or {@apilink PlaywrightCrawler}.
|
|
38
38
|
*
|
|
39
39
|
* Example use:
|
package/router.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import type { Dictionary } from '@crawlee/types';
|
|
1
2
|
import type { CrawlingContext } from './crawlers/crawler_commons';
|
|
2
3
|
import type { Awaitable } from './typedefs';
|
|
4
|
+
import type { Request } from './request';
|
|
5
|
+
import type { Except } from './except';
|
|
3
6
|
export interface RouterHandler<Context extends CrawlingContext = CrawlingContext> extends Router<Context> {
|
|
4
7
|
(ctx: Context): Awaitable<void>;
|
|
5
8
|
}
|
|
9
|
+
declare type GetUserDataFromRequest<T> = T extends Request<infer Y> ? Y : never;
|
|
6
10
|
/**
|
|
7
11
|
* Simple router that works based on request labels. This instance can then serve as a `requestHandler` of your crawler.
|
|
8
12
|
*
|
|
@@ -65,11 +69,15 @@ export declare class Router<Context extends CrawlingContext> {
|
|
|
65
69
|
/**
|
|
66
70
|
* Registers new route handler for given label.
|
|
67
71
|
*/
|
|
68
|
-
addHandler(label: string | symbol, handler: (ctx: Context
|
|
72
|
+
addHandler<UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(label: string | symbol, handler: (ctx: Except<Context, 'request'> & {
|
|
73
|
+
request: Request<UserData>;
|
|
74
|
+
}) => Awaitable<void>): void;
|
|
69
75
|
/**
|
|
70
76
|
* Registers default route handler.
|
|
71
77
|
*/
|
|
72
|
-
addDefaultHandler(handler: (ctx: Context
|
|
78
|
+
addDefaultHandler<UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(handler: (ctx: Except<Context, 'request'> & {
|
|
79
|
+
request: Request<UserData>;
|
|
80
|
+
}) => Awaitable<void>): void;
|
|
73
81
|
/**
|
|
74
82
|
* Registers a middleware that will be fired before the matching route handler.
|
|
75
83
|
* Multiple middlewares can be registered, they will be fired in the same order.
|
|
@@ -105,4 +113,5 @@ export declare class Router<Context extends CrawlingContext> {
|
|
|
105
113
|
*/
|
|
106
114
|
static create<Context extends CrawlingContext = CrawlingContext>(): RouterHandler<Context>;
|
|
107
115
|
}
|
|
116
|
+
export {};
|
|
108
117
|
//# sourceMappingURL=router.d.ts.map
|
package/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKvC,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,MAAM,CAAC,OAAO,CAAC;IACrG,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,aAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,MAAM,CAAC,OAAO,SAAS,eAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsE;IAC7F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IAEzE;;;OAGG;IACH,SAAS;IAET;;OAEG;IACH,UAAU,CAAC,QAAQ,SAAS,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAC/E,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAC,KAAK,SAAS,CAAC,IAAI,CAAC;IAMhG;;OAEG;IACH,iBAAiB,CAAC,QAAQ,SAAS,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EACtF,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAC,KAAK,SAAS,CAAC,IAAI,CAAC;IAMhG;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC;IAiBtE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,KAAK,aAAa,CAAC,OAAO,CAAC;CAwB7F"}
|
package/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,6 +104,13 @@ export interface SessionPoolOptions {
|
|
|
104
104
|
* session3.retire()
|
|
105
105
|
*
|
|
106
106
|
* ```
|
|
107
|
+
*
|
|
108
|
+
* **Default session allocation flow:*
|
|
109
|
+
* 1. Until the `SessionPool` reaches `maxPoolSize`, new sessions are created, provided to the user and added to the pool
|
|
110
|
+
* 2. Blocked/retired sessions stay in the pool but are never provided to the user
|
|
111
|
+
* 3. Once the pool is full (live plus blocked session count reaches `maxPoolSize`), a random session from the pool is provided.
|
|
112
|
+
* 4. If a blocked session would be picked, instead all blocked sessions are evicted from the pool and a new session is created and provided
|
|
113
|
+
*
|
|
107
114
|
* @category Scaling
|
|
108
115
|
*/
|
|
109
116
|
export declare class SessionPool extends EventEmitter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_pool.d.ts","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kEAAkE;IAClE,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,6EAA6E;IAC7E,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;IAEtC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,gBAAgB;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;CACb;AAED
|
|
1
|
+
{"version":3,"file":"session_pool.d.ts","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,13 @@ const session_1 = require("./session");
|
|
|
64
64
|
* session3.retire()
|
|
65
65
|
*
|
|
66
66
|
* ```
|
|
67
|
+
*
|
|
68
|
+
* **Default session allocation flow:*
|
|
69
|
+
* 1. Until the `SessionPool` reaches `maxPoolSize`, new sessions are created, provided to the user and added to the pool
|
|
70
|
+
* 2. Blocked/retired sessions stay in the pool but are never provided to the user
|
|
71
|
+
* 3. Once the pool is full (live plus blocked session count reaches `maxPoolSize`), a random session from the pool is provided.
|
|
72
|
+
* 4. If a blocked session would be picked, instead all blocked sessions are evicted from the pool and a new session is created and provided
|
|
73
|
+
*
|
|
67
74
|
* @category Scaling
|
|
68
75
|
*/
|
|
69
76
|
class SessionPool extends node_events_1.EventEmitter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_pool.js","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":";;;;AACA,6CAA2C;AAE3C,oDAAoB;AACpB,oDAAiD;AACjD,gCAA2C;AAC3C,iEAA4D;AAE5D,uCAAoC;AAoDpC
|
|
1
|
+
{"version":3,"file":"session_pool.js","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":"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"}
|
package/storages/dataset.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DatasetClient, DatasetInfo,
|
|
1
|
+
import type { DatasetClient, DatasetInfo, Dictionary, StorageClient } from '@crawlee/types';
|
|
2
2
|
import { Configuration } from '../configuration';
|
|
3
3
|
import type { Awaitable } from '../typedefs';
|
|
4
4
|
import type { StorageManagerOptions } from './storage_manager';
|
|
@@ -82,6 +82,10 @@ export interface DatasetIteratorOptions extends Omit<DatasetDataOptions, 'offset
|
|
|
82
82
|
/** @internal */
|
|
83
83
|
format?: string;
|
|
84
84
|
}
|
|
85
|
+
export interface ExportOptions {
|
|
86
|
+
fromDataset?: string;
|
|
87
|
+
toKVS?: string;
|
|
88
|
+
}
|
|
85
89
|
/**
|
|
86
90
|
* The `Dataset` class represents a store for structured data where each object stored has the same attributes,
|
|
87
91
|
* such as online store products or real estate offers. You can imagine it as a table,
|
|
@@ -127,6 +131,9 @@ export interface DatasetIteratorOptions extends Omit<DatasetDataOptions, 'offset
|
|
|
127
131
|
* { foo: 'bar2', col2: 'val2' },
|
|
128
132
|
* { col3: 123 },
|
|
129
133
|
* ]);
|
|
134
|
+
*
|
|
135
|
+
* // Export the entirety of the dataset to one file in the key-value store
|
|
136
|
+
* await dataset.exportToCSV('MY-DATA');
|
|
130
137
|
* ```
|
|
131
138
|
* @category Result Stores
|
|
132
139
|
*/
|
|
@@ -169,6 +176,42 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
|
|
|
169
176
|
* Returns {@apilink DatasetContent} object holding the items in the dataset based on the provided parameters.
|
|
170
177
|
*/
|
|
171
178
|
getData(options?: DatasetDataOptions): Promise<DatasetContent<Data>>;
|
|
179
|
+
/**
|
|
180
|
+
* Save the entirety of the dataset's contents into one file within a key-value store.
|
|
181
|
+
*
|
|
182
|
+
* @param key The name of the value to save the data in.
|
|
183
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
184
|
+
* @param [contentType] Only JSON and CSV are supported currently, defaults to JSON.
|
|
185
|
+
*/
|
|
186
|
+
exportTo(key: string, options?: ExportOptions, contentType?: string): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Save entire default dataset's contents into one JSON file within a key-value store.
|
|
189
|
+
*
|
|
190
|
+
* @param key The name of the value to save the data in.
|
|
191
|
+
* @param [options] An optional options object where you can provide the target KVS name.
|
|
192
|
+
*/
|
|
193
|
+
exportToJSON(key: string, options?: Omit<ExportOptions, 'fromDataset'>): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Save entire default dataset's contents into one CSV file within a key-value store.
|
|
196
|
+
*
|
|
197
|
+
* @param key The name of the value to save the data in.
|
|
198
|
+
* @param [options] An optional options object where you can provide the target KVS name.
|
|
199
|
+
*/
|
|
200
|
+
exportToCSV(key: string, options?: Omit<ExportOptions, 'fromDataset'>): Promise<void>;
|
|
201
|
+
/**
|
|
202
|
+
* Save entire default dataset's contents into one JSON file within a key-value store.
|
|
203
|
+
*
|
|
204
|
+
* @param key The name of the value to save the data in.
|
|
205
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
206
|
+
*/
|
|
207
|
+
static exportToJSON(key: string, options?: ExportOptions): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Save entire default dataset's contents into one CSV file within a key-value store.
|
|
210
|
+
*
|
|
211
|
+
* @param key The name of the value to save the data in.
|
|
212
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
213
|
+
*/
|
|
214
|
+
static exportToCSV(key: string, options?: ExportOptions): Promise<void>;
|
|
172
215
|
/**
|
|
173
216
|
* Returns an object containing general information about the dataset.
|
|
174
217
|
*
|
|
@@ -284,6 +327,10 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
|
|
|
284
327
|
* @ignore
|
|
285
328
|
*/
|
|
286
329
|
static pushData<Data extends Dictionary = Dictionary>(item: Data | Data[]): Promise<void>;
|
|
330
|
+
/**
|
|
331
|
+
* Returns {@apilink DatasetContent} object holding the items in the dataset based on the provided parameters.
|
|
332
|
+
*/
|
|
333
|
+
static getData<Data extends Dictionary = Dictionary>(options?: DatasetDataOptions): Promise<DatasetContent<Data>>;
|
|
287
334
|
}
|
|
288
335
|
/**
|
|
289
336
|
* User-function used in the `Dataset.forEach()` API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":"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"}
|
package/storages/dataset.js
CHANGED
|
@@ -4,10 +4,12 @@ exports.Dataset = exports.chunkBySize = exports.checkAndSerialize = exports.DATA
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const consts_1 = require("@apify/consts");
|
|
6
6
|
const ow_1 = tslib_1.__importDefault(require("ow"));
|
|
7
|
+
const sync_1 = require("csv-stringify/sync");
|
|
7
8
|
const configuration_1 = require("../configuration");
|
|
8
9
|
const log_1 = require("../log");
|
|
9
10
|
const storage_manager_1 = require("./storage_manager");
|
|
10
11
|
const utils_1 = require("./utils");
|
|
12
|
+
const key_value_store_1 = require("./key_value_store");
|
|
11
13
|
/** @internal */
|
|
12
14
|
exports.DATASET_ITERATORS_DEFAULT_LIMIT = 10000;
|
|
13
15
|
const SAFETY_BUFFER_PERCENT = 0.01 / 100; // 0.01%
|
|
@@ -124,6 +126,9 @@ exports.chunkBySize = chunkBySize;
|
|
|
124
126
|
* { foo: 'bar2', col2: 'val2' },
|
|
125
127
|
* { col3: 123 },
|
|
126
128
|
* ]);
|
|
129
|
+
*
|
|
130
|
+
* // Export the entirety of the dataset to one file in the key-value store
|
|
131
|
+
* await dataset.exportToCSV('MY-DATA');
|
|
127
132
|
* ```
|
|
128
133
|
* @category Result Stores
|
|
129
134
|
*/
|
|
@@ -222,6 +227,78 @@ class Dataset {
|
|
|
222
227
|
throw e;
|
|
223
228
|
}
|
|
224
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Save the entirety of the dataset's contents into one file within a key-value store.
|
|
232
|
+
*
|
|
233
|
+
* @param key The name of the value to save the data in.
|
|
234
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
235
|
+
* @param [contentType] Only JSON and CSV are supported currently, defaults to JSON.
|
|
236
|
+
*/
|
|
237
|
+
async exportTo(key, options, contentType) {
|
|
238
|
+
const kvStore = await key_value_store_1.KeyValueStore.open(options?.toKVS ?? null);
|
|
239
|
+
const items = [];
|
|
240
|
+
const fetchNextChunk = async (offset = 0) => {
|
|
241
|
+
const limit = 1000;
|
|
242
|
+
const value = await this.client.listItems({ offset, limit });
|
|
243
|
+
if (value.count === 0) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
items.push(...value.items);
|
|
247
|
+
if (value.total > offset + value.count) {
|
|
248
|
+
return fetchNextChunk(offset + value.count);
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
await fetchNextChunk();
|
|
252
|
+
if (contentType === 'text/csv') {
|
|
253
|
+
const value = (0, sync_1.stringify)([
|
|
254
|
+
Object.keys(items[0]),
|
|
255
|
+
...items.map((item) => Object.values(item)),
|
|
256
|
+
]);
|
|
257
|
+
return kvStore.setValue(key, value, { contentType });
|
|
258
|
+
}
|
|
259
|
+
if (contentType === 'application/json') {
|
|
260
|
+
return kvStore.setValue(key, items);
|
|
261
|
+
}
|
|
262
|
+
throw new Error(`Unsupported content type: ${contentType}`);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Save entire default dataset's contents into one JSON file within a key-value store.
|
|
266
|
+
*
|
|
267
|
+
* @param key The name of the value to save the data in.
|
|
268
|
+
* @param [options] An optional options object where you can provide the target KVS name.
|
|
269
|
+
*/
|
|
270
|
+
async exportToJSON(key, options) {
|
|
271
|
+
await this.exportTo(key, options, 'application/json');
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Save entire default dataset's contents into one CSV file within a key-value store.
|
|
275
|
+
*
|
|
276
|
+
* @param key The name of the value to save the data in.
|
|
277
|
+
* @param [options] An optional options object where you can provide the target KVS name.
|
|
278
|
+
*/
|
|
279
|
+
async exportToCSV(key, options) {
|
|
280
|
+
await this.exportTo(key, options, 'text/csv');
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Save entire default dataset's contents into one JSON file within a key-value store.
|
|
284
|
+
*
|
|
285
|
+
* @param key The name of the value to save the data in.
|
|
286
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
287
|
+
*/
|
|
288
|
+
static async exportToJSON(key, options) {
|
|
289
|
+
const dataset = await this.open(options?.fromDataset);
|
|
290
|
+
await dataset.exportToJSON(key, options);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Save entire default dataset's contents into one CSV file within a key-value store.
|
|
294
|
+
*
|
|
295
|
+
* @param key The name of the value to save the data in.
|
|
296
|
+
* @param [options] An optional options object where you can provide the dataset and target KVS name.
|
|
297
|
+
*/
|
|
298
|
+
static async exportToCSV(key, options) {
|
|
299
|
+
const dataset = await this.open(options?.fromDataset);
|
|
300
|
+
await dataset.exportToCSV(key, options);
|
|
301
|
+
}
|
|
225
302
|
/**
|
|
226
303
|
* Returns an object containing general information about the dataset.
|
|
227
304
|
*
|
|
@@ -363,7 +440,7 @@ class Dataset {
|
|
|
363
440
|
}));
|
|
364
441
|
options.config ?? (options.config = configuration_1.Configuration.getGlobalConfig());
|
|
365
442
|
await (0, utils_1.purgeDefaultStorages)();
|
|
366
|
-
const manager = storage_manager_1.StorageManager.getManager(
|
|
443
|
+
const manager = storage_manager_1.StorageManager.getManager(this, options.config);
|
|
367
444
|
return manager.openStorage(datasetIdOrName, options.config.getStorageClient());
|
|
368
445
|
}
|
|
369
446
|
/**
|
|
@@ -394,6 +471,13 @@ class Dataset {
|
|
|
394
471
|
const dataset = await this.open();
|
|
395
472
|
return dataset.pushData(item);
|
|
396
473
|
}
|
|
474
|
+
/**
|
|
475
|
+
* Returns {@apilink DatasetContent} object holding the items in the dataset based on the provided parameters.
|
|
476
|
+
*/
|
|
477
|
+
static async getData(options = {}) {
|
|
478
|
+
const dataset = await this.open();
|
|
479
|
+
return dataset.getData(options);
|
|
480
|
+
}
|
|
397
481
|
}
|
|
398
482
|
exports.Dataset = Dataset;
|
|
399
483
|
//# sourceMappingURL=dataset.js.map
|