@k03mad/request 3.1.0 → 4.0.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.
@@ -22,7 +22,7 @@ jobs:
22
22
  uses: actions/checkout@v4
23
23
 
24
24
  - name: Install NodeJS
25
- uses: actions/setup-node@v3
25
+ uses: actions/setup-node@v4
26
26
  with:
27
27
  node-version-file: '.nvmrc'
28
28
 
@@ -22,7 +22,7 @@ const cacheGotResponseKeys = [
22
22
  const gotDefaultOpts = got.extend({
23
23
  dnsCache: true,
24
24
  timeout: {request: 15_000},
25
- headers: {'user-agent': 'curl/7.81.0'},
25
+ headers: {'user-agent': 'curl/8.4.0'},
26
26
  });
27
27
 
28
28
  const cacheDebug = msgArr => {
@@ -85,13 +85,14 @@ const sendRequest = async (url, opts) => {
85
85
  * @param {string} url
86
86
  * @param {object} [opts]
87
87
  * @param {object} [params]
88
+ * @param {string} [params.queueBy]
88
89
  * @param {number} [params.concurrency]
89
90
  * @param {number} [params.rpm]
90
91
  * @param {number} [params.rps]
91
92
  * @returns {Promise<object>}
92
93
  */
93
94
  export const request = (url, opts = {}, params = {}) => {
94
- const queue = getQueue(new URL(url).host, params);
95
+ const queue = getQueue(params.queueBy || new URL(url).host, params);
95
96
  return queue.add(() => sendRequest(url, opts));
96
97
  };
97
98
 
@@ -101,13 +102,14 @@ export const request = (url, opts = {}, params = {}) => {
101
102
  * @param {object} [params]
102
103
  * @param {number} [params.expire] seconds
103
104
  * @param {object} [params.cacheBy]
105
+ * @param {string} [params.queueBy]
104
106
  * @param {number} [params.concurrency]
105
107
  * @param {number} [params.rpm]
106
108
  * @param {number} [params.rps]
107
109
  * @returns {Promise<object>}
108
110
  */
109
- export const requestCache = (url, opts = {}, {cacheBy, expire = 43_200, ...params} = {}) => {
110
- const queue = getQueue(new URL(url).host, params);
111
+ export const requestCache = (url, opts = {}, {cacheBy, expire = 43_200, queueBy, ...params} = {}) => {
112
+ const queue = getQueue(queueBy || new URL(url).host, params);
111
113
 
112
114
  return queue.add(async () => {
113
115
  const cacheKey = `${url}::${JSON.stringify(cacheBy || opts)}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k03mad/request",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "Request library",
5
5
  "maintainers": [
6
6
  "Kirill Molchanov <k03.mad@gmail.com"
@@ -15,17 +15,17 @@
15
15
  "dependencies": {
16
16
  "chalk": "5.3.0",
17
17
  "debug": "4.3.4",
18
- "got": "13.0.0",
18
+ "got": "14.0.0",
19
19
  "p-queue": "7.4.1",
20
20
  "pretty-bytes": "6.1.1"
21
21
  },
22
22
  "devDependencies": {
23
- "@k03mad/eslint-config": "13.2.1",
23
+ "@k03mad/eslint-config": "13.3.1",
24
24
  "@microsoft/eslint-formatter-sarif": "3.0.0",
25
- "eslint": "8.52.0",
25
+ "eslint": "8.54.0",
26
26
  "eslint-plugin-import": "2.29.0",
27
- "eslint-plugin-jsdoc": "46.8.2",
28
- "eslint-plugin-n": "16.2.0",
27
+ "eslint-plugin-jsdoc": "46.9.0",
28
+ "eslint-plugin-n": "16.3.1",
29
29
  "eslint-plugin-simple-import-sort": "10.0.0",
30
30
  "eslint-plugin-sort-destructure-keys": "1.5.0",
31
31
  "eslint-plugin-unicorn": "49.0.0",