extra-request 8.0.0 → 8.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/README.md CHANGED
@@ -11,7 +11,7 @@ yarn add extra-request
11
11
  ## Usage
12
12
  ```ts
13
13
  import { post } from 'extra-request'
14
- import { url, json } from 'extra-request/lib/transformers'
14
+ import { url, json } from 'extra-request/transformers'
15
15
 
16
16
  const req = post(
17
17
  url('http://example.com')
@@ -125,6 +125,11 @@ function port(port: number): IRequestOptionsTransformer
125
125
  function pathname(pathname: string): IRequestOptionsTransformer
126
126
  ```
127
127
 
128
+ ### appendPathname
129
+ ```ts
130
+ function appendPathname(pathname: string): IRequestOptionsTransformer
131
+ ```
132
+
128
133
  ### search
129
134
  ```ts
130
135
  function search(search: string): IRequestOptionsTransformer
@@ -1,3 +1,3 @@
1
1
  import { IRequestOptions, IRequestOptionsTransformer } from "./types.js";
2
- import { Falsy } from 'justypes';
2
+ import { Falsy } from '@blackglory/prelude';
3
3
  export declare function pipeRequestOptionsTransformers(...transformers: Array<IRequestOptionsTransformer | Falsy>): IRequestOptions;
@@ -1,5 +1,5 @@
1
1
  import { Headers } from 'extra-fetch';
2
- import { isFunction } from '@blackglory/types';
2
+ import { isFunction } from '@blackglory/prelude';
3
3
  export function pipeRequestOptionsTransformers(...transformers) {
4
4
  return transformers.reduce((options, transformer) => isFunction(transformer) ? transformer(options) : options, {
5
5
  url: new URL('http://localhost'),
@@ -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,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,MAAM,UAAU,8BAA8B,CAC5C,GAAG,YAAuD;IAE1D,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAClF;QACE,GAAG,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC;QAChC,OAAO,EAAE,IAAI,OAAO,EAAE;KACvB,CACF,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,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,MAAM,UAAU,8BAA8B,CAC5C,GAAG,YAAuD;IAE1D,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAClF;QACE,GAAG,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC;QAChC,OAAO,EAAE,IAAI,OAAO,EAAE;KACvB,CACF,CAAA;AACH,CAAC"}
package/lib/request.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { IRequestOptionsTransformer } from "./types.js";
2
- import { Falsy } from 'justypes';
2
+ import { Falsy } from '@blackglory/prelude';
3
3
  export declare function get(...transformers: Array<IRequestOptionsTransformer | Falsy>): Request;
4
4
  export declare function head(...transformers: Array<IRequestOptionsTransformer | Falsy>): Request;
5
5
  export declare function post(...transformers: Array<IRequestOptionsTransformer | Falsy>): Request;
@@ -0,0 +1,2 @@
1
+ import { IRequestOptionsTransformer } from "../types.js";
2
+ export declare function appendPathname(pathname: string): IRequestOptionsTransformer;
@@ -0,0 +1,23 @@
1
+ import { go } from '@blackglory/prelude';
2
+ export function appendPathname(pathname) {
3
+ return (options) => {
4
+ const base = go(() => {
5
+ const directoryPathname = go(() => {
6
+ let pathname = options.url.pathname;
7
+ if (!options.url.pathname.endsWith('/')) {
8
+ pathname += '/';
9
+ }
10
+ return pathname;
11
+ });
12
+ const url = new URL(options.url.href);
13
+ url.pathname = directoryPathname;
14
+ return url;
15
+ });
16
+ const url = new URL(pathname, base);
17
+ return {
18
+ ...options,
19
+ url
20
+ };
21
+ };
22
+ }
23
+ //# sourceMappingURL=append-pathname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-pathname.js","sourceRoot":"","sources":["../../src/transformers/append-pathname.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAExC,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE;YACnB,MAAM,iBAAiB,GAAG,EAAE,CAAC,GAAG,EAAE;gBAChC,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;gBACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvC,QAAQ,IAAI,GAAG,CAAA;iBAChB;gBACD,OAAO,QAAQ,CAAA;YACjB,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACrC,GAAG,CAAC,QAAQ,GAAG,iBAAiB,CAAA;YAEhC,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEnC,OAAO;YACL,GAAG,OAAO;YACV,GAAG;SACJ,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Headers } from 'extra-fetch';
2
2
  import papaparse from 'papaparse';
3
- import { assert } from '@blackglory/errors';
3
+ import { assert } from '@blackglory/prelude';
4
4
  const { unparse } = papaparse;
5
5
  export function csv(payload) {
6
6
  assert(payload.length > 0, 'payload must be a non-empty array');
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/transformers/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;AAE7B,MAAM,UAAU,GAAG,CAAmB,OAAY;IAChD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAA;IAE/D,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QAEvC,OAAO;YACL,GAAG,OAAO;YACV,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;SAC5B,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAmB,IAAS;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/transformers/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;AAE7B,MAAM,UAAU,GAAG,CAAmB,OAAY;IAChD,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAA;IAE/D,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QAEvC,OAAO;YACL,GAAG,OAAO;YACV,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;SAC5B,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAmB,IAAS;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAClC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FormData } from 'extra-fetch';
2
- import { isArray } from '@blackglory/types';
2
+ import { isArray } from '@blackglory/prelude';
3
3
  export function formDataField(name, value) {
4
4
  return (options) => {
5
5
  const formData = options.payload instanceof FormData
@@ -1 +1 @@
1
- {"version":3,"file":"form-data-field.js","sourceRoot":"","sources":["../../src/transformers/form-data-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA+B;IAE/B,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,YAAY,QAAQ;YAClD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;QAElB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SAC7C;aAAM;YACL,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SAC7B;QAED,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,QAAoB;SAC9B,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;KAC3B;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"form-data-field.js","sourceRoot":"","sources":["../../src/transformers/form-data-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA+B;IAE/B,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,YAAY,QAAQ;YAClD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;QAElB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SAC7C;aAAM;YACL,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SAC7B;QAED,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,QAAoB;SAC9B,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;KAC3B;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -10,6 +10,7 @@ export * from "./accept.js";
10
10
  export * from "./host.js";
11
11
  export * from "./port.js";
12
12
  export * from "./pathname.js";
13
+ export * from "./append-pathname.js";
13
14
  export * from "./search.js";
14
15
  export * from "./search-param.js";
15
16
  export * from "./search-params.js";
@@ -10,6 +10,7 @@ export * from "./accept.js";
10
10
  export * from "./host.js";
11
11
  export * from "./port.js";
12
12
  export * from "./pathname.js";
13
+ export * from "./append-pathname.js";
13
14
  export * from "./search.js";
14
15
  export * from "./search-param.js";
15
16
  export * from "./search-params.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAAA,yBAAoC;AAEpC,0BAAqC;AACrC,0BAAqC;AACrC,yBAAoC;AAEpC,4BAAuC;AAEvC,4BAAuC;AACvC,mCAA8C;AAC9C,6BAAwC;AACxC,4BAAuC;AAEvC,0BAAqC;AACrC,0BAAqC;AACrC,8BAAyC;AACzC,4BAAuC;AACvC,kCAA6C;AAC7C,mCAA8C;AAC9C,yCAAoD;AAEpD,qCAAgD;AAEhD,gCAA2C;AAC3C,iCAA4C;AAE5C,+BAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAAA,yBAAoC;AAEpC,0BAAqC;AACrC,0BAAqC;AACrC,yBAAoC;AAEpC,4BAAuC;AAEvC,4BAAuC;AACvC,mCAA8C;AAC9C,6BAAwC;AACxC,4BAAuC;AAEvC,0BAAqC;AACrC,0BAAqC;AACrC,8BAAyC;AACzC,qCAAgD;AAChD,4BAAuC;AACvC,kCAA6C;AAC7C,mCAA8C;AAC9C,yCAAoD;AAEpD,qCAAgD;AAEhD,gCAA2C;AAC3C,iCAA4C;AAE5C,+BAA0C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-request",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "Utilities for Request",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -43,8 +43,7 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@blackglory/jest-matchers": "^0.4.1",
46
- "@blackglory/jest-resolver": "^0.1.0",
47
- "@blackglory/prelude": "^0.1.4",
46
+ "@blackglory/jest-resolver": "^0.2.1",
48
47
  "@commitlint/cli": "^17.0.2",
49
48
  "@commitlint/config-conventional": "^17.0.2",
50
49
  "@types/jest": "^28.1.1",
@@ -53,9 +52,10 @@
53
52
  "@typescript-eslint/parser": "^5.27.1",
54
53
  "cross-env": "^7.0.3",
55
54
  "eslint": "^8.17.0",
56
- "extra-fetch": "^3.0.6",
55
+ "extra-fetch": "^4.0.0",
57
56
  "husky": "4",
58
57
  "jest": "^28.1.1",
58
+ "jest-resolve": "^28.1.1",
59
59
  "npm-run-all": "^4.1.5",
60
60
  "rimraf": "^3.0.2",
61
61
  "standard-version": "^9.5.0",
@@ -66,12 +66,11 @@
66
66
  "typescript-transform-paths": "^3.3.1"
67
67
  },
68
68
  "dependencies": {
69
- "@blackglory/errors": "^2.2.1",
69
+ "@blackglory/prelude": "^0.1.5",
70
70
  "@blackglory/types": "^1.1.0",
71
- "justypes": "^2.0.0",
72
71
  "papaparse": "^5.3.2"
73
72
  },
74
73
  "peerDependencies": {
75
- "extra-fetch": "^3.0.0"
74
+ "extra-fetch": "^3.0.0 || ^4.0.0"
76
75
  }
77
76
  }