extra-request 8.3.0 → 8.5.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/README.md CHANGED
@@ -25,7 +25,9 @@ const res = await fetch(req)
25
25
  interface IRequestOptions {
26
26
  url?: URL
27
27
  headers?: Headers
28
- payload?: string | FormData
28
+ payload?:
29
+ | BodyInit // WHATWG
30
+ | NodeJS.ReadableStream // node-fetch
29
31
  signal?: AbortSignal
30
32
  keepalive?: boolean
31
33
  redirect?: RequestRedirect
@@ -74,7 +76,7 @@ function pipeRequestOptionsTransformers(
74
76
  ### Transformers
75
77
  #### url
76
78
  ```ts
77
- function url(url: string, ...baseUrls: string[]): IRequestOptionsTransformer
79
+ function url(...urls: NonEmptyArray<string | URL>): IRequestOptionsTransformer
78
80
  ```
79
81
 
80
82
  #### text
@@ -192,5 +194,5 @@ function redirect(val: RequestRedirect): IRequestOptionsTransformer
192
194
 
193
195
  #### body
194
196
  ```ts
195
- function body(val: BodyInit): IRequestOptionsTransformer
197
+ function body(val: BodyInit | NodeJS.ReadableStream): IRequestOptionsTransformer
196
198
  ```
@@ -3,7 +3,9 @@ import { isntFalsy } from '@blackglory/prelude';
3
3
  import { pipe } from 'extra-utils';
4
4
  export function pipeRequestOptionsTransformers(...transformers) {
5
5
  const base = {
6
- url: new URL('http://localhost'),
6
+ url: new URL(typeof document !== 'undefined'
7
+ ? document.baseURI
8
+ : 'http://localhost'),
7
9
  headers: new Headers()
8
10
  };
9
11
  return pipe(base, ...transformers.filter(isntFalsy));
@@ -1 +1 @@
1
- {"version":3,"file":"pipe-request-options-transformers.js","sourceRoot":"","sources":["../src/pipe-request-options-transformers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,MAAM,UAAU,8BAA8B,CAC5C,GAAG,YAAuD;IAE1D,MAAM,IAAI,GAAoB;QAC5B,GAAG,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC;QAChC,OAAO,EAAE,IAAI,OAAO,EAAE;KACvB,CAAA;IAED,OAAO,IAAI,CACT,IAAI,EACJ,GAAG,YAAY,CAAC,MAAM,CAA6B,SAAS,CAAC,CAC9D,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"pipe-request-options-transformers.js","sourceRoot":"","sources":["../src/pipe-request-options-transformers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,MAAM,UAAU,8BAA8B,CAC5C,GAAG,YAAuD;IAE1D,MAAM,IAAI,GAAoB;QAC5B,GAAG,EAAE,IAAI,GAAG,CACV,OAAO,QAAQ,KAAK,WAAW;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,kBAAkB,CACnB;QACD,OAAO,EAAE,IAAI,OAAO,EAAE;KACvB,CAAA;IAED,OAAO,IAAI,CACT,IAAI,EACJ,GAAG,YAAY,CAAC,MAAM,CAA6B,SAAS,CAAC,CAC9D,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,8BAA8B,EAAE,+CAAiD;AAG1F,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,YAAuD;IAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,YAAuD;IAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,YAAuD;IAC9E,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,OAAO,CACd,MAA4D,EAC5D,GAAG,YAAuD;IAE1D,MAAM,cAAc,GAAG,8BAA8B,CAAC,GAAG,YAAY,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE;QAC1C,MAAM;QACN,OAAO;QACP,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,cAAc,CAAC,OAAO;QAC5B,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,8BAA8B,EAAE,+CAAiD;AAG1F,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,YAAuD;IAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,YAAuD;IAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,YAAuD;IAC9E,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAuD;IAC5E,OAAO,OAAO,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,OAAO,CACd,MAA4D,EAC5D,GAAG,YAAuD;IAE1D,MAAM,cAAc,GAAG,8BAA8B,CAAC,GAAG,YAAY,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE;QAC1C,MAAM;QACN,OAAO;QACP,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,cAAc,CAAC,OAAc;QACnC,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,2 +1,3 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { IRequestOptionsTransformer } from "../types.js";
2
- export declare function body(val: BodyInit): IRequestOptionsTransformer;
3
+ export declare function body(val: BodyInit | NodeJS.ReadableStream): IRequestOptionsTransformer;
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/transformers/body.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAAa;IAChC,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,GAAG;SACb,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/transformers/body.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAAqC;IACxD,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,GAAG;SACb,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { IRequestOptionsTransformer } from "../types.js";
2
- export declare function url(url: string, ...baseUrls: string[]): IRequestOptionsTransformer;
2
+ import { NonEmptyArray } from 'justypes';
3
+ export declare function url(...urls: NonEmptyArray<string | URL>): IRequestOptionsTransformer;
@@ -1,7 +1,6 @@
1
- export function url(url, ...baseUrls) {
1
+ export function url(...urls) {
2
2
  return (options) => {
3
- const urls = [url, ...baseUrls];
4
- const newURL = new URL(urls.reduce((acc, cur) => new URL(cur, acc).href));
3
+ const newURL = new URL([options.url, ...urls].reduce((acc, cur) => new URL(cur, acc)));
5
4
  return {
6
5
  ...options,
7
6
  url: newURL
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/transformers/url.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAG,QAAkB;IACpD,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEzE,OAAO;YACL,GAAG,OAAO;YACV,GAAG,EAAE,MAAM;SACZ,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/transformers/url.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAC,GAAG,IAAiC;IACtD,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC/D,CAAA;QAED,OAAO;YACL,GAAG,OAAO;YACV,GAAG,EAAE,MAAM;SACZ,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
package/lib/types.d.ts CHANGED
@@ -1,8 +1,9 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  export declare type IRequestOptionsTransformer = (options: IRequestOptions) => IRequestOptions;
2
3
  export interface IRequestOptions {
3
4
  url: URL;
4
5
  headers: Headers;
5
- payload?: BodyInit;
6
+ payload?: BodyInit | NodeJS.ReadableStream;
6
7
  signal?: AbortSignal;
7
8
  keepalive?: boolean;
8
9
  redirect?: RequestRedirect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-request",
3
- "version": "8.3.0",
3
+ "version": "8.5.0",
4
4
  "description": "Utilities for Request",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -40,15 +40,15 @@
40
40
  }
41
41
  },
42
42
  "devDependencies": {
43
- "@commitlint/cli": "^17.5.0",
43
+ "@commitlint/cli": "^17.5.1",
44
44
  "@commitlint/config-conventional": "^17.4.4",
45
45
  "@types/papaparse": "^5.3.7",
46
- "@typescript-eslint/eslint-plugin": "^5.56.0",
47
- "@typescript-eslint/parser": "^5.56.0",
46
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
47
+ "@typescript-eslint/parser": "^5.58.0",
48
48
  "cross-env": "^7.0.3",
49
- "eslint": "^8.36.0",
50
- "extra-fetch": "^4.0.4",
51
- "extra-filesystem": "^0.4.10",
49
+ "eslint": "^8.38.0",
50
+ "extra-fetch": "^4.0.6",
51
+ "extra-filesystem": "^0.5.0",
52
52
  "husky": "4",
53
53
  "npm-run-all": "^4.1.5",
54
54
  "rimraf": "^4.4.1",
@@ -58,14 +58,14 @@
58
58
  "typescript": "4.8",
59
59
  "typescript-transform-paths": "^3.4.6",
60
60
  "vite": "^4.2.1",
61
- "vite-tsconfig-paths": "^4.0.7",
62
- "vitest": "^0.29.7"
61
+ "vite-tsconfig-paths": "^4.1.0",
62
+ "vitest": "^0.30.1"
63
63
  },
64
64
  "dependencies": {
65
- "@blackglory/prelude": "^0.3.1",
66
- "extra-utils": "^5.1.0",
65
+ "@blackglory/prelude": "^0.3.2",
66
+ "extra-utils": "^5.1.1",
67
67
  "justypes": "^4.2.0",
68
- "papaparse": "^5.4.0",
68
+ "papaparse": "^5.4.1",
69
69
  "url-operator": "^0.3.0"
70
70
  },
71
71
  "peerDependencies": {