apify 3.6.1-beta.4 → 3.6.1-beta.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"patched_apify_client.d.ts","sourceRoot":"","sources":["../src/patched_apify_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAE1D,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,eAAe,EAGvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,2BAA2B,eAEvC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,eAAO,MAAM,uBAAuB,4CACgB,CAAC;AAErD,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,eAAe,CAAA;CAAE,GAC5E,WAAW,CAqEb"}
1
+ {"version":3,"file":"patched_apify_client.d.ts","sourceRoot":"","sources":["../src/patched_apify_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAE1D,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,eAAe,EAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,2BAA2B,eAEvC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,eAAO,MAAM,uBAAuB,4CACgB,CAAC;AAErD,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,eAAe,CAAA;CAAE,GAC5E,WAAW,CAiGb"}
@@ -10,14 +10,30 @@ exports.USES_PUSH_DATA_INTERCEPTION = Symbol('apify:uses-push-data-interception'
10
10
  exports.pushDataChargingContext = new node_async_hooks_1.AsyncLocalStorage();
11
11
  function createPatchedApifyClient(options, actor) {
12
12
  class PatchedDatasetClient extends apify_client_1.DatasetClient {
13
+ normalizeItems(items) {
14
+ if (typeof items === 'string') {
15
+ const parsed = JSON.parse(items);
16
+ return Array.isArray(parsed) ? parsed : [parsed];
17
+ }
18
+ if (Array.isArray(items)) {
19
+ return items.flatMap((item) => typeof item === 'string'
20
+ ? JSON.parse(item)
21
+ : item);
22
+ }
23
+ return [items];
24
+ }
13
25
  async pushItems(items) {
14
26
  const context = exports.pushDataChargingContext.getStore();
27
+ // Normalize string inputs: a single JSON string may encode multiple items
28
+ // (e.g. '[{"a":1},{"b":2}]'), which would be miscounted by the charging logic.
29
+ // Parse strings into arrays so each logical item is counted individually.
30
+ const normalizedItems = this.normalizeItems(items);
15
31
  const result = await (0, charging_js_1.pushDataAndCharge)({
16
32
  chargingManager: actor.getChargingManager(),
17
- items,
33
+ items: normalizedItems,
18
34
  eventName: context?.eventName,
19
35
  isDefaultDataset: true,
20
- pushFn: async (limitedItems) => super.pushItems(limitedItems),
36
+ pushFn: async (limitedItems) => super.pushItems(JSON.stringify(limitedItems)), // stringify the items for faster validation in Apify client
21
37
  });
22
38
  if (!context)
23
39
  return;
@@ -41,7 +57,9 @@ function createPatchedApifyClient(options, actor) {
41
57
  apifyClient: this,
42
58
  httpClient: this.httpClient,
43
59
  };
44
- if (!isDefaultDataset) {
60
+ const hasDefaultDatasetItemEvent = charging_js_1.DEFAULT_DATASET_ITEM_EVENT in
61
+ actor.getChargingManager().getPricingInfo().perEventPrices;
62
+ if (!isDefaultDataset || !hasDefaultDatasetItemEvent) {
45
63
  return new apify_client_1.DatasetClient(datasetOptions);
46
64
  }
47
65
  const client = new PatchedDatasetClient(datasetOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"patched_apify_client.js","sourceRoot":"","sources":["../src/patched_apify_client.ts"],"names":[],"mappings":";;;AAoCA,4DAwEC;AA5GD,yCAAyC;AACzC,uDAAqD;AAGrD,+CAA0D;AAE1D,+CAKuB;AAGV,QAAA,2BAA2B,GAAG,MAAM,CAC7C,mCAAmC,CACtC,CAAC;AAiBW,QAAA,uBAAuB,GAChC,IAAI,oCAAiB,EAA2B,CAAC;AAErD,SAAgB,wBAAwB,CACpC,OAA2B,EAC3B,KAA2E;IAE3E,MAAM,oBAKJ,SAAQ,4BAAmB;QAChB,KAAK,CAAC,SAAS,CACpB,KAAwC;YAExC,MAAM,OAAO,GAAG,+BAAuB,CAAC,QAAQ,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAiB,EAAC;gBACnC,eAAe,EAAE,KAAK,CAAC,kBAAkB,EAAE;gBAC3C,KAAK;gBACL,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAC3B,KAAK,CAAC,SAAS,CAAC,YAA4B,CAAC;aACpD,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,2GAA2G;YAC3G,sDAAsD;YACtD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,YAAY,GAAG,IAAA,gCAAkB,EACrC,OAAO,CAAC,YAAY,EACpB,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC;KACJ;IAED,MAAM,kBAAmB,SAAQ,0BAAW;QAC/B,OAAO,CAKd,EAAU;YACR,MAAM,gBAAgB,GAClB,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEhD,MAAM,cAAc,GAAG;gBACnB,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC;YAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,IAAI,4BAAa,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAO,cAAc,CAAC,CAAC;YAE9D,MAAM,CAAC,MAAM,CAAC,MAAgB,EAAE;gBAC5B,CAAC,mCAA2B,CAAC,EAAE,IAAI;aACtC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IAED,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"patched_apify_client.js","sourceRoot":"","sources":["../src/patched_apify_client.ts"],"names":[],"mappings":";;;AAqCA,4DAoGC;AAzID,yCAAyC;AACzC,uDAAqD;AAGrD,+CAA0D;AAE1D,+CAMuB;AAGV,QAAA,2BAA2B,GAAG,MAAM,CAC7C,mCAAmC,CACtC,CAAC;AAiBW,QAAA,uBAAuB,GAChC,IAAI,oCAAiB,EAA2B,CAAC;AAErD,SAAgB,wBAAwB,CACpC,OAA2B,EAC3B,KAA2E;IAE3E,MAAM,oBAKJ,SAAQ,4BAAmB;QACjB,cAAc,CAClB,KAAwC;YAExC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,OAAO,IAAI,KAAK,QAAQ;oBACpB,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB;oBACrC,CAAC,CAAC,IAAI,CACH,CAAC;YAChB,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAEQ,KAAK,CAAC,SAAS,CACpB,KAAwC;YAExC,MAAM,OAAO,GAAG,+BAAuB,CAAC,QAAQ,EAAE,CAAC;YAEnD,0EAA0E;YAC1E,+EAA+E;YAC/E,0EAA0E;YAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAiB,EAAC;gBACnC,eAAe,EAAE,KAAK,CAAC,kBAAkB,EAAE;gBAC3C,KAAK,EAAE,eAAe;gBACtB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAC3B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,4DAA4D;aAClH,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,2GAA2G;YAC3G,sDAAsD;YACtD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,YAAY,GAAG,IAAA,gCAAkB,EACrC,OAAO,CAAC,YAAY,EACpB,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC;KACJ;IAED,MAAM,kBAAmB,SAAQ,0BAAW;QAC/B,OAAO,CAKd,EAAU;YACR,MAAM,gBAAgB,GAClB,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEhD,MAAM,cAAc,GAAG;gBACnB,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC;YAEF,MAAM,0BAA0B,GAC5B,wCAA0B;gBAC1B,KAAK,CAAC,kBAAkB,EAAE,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;YAE/D,IAAI,CAAC,gBAAgB,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACnD,OAAO,IAAI,4BAAa,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAO,cAAc,CAAC,CAAC;YAE9D,MAAM,CAAC,MAAM,CAAC,MAAgB,EAAE;gBAC5B,CAAC,mCAA2B,CAAC,EAAE,IAAI;aACtC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IAED,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apify",
3
- "version": "3.6.1-beta.4",
3
+ "version": "3.6.1-beta.5",
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"