@isdk/web-fetcher 0.3.0 → 0.3.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.
Files changed (83) hide show
  1. package/README.action.cn.md +53 -312
  2. package/README.action.extract.cn.md +263 -0
  3. package/README.action.extract.md +263 -0
  4. package/README.action.md +53 -311
  5. package/README.cn.md +10 -2
  6. package/README.engine.cn.md +22 -1
  7. package/README.engine.md +22 -1
  8. package/README.md +8 -1
  9. package/dist/index.d.mts +147 -1
  10. package/dist/index.d.ts +147 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.mjs +1 -1
  13. package/docs/README.md +8 -1
  14. package/docs/_media/README.action.md +53 -311
  15. package/docs/_media/README.cn.md +10 -2
  16. package/docs/_media/README.engine.md +22 -1
  17. package/docs/classes/CheerioFetchEngine.md +236 -88
  18. package/docs/classes/ClickAction.md +23 -23
  19. package/docs/classes/EvaluateAction.md +23 -23
  20. package/docs/classes/ExtractAction.md +23 -23
  21. package/docs/classes/FetchAction.md +27 -23
  22. package/docs/classes/FetchEngine.md +218 -86
  23. package/docs/classes/FetchSession.md +13 -13
  24. package/docs/classes/FillAction.md +23 -23
  25. package/docs/classes/GetContentAction.md +23 -23
  26. package/docs/classes/GotoAction.md +23 -23
  27. package/docs/classes/KeyboardPressAction.md +533 -0
  28. package/docs/classes/KeyboardTypeAction.md +533 -0
  29. package/docs/classes/MouseClickAction.md +533 -0
  30. package/docs/classes/MouseMoveAction.md +533 -0
  31. package/docs/classes/PauseAction.md +23 -23
  32. package/docs/classes/PlaywrightFetchEngine.md +337 -87
  33. package/docs/classes/SubmitAction.md +23 -23
  34. package/docs/classes/TrimAction.md +23 -23
  35. package/docs/classes/WaitForAction.md +23 -23
  36. package/docs/classes/WebFetcher.md +5 -5
  37. package/docs/enumerations/FetchActionResultStatus.md +4 -4
  38. package/docs/functions/fetchWeb.md +2 -2
  39. package/docs/globals.md +8 -0
  40. package/docs/interfaces/BaseFetchActionProperties.md +12 -12
  41. package/docs/interfaces/BaseFetchCollectorActionProperties.md +16 -16
  42. package/docs/interfaces/BaseFetcherProperties.md +31 -27
  43. package/docs/interfaces/Cookie.md +14 -14
  44. package/docs/interfaces/DispatchedEngineAction.md +4 -4
  45. package/docs/interfaces/EvaluateActionOptions.md +3 -3
  46. package/docs/interfaces/ExtractActionProperties.md +12 -12
  47. package/docs/interfaces/FetchActionInContext.md +15 -15
  48. package/docs/interfaces/FetchActionProperties.md +13 -13
  49. package/docs/interfaces/FetchActionResult.md +6 -6
  50. package/docs/interfaces/FetchContext.md +41 -37
  51. package/docs/interfaces/FetchEngineContext.md +36 -32
  52. package/docs/interfaces/FetchMetadata.md +5 -5
  53. package/docs/interfaces/FetchResponse.md +14 -14
  54. package/docs/interfaces/FetchReturnTypeRegistry.md +7 -7
  55. package/docs/interfaces/FetchSite.md +34 -30
  56. package/docs/interfaces/FetcherOptions.md +33 -29
  57. package/docs/interfaces/GotoActionOptions.md +14 -6
  58. package/docs/interfaces/KeyboardPressParams.md +25 -0
  59. package/docs/interfaces/KeyboardTypeParams.md +25 -0
  60. package/docs/interfaces/MouseClickParams.md +49 -0
  61. package/docs/interfaces/MouseMoveParams.md +41 -0
  62. package/docs/interfaces/PendingEngineRequest.md +3 -3
  63. package/docs/interfaces/StorageOptions.md +5 -5
  64. package/docs/interfaces/SubmitActionOptions.md +2 -2
  65. package/docs/interfaces/TrimActionOptions.md +3 -3
  66. package/docs/interfaces/WaitForActionOptions.md +5 -5
  67. package/docs/type-aliases/BaseFetchActionOptions.md +1 -1
  68. package/docs/type-aliases/BaseFetchCollectorOptions.md +1 -1
  69. package/docs/type-aliases/BrowserEngine.md +1 -1
  70. package/docs/type-aliases/FetchActionCapabilities.md +1 -1
  71. package/docs/type-aliases/FetchActionCapabilityMode.md +1 -1
  72. package/docs/type-aliases/FetchActionOptions.md +1 -1
  73. package/docs/type-aliases/FetchEngineAction.md +2 -2
  74. package/docs/type-aliases/FetchEngineType.md +1 -1
  75. package/docs/type-aliases/FetchReturnType.md +1 -1
  76. package/docs/type-aliases/FetchReturnTypeFor.md +1 -1
  77. package/docs/type-aliases/OnFetchPauseCallback.md +1 -1
  78. package/docs/type-aliases/ResourceType.md +1 -1
  79. package/docs/type-aliases/TrimPreset.md +1 -1
  80. package/docs/variables/DefaultFetcherProperties.md +1 -1
  81. package/docs/variables/FetcherOptionKeys.md +1 -1
  82. package/docs/variables/TRIM_PRESETS.md +1 -1
  83. package/package.json +10 -10
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **BaseFetchCollectorOptions** = `RequireAtLeastOne`\<[`BaseFetchCollectorActionProperties`](../interfaces/BaseFetchCollectorActionProperties.md), `"id"` \| `"name"` \| `"action"`\>
10
10
 
11
- Defined in: [packages/web-fetcher/src/action/fetch-action.ts:81](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/action/fetch-action.ts#L81)
11
+ Defined in: [packages/web-fetcher/src/action/fetch-action.ts:81](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/action/fetch-action.ts#L81)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **BrowserEngine** = `"playwright"` \| `"puppeteer"`
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:21](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L21)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:21](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L21)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **FetchActionCapabilities** = `{ [mode in FetchEngineType]?: FetchActionCapabilityMode }`
10
10
 
11
- Defined in: [packages/web-fetcher/src/action/fetch-action.ts:95](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/action/fetch-action.ts#L95)
11
+ Defined in: [packages/web-fetcher/src/action/fetch-action.ts:95](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/action/fetch-action.ts#L95)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **FetchActionCapabilityMode** = `"native"` \| `"simulate"` \| `"noop"`
10
10
 
11
- Defined in: [packages/web-fetcher/src/action/fetch-action.ts:23](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/action/fetch-action.ts#L23)
11
+ Defined in: [packages/web-fetcher/src/action/fetch-action.ts:23](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/action/fetch-action.ts#L23)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **FetchActionOptions** = `RequireAtLeastOne`\<[`FetchActionProperties`](../interfaces/FetchActionProperties.md), `"id"` \| `"name"` \| `"action"`\>
10
10
 
11
- Defined in: [packages/web-fetcher/src/action/fetch-action.ts:90](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/action/fetch-action.ts#L90)
11
+ Defined in: [packages/web-fetcher/src/action/fetch-action.ts:90](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/action/fetch-action.ts#L90)
@@ -6,9 +6,9 @@
6
6
 
7
7
  # Type Alias: FetchEngineAction
8
8
 
9
- > **FetchEngineAction** = \{ `selector`: `string`; `type`: `"click"`; \} \| \{ `selector`: `string`; `type`: `"fill"`; `value`: `string`; \} \| \{ `options?`: [`WaitForActionOptions`](../interfaces/WaitForActionOptions.md); `type`: `"waitFor"`; \} \| \{ `options?`: [`SubmitActionOptions`](../interfaces/SubmitActionOptions.md); `selector?`: `any`; `type`: `"submit"`; \} \| \{ `type`: `"getContent"`; \} \| \{ `opts?`: [`GotoActionOptions`](../interfaces/GotoActionOptions.md); `type`: `"navigate"`; `url`: `string`; \} \| \{ `schema`: `ExtractSchema`; `type`: `"extract"`; \} \| \{ `message?`: `string`; `type`: `"pause"`; \} \| \{ `options`: [`TrimActionOptions`](../interfaces/TrimActionOptions.md); `type`: `"trim"`; \} \| \{ `params`: [`EvaluateActionOptions`](../interfaces/EvaluateActionOptions.md); `type`: `"evaluate"`; \} \| \{ `type`: `"dispose"`; \}
9
+ > **FetchEngineAction** = \{ `selector`: `string`; `type`: `"click"`; \} \| \{ `selector`: `string`; `type`: `"fill"`; `value`: `string`; \} \| \{ `params`: \{ `selector?`: `string`; `steps?`: `number`; `x?`: `number`; `y?`: `number`; \}; `type`: `"mouseMove"`; \} \| \{ `params`: \{ `button?`: `"left"` \| `"right"` \| `"middle"`; `clickCount?`: `number`; `delay?`: `number`; `x?`: `number`; `y?`: `number`; \}; `type`: `"mouseClick"`; \} \| \{ `params`: \{ `delay?`: `number`; `text`: `string`; \}; `type`: `"keyboardType"`; \} \| \{ `params`: \{ `delay?`: `number`; `key`: `string`; \}; `type`: `"keyboardPress"`; \} \| \{ `options?`: [`WaitForActionOptions`](../interfaces/WaitForActionOptions.md); `type`: `"waitFor"`; \} \| \{ `options?`: [`SubmitActionOptions`](../interfaces/SubmitActionOptions.md); `selector?`: `any`; `type`: `"submit"`; \} \| \{ `type`: `"getContent"`; \} \| \{ `opts?`: [`GotoActionOptions`](../interfaces/GotoActionOptions.md); `type`: `"navigate"`; `url`: `string`; \} \| \{ `schema`: `ExtractSchema`; `type`: `"extract"`; \} \| \{ `message?`: `string`; `type`: `"pause"`; \} \| \{ `options`: [`TrimActionOptions`](../interfaces/TrimActionOptions.md); `type`: `"trim"`; \} \| \{ `params`: [`EvaluateActionOptions`](../interfaces/EvaluateActionOptions.md); `type`: `"evaluate"`; \} \| \{ `type`: `"dispose"`; \}
10
10
 
11
- Defined in: [packages/web-fetcher/src/engine/base.ts:209](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/engine/base.ts#L209)
11
+ Defined in: [packages/web-fetcher/src/engine/base.ts:210](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/engine/base.ts#L210)
12
12
 
13
13
  Union type representing all possible engine actions that can be dispatched.
14
14
 
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **FetchEngineType** = `"http"` \| `"browser"`
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:20](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L20)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:20](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L20)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **FetchReturnType** = `"response"` \| `"context"` \| `"outputs"` \| `"any"` \| `"none"`
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/fetch-return-type.ts:5](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/fetch-return-type.ts#L5)
11
+ Defined in: [packages/web-fetcher/src/core/fetch-return-type.ts:5](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/fetch-return-type.ts#L5)
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **FetchReturnTypeFor**\<`R`\> = `R` *extends* keyof [`FetchReturnTypeRegistry`](../interfaces/FetchReturnTypeRegistry.md) ? [`FetchReturnTypeRegistry`](../interfaces/FetchReturnTypeRegistry.md)\[`R`\] : `never`
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/fetch-return-type.ts:27](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/fetch-return-type.ts#L27)
11
+ Defined in: [packages/web-fetcher/src/core/fetch-return-type.ts:27](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/fetch-return-type.ts#L27)
12
12
 
13
13
  ## Type Parameters
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **OnFetchPauseCallback** = (`options`) => `Promise`\<`void`\>
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:140](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L140)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:141](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L141)
12
12
 
13
13
  ## Parameters
14
14
 
@@ -8,4 +8,4 @@
8
8
 
9
9
  > **ResourceType** = `"image"` \| `"stylesheet"` \| `"font"` \| `"script"` \| `"media"` \| `string`
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:24](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L24)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:24](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L24)
@@ -8,6 +8,6 @@
8
8
 
9
9
  > **TrimPreset** = `"scripts"` \| `"styles"` \| `"svgs"` \| `"images"` \| `"comments"` \| `"hidden"` \| `"all"`
10
10
 
11
- Defined in: [packages/web-fetcher/src/engine/base.ts:116](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/engine/base.ts#L116)
11
+ Defined in: [packages/web-fetcher/src/engine/base.ts:117](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/engine/base.ts#L117)
12
12
 
13
13
  Predefined cleanup groups for the [FetchEngine.trim](../classes/FetchEngine.md#trim) action.
@@ -8,4 +8,4 @@
8
8
 
9
9
  > `const` **DefaultFetcherProperties**: [`BaseFetcherProperties`](../interfaces/BaseFetcherProperties.md)
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:182](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L182)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:183](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L183)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > `const` **FetcherOptionKeys**: `string`[]
10
10
 
11
- Defined in: [packages/web-fetcher/src/core/types.ts:218](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/core/types.ts#L218)
11
+ Defined in: [packages/web-fetcher/src/core/types.ts:219](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/core/types.ts#L219)
@@ -8,4 +8,4 @@
8
8
 
9
9
  > `const` **TRIM\_PRESETS**: `Record`\<`string`, `string`[]\>
10
10
 
11
- Defined in: [packages/web-fetcher/src/engine/base.ts:133](https://github.com/isdk/web-fetcher.js/blob/1f80c3c783d0455bd4ff73248c57c2c39ab9f7c9/src/engine/base.ts#L133)
11
+ Defined in: [packages/web-fetcher/src/engine/base.ts:134](https://github.com/isdk/web-fetcher.js/blob/e691a2370f59d15979b47994c8ca14d7b7d2edd3/src/engine/base.ts#L134)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isdk/web-fetcher",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A powerful and flexible web automation and data extraction library featuring a dual-engine architecture (HTTP/Cheerio and Browser/Playwright) with declarative JSON action scripts.",
5
5
  "license": "MIT",
6
6
  "author": "Riceball LEE <snowyu.lee@gmail.com>",
@@ -20,15 +20,15 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@isdk/common-error": "^0.2.0",
23
- "camoufox-js": "^0.7.0",
24
- "cheerio": "^1.1.2",
25
- "crawlee": "^3.15.1",
26
- "events-ex": "^2.1.1",
27
- "jsdom": "^27.0.0",
28
- "lodash-es": "^4.17.21",
29
- "nanoid": "^5.1.6",
30
- "playwright": "^1.57.0",
31
- "util-ex": "^2.5.0"
23
+ "camoufox-js": "^0.9.3",
24
+ "cheerio": "^1.2.0",
25
+ "crawlee": "^3.16.0",
26
+ "events-ex": "^2.2.0",
27
+ "jsdom": "^29.0.1",
28
+ "lodash-es": "^4.17.23",
29
+ "nanoid": "^5.1.7",
30
+ "playwright": "^1.58.2",
31
+ "util-ex": "^2.5.2"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@antfu/eslint-config": "^6.7.3",