@ahoo-wang/fetcher-decorator 0.9.6 → 0.9.8

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
@@ -284,6 +284,51 @@ class UserService {
284
284
  }
285
285
  ```
286
286
 
287
+ ### Result Extractors
288
+
289
+ Result extractors are used to process and extract data from different types of responses or results in the application.
290
+ They allow you to customize how the response from an HTTP request is processed and returned.
291
+
292
+ #### Available Result Extractors
293
+
294
+ - **ExchangeResultExtractor**: Returns the original FetchExchange object
295
+ - **ResponseResultExtractor**: Returns the response object from FetchExchange (default)
296
+ - **JsonResultExtractor**: Parses the response content as JSON format
297
+ - **TextResultExtractor**: Parses the response content as text format
298
+ - **ServerSentEventStreamResultExtractor**: Extracts server-sent event stream from FetchExchange
299
+ - **CommandResultEventStreamResultExtractor**: Extracts command result event stream from FetchExchange
300
+
301
+ #### Using Result Extractors
302
+
303
+ You can specify a result extractor at the class level or method level:
304
+
305
+ ```typescript
306
+ import { ResultExtractors } from '@ahoo-wang/fetcher-decorator';
307
+
308
+ @api('/users', { resultExtractor: ResultExtractors.Json })
309
+ class UserService {
310
+ // Uses class-level JSON result extractor
311
+ @get('/{id}')
312
+ getUser(@path() id: number): Promise<User> {
313
+ throw new Error('Implementation will be generated automatically.');
314
+ }
315
+
316
+ // Overrides with ServerSentEventStream result extractor
317
+ @get('/events', { resultExtractor: ResultExtractors.ServerSentEventStream })
318
+ getUserEvents(): Promise<ServerSentEventStream> {
319
+ throw new Error('Implementation will be generated automatically.');
320
+ }
321
+
322
+ // Uses CommandResultEventStream result extractor for command handling
323
+ @post('/commands', {
324
+ resultExtractor: ResultExtractors.CommandResultEventStream,
325
+ })
326
+ executeCommand(@body() command: Command): Promise<CommandResultEventStream> {
327
+ throw new Error('Implementation will be generated automatically.');
328
+ }
329
+ }
330
+ ```
331
+
287
332
  ## 🧪 Testing
288
333
 
289
334
  ```bash
package/README.zh-CN.md CHANGED
@@ -277,6 +277,51 @@ class UserService {
277
277
  }
278
278
  ```
279
279
 
280
+ ### 结果提取器
281
+
282
+ 结果提取器用于处理和提取应用程序中不同类型响应或结果的数据。
283
+ 它们允许您自定义如何处理和返回 HTTP 请求的响应。
284
+
285
+ #### 可用的结果提取器
286
+
287
+ - **ExchangeResultExtractor**: 返回原始的 FetchExchange 对象
288
+ - **ResponseResultExtractor**: 返回 FetchExchange 中的响应对象(默认)
289
+ - **JsonResultExtractor**: 将响应内容解析为 JSON 格式
290
+ - **TextResultExtractor**: 将响应内容解析为文本格式
291
+ - **ServerSentEventStreamResultExtractor**: 从 FetchExchange 中提取服务器发送事件流
292
+ - **CommandResultEventStreamResultExtractor**: 从 FetchExchange 中提取命令结果事件流
293
+
294
+ #### 使用结果提取器
295
+
296
+ 您可以在类级别或方法级别指定结果提取器:
297
+
298
+ ```typescript
299
+ import { ResultExtractors } from '@ahoo-wang/fetcher-decorator';
300
+
301
+ @api('/users', { resultExtractor: ResultExtractors.Json })
302
+ class UserService {
303
+ // 使用类级别的 JSON 结果提取器
304
+ @get('/{id}')
305
+ getUser(@path() id: number): Promise<User> {
306
+ throw new Error('实现将自动生成');
307
+ }
308
+
309
+ // 使用 ServerSentEventStream 结果提取器覆盖
310
+ @get('/events', { resultExtractor: ResultExtractors.ServerSentEventStream })
311
+ getUserEvents(): Promise<ServerSentEventStream> {
312
+ throw new Error('实现将自动生成');
313
+ }
314
+
315
+ // 使用 CommandResultEventStream 结果提取器处理命令
316
+ @post('/commands', {
317
+ resultExtractor: ResultExtractors.CommandResultEventStream,
318
+ })
319
+ executeCommand(@body() command: Command): Promise<CommandResultEventStream> {
320
+ throw new Error('实现将自动生成');
321
+ }
322
+ }
323
+ ```
324
+
280
325
  ## 🧪 测试
281
326
 
282
327
  ```bash
@@ -1,5 +1,6 @@
1
- import { RequestHeaders, RequestHeadersCapable, TimeoutCapable } from '@ahoo-wang/fetcher';
1
+ import { Fetcher, RequestHeaders, RequestHeadersCapable, TimeoutCapable } from '@ahoo-wang/fetcher';
2
2
  import { ResultExtractorCapable } from './resultExtractor';
3
+ import { FetcherCapable } from './fetcherCapable';
3
4
  /**
4
5
  * Metadata for class-level API configuration.
5
6
  *
@@ -7,7 +8,7 @@ import { ResultExtractorCapable } from './resultExtractor';
7
8
  * These settings will be used as defaults for all endpoints within the class unless overridden
8
9
  * at the method level.
9
10
  */
10
- export interface ApiMetadata extends TimeoutCapable, RequestHeadersCapable, ResultExtractorCapable {
11
+ export interface ApiMetadata extends TimeoutCapable, RequestHeadersCapable, ResultExtractorCapable, FetcherCapable {
11
12
  /**
12
13
  * Base path for all endpoints in the class.
13
14
  *
@@ -36,7 +37,7 @@ export interface ApiMetadata extends TimeoutCapable, RequestHeadersCapable, Resu
36
37
  * This allows you to specify which fetcher instance should be used for requests
37
38
  * from this API class. The fetcher must be registered with the FetcherRegistrar.
38
39
  */
39
- fetcher?: string;
40
+ fetcher?: string | Fetcher;
40
41
  }
41
42
  export declare const API_METADATA_KEY: unique symbol;
42
43
  export declare function api(basePath?: string, metadata?: Omit<ApiMetadata, 'basePath'>): <T extends new (...args: any[]) => any>(constructor: T) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"apiDecorator.d.ts","sourceRoot":"","sources":["../src/apiDecorator.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc,EAAE,qBAAqB,EAAE,sBAAsB;IAChG;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,gBAAgB,eAAyB,CAAC;AAwDvD,wBAAgB,GAAG,CACjB,QAAQ,GAAE,MAAW,EACrB,QAAQ,GAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAM,IAE3B,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,aAAa,CAAC,KAAG,CAAC,CAgB3E"}
1
+ {"version":3,"file":"apiDecorator.d.ts","sourceRoot":"","sources":["../src/apiDecorator.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,cAAc;IAChH;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,eAAyB,CAAC;AAwDvD,wBAAgB,GAAG,CACjB,QAAQ,GAAE,MAAW,EACrB,QAAQ,GAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAM,IAE3B,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,aAAa,CAAC,KAAG,CAAC,CAgB3E"}
@@ -0,0 +1,21 @@
1
+ import { Fetcher } from '@ahoo-wang/fetcher';
2
+ /**
3
+ * Interface that defines a capability for objects that can have a fetcher.
4
+ * This interface is typically used to mark components or objects that can perform fetching operations
5
+ * and may need access to fetcher functionality.
6
+ */
7
+ export interface FetcherCapable {
8
+ /**
9
+ * Optional fetcher property that can be either a string identifier or a Fetcher instance.
10
+ * When present, this property indicates the fetcher associated with the implementing object.
11
+ */
12
+ fetcher?: string | Fetcher;
13
+ }
14
+ /**
15
+ * Gets a Fetcher instance based on the provided fetcher parameter.
16
+ *
17
+ * @param fetcher - A string identifier or Fetcher instance to resolve
18
+ * @returns A Fetcher instance if found, undefined otherwise
19
+ */
20
+ export declare function getFetcher(fetcher?: string | Fetcher): Fetcher | undefined;
21
+ //# sourceMappingURL=fetcherCapable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcherCapable.d.ts","sourceRoot":"","sources":["../src/fetcherCapable.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAoB,MAAM,oBAAoB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAS1E"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './apiDecorator';
2
2
  export * from './endpointDecorator';
3
+ export * from './fetcherCapable';
3
4
  export * from './parameterDecorator';
4
5
  export * from './reflection';
5
6
  export * from './requestExecutor';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
package/dist/index.es.js CHANGED
@@ -1,4 +1,5 @@
1
- import { HttpMethod as S, DEFAULT_FETCHER_NAME as Ye, fetcherRegistrar as Qe, mergeRequest as Ve, combineURLs as Be } from "@ahoo-wang/fetcher";
1
+ import { HttpMethod as S, fetcherRegistrar as Le, Fetcher as Qe, fetcher as Ve, mergeRequest as Be, combineURLs as ze } from "@ahoo-wang/fetcher";
2
+ import "@ahoo-wang/fetcher-wow";
2
3
  var he = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ye = {};
3
4
  /*! *****************************************************************************
4
5
  Copyright (C) Microsoft. All rights reserved.
@@ -15,7 +16,7 @@ See the Apache Version 2.0 License for specific language governing permissions
15
16
  and limitations under the License.
16
17
  ***************************************************************************** */
17
18
  var ve;
18
- function ze() {
19
+ function Ze() {
19
20
  if (ve) return ye;
20
21
  ve = 1;
21
22
  var n;
@@ -63,7 +64,7 @@ function ze() {
63
64
  } : function(e, t) {
64
65
  return e[t];
65
66
  }
66
- }, R = Object.getPrototypeOf(Function), G = typeof Map == "function" && typeof Map.prototype.entries == "function" ? Map : Ue(), L = typeof Set == "function" && typeof Set.prototype.entries == "function" ? Set : Fe(), Y = typeof WeakMap == "function" ? WeakMap : Ne(), j = M ? Symbol.for("@reflect-metadata:registry") : void 0, N = Ce(), $ = Ge(N);
67
+ }, R = Object.getPrototypeOf(Function), G = typeof Map == "function" && typeof Map.prototype.entries == "function" ? Map : He(), Y = typeof Set == "function" && typeof Set.prototype.entries == "function" ? Set : Ue(), L = typeof WeakMap == "function" ? WeakMap : We(), j = M ? Symbol.for("@reflect-metadata:registry") : void 0, W = Ce(), $ = Ge(W);
67
68
  function me(e, t, r, a) {
68
69
  if (h(r)) {
69
70
  if (!ie(e))
@@ -141,7 +142,7 @@ function ze() {
141
142
  if (h(r) || (r = x(r)), !g(t))
142
143
  throw new TypeError();
143
144
  h(r) || (r = x(r));
144
- var a = H(
145
+ var a = F(
145
146
  t,
146
147
  r,
147
148
  /*Create*/
@@ -180,7 +181,7 @@ function ze() {
180
181
  return q(l) ? !1 : J(e, l, r);
181
182
  }
182
183
  function Q(e, t, r) {
183
- var a = H(
184
+ var a = F(
184
185
  t,
185
186
  r,
186
187
  /*Create*/
@@ -197,7 +198,7 @@ function ze() {
197
198
  return X(e, l, r);
198
199
  }
199
200
  function K(e, t, r) {
200
- var a = H(
201
+ var a = F(
201
202
  t,
202
203
  r,
203
204
  /*Create*/
@@ -207,7 +208,7 @@ function ze() {
207
208
  return a.OrdinaryGetOwnMetadata(e, t, r);
208
209
  }
209
210
  function ee(e, t, r, a) {
210
- var l = H(
211
+ var l = F(
211
212
  r,
212
213
  a,
213
214
  /*Create*/
@@ -224,7 +225,7 @@ function ze() {
224
225
  return r;
225
226
  if (r.length <= 0)
226
227
  return l;
227
- for (var m = new L(), b = [], v = 0, o = r; v < o.length; v++) {
228
+ for (var m = new Y(), b = [], v = 0, o = r; v < o.length; v++) {
228
229
  var u = o[v], s = m.has(u);
229
230
  s || (m.add(u), b.push(u));
230
231
  }
@@ -235,7 +236,7 @@ function ze() {
235
236
  return b;
236
237
  }
237
238
  function re(e, t) {
238
- var r = H(
239
+ var r = F(
239
240
  e,
240
241
  t,
241
242
  /*create*/
@@ -303,13 +304,13 @@ function ze() {
303
304
  var r, a, l;
304
305
  {
305
306
  var m = e.toString;
306
- if (W(m)) {
307
+ if (N(m)) {
307
308
  var a = m.call(e);
308
309
  if (!g(a))
309
310
  return a;
310
311
  }
311
312
  var r = e.valueOf;
312
- if (W(r)) {
313
+ if (N(r)) {
313
314
  var a = r.call(e);
314
315
  if (!g(a))
315
316
  return a;
@@ -330,7 +331,7 @@ function ze() {
330
331
  function ie(e) {
331
332
  return Array.isArray ? Array.isArray(e) : e instanceof Object ? e instanceof Array : Object.prototype.toString.call(e) === "[object Array]";
332
333
  }
333
- function W(e) {
334
+ function N(e) {
334
335
  return typeof e == "function";
335
336
  }
336
337
  function oe(e) {
@@ -352,14 +353,14 @@ function ze() {
352
353
  function ue(e, t) {
353
354
  var r = e[t];
354
355
  if (r != null) {
355
- if (!W(r))
356
+ if (!N(r))
356
357
  throw new TypeError();
357
358
  return r;
358
359
  }
359
360
  }
360
361
  function se(e) {
361
362
  var t = ue(e, P);
362
- if (!W(t))
363
+ if (!N(t))
363
364
  throw new TypeError();
364
365
  var r = t.call(e);
365
366
  if (!g(r))
@@ -389,8 +390,8 @@ function ze() {
389
390
  }
390
391
  function qe() {
391
392
  var e;
392
- !h(j) && typeof d.Reflect < "u" && !(j in d.Reflect) && typeof d.Reflect.defineMetadata == "function" && (e = He(d.Reflect));
393
- var t, r, a, l = new Y(), m = {
393
+ !h(j) && typeof d.Reflect < "u" && !(j in d.Reflect) && typeof d.Reflect.defineMetadata == "function" && (e = Fe(d.Reflect));
394
+ var t, r, a, l = new L(), m = {
394
395
  registerProvider: b,
395
396
  getProvider: o,
396
397
  setProvider: s
@@ -413,7 +414,7 @@ function ze() {
413
414
  case r === f:
414
415
  break;
415
416
  default:
416
- a === void 0 && (a = new L()), a.add(f);
417
+ a === void 0 && (a = new Y()), a.add(f);
417
418
  break;
418
419
  }
419
420
  }
@@ -470,7 +471,7 @@ function ze() {
470
471
  }), e;
471
472
  }
472
473
  function Ge(e) {
473
- var t = new Y(), r = {
474
+ var t = new L(), r = {
474
475
  isProviderFor: function(u, s) {
475
476
  var f = t.get(u);
476
477
  return h(f) ? !1 : f.has(s);
@@ -481,7 +482,7 @@ function ze() {
481
482
  OrdinaryOwnMetadataKeys: v,
482
483
  OrdinaryDeleteMetadata: o
483
484
  };
484
- return N.registerProvider(r), r;
485
+ return W.registerProvider(r), r;
485
486
  function a(u, s, f) {
486
487
  var p = t.get(u), w = !1;
487
488
  if (h(p)) {
@@ -539,14 +540,14 @@ function ze() {
539
540
  var le = ce(_);
540
541
  if (!le)
541
542
  return f.length = k, f;
542
- var We = fe(le);
543
+ var Ne = fe(le);
543
544
  try {
544
- f[k] = We;
545
- } catch (Le) {
545
+ f[k] = Ne;
546
+ } catch (Ye) {
546
547
  try {
547
548
  de(_);
548
549
  } finally {
549
- throw Le;
550
+ throw Ye;
550
551
  }
551
552
  }
552
553
  k++;
@@ -568,11 +569,11 @@ function ze() {
568
569
  return !0;
569
570
  }
570
571
  }
571
- function He(e) {
572
- var t = e.defineMetadata, r = e.hasOwnMetadata, a = e.getOwnMetadata, l = e.getOwnMetadataKeys, m = e.deleteMetadata, b = new Y(), v = {
572
+ function Fe(e) {
573
+ var t = e.defineMetadata, r = e.hasOwnMetadata, a = e.getOwnMetadata, l = e.getOwnMetadataKeys, m = e.deleteMetadata, b = new L(), v = {
573
574
  isProviderFor: function(o, u) {
574
575
  var s = b.get(o);
575
- return !h(s) && s.has(u) ? !0 : l(o, u).length ? (h(s) && (s = new L(), b.set(o, s)), s.add(u), !0) : !1;
576
+ return !h(s) && s.has(u) ? !0 : l(o, u).length ? (h(s) && (s = new Y(), b.set(o, s)), s.add(u), !0) : !1;
576
577
  },
577
578
  OrdinaryDefineOwnMetadata: t,
578
579
  OrdinaryHasOwnMetadata: r,
@@ -582,17 +583,17 @@ function ze() {
582
583
  };
583
584
  return v;
584
585
  }
585
- function H(e, t, r) {
586
- var a = N.getProvider(e, t);
586
+ function F(e, t, r) {
587
+ var a = W.getProvider(e, t);
587
588
  if (!h(a))
588
589
  return a;
589
590
  if (r) {
590
- if (N.setProvider(e, t, $))
591
+ if (W.setProvider(e, t, $))
591
592
  return $;
592
593
  throw new Error("Illegal state.");
593
594
  }
594
595
  }
595
- function Ue() {
596
+ function He() {
596
597
  var e = {}, t = [], r = (
597
598
  /** @class */
598
599
  (function() {
@@ -696,7 +697,7 @@ function ze() {
696
697
  return [v, o];
697
698
  }
698
699
  }
699
- function Fe() {
700
+ function Ue() {
700
701
  var e = (
701
702
  /** @class */
702
703
  (function() {
@@ -732,7 +733,7 @@ function ze() {
732
733
  );
733
734
  return e;
734
735
  }
735
- function Ne() {
736
+ function We() {
736
737
  var e = 16, t = T.create(), r = a();
737
738
  return (
738
739
  /** @class */
@@ -816,7 +817,7 @@ function ze() {
816
817
  });
817
818
  })(n || (n = {})), ye;
818
819
  }
819
- ze();
820
+ Ze();
820
821
  const we = Symbol("endpoint:metadata");
821
822
  function D(n, i = "", c = {}) {
822
823
  return function(d, y) {
@@ -833,63 +834,63 @@ function D(n, i = "", c = {}) {
833
834
  );
834
835
  };
835
836
  }
836
- function ht(n = "", i = {}) {
837
+ function pt(n = "", i = {}) {
837
838
  return D(S.GET, n, i);
838
839
  }
839
- function yt(n = "", i = {}) {
840
+ function wt(n = "", i = {}) {
840
841
  return D(S.POST, n, i);
841
842
  }
842
- function vt(n = "", i = {}) {
843
+ function mt(n = "", i = {}) {
843
844
  return D(S.PUT, n, i);
844
845
  }
845
- function pt(n = "", i = {}) {
846
+ function _t(n = "", i = {}) {
846
847
  return D(S.DELETE, n, i);
847
848
  }
848
- function wt(n = "", i = {}) {
849
+ function Mt(n = "", i = {}) {
849
850
  return D(S.PATCH, n, i);
850
851
  }
851
- function mt(n = "", i = {}) {
852
+ function gt(n = "", i = {}) {
852
853
  return D(S.HEAD, n, i);
853
854
  }
854
- function _t(n = "", i = {}) {
855
+ function bt(n = "", i = {}) {
855
856
  return D(S.OPTIONS, n, i);
856
857
  }
857
- const U = /* @__PURE__ */ new WeakMap();
858
- function Ze(n) {
858
+ const H = /* @__PURE__ */ new WeakMap();
859
+ function $e(n) {
859
860
  if (typeof n != "function")
860
861
  throw new TypeError("Expected a function");
861
- if (U.has(n))
862
- return U.get(n);
862
+ if (H.has(n))
863
+ return H.get(n);
863
864
  try {
864
- const i = n.toString().trim(), c = Xe(i);
865
- if (!Je(c)) {
865
+ const i = n.toString().trim(), c = Ke(i);
866
+ if (!Xe(c)) {
866
867
  const y = [];
867
- return U.set(n, y), y;
868
+ return H.set(n, y), y;
868
869
  }
869
- const d = Ke(c);
870
- return U.set(n, d), d;
870
+ const d = et(c);
871
+ return H.set(n, d), d;
871
872
  } catch {
872
873
  const i = [];
873
- return U.set(n, i), i;
874
+ return H.set(n, i), i;
874
875
  }
875
876
  }
876
- function $e(n, i, c, d) {
877
+ function Je(n, i, c, d) {
877
878
  if (d)
878
879
  return d;
879
880
  try {
880
881
  const y = n[i];
881
882
  if (y && typeof y == "function") {
882
- const M = Ze(y);
883
+ const M = $e(y);
883
884
  if (c < M.length)
884
885
  return M[c];
885
886
  }
886
887
  } catch {
887
888
  }
888
889
  }
889
- function Je(n) {
890
+ function Xe(n) {
890
891
  return n != null && n.trim() !== "";
891
892
  }
892
- function Xe(n) {
893
+ function Ke(n) {
893
894
  if (n.startsWith("(")) {
894
895
  const d = pe(n, 0);
895
896
  return d === -1 ? "" : n.substring(1, d);
@@ -910,32 +911,32 @@ function pe(n, i) {
910
911
  }
911
912
  return -1;
912
913
  }
913
- function Ke(n) {
914
- return n.split(",").map(et).filter(tt).map(rt);
915
- }
916
914
  function et(n) {
917
- return n.trim();
915
+ return n.split(",").map(tt).filter(rt).map(nt);
918
916
  }
919
917
  function tt(n) {
920
- return n.length > 0;
918
+ return n.trim();
921
919
  }
922
920
  function rt(n) {
923
- let i = nt(n);
924
- return i = at(i), i.trim();
921
+ return n.length > 0;
925
922
  }
926
923
  function nt(n) {
924
+ let i = at(n);
925
+ return i = it(i), i.trim();
926
+ }
927
+ function at(n) {
927
928
  const i = n.indexOf("=");
928
929
  return i !== -1 ? n.substring(0, i) : n;
929
930
  }
930
- function at(n) {
931
+ function it(n) {
931
932
  const i = n.indexOf(":");
932
933
  return i !== -1 ? n.substring(0, i) : n;
933
934
  }
934
935
  var C = /* @__PURE__ */ ((n) => (n.PATH = "path", n.QUERY = "query", n.HEADER = "header", n.BODY = "body", n.REQUEST = "request", n))(C || {});
935
936
  const Z = Symbol("parameter:metadata");
936
- function F(n, i = "") {
937
+ function U(n, i = "") {
937
938
  return function(c, d, y) {
938
- const M = $e(
939
+ const M = Je(
939
940
  c,
940
941
  d,
941
942
  y,
@@ -953,31 +954,35 @@ function F(n, i = "") {
953
954
  );
954
955
  };
955
956
  }
956
- function Mt(n = "") {
957
- return F("path", n);
957
+ function Et(n = "") {
958
+ return U("path", n);
958
959
  }
959
- function gt(n = "") {
960
- return F("query", n);
960
+ function Ot(n = "") {
961
+ return U("query", n);
961
962
  }
962
- function bt(n = "") {
963
- return F("header", n);
963
+ function Pt(n = "") {
964
+ return U("header", n);
964
965
  }
965
- function Et() {
966
- return F(
966
+ function Tt() {
967
+ return U(
967
968
  "body"
968
969
  /* BODY */
969
970
  );
970
971
  }
971
- function Ot() {
972
- return F(
972
+ function kt() {
973
+ return U(
973
974
  "request"
974
975
  /* REQUEST */
975
976
  );
976
977
  }
977
- const it = (n) => n.requiredResponse, ot = {
978
- DEFAULT: it
978
+ const ot = (n) => n.requiredResponse, ut = {
979
+ DEFAULT: ot
979
980
  };
980
- class ut {
981
+ function st(n) {
982
+ if (n)
983
+ return n instanceof Qe ? n : Le.requiredGet(n);
984
+ }
985
+ class ft {
981
986
  /**
982
987
  * Creates a new FunctionMetadata instance.
983
988
  *
@@ -998,8 +1003,7 @@ class ut {
998
1003
  * @returns The fetcher instance
999
1004
  */
1000
1005
  get fetcher() {
1001
- const i = this.endpoint.fetcher || this.api.fetcher || Ye;
1002
- return Qe.requiredGet(i);
1006
+ return st(this.endpoint.fetcher ?? this.api.fetcher) ?? Ve;
1003
1007
  }
1004
1008
  /**
1005
1009
  * Resolves the request configuration from the method arguments.
@@ -1090,7 +1094,7 @@ class ut {
1090
1094
  timeout: this.resolveTimeout(),
1091
1095
  signal: O
1092
1096
  };
1093
- return Ve(I, P);
1097
+ return Be(I, P);
1094
1098
  }
1095
1099
  processPathParam(i, c, d) {
1096
1100
  const y = i.name || `param${i.index}`;
@@ -1140,7 +1144,7 @@ class ut {
1140
1144
  */
1141
1145
  resolvePath() {
1142
1146
  const i = this.endpoint.basePath || this.api.basePath || "", c = this.endpoint.path || "";
1143
- return Be(i, c);
1147
+ return ze(i, c);
1144
1148
  }
1145
1149
  /**
1146
1150
  * Resolves the timeout for the request.
@@ -1154,10 +1158,10 @@ class ut {
1154
1158
  return this.endpoint.timeout || this.api.timeout;
1155
1159
  }
1156
1160
  resolveResultExtractor() {
1157
- return this.endpoint.resultExtractor || this.api.resultExtractor || ot.DEFAULT;
1161
+ return this.endpoint.resultExtractor || this.api.resultExtractor || ut.DEFAULT;
1158
1162
  }
1159
1163
  }
1160
- class st {
1164
+ class ct {
1161
1165
  /**
1162
1166
  * Creates a new RequestExecutor instance.
1163
1167
  *
@@ -1183,8 +1187,8 @@ class st {
1183
1187
  return await this.metadata.resolveResultExtractor()(M);
1184
1188
  }
1185
1189
  }
1186
- const ft = Symbol("api:metadata");
1187
- function ct(n, i, c) {
1190
+ const dt = Symbol("api:metadata");
1191
+ function lt(n, i, c) {
1188
1192
  const d = n.prototype[i];
1189
1193
  if (i === "constructor" || typeof d != "function")
1190
1194
  return;
@@ -1199,57 +1203,58 @@ function ct(n, i, c) {
1199
1203
  Z,
1200
1204
  n.prototype,
1201
1205
  i
1202
- ) || [], O = new ut(
1206
+ ) || [], O = new ft(
1203
1207
  i,
1204
1208
  c,
1205
1209
  y,
1206
1210
  M
1207
- ), P = new st(O);
1211
+ ), P = new ct(O);
1208
1212
  n.prototype[i] = function(...A) {
1209
1213
  return P.execute(A);
1210
1214
  };
1211
1215
  }
1212
- function Pt(n = "", i = {}) {
1216
+ function Rt(n = "", i = {}) {
1213
1217
  return function(c) {
1214
1218
  const d = {
1215
1219
  basePath: n,
1216
1220
  ...i
1217
1221
  };
1218
- return Reflect.defineMetadata(ft, d, c), Object.getOwnPropertyNames(c.prototype).forEach((y) => {
1219
- ct(c, y, d);
1222
+ return Reflect.defineMetadata(dt, d, c), Object.getOwnPropertyNames(c.prototype).forEach((y) => {
1223
+ lt(c, y, d);
1220
1224
  }), c;
1221
1225
  };
1222
1226
  }
1223
- class dt extends Error {
1227
+ class ht extends Error {
1224
1228
  constructor() {
1225
1229
  super("Implementation will be generated automatically."), this.name = "AutoGenerated";
1226
1230
  }
1227
1231
  }
1228
- const Tt = () => new dt();
1232
+ const xt = () => new ht();
1229
1233
  export {
1230
- ft as API_METADATA_KEY,
1231
- dt as AutoGenerated,
1234
+ dt as API_METADATA_KEY,
1235
+ ht as AutoGenerated,
1232
1236
  we as ENDPOINT_METADATA_KEY,
1233
- ut as FunctionMetadata,
1237
+ ft as FunctionMetadata,
1234
1238
  Z as PARAMETER_METADATA_KEY,
1235
1239
  C as ParameterType,
1236
- st as RequestExecutor,
1237
- Pt as api,
1238
- Tt as autoGeneratedError,
1239
- Et as body,
1240
- pt as del,
1240
+ ct as RequestExecutor,
1241
+ Rt as api,
1242
+ xt as autoGeneratedError,
1243
+ Tt as body,
1244
+ _t as del,
1241
1245
  D as endpoint,
1242
- ht as get,
1243
- $e as getParameterName,
1244
- Ze as getParameterNames,
1245
- mt as head,
1246
- bt as header,
1247
- _t as options,
1248
- F as parameter,
1249
- wt as patch,
1250
- Mt as path,
1251
- yt as post,
1252
- vt as put,
1253
- gt as query,
1254
- Ot as request
1246
+ pt as get,
1247
+ st as getFetcher,
1248
+ Je as getParameterName,
1249
+ $e as getParameterNames,
1250
+ gt as head,
1251
+ Pt as header,
1252
+ bt as options,
1253
+ U as parameter,
1254
+ Mt as patch,
1255
+ Et as path,
1256
+ wt as post,
1257
+ mt as put,
1258
+ Ot as query,
1259
+ kt as request
1255
1260
  };
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(w,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("@ahoo-wang/fetcher")):typeof define=="function"&&define.amd?define(["exports","@ahoo-wang/fetcher"],O):(w=typeof globalThis<"u"?globalThis:w||self,O(w.FetcherDecorator={},w.Fetcher))})(this,(function(w,O){"use strict";var X=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},K={};/*! *****************************************************************************
1
+ (function(w,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("@ahoo-wang/fetcher"),require("@ahoo-wang/fetcher-wow")):typeof define=="function"&&define.amd?define(["exports","@ahoo-wang/fetcher","@ahoo-wang/fetcher-wow"],O):(w=typeof globalThis<"u"?globalThis:w||self,O(w.FetcherDecorator={},w.Fetcher))})(this,(function(w,O){"use strict";var $=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},K={};/*! *****************************************************************************
2
2
  Copyright (C) Microsoft. All rights reserved.
3
3
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
4
  this file except in compliance with the License. You may obtain a copy of the
@@ -11,4 +11,4 @@
11
11
 
12
12
  See the Apache Version 2.0 License for specific language governing permissions
13
13
  and limitations under the License.
14
- ***************************************************************************** */var ee;function Te(){if(ee)return K;ee=1;var n;return(function(i){(function(c){var d=typeof globalThis=="object"?globalThis:typeof X=="object"?X:typeof self=="object"?self:typeof this=="object"?this:q(),y=g(i);typeof d.Reflect<"u"&&(y=g(d.Reflect,y)),c(y,d),typeof d.Reflect>"u"&&(d.Reflect=i);function g(j,T){return function(k,I){Object.defineProperty(j,k,{configurable:!0,writable:!0,value:I}),T&&T(k,I)}}function P(){try{return Function("return this;")()}catch{}}function R(){try{return(0,eval)("(function() { return this; })()")}catch{}}function q(){return P()||R()}})(function(c,d){var y=Object.prototype.hasOwnProperty,g=typeof Symbol=="function",P=g&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",R=g&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",q=typeof Object.create=="function",j={__proto__:[]}instanceof Array,T=!q&&!j,k={create:q?function(){return J(Object.create(null))}:j?function(){return J({__proto__:null})}:function(){return J({})},has:T?function(e,t){return y.call(e,t)}:function(e,t){return t in e},get:T?function(e,t){return y.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},I=Object.getPrototypeOf(Function),U=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:wt(),V=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:mt(),B=typeof WeakMap=="function"?WeakMap:Mt(),H=g?Symbol.for("@reflect-metadata:registry"):void 0,Y=yt(),se=vt(Y);function $e(e,t,r,a){if(h(r)){if(!we(e))throw new TypeError;if(!me(t))throw new TypeError;return ot(e,t)}else{if(!we(e))throw new TypeError;if(!b(t))throw new TypeError;if(!b(a)&&!h(a)&&!G(a))throw new TypeError;return G(a)&&(a=void 0),r=S(r),ut(e,t,r,a)}}c("decorate",$e);function Je(e,t){function r(a,l){if(!b(a))throw new TypeError;if(!h(l)&&!lt(l))throw new TypeError;le(e,t,a,l)}return r}c("metadata",Je);function Xe(e,t,r,a){if(!b(r))throw new TypeError;return h(a)||(a=S(a)),le(e,t,r,a)}c("defineMetadata",Xe);function Ke(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),fe(e,t,r)}c("hasMetadata",Ke);function et(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),z(e,t,r)}c("hasOwnMetadata",et);function tt(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),ce(e,t,r)}c("getMetadata",tt);function rt(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),de(e,t,r)}c("getOwnMetadata",rt);function nt(e,t){if(!b(e))throw new TypeError;return h(t)||(t=S(t)),he(e,t)}c("getMetadataKeys",nt);function at(e,t){if(!b(e))throw new TypeError;return h(t)||(t=S(t)),ye(e,t)}c("getOwnMetadataKeys",at);function it(e,t,r){if(!b(t))throw new TypeError;if(h(r)||(r=S(r)),!b(t))throw new TypeError;h(r)||(r=S(r));var a=N(t,r,!1);return h(a)?!1:a.OrdinaryDeleteMetadata(e,t,r)}c("deleteMetadata",it);function ot(e,t){for(var r=e.length-1;r>=0;--r){var a=e[r],l=a(t);if(!h(l)&&!G(l)){if(!me(l))throw new TypeError;t=l}}return t}function ut(e,t,r,a){for(var l=e.length-1;l>=0;--l){var M=e[l],E=M(t,r,a);if(!h(E)&&!G(E)){if(!b(E))throw new TypeError;a=E}}return a}function fe(e,t,r){var a=z(e,t,r);if(a)return!0;var l=$(t);return G(l)?!1:fe(e,l,r)}function z(e,t,r){var a=N(t,r,!1);return h(a)?!1:pe(a.OrdinaryHasOwnMetadata(e,t,r))}function ce(e,t,r){var a=z(e,t,r);if(a)return de(e,t,r);var l=$(t);if(!G(l))return ce(e,l,r)}function de(e,t,r){var a=N(t,r,!1);if(!h(a))return a.OrdinaryGetOwnMetadata(e,t,r)}function le(e,t,r,a){var l=N(r,a,!0);l.OrdinaryDefineOwnMetadata(e,t,r,a)}function he(e,t){var r=ye(e,t),a=$(e);if(a===null)return r;var l=he(a,t);if(l.length<=0)return r;if(r.length<=0)return l;for(var M=new V,E=[],v=0,o=r;v<o.length;v++){var u=o[v],s=M.has(u);s||(M.add(u),E.push(u))}for(var f=0,p=l;f<p.length;f++){var u=p[f],s=M.has(u);s||(M.add(u),E.push(u))}return E}function ye(e,t){var r=N(e,t,!1);return r?r.OrdinaryOwnMetadataKeys(e,t):[]}function ve(e){if(e===null)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return e===null?1:6;default:return 6}}function h(e){return e===void 0}function G(e){return e===null}function st(e){return typeof e=="symbol"}function b(e){return typeof e=="object"?e!==null:typeof e=="function"}function ft(e,t){switch(ve(e)){case 0:return e;case 1:return e;case 2:return e;case 3:return e;case 4:return e;case 5:return e}var r="string",a=Me(e,P);if(a!==void 0){var l=a.call(e,r);if(b(l))throw new TypeError;return l}return ct(e)}function ct(e,t){var r,a,l;{var M=e.toString;if(L(M)){var a=M.call(e);if(!b(a))return a}var r=e.valueOf;if(L(r)){var a=r.call(e);if(!b(a))return a}}throw new TypeError}function pe(e){return!!e}function dt(e){return""+e}function S(e){var t=ft(e);return st(t)?t:dt(t)}function we(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:Object.prototype.toString.call(e)==="[object Array]"}function L(e){return typeof e=="function"}function me(e){return typeof e=="function"}function lt(e){switch(ve(e)){case 3:return!0;case 4:return!0;default:return!1}}function Z(e,t){return e===t||e!==e&&t!==t}function Me(e,t){var r=e[t];if(r!=null){if(!L(r))throw new TypeError;return r}}function _e(e){var t=Me(e,R);if(!L(t))throw new TypeError;var r=t.call(e);if(!b(r))throw new TypeError;return r}function ge(e){return e.value}function be(e){var t=e.next();return t.done?!1:t}function Ee(e){var t=e.return;t&&t.call(e)}function $(e){var t=Object.getPrototypeOf(e);if(typeof e!="function"||e===I||t!==I)return t;var r=e.prototype,a=r&&Object.getPrototypeOf(r);if(a==null||a===Object.prototype)return t;var l=a.constructor;return typeof l!="function"||l===e?t:l}function ht(){var e;!h(H)&&typeof d.Reflect<"u"&&!(H in d.Reflect)&&typeof d.Reflect.defineMetadata=="function"&&(e=pt(d.Reflect));var t,r,a,l=new B,M={registerProvider:E,getProvider:o,setProvider:s};return M;function E(f){if(!Object.isExtensible(M))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case e===f:break;case h(t):t=f;break;case t===f:break;case h(r):r=f;break;case r===f:break;default:a===void 0&&(a=new V),a.add(f);break}}function v(f,p){if(!h(t)){if(t.isProviderFor(f,p))return t;if(!h(r)){if(r.isProviderFor(f,p))return t;if(!h(a))for(var m=_e(a);;){var _=be(m);if(!_)return;var A=ge(_);if(A.isProviderFor(f,p))return Ee(m),A}}}if(!h(e)&&e.isProviderFor(f,p))return e}function o(f,p){var m=l.get(f),_;return h(m)||(_=m.get(p)),h(_)&&(_=v(f,p),h(_)||(h(m)&&(m=new U,l.set(f,m)),m.set(p,_))),_}function u(f){if(h(f))throw new TypeError;return t===f||r===f||!h(a)&&a.has(f)}function s(f,p,m){if(!u(m))throw new Error("Metadata provider not registered.");var _=o(f,p);if(_!==m){if(!h(_))return!1;var A=l.get(f);h(A)&&(A=new U,l.set(f,A)),A.set(p,m)}return!0}}function yt(){var e;return!h(H)&&b(d.Reflect)&&Object.isExtensible(d.Reflect)&&(e=d.Reflect[H]),h(e)&&(e=ht()),!h(H)&&b(d.Reflect)&&Object.isExtensible(d.Reflect)&&Object.defineProperty(d.Reflect,H,{enumerable:!1,configurable:!1,writable:!1,value:e}),e}function vt(e){var t=new B,r={isProviderFor:function(u,s){var f=t.get(u);return h(f)?!1:f.has(s)},OrdinaryDefineOwnMetadata:E,OrdinaryHasOwnMetadata:l,OrdinaryGetOwnMetadata:M,OrdinaryOwnMetadataKeys:v,OrdinaryDeleteMetadata:o};return Y.registerProvider(r),r;function a(u,s,f){var p=t.get(u),m=!1;if(h(p)){if(!f)return;p=new U,t.set(u,p),m=!0}var _=p.get(s);if(h(_)){if(!f)return;if(_=new U,p.set(s,_),!e.setProvider(u,s,r))throw p.delete(s),m&&t.delete(u),new Error("Wrong provider for target.")}return _}function l(u,s,f){var p=a(s,f,!1);return h(p)?!1:pe(p.has(u))}function M(u,s,f){var p=a(s,f,!1);if(!h(p))return p.get(u)}function E(u,s,f,p){var m=a(f,p,!0);m.set(u,s)}function v(u,s){var f=[],p=a(u,s,!1);if(h(p))return f;for(var m=p.keys(),_=_e(m),A=0;;){var Oe=be(_);if(!Oe)return f.length=A,f;var _t=ge(Oe);try{f[A]=_t}catch(gt){try{Ee(_)}finally{throw gt}}A++}}function o(u,s,f){var p=a(s,f,!1);if(h(p)||!p.delete(u))return!1;if(p.size===0){var m=t.get(s);h(m)||(m.delete(f),m.size===0&&t.delete(m))}return!0}}function pt(e){var t=e.defineMetadata,r=e.hasOwnMetadata,a=e.getOwnMetadata,l=e.getOwnMetadataKeys,M=e.deleteMetadata,E=new B,v={isProviderFor:function(o,u){var s=E.get(o);return!h(s)&&s.has(u)?!0:l(o,u).length?(h(s)&&(s=new V,E.set(o,s)),s.add(u),!0):!1},OrdinaryDefineOwnMetadata:t,OrdinaryHasOwnMetadata:r,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:l,OrdinaryDeleteMetadata:M};return v}function N(e,t,r){var a=Y.getProvider(e,t);if(!h(a))return a;if(r){if(Y.setProvider(e,t,se))return se;throw new Error("Illegal state.")}}function wt(){var e={},t=[],r=(function(){function v(o,u,s){this._index=0,this._keys=o,this._values=u,this._selector=s}return v.prototype["@@iterator"]=function(){return this},v.prototype[R]=function(){return this},v.prototype.next=function(){var o=this._index;if(o>=0&&o<this._keys.length){var u=this._selector(this._keys[o],this._values[o]);return o+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:u,done:!1}}return{value:void 0,done:!0}},v.prototype.throw=function(o){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),o},v.prototype.return=function(o){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:o,done:!0}},v})(),a=(function(){function v(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(v.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),v.prototype.has=function(o){return this._find(o,!1)>=0},v.prototype.get=function(o){var u=this._find(o,!1);return u>=0?this._values[u]:void 0},v.prototype.set=function(o,u){var s=this._find(o,!0);return this._values[s]=u,this},v.prototype.delete=function(o){var u=this._find(o,!1);if(u>=0){for(var s=this._keys.length,f=u+1;f<s;f++)this._keys[f-1]=this._keys[f],this._values[f-1]=this._values[f];return this._keys.length--,this._values.length--,Z(o,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},v.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},v.prototype.keys=function(){return new r(this._keys,this._values,l)},v.prototype.values=function(){return new r(this._keys,this._values,M)},v.prototype.entries=function(){return new r(this._keys,this._values,E)},v.prototype["@@iterator"]=function(){return this.entries()},v.prototype[R]=function(){return this.entries()},v.prototype._find=function(o,u){if(!Z(this._cacheKey,o)){this._cacheIndex=-1;for(var s=0;s<this._keys.length;s++)if(Z(this._keys[s],o)){this._cacheIndex=s;break}}return this._cacheIndex<0&&u&&(this._cacheIndex=this._keys.length,this._keys.push(o),this._values.push(void 0)),this._cacheIndex},v})();return a;function l(v,o){return v}function M(v,o){return o}function E(v,o){return[v,o]}}function mt(){var e=(function(){function t(){this._map=new U}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(r){return this._map.has(r)},t.prototype.add=function(r){return this._map.set(r,r),this},t.prototype.delete=function(r){return this._map.delete(r)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[R]=function(){return this.keys()},t})();return e}function Mt(){var e=16,t=k.create(),r=a();return(function(){function o(){this._key=a()}return o.prototype.has=function(u){var s=l(u,!1);return s!==void 0?k.has(s,this._key):!1},o.prototype.get=function(u){var s=l(u,!1);return s!==void 0?k.get(s,this._key):void 0},o.prototype.set=function(u,s){var f=l(u,!0);return f[this._key]=s,this},o.prototype.delete=function(u){var s=l(u,!1);return s!==void 0?delete s[this._key]:!1},o.prototype.clear=function(){this._key=a()},o})();function a(){var o;do o="@@WeakMap@@"+v();while(k.has(t,o));return t[o]=!0,o}function l(o,u){if(!y.call(o,r)){if(!u)return;Object.defineProperty(o,r,{value:k.create()})}return o[r]}function M(o,u){for(var s=0;s<u;++s)o[s]=Math.random()*255|0;return o}function E(o){if(typeof Uint8Array=="function"){var u=new Uint8Array(o);return typeof crypto<"u"?crypto.getRandomValues(u):typeof msCrypto<"u"?msCrypto.getRandomValues(u):M(u,o),u}return M(new Array(o),o)}function v(){var o=E(e);o[6]=o[6]&79|64,o[8]=o[8]&191|128;for(var u="",s=0;s<e;++s){var f=o[s];(s===4||s===6||s===8)&&(u+="-"),f<16&&(u+="0"),u+=f.toString(16).toLowerCase()}return u}}function J(e){return e.__=void 0,delete e.__,e}})})(n||(n={})),K}Te();const Q=Symbol("endpoint:metadata");function D(n,i="",c={}){return function(d,y){const g={method:n,path:i,...c};Reflect.defineMetadata(Q,g,d,y)}}function Pe(n="",i={}){return D(O.HttpMethod.GET,n,i)}function Re(n="",i={}){return D(O.HttpMethod.POST,n,i)}function ke(n="",i={}){return D(O.HttpMethod.PUT,n,i)}function Ae(n="",i={}){return D(O.HttpMethod.DELETE,n,i)}function Ie(n="",i={}){return D(O.HttpMethod.PATCH,n,i)}function Se(n="",i={}){return D(O.HttpMethod.HEAD,n,i)}function De(n="",i={}){return D(O.HttpMethod.OPTIONS,n,i)}const F=new WeakMap;function te(n){if(typeof n!="function")throw new TypeError("Expected a function");if(F.has(n))return F.get(n);try{const i=n.toString().trim(),c=je(i);if(!qe(c)){const y=[];return F.set(n,y),y}const d=xe(c);return F.set(n,d),d}catch{const i=[];return F.set(n,i),i}}function re(n,i,c,d){if(d)return d;try{const y=n[i];if(y&&typeof y=="function"){const g=te(y);if(c<g.length)return g[c]}}catch{}}function qe(n){return n!=null&&n.trim()!==""}function je(n){if(n.startsWith("(")){const d=ne(n,0);return d===-1?"":n.substring(1,d)}const i=n.indexOf("(");if(i===-1)return"";const c=ne(n,i);return c===-1?"":n.substring(i+1,c)}function ne(n,i){let c=1;for(let d=i+1;d<n.length;d++){const y=n[d];if(y==="(")c++;else if(y===")"&&(c--,c===0))return d}return-1}function xe(n){return n.split(",").map(Ce).filter(He).map(Ge)}function Ce(n){return n.trim()}function He(n){return n.length>0}function Ge(n){let i=Fe(n);return i=Ue(i),i.trim()}function Fe(n){const i=n.indexOf("=");return i!==-1?n.substring(0,i):n}function Ue(n){const i=n.indexOf(":");return i!==-1?n.substring(0,i):n}var x=(n=>(n.PATH="path",n.QUERY="query",n.HEADER="header",n.BODY="body",n.REQUEST="request",n))(x||{});const W=Symbol("parameter:metadata");function C(n,i=""){return function(c,d,y){const g=re(c,d,y,i),P=Reflect.getMetadata(W,c,d)||[];P.push({type:n,name:g,index:y}),Reflect.defineMetadata(W,P,c,d)}}function Ne(n=""){return C("path",n)}function We(n=""){return C("query",n)}function Ye(n=""){return C("header",n)}function Le(){return C("body")}function Qe(){return C("request")}const Ve={DEFAULT:n=>n.requiredResponse};class ae{constructor(i,c,d,y){this.name=i,this.api=c,this.endpoint=d,this.parameters=y}get fetcher(){const i=this.endpoint.fetcher||this.api.fetcher||O.DEFAULT_FETCHER_NAME;return O.fetcherRegistrar.requiredGet(i)}resolveRequest(i){const c={},d={},y={...this.api.headers,...this.endpoint.headers};let g,P,R={};i.forEach((T,k)=>{if(T instanceof AbortSignal){P=T;return}if(k<this.parameters.length){const I=this.parameters[k];switch(I.type){case x.PATH:this.processPathParam(I,T,c);break;case x.QUERY:this.processQueryParam(I,T,d);break;case x.HEADER:this.processHeaderParam(I,T,y);break;case x.BODY:g=T;break;case x.REQUEST:R=this.processRequestParam(T);break}}});const q={path:c,query:d},j={method:this.endpoint.method,urlParams:q,headers:y,body:g,timeout:this.resolveTimeout(),signal:P};return O.mergeRequest(j,R)}processPathParam(i,c,d){const y=i.name||`param${i.index}`;d[y]=c}processQueryParam(i,c,d){const y=i.name||`param${i.index}`;d[y]=c}processHeaderParam(i,c,d){i.name&&c!==void 0&&(d[i.name]=String(c))}processRequestParam(i){return i}resolvePath(){const i=this.endpoint.basePath||this.api.basePath||"",c=this.endpoint.path||"";return O.combineURLs(i,c)}resolveTimeout(){return this.endpoint.timeout||this.api.timeout}resolveResultExtractor(){return this.endpoint.resultExtractor||this.api.resultExtractor||Ve.DEFAULT}}class ie{constructor(i){this.metadata=i}async execute(i){const c=this.metadata.resolvePath(),d=this.metadata.resolveRequest(i),y={url:c,...d},g=await this.metadata.fetcher.request(y);return await this.metadata.resolveResultExtractor()(g)}}const oe=Symbol("api:metadata");function Be(n,i,c){const d=n.prototype[i];if(i==="constructor"||typeof d!="function")return;const y=Reflect.getMetadata(Q,n.prototype,i);if(!y)return;const g=Reflect.getMetadata(W,n.prototype,i)||[],P=new ae(i,c,y,g),R=new ie(P);n.prototype[i]=function(...q){return R.execute(q)}}function ze(n="",i={}){return function(c){const d={basePath:n,...i};return Reflect.defineMetadata(oe,d,c),Object.getOwnPropertyNames(c.prototype).forEach(y=>{Be(c,y,d)}),c}}class ue extends Error{constructor(){super("Implementation will be generated automatically."),this.name="AutoGenerated"}}const Ze=()=>new ue;w.API_METADATA_KEY=oe,w.AutoGenerated=ue,w.ENDPOINT_METADATA_KEY=Q,w.FunctionMetadata=ae,w.PARAMETER_METADATA_KEY=W,w.ParameterType=x,w.RequestExecutor=ie,w.api=ze,w.autoGeneratedError=Ze,w.body=Le,w.del=Ae,w.endpoint=D,w.get=Pe,w.getParameterName=re,w.getParameterNames=te,w.head=Se,w.header=Ye,w.options=De,w.parameter=C,w.patch=Ie,w.path=Ne,w.post=Re,w.put=ke,w.query=We,w.request=Qe,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
14
+ ***************************************************************************** */var ee;function Te(){if(ee)return K;ee=1;var n;return(function(i){(function(c){var d=typeof globalThis=="object"?globalThis:typeof $=="object"?$:typeof self=="object"?self:typeof this=="object"?this:q(),y=g(i);typeof d.Reflect<"u"&&(y=g(d.Reflect,y)),c(y,d),typeof d.Reflect>"u"&&(d.Reflect=i);function g(j,P){return function(k,I){Object.defineProperty(j,k,{configurable:!0,writable:!0,value:I}),P&&P(k,I)}}function T(){try{return Function("return this;")()}catch{}}function R(){try{return(0,eval)("(function() { return this; })()")}catch{}}function q(){return T()||R()}})(function(c,d){var y=Object.prototype.hasOwnProperty,g=typeof Symbol=="function",T=g&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",R=g&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",q=typeof Object.create=="function",j={__proto__:[]}instanceof Array,P=!q&&!j,k={create:q?function(){return X(Object.create(null))}:j?function(){return X({__proto__:null})}:function(){return X({})},has:P?function(e,t){return y.call(e,t)}:function(e,t){return t in e},get:P?function(e,t){return y.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},I=Object.getPrototypeOf(Function),U=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:mt(),V=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Mt(),B=typeof WeakMap=="function"?WeakMap:_t(),G=g?Symbol.for("@reflect-metadata:registry"):void 0,Y=vt(),fe=pt(Y);function Xe(e,t,r,a){if(h(r)){if(!me(e))throw new TypeError;if(!Me(t))throw new TypeError;return ut(e,t)}else{if(!me(e))throw new TypeError;if(!b(t))throw new TypeError;if(!b(a)&&!h(a)&&!H(a))throw new TypeError;return H(a)&&(a=void 0),r=S(r),st(e,t,r,a)}}c("decorate",Xe);function $e(e,t){function r(a,l){if(!b(a))throw new TypeError;if(!h(l)&&!ht(l))throw new TypeError;he(e,t,a,l)}return r}c("metadata",$e);function Ke(e,t,r,a){if(!b(r))throw new TypeError;return h(a)||(a=S(a)),he(e,t,r,a)}c("defineMetadata",Ke);function et(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),ce(e,t,r)}c("hasMetadata",et);function tt(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),z(e,t,r)}c("hasOwnMetadata",tt);function rt(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),de(e,t,r)}c("getMetadata",rt);function nt(e,t,r){if(!b(t))throw new TypeError;return h(r)||(r=S(r)),le(e,t,r)}c("getOwnMetadata",nt);function at(e,t){if(!b(e))throw new TypeError;return h(t)||(t=S(t)),ye(e,t)}c("getMetadataKeys",at);function it(e,t){if(!b(e))throw new TypeError;return h(t)||(t=S(t)),ve(e,t)}c("getOwnMetadataKeys",it);function ot(e,t,r){if(!b(t))throw new TypeError;if(h(r)||(r=S(r)),!b(t))throw new TypeError;h(r)||(r=S(r));var a=N(t,r,!1);return h(a)?!1:a.OrdinaryDeleteMetadata(e,t,r)}c("deleteMetadata",ot);function ut(e,t){for(var r=e.length-1;r>=0;--r){var a=e[r],l=a(t);if(!h(l)&&!H(l)){if(!Me(l))throw new TypeError;t=l}}return t}function st(e,t,r,a){for(var l=e.length-1;l>=0;--l){var M=e[l],E=M(t,r,a);if(!h(E)&&!H(E)){if(!b(E))throw new TypeError;a=E}}return a}function ce(e,t,r){var a=z(e,t,r);if(a)return!0;var l=J(t);return H(l)?!1:ce(e,l,r)}function z(e,t,r){var a=N(t,r,!1);return h(a)?!1:we(a.OrdinaryHasOwnMetadata(e,t,r))}function de(e,t,r){var a=z(e,t,r);if(a)return le(e,t,r);var l=J(t);if(!H(l))return de(e,l,r)}function le(e,t,r){var a=N(t,r,!1);if(!h(a))return a.OrdinaryGetOwnMetadata(e,t,r)}function he(e,t,r,a){var l=N(r,a,!0);l.OrdinaryDefineOwnMetadata(e,t,r,a)}function ye(e,t){var r=ve(e,t),a=J(e);if(a===null)return r;var l=ye(a,t);if(l.length<=0)return r;if(r.length<=0)return l;for(var M=new V,E=[],v=0,o=r;v<o.length;v++){var u=o[v],s=M.has(u);s||(M.add(u),E.push(u))}for(var f=0,p=l;f<p.length;f++){var u=p[f],s=M.has(u);s||(M.add(u),E.push(u))}return E}function ve(e,t){var r=N(e,t,!1);return r?r.OrdinaryOwnMetadataKeys(e,t):[]}function pe(e){if(e===null)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return e===null?1:6;default:return 6}}function h(e){return e===void 0}function H(e){return e===null}function ft(e){return typeof e=="symbol"}function b(e){return typeof e=="object"?e!==null:typeof e=="function"}function ct(e,t){switch(pe(e)){case 0:return e;case 1:return e;case 2:return e;case 3:return e;case 4:return e;case 5:return e}var r="string",a=_e(e,T);if(a!==void 0){var l=a.call(e,r);if(b(l))throw new TypeError;return l}return dt(e)}function dt(e,t){var r,a,l;{var M=e.toString;if(L(M)){var a=M.call(e);if(!b(a))return a}var r=e.valueOf;if(L(r)){var a=r.call(e);if(!b(a))return a}}throw new TypeError}function we(e){return!!e}function lt(e){return""+e}function S(e){var t=ct(e);return ft(t)?t:lt(t)}function me(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:Object.prototype.toString.call(e)==="[object Array]"}function L(e){return typeof e=="function"}function Me(e){return typeof e=="function"}function ht(e){switch(pe(e)){case 3:return!0;case 4:return!0;default:return!1}}function Z(e,t){return e===t||e!==e&&t!==t}function _e(e,t){var r=e[t];if(r!=null){if(!L(r))throw new TypeError;return r}}function ge(e){var t=_e(e,R);if(!L(t))throw new TypeError;var r=t.call(e);if(!b(r))throw new TypeError;return r}function be(e){return e.value}function Ee(e){var t=e.next();return t.done?!1:t}function Oe(e){var t=e.return;t&&t.call(e)}function J(e){var t=Object.getPrototypeOf(e);if(typeof e!="function"||e===I||t!==I)return t;var r=e.prototype,a=r&&Object.getPrototypeOf(r);if(a==null||a===Object.prototype)return t;var l=a.constructor;return typeof l!="function"||l===e?t:l}function yt(){var e;!h(G)&&typeof d.Reflect<"u"&&!(G in d.Reflect)&&typeof d.Reflect.defineMetadata=="function"&&(e=wt(d.Reflect));var t,r,a,l=new B,M={registerProvider:E,getProvider:o,setProvider:s};return M;function E(f){if(!Object.isExtensible(M))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case e===f:break;case h(t):t=f;break;case t===f:break;case h(r):r=f;break;case r===f:break;default:a===void 0&&(a=new V),a.add(f);break}}function v(f,p){if(!h(t)){if(t.isProviderFor(f,p))return t;if(!h(r)){if(r.isProviderFor(f,p))return t;if(!h(a))for(var m=ge(a);;){var _=Ee(m);if(!_)return;var A=be(_);if(A.isProviderFor(f,p))return Oe(m),A}}}if(!h(e)&&e.isProviderFor(f,p))return e}function o(f,p){var m=l.get(f),_;return h(m)||(_=m.get(p)),h(_)&&(_=v(f,p),h(_)||(h(m)&&(m=new U,l.set(f,m)),m.set(p,_))),_}function u(f){if(h(f))throw new TypeError;return t===f||r===f||!h(a)&&a.has(f)}function s(f,p,m){if(!u(m))throw new Error("Metadata provider not registered.");var _=o(f,p);if(_!==m){if(!h(_))return!1;var A=l.get(f);h(A)&&(A=new U,l.set(f,A)),A.set(p,m)}return!0}}function vt(){var e;return!h(G)&&b(d.Reflect)&&Object.isExtensible(d.Reflect)&&(e=d.Reflect[G]),h(e)&&(e=yt()),!h(G)&&b(d.Reflect)&&Object.isExtensible(d.Reflect)&&Object.defineProperty(d.Reflect,G,{enumerable:!1,configurable:!1,writable:!1,value:e}),e}function pt(e){var t=new B,r={isProviderFor:function(u,s){var f=t.get(u);return h(f)?!1:f.has(s)},OrdinaryDefineOwnMetadata:E,OrdinaryHasOwnMetadata:l,OrdinaryGetOwnMetadata:M,OrdinaryOwnMetadataKeys:v,OrdinaryDeleteMetadata:o};return Y.registerProvider(r),r;function a(u,s,f){var p=t.get(u),m=!1;if(h(p)){if(!f)return;p=new U,t.set(u,p),m=!0}var _=p.get(s);if(h(_)){if(!f)return;if(_=new U,p.set(s,_),!e.setProvider(u,s,r))throw p.delete(s),m&&t.delete(u),new Error("Wrong provider for target.")}return _}function l(u,s,f){var p=a(s,f,!1);return h(p)?!1:we(p.has(u))}function M(u,s,f){var p=a(s,f,!1);if(!h(p))return p.get(u)}function E(u,s,f,p){var m=a(f,p,!0);m.set(u,s)}function v(u,s){var f=[],p=a(u,s,!1);if(h(p))return f;for(var m=p.keys(),_=ge(m),A=0;;){var Pe=Ee(_);if(!Pe)return f.length=A,f;var gt=be(Pe);try{f[A]=gt}catch(bt){try{Oe(_)}finally{throw bt}}A++}}function o(u,s,f){var p=a(s,f,!1);if(h(p)||!p.delete(u))return!1;if(p.size===0){var m=t.get(s);h(m)||(m.delete(f),m.size===0&&t.delete(m))}return!0}}function wt(e){var t=e.defineMetadata,r=e.hasOwnMetadata,a=e.getOwnMetadata,l=e.getOwnMetadataKeys,M=e.deleteMetadata,E=new B,v={isProviderFor:function(o,u){var s=E.get(o);return!h(s)&&s.has(u)?!0:l(o,u).length?(h(s)&&(s=new V,E.set(o,s)),s.add(u),!0):!1},OrdinaryDefineOwnMetadata:t,OrdinaryHasOwnMetadata:r,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:l,OrdinaryDeleteMetadata:M};return v}function N(e,t,r){var a=Y.getProvider(e,t);if(!h(a))return a;if(r){if(Y.setProvider(e,t,fe))return fe;throw new Error("Illegal state.")}}function mt(){var e={},t=[],r=(function(){function v(o,u,s){this._index=0,this._keys=o,this._values=u,this._selector=s}return v.prototype["@@iterator"]=function(){return this},v.prototype[R]=function(){return this},v.prototype.next=function(){var o=this._index;if(o>=0&&o<this._keys.length){var u=this._selector(this._keys[o],this._values[o]);return o+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:u,done:!1}}return{value:void 0,done:!0}},v.prototype.throw=function(o){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),o},v.prototype.return=function(o){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:o,done:!0}},v})(),a=(function(){function v(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(v.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),v.prototype.has=function(o){return this._find(o,!1)>=0},v.prototype.get=function(o){var u=this._find(o,!1);return u>=0?this._values[u]:void 0},v.prototype.set=function(o,u){var s=this._find(o,!0);return this._values[s]=u,this},v.prototype.delete=function(o){var u=this._find(o,!1);if(u>=0){for(var s=this._keys.length,f=u+1;f<s;f++)this._keys[f-1]=this._keys[f],this._values[f-1]=this._values[f];return this._keys.length--,this._values.length--,Z(o,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},v.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},v.prototype.keys=function(){return new r(this._keys,this._values,l)},v.prototype.values=function(){return new r(this._keys,this._values,M)},v.prototype.entries=function(){return new r(this._keys,this._values,E)},v.prototype["@@iterator"]=function(){return this.entries()},v.prototype[R]=function(){return this.entries()},v.prototype._find=function(o,u){if(!Z(this._cacheKey,o)){this._cacheIndex=-1;for(var s=0;s<this._keys.length;s++)if(Z(this._keys[s],o)){this._cacheIndex=s;break}}return this._cacheIndex<0&&u&&(this._cacheIndex=this._keys.length,this._keys.push(o),this._values.push(void 0)),this._cacheIndex},v})();return a;function l(v,o){return v}function M(v,o){return o}function E(v,o){return[v,o]}}function Mt(){var e=(function(){function t(){this._map=new U}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(r){return this._map.has(r)},t.prototype.add=function(r){return this._map.set(r,r),this},t.prototype.delete=function(r){return this._map.delete(r)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[R]=function(){return this.keys()},t})();return e}function _t(){var e=16,t=k.create(),r=a();return(function(){function o(){this._key=a()}return o.prototype.has=function(u){var s=l(u,!1);return s!==void 0?k.has(s,this._key):!1},o.prototype.get=function(u){var s=l(u,!1);return s!==void 0?k.get(s,this._key):void 0},o.prototype.set=function(u,s){var f=l(u,!0);return f[this._key]=s,this},o.prototype.delete=function(u){var s=l(u,!1);return s!==void 0?delete s[this._key]:!1},o.prototype.clear=function(){this._key=a()},o})();function a(){var o;do o="@@WeakMap@@"+v();while(k.has(t,o));return t[o]=!0,o}function l(o,u){if(!y.call(o,r)){if(!u)return;Object.defineProperty(o,r,{value:k.create()})}return o[r]}function M(o,u){for(var s=0;s<u;++s)o[s]=Math.random()*255|0;return o}function E(o){if(typeof Uint8Array=="function"){var u=new Uint8Array(o);return typeof crypto<"u"?crypto.getRandomValues(u):typeof msCrypto<"u"?msCrypto.getRandomValues(u):M(u,o),u}return M(new Array(o),o)}function v(){var o=E(e);o[6]=o[6]&79|64,o[8]=o[8]&191|128;for(var u="",s=0;s<e;++s){var f=o[s];(s===4||s===6||s===8)&&(u+="-"),f<16&&(u+="0"),u+=f.toString(16).toLowerCase()}return u}}function X(e){return e.__=void 0,delete e.__,e}})})(n||(n={})),K}Te();const Q=Symbol("endpoint:metadata");function D(n,i="",c={}){return function(d,y){const g={method:n,path:i,...c};Reflect.defineMetadata(Q,g,d,y)}}function Re(n="",i={}){return D(O.HttpMethod.GET,n,i)}function ke(n="",i={}){return D(O.HttpMethod.POST,n,i)}function Ae(n="",i={}){return D(O.HttpMethod.PUT,n,i)}function Ie(n="",i={}){return D(O.HttpMethod.DELETE,n,i)}function Se(n="",i={}){return D(O.HttpMethod.PATCH,n,i)}function De(n="",i={}){return D(O.HttpMethod.HEAD,n,i)}function qe(n="",i={}){return D(O.HttpMethod.OPTIONS,n,i)}const F=new WeakMap;function te(n){if(typeof n!="function")throw new TypeError("Expected a function");if(F.has(n))return F.get(n);try{const i=n.toString().trim(),c=xe(i);if(!je(c)){const y=[];return F.set(n,y),y}const d=Ce(c);return F.set(n,d),d}catch{const i=[];return F.set(n,i),i}}function re(n,i,c,d){if(d)return d;try{const y=n[i];if(y&&typeof y=="function"){const g=te(y);if(c<g.length)return g[c]}}catch{}}function je(n){return n!=null&&n.trim()!==""}function xe(n){if(n.startsWith("(")){const d=ne(n,0);return d===-1?"":n.substring(1,d)}const i=n.indexOf("(");if(i===-1)return"";const c=ne(n,i);return c===-1?"":n.substring(i+1,c)}function ne(n,i){let c=1;for(let d=i+1;d<n.length;d++){const y=n[d];if(y==="(")c++;else if(y===")"&&(c--,c===0))return d}return-1}function Ce(n){return n.split(",").map(Ge).filter(He).map(Fe)}function Ge(n){return n.trim()}function He(n){return n.length>0}function Fe(n){let i=Ue(n);return i=Ne(i),i.trim()}function Ue(n){const i=n.indexOf("=");return i!==-1?n.substring(0,i):n}function Ne(n){const i=n.indexOf(":");return i!==-1?n.substring(0,i):n}var x=(n=>(n.PATH="path",n.QUERY="query",n.HEADER="header",n.BODY="body",n.REQUEST="request",n))(x||{});const W=Symbol("parameter:metadata");function C(n,i=""){return function(c,d,y){const g=re(c,d,y,i),T=Reflect.getMetadata(W,c,d)||[];T.push({type:n,name:g,index:y}),Reflect.defineMetadata(W,T,c,d)}}function We(n=""){return C("path",n)}function Ye(n=""){return C("query",n)}function Le(n=""){return C("header",n)}function Qe(){return C("body")}function Ve(){return C("request")}const Be={DEFAULT:n=>n.requiredResponse};function ae(n){if(n)return n instanceof O.Fetcher?n:O.fetcherRegistrar.requiredGet(n)}class ie{constructor(i,c,d,y){this.name=i,this.api=c,this.endpoint=d,this.parameters=y}get fetcher(){return ae(this.endpoint.fetcher??this.api.fetcher)??O.fetcher}resolveRequest(i){const c={},d={},y={...this.api.headers,...this.endpoint.headers};let g,T,R={};i.forEach((P,k)=>{if(P instanceof AbortSignal){T=P;return}if(k<this.parameters.length){const I=this.parameters[k];switch(I.type){case x.PATH:this.processPathParam(I,P,c);break;case x.QUERY:this.processQueryParam(I,P,d);break;case x.HEADER:this.processHeaderParam(I,P,y);break;case x.BODY:g=P;break;case x.REQUEST:R=this.processRequestParam(P);break}}});const q={path:c,query:d},j={method:this.endpoint.method,urlParams:q,headers:y,body:g,timeout:this.resolveTimeout(),signal:T};return O.mergeRequest(j,R)}processPathParam(i,c,d){const y=i.name||`param${i.index}`;d[y]=c}processQueryParam(i,c,d){const y=i.name||`param${i.index}`;d[y]=c}processHeaderParam(i,c,d){i.name&&c!==void 0&&(d[i.name]=String(c))}processRequestParam(i){return i}resolvePath(){const i=this.endpoint.basePath||this.api.basePath||"",c=this.endpoint.path||"";return O.combineURLs(i,c)}resolveTimeout(){return this.endpoint.timeout||this.api.timeout}resolveResultExtractor(){return this.endpoint.resultExtractor||this.api.resultExtractor||Be.DEFAULT}}class oe{constructor(i){this.metadata=i}async execute(i){const c=this.metadata.resolvePath(),d=this.metadata.resolveRequest(i),y={url:c,...d},g=await this.metadata.fetcher.request(y);return await this.metadata.resolveResultExtractor()(g)}}const ue=Symbol("api:metadata");function ze(n,i,c){const d=n.prototype[i];if(i==="constructor"||typeof d!="function")return;const y=Reflect.getMetadata(Q,n.prototype,i);if(!y)return;const g=Reflect.getMetadata(W,n.prototype,i)||[],T=new ie(i,c,y,g),R=new oe(T);n.prototype[i]=function(...q){return R.execute(q)}}function Ze(n="",i={}){return function(c){const d={basePath:n,...i};return Reflect.defineMetadata(ue,d,c),Object.getOwnPropertyNames(c.prototype).forEach(y=>{ze(c,y,d)}),c}}class se extends Error{constructor(){super("Implementation will be generated automatically."),this.name="AutoGenerated"}}const Je=()=>new se;w.API_METADATA_KEY=ue,w.AutoGenerated=se,w.ENDPOINT_METADATA_KEY=Q,w.FunctionMetadata=ie,w.PARAMETER_METADATA_KEY=W,w.ParameterType=x,w.RequestExecutor=oe,w.api=Ze,w.autoGeneratedError=Je,w.body=Qe,w.del=Ie,w.endpoint=D,w.get=Re,w.getFetcher=ae,w.getParameterName=re,w.getParameterNames=te,w.head=De,w.header=Le,w.options=qe,w.parameter=C,w.patch=Se,w.path=We,w.post=ke,w.put=Ae,w.query=Ye,w.request=Ve,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
@@ -1 +1 @@
1
- {"version":3,"file":"requestExecutor.d.ts","sourceRoot":"","sources":["../src/requestExecutor.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,OAAO,EACW,aAAa,EAC/B,gBAAgB,EAEhB,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,WAAW,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAEhC;;;;;;;OAOG;gBAED,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,iBAAiB,EAAE;IAQjC;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI,OAAO,CAIrB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,gBAAgB;IAoD7C,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kBAAkB;IAU1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;OAOG;IACH,WAAW,IAAI,MAAM;IAMrB;;;;;;;OAOG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,sBAAsB,IAAI,eAAe;CAG1C;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C;;;;OAIG;gBACS,QAAQ,EAAE,gBAAgB;IAItC;;;;;;;;OAQG;IACG,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,QAAQ,GAAG,GAAG,GAAG,qBAAqB,CAAC;CAY5F"}
1
+ {"version":3,"file":"requestExecutor.d.ts","sourceRoot":"","sources":["../src/requestExecutor.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,OAAO,EACP,aAAa,EACb,gBAAgB,EAEhB,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAGvE;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,WAAW,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAEhC;;;;;;;OAOG;gBAED,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,iBAAiB,EAAE;IASjC;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,gBAAgB;IAoD7C,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kBAAkB;IAU1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;OAOG;IACH,WAAW,IAAI,MAAM;IAMrB;;;;;;;OAOG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,sBAAsB,IAAI,eAAe;CAG1C;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C;;;;OAIG;gBACS,QAAQ,EAAE,gBAAgB;IAItC;;;;;;;;OAQG;IACG,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,QAAQ,GAAG,GAAG,GAAG,qBAAqB,CAAC;CAY5F"}
@@ -1,5 +1,6 @@
1
1
  import { FetchExchange } from '@ahoo-wang/fetcher';
2
2
  import { ServerSentEventStream } from '@ahoo-wang/fetcher-eventstream';
3
+ import { CommandResultEventStream } from '@ahoo-wang/fetcher-wow';
3
4
  /**
4
5
  * Result extractor interface
5
6
  * Defines a function type for extracting results from a FetchExchange
@@ -7,7 +8,7 @@ import { ServerSentEventStream } from '@ahoo-wang/fetcher-eventstream';
7
8
  * @returns Returns a value of type FetchExchange, Response, or Promise<any>
8
9
  */
9
10
  export interface ResultExtractor {
10
- (exchange: FetchExchange): FetchExchange | Response | Promise<any> | ServerSentEventStream;
11
+ (exchange: FetchExchange): FetchExchange | Response | Promise<any> | ServerSentEventStream | CommandResultEventStream;
11
12
  }
12
13
  /**
13
14
  * Interface with result extractor capability
@@ -48,6 +49,21 @@ export declare const TextResultExtractor: ResultExtractor;
48
49
  * @throws ExchangeError exception when server does not support ServerSentEventStream
49
50
  */
50
51
  export declare const ServerSentEventStreamResultExtractor: ResultExtractor;
52
+ /**
53
+ * CommandResultEventStream result extractor, used to extract command result event stream from FetchExchange.
54
+ * This function transforms a server-sent event stream into a command result event stream.
55
+ *
56
+ * 提取命令结果事件流,用于从FetchExchange中提取命令结果事件流。
57
+ * 该函数将服务器发送事件流转换为命令结果事件流。
58
+ *
59
+ * @param exchange - The exchange object containing the server-sent event stream data
60
+ * 包含服务器发送事件流数据的交换对象
61
+ * @returns A command result event stream derived from the server-sent event stream
62
+ * 从服务器发送事件流派生的命令结果事件流
63
+ * @throws ExchangeError exception when server does not support ServerSentEventStream
64
+ * 当服务器不支持ServerSentEventStream时抛出ExchangeError异常
65
+ */
66
+ export declare const CommandResultEventStreamResultExtractor: ResultExtractor;
51
67
  /**
52
68
  * ResultExtractors is an object that maps result extractor names to their corresponding
53
69
  * extractor functions. These extractors are used to process and extract data from different
@@ -59,6 +75,7 @@ export declare const ServerSentEventStreamResultExtractor: ResultExtractor;
59
75
  * - Json: Handles JSON format result extraction
60
76
  * - Text: Handles plain text result extraction
61
77
  * - ServerSentEventStream: Handles server-sent event stream result extraction
78
+ * - CommandResultEventStream: Handles command result event stream result extraction
62
79
  */
63
80
  export declare const ResultExtractors: {
64
81
  Exchange: ResultExtractor;
@@ -66,6 +83,7 @@ export declare const ResultExtractors: {
66
83
  Json: ResultExtractor;
67
84
  Text: ResultExtractor;
68
85
  ServerSentEventStream: ResultExtractor;
86
+ CommandResultEventStream: ResultExtractor;
69
87
  DEFAULT: ResultExtractor;
70
88
  };
71
89
  //# sourceMappingURL=resultExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resultExtractor.d.ts","sourceRoot":"","sources":["../src/resultExtractor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,CACE,QAAQ,EAAE,aAAa,GACtB,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC;CACpE;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAIrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAIrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAIjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAIjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,EAAE,eASlD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAC"}
1
+ {"version":3,"file":"resultExtractor.d.ts","sourceRoot":"","sources":["../src/resultExtractor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,wBAAwB,EAEzB,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,CACE,QAAQ,EAAE,aAAa,GAErB,aAAa,GACb,QAAQ,GACR,OAAO,CAAC,GAAG,CAAC,GACZ,qBAAqB,GACrB,wBAAwB,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAIrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAIrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAIjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAIjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,EAAE,eASlD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uCAAuC,EAAE,eASnD,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;CAQ5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ahoo-wang/fetcher-decorator",
3
- "version": "0.9.6",
3
+ "version": "0.9.8",
4
4
  "description": "TypeScript decorators for clean API service definitions with Fetcher HTTP client",
5
5
  "keywords": [
6
6
  "fetch",
@@ -36,8 +36,9 @@
36
36
  ],
37
37
  "dependencies": {
38
38
  "reflect-metadata": "^0.2.2",
39
- "@ahoo-wang/fetcher": "0.9.6",
40
- "@ahoo-wang/fetcher-eventstream": "0.9.6"
39
+ "@ahoo-wang/fetcher": "0.9.8",
40
+ "@ahoo-wang/fetcher-eventstream": "0.9.8",
41
+ "@ahoo-wang/fetcher-wow": "0.9.8"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@vitest/coverage-v8": "^3.2.4",