@ahoo-wang/fetcher 0.8.5 → 0.8.6

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,6 +1,41 @@
1
1
  import { TimeoutCapable } from './timeout';
2
- import { HeadersCapable } from './types';
3
2
  import { UrlParams } from './urlBuilder';
3
+ export interface BaseURLCapable {
4
+ /**
5
+ * 请求的 baseURL
6
+ * 当值为空时,表示不设置 baseURL,默认值为 undefined
7
+ */
8
+ baseURL: string;
9
+ }
10
+ /**
11
+ * HTTP方法枚举常量
12
+ */
13
+ export declare enum HttpMethod {
14
+ GET = "GET",
15
+ POST = "POST",
16
+ PUT = "PUT",
17
+ DELETE = "DELETE",
18
+ PATCH = "PATCH",
19
+ HEAD = "HEAD",
20
+ OPTIONS = "OPTIONS"
21
+ }
22
+ export declare const ContentTypeHeader = "Content-Type";
23
+ export declare enum ContentTypeValues {
24
+ APPLICATION_JSON = "application/json",
25
+ TEXT_EVENT_STREAM = "text/event-stream"
26
+ }
27
+ export interface RequestHeaders {
28
+ 'Content-Type'?: string;
29
+ 'Accept'?: string;
30
+ 'Authorization'?: string;
31
+ [key: string]: string | undefined;
32
+ }
33
+ export interface RequestHeadersCapable {
34
+ /**
35
+ * Request headers
36
+ */
37
+ headers?: RequestHeaders;
38
+ }
4
39
  /**
5
40
  * Fetcher request configuration interface
6
41
  *
@@ -23,7 +58,7 @@ import { UrlParams } from './urlBuilder';
23
58
  * const response = await fetcher.fetch('/users/{id}', request);
24
59
  * ```
25
60
  */
26
- export interface FetchRequestInit extends TimeoutCapable, HeadersCapable, Omit<RequestInit, 'body' | 'headers'> {
61
+ export interface FetchRequestInit extends TimeoutCapable, RequestHeadersCapable, Omit<RequestInit, 'body' | 'headers'> {
27
62
  urlParams?: UrlParams;
28
63
  /**
29
64
  * Request body
@@ -1 +1 @@
1
- {"version":3,"file":"fetchRequest.d.ts","sourceRoot":"","sources":["../src/fetchRequest.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,gBACf,SAAQ,cAAc,EACpB,cAAc,EACd,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"fetchRequest.d.ts","sourceRoot":"","sources":["../src/fetchRequest.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,gBACf,SAAQ,cAAc,EACpB,qBAAqB,EACrB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb"}
package/dist/fetcher.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import { UrlBuilder, UrlBuilderCapable } from './urlBuilder';
2
2
  import { TimeoutCapable } from './timeout';
3
- import { BaseURLCapable, HeadersCapable } from './types';
4
3
  import { FetcherInterceptors } from './interceptor';
5
4
  import { FetchExchange } from './fetchExchange';
6
- import { FetchRequest, FetchRequestInit } from './fetchRequest';
5
+ import { BaseURLCapable, FetchRequest, FetchRequestInit, RequestHeaders, RequestHeadersCapable } from './fetchRequest';
7
6
  /**
8
7
  * Fetcher configuration options interface
9
8
  *
@@ -17,7 +16,7 @@ import { FetchRequest, FetchRequestInit } from './fetchRequest';
17
16
  * };
18
17
  * ```
19
18
  */
20
- export interface FetcherOptions extends BaseURLCapable, HeadersCapable, TimeoutCapable {
19
+ export interface FetcherOptions extends BaseURLCapable, RequestHeadersCapable, TimeoutCapable {
21
20
  interceptors?: FetcherInterceptors;
22
21
  }
23
22
  export declare const DEFAULT_OPTIONS: FetcherOptions;
@@ -36,9 +35,9 @@ export declare const DEFAULT_OPTIONS: FetcherOptions;
36
35
  * });
37
36
  * ```
38
37
  */
39
- export declare class Fetcher implements UrlBuilderCapable, HeadersCapable, TimeoutCapable {
38
+ export declare class Fetcher implements UrlBuilderCapable, RequestHeadersCapable, TimeoutCapable {
40
39
  urlBuilder: UrlBuilder;
41
- headers?: Record<string, string>;
40
+ headers?: RequestHeaders;
42
41
  timeout?: number;
43
42
  interceptors: FetcherInterceptors;
44
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAkB,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EAEf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cACf,SAAQ,cAAc,EACpB,cAAc,EACd,cAAc;IAChB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAMD,eAAO,MAAM,eAAe,EAAE,cAG7B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OACX,YAAW,iBAAiB,EAAE,cAAc,EAAE,cAAc;IAE5D,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAmB;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;IAElC;;;;OAIG;gBACS,OAAO,GAAE,cAAgC;IAOrD;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU3E;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB5D;;;;;;;;;;;;;;;OAeG;IACG,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBpE;;;;;;;OAOG;YACW,WAAW;IAWzB;;;;;;OAMG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;CAGrB"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAkB,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,cAAc,EAEd,YAAY,EACZ,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cACf,SAAQ,cAAc,EACpB,qBAAqB,EACrB,cAAc;IAChB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAMD,eAAO,MAAM,eAAe,EAAE,cAG7B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OACX,YAAW,iBAAiB,EAAE,qBAAqB,EAAE,cAAc;IAEnE,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAmB;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;IAElC;;;;OAIG;gBACS,OAAO,GAAE,cAAgC;IAOrD;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU3E;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB5D;;;;;;;;;;;;;;;OAeG;IACG,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBpE;;;;;;;OAOG;YACW,WAAW;IAWzB;;;;;;OAMG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;;;;OAMG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,MAAM,CAAM,GACtD,OAAO,CAAC,QAAQ,CAAC;CAGrB"}
package/dist/index.es.js CHANGED
@@ -1,10 +1,10 @@
1
- function E(r) {
1
+ function b(r) {
2
2
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(r);
3
3
  }
4
- function w(r, e) {
5
- return E(e) ? e : e ? r.replace(/\/?\/$/, "") + "/" + e.replace(/^\/+/, "") : r;
4
+ function E(r, e) {
5
+ return b(e) ? e : e ? r.replace(/\/?\/$/, "") + "/" + e.replace(/^\/+/, "") : r;
6
6
  }
7
- class P {
7
+ class w {
8
8
  /**
9
9
  * Creates a UrlBuilder instance
10
10
  *
@@ -37,7 +37,7 @@ class P {
37
37
  * ```
38
38
  */
39
39
  build(e, t) {
40
- const s = t?.path, o = t?.query, i = w(this.baseURL, e);
40
+ const s = t?.path, o = t?.query, i = E(this.baseURL, e);
41
41
  let n = this.interpolateUrl(i, s);
42
42
  if (o) {
43
43
  const c = new URLSearchParams(o).toString();
@@ -93,10 +93,10 @@ class P {
93
93
  }) : e;
94
94
  }
95
95
  }
96
- function R(r, e) {
96
+ function P(r, e) {
97
97
  return typeof r < "u" ? r : e;
98
98
  }
99
- class f extends Error {
99
+ class p extends Error {
100
100
  /**
101
101
  * Creates a new FetchTimeoutError instance
102
102
  *
@@ -104,10 +104,10 @@ class f extends Error {
104
104
  */
105
105
  constructor(e) {
106
106
  const t = e.method || "GET", s = `Request timeout of ${e.timeout}ms exceeded for ${t} ${e.url}`;
107
- super(s), this.name = "FetchTimeoutError", this.request = e, Object.setPrototypeOf(this, f.prototype);
107
+ super(s), this.name = "FetchTimeoutError", this.request = e, Object.setPrototypeOf(this, p.prototype);
108
108
  }
109
109
  }
110
- async function A(r) {
110
+ async function R(r) {
111
111
  const e = r.url, t = r.timeout, s = r;
112
112
  if (!t)
113
113
  return fetch(e, s);
@@ -116,11 +116,11 @@ async function A(r) {
116
116
  signal: o.signal
117
117
  };
118
118
  let n = null;
119
- const c = new Promise((v, b) => {
119
+ const c = new Promise((_, I) => {
120
120
  n = setTimeout(() => {
121
121
  n && clearTimeout(n);
122
- const T = new f(r);
123
- o.abort(T), b(T);
122
+ const f = new p(r);
123
+ o.abort(f), I(f);
124
124
  }, t);
125
125
  });
126
126
  try {
@@ -129,13 +129,13 @@ async function A(r) {
129
129
  n && clearTimeout(n);
130
130
  }
131
131
  }
132
- var u = /* @__PURE__ */ ((r) => (r.GET = "GET", r.POST = "POST", r.PUT = "PUT", r.DELETE = "DELETE", r.PATCH = "PATCH", r.HEAD = "HEAD", r.OPTIONS = "OPTIONS", r))(u || {});
133
- const d = "Content-Type";
134
- var y = /* @__PURE__ */ ((r) => (r.APPLICATION_JSON = "application/json", r.TEXT_EVENT_STREAM = "text/event-stream", r))(y || {});
135
132
  function a(r, e) {
136
133
  return e ? r.filter(e).sort((t, s) => t.order - s.order) : [...r].sort((t, s) => t.order - s.order);
137
134
  }
138
- class F {
135
+ var u = /* @__PURE__ */ ((r) => (r.GET = "GET", r.POST = "POST", r.PUT = "PUT", r.DELETE = "DELETE", r.PATCH = "PATCH", r.HEAD = "HEAD", r.OPTIONS = "OPTIONS", r))(u || {});
136
+ const v = "Content-Type";
137
+ var y = /* @__PURE__ */ ((r) => (r.APPLICATION_JSON = "application/json", r.TEXT_EVENT_STREAM = "text/event-stream", r))(y || {});
138
+ class A {
139
139
  constructor() {
140
140
  this.name = "RequestBodyInterceptor", this.order = Number.MIN_SAFE_INTEGER + 200;
141
141
  }
@@ -183,10 +183,10 @@ class F {
183
183
  const s = { ...t };
184
184
  s.body = JSON.stringify(t.body), s.headers || (s.headers = {});
185
185
  const o = s.headers;
186
- return o[d] || (o[d] = y.APPLICATION_JSON), e.request = s, e;
186
+ return o["Content-Type"] || (o["Content-Type"] = y.APPLICATION_JSON), e.request = s, e;
187
187
  }
188
188
  }
189
- class g {
189
+ class F {
190
190
  constructor() {
191
191
  this.name = "FetchInterceptor", this.order = Number.MAX_SAFE_INTEGER - 100;
192
192
  }
@@ -215,10 +215,10 @@ class g {
215
215
  * console.log(result.response); // HTTP response object
216
216
  */
217
217
  async intercept(e) {
218
- return e.response = await A(e.request), e;
218
+ return e.response = await R(e.request), e;
219
219
  }
220
220
  }
221
- class N {
221
+ class g {
222
222
  constructor() {
223
223
  this.name = "UrlResolveInterceptor", this.order = Number.MIN_SAFE_INTEGER + 100;
224
224
  }
@@ -322,33 +322,33 @@ class h {
322
322
  return t;
323
323
  }
324
324
  }
325
- class S {
325
+ class N {
326
326
  constructor() {
327
327
  this.request = new h([
328
- new N(),
329
- new F(),
330
- new g()
328
+ new g(),
329
+ new A(),
330
+ new F()
331
331
  ]), this.response = new h(), this.error = new h();
332
332
  }
333
333
  }
334
- function l(r, e) {
334
+ function d(r, e) {
335
335
  if (!(r === void 0 && e === void 0))
336
336
  return e === void 0 ? r : r === void 0 ? e : { ...r, ...e };
337
337
  }
338
- const m = {
339
- [d]: y.APPLICATION_JSON
340
- }, I = {
338
+ const l = {
339
+ "Content-Type": y.APPLICATION_JSON
340
+ }, T = {
341
341
  baseURL: "",
342
- headers: m
342
+ headers: l
343
343
  };
344
- class q {
344
+ class S {
345
345
  /**
346
346
  * Create a Fetcher instance
347
347
  *
348
348
  * @param options - Fetcher configuration options
349
349
  */
350
- constructor(e = I) {
351
- this.headers = m, this.urlBuilder = new P(e.baseURL), this.headers = e.headers ?? m, this.timeout = e.timeout, this.interceptors = e.interceptors ?? new S();
350
+ constructor(e = T) {
351
+ this.headers = l, this.urlBuilder = new w(e.baseURL), this.headers = e.headers ?? l, this.timeout = e.timeout, this.interceptors = e.interceptors ?? new N();
352
352
  }
353
353
  /**
354
354
  * Make an HTTP request
@@ -374,10 +374,10 @@ class q {
374
374
  * @throws Throws an exception when an error occurs during the request and is not handled by error interceptors
375
375
  */
376
376
  async request(e) {
377
- const t = l(e.headers, this.headers), s = {
377
+ const t = d(e.headers, this.headers), s = {
378
378
  ...e,
379
379
  headers: t,
380
- timeout: R(e.timeout, this.timeout)
380
+ timeout: P(e.timeout, this.timeout)
381
381
  }, o = {
382
382
  fetcher: this,
383
383
  request: s,
@@ -497,8 +497,8 @@ class q {
497
497
  return this.methodFetch(u.OPTIONS, e, t);
498
498
  }
499
499
  }
500
- const p = "default";
501
- class O {
500
+ const m = "default";
501
+ class q {
502
502
  constructor() {
503
503
  this.registrar = /* @__PURE__ */ new Map();
504
504
  }
@@ -571,7 +571,7 @@ class O {
571
571
  * const defaultFetcher = fetcherRegistrar.default;
572
572
  */
573
573
  get default() {
574
- return this.requiredGet(p);
574
+ return this.requiredGet(m);
575
575
  }
576
576
  /**
577
577
  * Set the default Fetcher instance
@@ -582,7 +582,7 @@ class O {
582
582
  * fetcherRegistrar.default = fetcher;
583
583
  */
584
584
  set default(e) {
585
- this.register(p, e);
585
+ this.register(m, e);
586
586
  }
587
587
  /**
588
588
  * Get a copy of all registered fetchers
@@ -598,15 +598,15 @@ class O {
598
598
  return new Map(this.registrar);
599
599
  }
600
600
  }
601
- const U = new O();
601
+ const O = new q();
602
602
  function L(r, e) {
603
603
  if (Object.keys(r).length === 0)
604
604
  return e;
605
605
  if (Object.keys(e).length === 0)
606
606
  return r;
607
607
  const t = {
608
- path: l(r.urlParams?.path, e.urlParams?.path),
609
- query: l(r.urlParams?.query, e.urlParams?.query)
608
+ path: d(r.urlParams?.path, e.urlParams?.path),
609
+ query: d(r.urlParams?.query, e.urlParams?.query)
610
610
  }, s = {
611
611
  ...r.headers,
612
612
  ...e.headers
@@ -622,7 +622,7 @@ function L(r, e) {
622
622
  signal: c
623
623
  };
624
624
  }
625
- class _ extends q {
625
+ class U extends S {
626
626
  /**
627
627
  * Create a NamedFetcher instance and automatically register it with the global fetcherRegistrar
628
628
  *
@@ -640,34 +640,34 @@ class _ extends q {
640
640
  * headers: { 'Authorization': 'Bearer token' }
641
641
  * });
642
642
  */
643
- constructor(e, t = I) {
644
- super(t), this.name = e, U.register(e, this);
643
+ constructor(e, t = T) {
644
+ super(t), this.name = e, O.register(e, this);
645
645
  }
646
646
  }
647
- const D = new _(p);
647
+ const C = new U(m);
648
648
  export {
649
- d as ContentTypeHeader,
649
+ v as ContentTypeHeader,
650
650
  y as ContentTypeValues,
651
- p as DEFAULT_FETCHER_NAME,
652
- I as DEFAULT_OPTIONS,
653
- g as FetchInterceptor,
654
- f as FetchTimeoutError,
655
- q as Fetcher,
656
- S as FetcherInterceptors,
657
- O as FetcherRegistrar,
651
+ m as DEFAULT_FETCHER_NAME,
652
+ T as DEFAULT_OPTIONS,
653
+ F as FetchInterceptor,
654
+ p as FetchTimeoutError,
655
+ S as Fetcher,
656
+ N as FetcherInterceptors,
657
+ q as FetcherRegistrar,
658
658
  u as HttpMethod,
659
659
  h as InterceptorManager,
660
- _ as NamedFetcher,
661
- F as RequestBodyInterceptor,
662
- P as UrlBuilder,
663
- N as UrlResolveInterceptor,
664
- w as combineURLs,
665
- D as fetcher,
666
- U as fetcherRegistrar,
667
- E as isAbsoluteURL,
668
- l as mergeRecords,
660
+ U as NamedFetcher,
661
+ A as RequestBodyInterceptor,
662
+ w as UrlBuilder,
663
+ g as UrlResolveInterceptor,
664
+ E as combineURLs,
665
+ C as fetcher,
666
+ O as fetcherRegistrar,
667
+ b as isAbsoluteURL,
668
+ d as mergeRecords,
669
669
  L as mergeRequest,
670
- R as resolveTimeout,
671
- A as timeoutFetch,
670
+ P as resolveTimeout,
671
+ R as timeoutFetch,
672
672
  a as toSorted
673
673
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(n,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(n=typeof globalThis<"u"?globalThis:n||self,a(n.Fetcher={}))})(this,(function(n){"use strict";function a(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function b(r,e){return a(e)?e:e?r.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):r}class F{constructor(e){this.baseURL=e}build(e,t){const s=t?.path,o=t?.query,c=b(this.baseURL,e);let i=this.interpolateUrl(c,s);if(o){const h=new URLSearchParams(o).toString();h&&(i+="?"+h)}return i}resolveRequestUrl(e){return this.build(e.url,e.urlParams)}interpolateUrl(e,t){return t?e.replace(/{([^}]+)}/g,(s,o)=>{const c=t[o];if(c===void 0)throw new Error(`Missing required path parameter: ${o}`);return String(c)}):e}}function R(r,e){return typeof r<"u"?r:e}class d extends Error{constructor(e){const t=e.method||"GET",s=`Request timeout of ${e.timeout}ms exceeded for ${t} ${e.url}`;super(s),this.name="FetchTimeoutError",this.request=e,Object.setPrototypeOf(this,d.prototype)}}async function g(r){const e=r.url,t=r.timeout,s=r;if(!t)return fetch(e,s);const o=new AbortController,c={...s,signal:o.signal};let i=null;const h=new Promise((C,D)=>{i=setTimeout(()=>{i&&clearTimeout(i);const _=new d(r);o.abort(_),D(_)},t)});try{return await Promise.race([fetch(e,c),h])}finally{i&&clearTimeout(i)}}var u=(r=>(r.GET="GET",r.POST="POST",r.PUT="PUT",r.DELETE="DELETE",r.PATCH="PATCH",r.HEAD="HEAD",r.OPTIONS="OPTIONS",r))(u||{});const l="Content-Type";var m=(r=>(r.APPLICATION_JSON="application/json",r.TEXT_EVENT_STREAM="text/event-stream",r))(m||{});function f(r,e){return e?r.filter(e).sort((t,s)=>t.order-s.order):[...r].sort((t,s)=>t.order-s.order)}class P{constructor(){this.name="RequestBodyInterceptor",this.order=Number.MIN_SAFE_INTEGER+200}intercept(e){const t=e.request;if(t.body===void 0||t.body===null||typeof t.body!="object"||t.body instanceof ArrayBuffer||ArrayBuffer.isView(t.body)||t.body instanceof Blob||t.body instanceof File||t.body instanceof URLSearchParams||t.body instanceof FormData||t.body instanceof ReadableStream)return e;const s={...t};s.body=JSON.stringify(t.body),s.headers||(s.headers={});const o=s.headers;return o[l]||(o[l]=m.APPLICATION_JSON),e.request=s,e}}class w{constructor(){this.name="FetchInterceptor",this.order=Number.MAX_SAFE_INTEGER-100}async intercept(e){return e.response=await g(e.request),e}}class A{constructor(){this.name="UrlResolveInterceptor",this.order=Number.MIN_SAFE_INTEGER+100}intercept(e){const t=e.request;return t.url=e.fetcher.urlBuilder.resolveRequestUrl(t),e}}class y{constructor(e=[]){this.sortedInterceptors=[],this.sortedInterceptors=f(e)}get name(){return this.constructor.name}get order(){return Number.MIN_SAFE_INTEGER}use(e){return this.sortedInterceptors.some(t=>t.name===e.name)?!1:(this.sortedInterceptors=f([...this.sortedInterceptors,e]),!0)}eject(e){const t=this.sortedInterceptors;return this.sortedInterceptors=f(t,s=>s.name!==e),t.length!==this.sortedInterceptors.length}clear(){this.sortedInterceptors=[]}async intercept(e){let t=e;for(const s of this.sortedInterceptors)t=await s.intercept(t);return t}}class N{constructor(){this.request=new y([new A,new P,new w]),this.response=new y,this.error=new y}}function T(r,e){if(!(r===void 0&&e===void 0))return e===void 0?r:r===void 0?e:{...r,...e}}const I={[l]:m.APPLICATION_JSON},E={baseURL:"",headers:I};class S{constructor(e=E){this.headers=I,this.urlBuilder=new F(e.baseURL),this.headers=e.headers??I,this.timeout=e.timeout,this.interceptors=e.interceptors??new N}async fetch(e,t={}){const s=t;s.url=e;const o=await this.request(s);if(!o.response)throw new Error(`Request to ${s.url} failed with no response`);return o.response}async request(e){const t=T(e.headers,this.headers),s={...e,headers:t,timeout:R(e.timeout,this.timeout)},o={fetcher:this,request:s,response:void 0,error:void 0,attributes:{}};return this.exchange(o)}async exchange(e){try{return e=await this.interceptors.request.intercept(e),e=await this.interceptors.response.intercept(e),e}catch(t){if(e.error=t,e=await this.interceptors.error.intercept(e),e.response)return e;throw e.error}}async methodFetch(e,t,s={}){return this.fetch(t,{...s,method:e})}async get(e,t={}){return this.methodFetch(u.GET,e,t)}async post(e,t={}){return this.methodFetch(u.POST,e,t)}async put(e,t={}){return this.methodFetch(u.PUT,e,t)}async delete(e,t={}){return this.methodFetch(u.DELETE,e,t)}async patch(e,t={}){return this.methodFetch(u.PATCH,e,t)}async head(e,t={}){return this.methodFetch(u.HEAD,e,t)}async options(e,t={}){return this.methodFetch(u.OPTIONS,e,t)}}const p="default";class q{constructor(){this.registrar=new Map}register(e,t){this.registrar.set(e,t)}unregister(e){return this.registrar.delete(e)}get(e){return this.registrar.get(e)}requiredGet(e){const t=this.get(e);if(!t)throw new Error(`Fetcher ${e} not found`);return t}get default(){return this.requiredGet(p)}set default(e){this.register(p,e)}get fetchers(){return new Map(this.registrar)}}const O=new q;function v(r,e){if(Object.keys(r).length===0)return e;if(Object.keys(e).length===0)return r;const t={path:T(r.urlParams?.path,e.urlParams?.path),query:T(r.urlParams?.query,e.urlParams?.query)},s={...r.headers,...e.headers},o=e.method??r.method,c=e.body??r.body,i=e.timeout??r.timeout,h=e.signal??r.signal;return{...r,...e,method:o,urlParams:t,headers:s,body:c,timeout:i,signal:h}}class U extends S{constructor(e,t=E){super(t),this.name=e,O.register(e,this)}}const L=new U(p);n.ContentTypeHeader=l,n.ContentTypeValues=m,n.DEFAULT_FETCHER_NAME=p,n.DEFAULT_OPTIONS=E,n.FetchInterceptor=w,n.FetchTimeoutError=d,n.Fetcher=S,n.FetcherInterceptors=N,n.FetcherRegistrar=q,n.HttpMethod=u,n.InterceptorManager=y,n.NamedFetcher=U,n.RequestBodyInterceptor=P,n.UrlBuilder=F,n.UrlResolveInterceptor=A,n.combineURLs=b,n.fetcher=L,n.fetcherRegistrar=O,n.isAbsoluteURL=a,n.mergeRecords=T,n.mergeRequest=v,n.resolveTimeout=R,n.timeoutFetch=g,n.toSorted=f,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(n,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(n=typeof globalThis<"u"?globalThis:n||self,a(n.Fetcher={}))})(this,(function(n){"use strict";function a(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function E(r,e){return a(e)?e:e?r.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):r}class b{constructor(e){this.baseURL=e}build(e,t){const s=t?.path,o=t?.query,c=E(this.baseURL,e);let i=this.interpolateUrl(c,s);if(o){const h=new URLSearchParams(o).toString();h&&(i+="?"+h)}return i}resolveRequestUrl(e){return this.build(e.url,e.urlParams)}interpolateUrl(e,t){return t?e.replace(/{([^}]+)}/g,(s,o)=>{const c=t[o];if(c===void 0)throw new Error(`Missing required path parameter: ${o}`);return String(c)}):e}}function F(r,e){return typeof r<"u"?r:e}class d extends Error{constructor(e){const t=e.method||"GET",s=`Request timeout of ${e.timeout}ms exceeded for ${t} ${e.url}`;super(s),this.name="FetchTimeoutError",this.request=e,Object.setPrototypeOf(this,d.prototype)}}async function R(r){const e=r.url,t=r.timeout,s=r;if(!t)return fetch(e,s);const o=new AbortController,c={...s,signal:o.signal};let i=null;const h=new Promise((D,C)=>{i=setTimeout(()=>{i&&clearTimeout(i);const U=new d(r);o.abort(U),C(U)},t)});try{return await Promise.race([fetch(e,c),h])}finally{i&&clearTimeout(i)}}function l(r,e){return e?r.filter(e).sort((t,s)=>t.order-s.order):[...r].sort((t,s)=>t.order-s.order)}var u=(r=>(r.GET="GET",r.POST="POST",r.PUT="PUT",r.DELETE="DELETE",r.PATCH="PATCH",r.HEAD="HEAD",r.OPTIONS="OPTIONS",r))(u||{});const _="Content-Type";var m=(r=>(r.APPLICATION_JSON="application/json",r.TEXT_EVENT_STREAM="text/event-stream",r))(m||{});class g{constructor(){this.name="RequestBodyInterceptor",this.order=Number.MIN_SAFE_INTEGER+200}intercept(e){const t=e.request;if(t.body===void 0||t.body===null||typeof t.body!="object"||t.body instanceof ArrayBuffer||ArrayBuffer.isView(t.body)||t.body instanceof Blob||t.body instanceof File||t.body instanceof URLSearchParams||t.body instanceof FormData||t.body instanceof ReadableStream)return e;const s={...t};s.body=JSON.stringify(t.body),s.headers||(s.headers={});const o=s.headers;return o["Content-Type"]||(o["Content-Type"]=m.APPLICATION_JSON),e.request=s,e}}class P{constructor(){this.name="FetchInterceptor",this.order=Number.MAX_SAFE_INTEGER-100}async intercept(e){return e.response=await R(e.request),e}}class w{constructor(){this.name="UrlResolveInterceptor",this.order=Number.MIN_SAFE_INTEGER+100}intercept(e){const t=e.request;return t.url=e.fetcher.urlBuilder.resolveRequestUrl(t),e}}class f{constructor(e=[]){this.sortedInterceptors=[],this.sortedInterceptors=l(e)}get name(){return this.constructor.name}get order(){return Number.MIN_SAFE_INTEGER}use(e){return this.sortedInterceptors.some(t=>t.name===e.name)?!1:(this.sortedInterceptors=l([...this.sortedInterceptors,e]),!0)}eject(e){const t=this.sortedInterceptors;return this.sortedInterceptors=l(t,s=>s.name!==e),t.length!==this.sortedInterceptors.length}clear(){this.sortedInterceptors=[]}async intercept(e){let t=e;for(const s of this.sortedInterceptors)t=await s.intercept(t);return t}}class A{constructor(){this.request=new f([new w,new g,new P]),this.response=new f,this.error=new f}}function y(r,e){if(!(r===void 0&&e===void 0))return e===void 0?r:r===void 0?e:{...r,...e}}const p={"Content-Type":m.APPLICATION_JSON},I={baseURL:"",headers:p};class N{constructor(e=I){this.headers=p,this.urlBuilder=new b(e.baseURL),this.headers=e.headers??p,this.timeout=e.timeout,this.interceptors=e.interceptors??new A}async fetch(e,t={}){const s=t;s.url=e;const o=await this.request(s);if(!o.response)throw new Error(`Request to ${s.url} failed with no response`);return o.response}async request(e){const t=y(e.headers,this.headers),s={...e,headers:t,timeout:F(e.timeout,this.timeout)},o={fetcher:this,request:s,response:void 0,error:void 0,attributes:{}};return this.exchange(o)}async exchange(e){try{return e=await this.interceptors.request.intercept(e),e=await this.interceptors.response.intercept(e),e}catch(t){if(e.error=t,e=await this.interceptors.error.intercept(e),e.response)return e;throw e.error}}async methodFetch(e,t,s={}){return this.fetch(t,{...s,method:e})}async get(e,t={}){return this.methodFetch(u.GET,e,t)}async post(e,t={}){return this.methodFetch(u.POST,e,t)}async put(e,t={}){return this.methodFetch(u.PUT,e,t)}async delete(e,t={}){return this.methodFetch(u.DELETE,e,t)}async patch(e,t={}){return this.methodFetch(u.PATCH,e,t)}async head(e,t={}){return this.methodFetch(u.HEAD,e,t)}async options(e,t={}){return this.methodFetch(u.OPTIONS,e,t)}}const T="default";class S{constructor(){this.registrar=new Map}register(e,t){this.registrar.set(e,t)}unregister(e){return this.registrar.delete(e)}get(e){return this.registrar.get(e)}requiredGet(e){const t=this.get(e);if(!t)throw new Error(`Fetcher ${e} not found`);return t}get default(){return this.requiredGet(T)}set default(e){this.register(T,e)}get fetchers(){return new Map(this.registrar)}}const q=new S;function v(r,e){if(Object.keys(r).length===0)return e;if(Object.keys(e).length===0)return r;const t={path:y(r.urlParams?.path,e.urlParams?.path),query:y(r.urlParams?.query,e.urlParams?.query)},s={...r.headers,...e.headers},o=e.method??r.method,c=e.body??r.body,i=e.timeout??r.timeout,h=e.signal??r.signal;return{...r,...e,method:o,urlParams:t,headers:s,body:c,timeout:i,signal:h}}class O extends N{constructor(e,t=I){super(t),this.name=e,q.register(e,this)}}const L=new O(T);n.ContentTypeHeader=_,n.ContentTypeValues=m,n.DEFAULT_FETCHER_NAME=T,n.DEFAULT_OPTIONS=I,n.FetchInterceptor=P,n.FetchTimeoutError=d,n.Fetcher=N,n.FetcherInterceptors=A,n.FetcherRegistrar=S,n.HttpMethod=u,n.InterceptorManager=f,n.NamedFetcher=O,n.RequestBodyInterceptor=g,n.UrlBuilder=b,n.UrlResolveInterceptor=w,n.combineURLs=E,n.fetcher=L,n.fetcherRegistrar=q,n.isAbsoluteURL=a,n.mergeRecords=y,n.mergeRequest=v,n.resolveTimeout=F,n.timeoutFetch=R,n.toSorted=l,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
@@ -1 +1 @@
1
- {"version":3,"file":"requestBodyInterceptor.d.ts","sourceRoot":"","sources":["../src/requestBodyInterceptor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;OAEG;IACH,IAAI,SAA4B;IAEhC;;;;;;;;;OASG;IACH,KAAK,SAAiC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa;CA2ClD"}
1
+ {"version":3,"file":"requestBodyInterceptor.d.ts","sourceRoot":"","sources":["../src/requestBodyInterceptor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;OAEG;IACH,IAAI,SAA4B;IAEhC;;;;;;;;;OASG;IACH,KAAK,SAAiC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa;CA2ClD"}
package/dist/types.d.ts CHANGED
@@ -1,33 +1,3 @@
1
- export interface BaseURLCapable {
2
- /**
3
- * 请求的 baseURL
4
- * 当值为空时,表示不设置 baseURL,默认值为 undefined
5
- */
6
- baseURL: string;
7
- }
8
- export interface HeadersCapable {
9
- /**
10
- * 请求头
11
- */
12
- headers?: Record<string, string>;
13
- }
14
- /**
15
- * HTTP方法枚举常量
16
- */
17
- export declare enum HttpMethod {
18
- GET = "GET",
19
- POST = "POST",
20
- PUT = "PUT",
21
- DELETE = "DELETE",
22
- PATCH = "PATCH",
23
- HEAD = "HEAD",
24
- OPTIONS = "OPTIONS"
25
- }
26
- export declare const ContentTypeHeader = "Content-Type";
27
- export declare enum ContentTypeValues {
28
- APPLICATION_JSON = "application/json",
29
- TEXT_EVENT_STREAM = "text/event-stream"
30
- }
31
1
  /**
32
2
  * 具备名称能力的接口
33
3
  * 实现该接口的类型需要提供一个名称属性
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAGD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ;QAChB;;;;WAIG;QACH,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ;QAChB;;;;WAIG;QACH,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7B;CACF"}
@@ -1,5 +1,4 @@
1
- import { BaseURLCapable } from './types';
2
- import { FetchRequest } from './fetchRequest';
1
+ import { BaseURLCapable, FetchRequest } from './fetchRequest';
3
2
  /**
4
3
  * Interface for URL parameters including path and query parameters
5
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"urlBuilder.d.ts","sourceRoot":"","sources":["../src/urlBuilder.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;gBACS,OAAO,EAAE,MAAM;IAI3B;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;IAc9C;;;;;;;;OAQG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM;CAWvE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB"}
1
+ {"version":3,"file":"urlBuilder.d.ts","sourceRoot":"","sources":["../src/urlBuilder.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;gBACS,OAAO,EAAE,MAAM;IAI3B;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;IAc9C;;;;;;;;OAQG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM;CAWvE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ahoo-wang/fetcher",
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "description": "Ultra-lightweight (1.9kB) HTTP client with built-in path parameters and Axios-like API",
5
5
  "keywords": [
6
6
  "fetch",