@yl546/core-api 1.0.1 → 1.0.3

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/dist/Api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from 'eventemitter3';
2
2
  import { App, InjectionKey } from 'vue';
3
- import { ApiEndpointConstructor, ApiEvent, ApiOptions, ApiRequestConfig, AuthAdapter, LoginParams, LoginResponse } from './types';
3
+ import { ApiEndpointConstructor, ApiEvent, ApiOptions, ApiRequestConfig, CancellablePromise, LoginParams, LoginResponse } from './types';
4
4
  import { WebSocketClient, WebSocketEventRawListeners } from './WebSocketClient';
5
5
  export type ApiWithEndpoints<Instance extends Api, Endpoints extends ApiEndpoints = any> = Instance & Endpoints;
6
6
  export declare interface ApiEndpoints {
@@ -22,8 +22,8 @@ export declare class Api extends EventEmitter<ApiEvent> {
22
22
  static VERSION: string;
23
23
  readonly version: string;
24
24
  readonly options: Readonly<ApiOptions>;
25
- readonly auth: AuthAdapter;
26
25
  readonly sockets: Record<string, WebSocketClient>;
26
+ private _auth;
27
27
  private _axios;
28
28
  static install: (app: App, options?: ApiOptions) => void;
29
29
  private _responseFields;
@@ -37,11 +37,11 @@ export declare class Api extends EventEmitter<ApiEvent> {
37
37
  logout(): Promise<void>;
38
38
  /** 取消所有请求 */
39
39
  cancelAllRequest(): void;
40
- $request<D = any>(config: ApiRequestConfig): Promise<D>;
41
- $post<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): Promise<D>;
42
- $get<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): Promise<D>;
43
- $put<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): Promise<D>;
44
- $delete<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): Promise<D>;
40
+ $request<D = any>(config: ApiRequestConfig): CancellablePromise<D>;
41
+ $post<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): CancellablePromise<D>;
42
+ $get<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): CancellablePromise<D>;
43
+ $put<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): CancellablePromise<D>;
44
+ $delete<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): CancellablePromise<D>;
45
45
  private _requestInterceptor;
46
46
  private _responseInterceptor;
47
47
  setWebSocket: (name: string, endpoint: string, options_?: InitWebSocketOptions) => Promise<WebSocketClient>;
package/dist/index.js CHANGED
@@ -101,8 +101,8 @@ class WebSocketClient extends EventEmitter {
101
101
  fn(data, ev);
102
102
  }
103
103
  catch (err) {
104
- if (listeners[WebSocketEventType.RawMessage]) {
105
- listeners[WebSocketEventType.RawMessage].forEach((fn_) => fn_(ev));
104
+ if (this._rawListeners[WebSocketEventType.RawMessage]) {
105
+ this._rawListeners[WebSocketEventType.RawMessage].forEach((fn_) => fn_(ev));
106
106
  }
107
107
  }
108
108
  });
@@ -210,6 +210,9 @@ function readResponseField(source, key) {
210
210
  const API_CONTEXT_KEY = Symbol.for('API_CONTEXT_KEY');
211
211
  /** 请求取消控制器映射 */
212
212
  const abortControllerMap = new Map();
213
+ function asCancellablePromise(promise, abort) {
214
+ return Object.assign(promise, { abort });
215
+ }
213
216
  const useApi = () => {
214
217
  const $api = inject(API_CONTEXT_KEY);
215
218
  if (!$api) {
@@ -221,8 +224,8 @@ class Api extends EventEmitter {
221
224
  static VERSION = VERSION;
222
225
  version = VERSION;
223
226
  options;
224
- auth;
225
227
  sockets = {};
228
+ _auth;
226
229
  _axios;
227
230
  static install = (app, options = {}) => {
228
231
  const api = new Api(options);
@@ -233,12 +236,12 @@ class Api extends EventEmitter {
233
236
  _responseFields;
234
237
  constructor(options) {
235
238
  super();
236
- this.auth = options.auth ?? {};
239
+ this._auth = options.auth ?? {};
237
240
  this.options = options;
238
241
  this._responseFields = resolveResponseFields(options.responseFields);
239
242
  this._axios = Axios.create({
240
243
  baseURL: options.baseUrl ?? '',
241
- timeout: 10000,
244
+ timeout: options.timeout ?? 10000,
242
245
  });
243
246
  this._axios.interceptors.request.use(this._requestInterceptor.bind(this));
244
247
  this._axios.interceptors.response.use(this._responseInterceptor.bind(this));
@@ -284,11 +287,11 @@ class Api extends EventEmitter {
284
287
  /** 登录 */
285
288
  async login(params) {
286
289
  try {
287
- if (!this.auth.login) {
290
+ if (!this._auth.login) {
288
291
  throw new Error('Login method not implemented');
289
292
  }
290
- const result = await this.auth.login(this, params);
291
- this.auth.persist?.(result);
293
+ const result = await this._auth.login(this, params);
294
+ this._auth.persist?.(result);
292
295
  this.emit('login-success', result);
293
296
  return result;
294
297
  }
@@ -299,11 +302,11 @@ class Api extends EventEmitter {
299
302
  /** 登出 */
300
303
  async logout() {
301
304
  try {
302
- if (!this.auth.logout) {
305
+ if (!this._auth.logout) {
303
306
  throw new Error('Logout method not implemented');
304
307
  }
305
- await this.auth.logout?.();
306
- this.auth.clear?.();
308
+ await this._auth.logout?.();
309
+ this._auth.clear?.();
307
310
  this.emit('logout-success');
308
311
  }
309
312
  catch (error) {
@@ -317,11 +320,16 @@ class Api extends EventEmitter {
317
320
  });
318
321
  abortControllerMap.clear();
319
322
  }
320
- async $request(config) {
323
+ $request(config) {
321
324
  const controller = new AbortController();
322
325
  const requestId = v4();
323
326
  abortControllerMap.set(requestId, controller);
324
- let response;
327
+ const abort = (reason) => {
328
+ if (!controller.signal.aborted) {
329
+ controller.abort(reason);
330
+ }
331
+ abortControllerMap.delete(requestId);
332
+ };
325
333
  const { query, url, ...conf } = config;
326
334
  const urlObject = QS.parseUrl(url);
327
335
  if (query) {
@@ -330,47 +338,51 @@ class Api extends EventEmitter {
330
338
  Object.assign(conf, {
331
339
  url: QS.stringifyUrl(urlObject),
332
340
  });
333
- try {
334
- response = await this._axios.request({
335
- ...conf,
336
- signal: controller.signal,
337
- headers: {
338
- ...conf.headers,
339
- ...this.auth.getHeaders?.(),
340
- },
341
- });
342
- }
343
- catch (error) {
344
- if (Axios.isCancel(error)) {
345
- throw error;
341
+ const task = (async () => {
342
+ let response;
343
+ try {
344
+ response = await this._axios.request({
345
+ ...conf,
346
+ signal: controller.signal,
347
+ headers: {
348
+ ...conf.headers,
349
+ ...this._auth.getHeaders?.(),
350
+ },
351
+ });
352
+ }
353
+ catch (error) {
354
+ if (Axios.isCancel(error)) {
355
+ throw error;
356
+ }
357
+ const codeMessage = error.message.split('status code ');
358
+ let code = '';
359
+ if (codeMessage && codeMessage.length) {
360
+ code = codeMessage[codeMessage.length - 1];
361
+ }
362
+ throw new ApiError(`请求错误,http状态码:${code}`, Number(code), {});
346
363
  }
347
- const codeMessage = error.message.split('status code ');
348
- let code = '';
349
- if (codeMessage && codeMessage.length) {
350
- code = codeMessage[codeMessage.length - 1];
364
+ finally {
365
+ abortControllerMap.delete(requestId);
351
366
  }
352
- throw new ApiError(`请求错误,http状态码:${code}`, Number(code), {});
353
- }
354
- finally {
355
- abortControllerMap.delete(requestId);
356
- }
357
- const { data: rawData } = response;
358
- const raw = rawData;
359
- const fields = this._responseFields;
360
- const code = Number(readResponseField(raw, fields.code));
361
- const msg = String(readResponseField(raw, fields.msg) ?? '未知异常');
362
- const data = readResponseField(raw, fields.data);
363
- const authorizedCode = [].concat(this.auth.authorizedCode ?? AUTHORIZED_CODE);
364
- const unauthorizedCodes = [].concat(this.auth.unauthorizedCodes ?? UNAUTHORIZED_CODE);
365
- if (authorizedCode.includes(code)) {
366
- return formatResponseData(data, fields);
367
- }
368
- if (unauthorizedCodes.includes(code)) {
369
- this.cancelAllRequest();
370
- this.auth.clear?.();
371
- this.emit('auth-failed');
372
- }
373
- throw new ApiError(msg, code);
367
+ const { data: rawData } = response;
368
+ const raw = rawData;
369
+ const fields = this._responseFields;
370
+ const code = Number(readResponseField(raw, fields.code));
371
+ const msg = String(readResponseField(raw, fields.msg) ?? '未知异常');
372
+ const data = readResponseField(raw, fields.data);
373
+ const authorizedCode = [].concat(this._auth.authorizedCode ?? AUTHORIZED_CODE);
374
+ const unauthorizedCodes = [].concat(this._auth.unauthorizedCodes ?? UNAUTHORIZED_CODE);
375
+ if (authorizedCode.includes(code)) {
376
+ return formatResponseData(data, fields);
377
+ }
378
+ if (unauthorizedCodes.includes(code)) {
379
+ this.cancelAllRequest();
380
+ this._auth.clear?.();
381
+ this.emit('auth-failed');
382
+ }
383
+ throw new ApiError(msg, code);
384
+ })();
385
+ return asCancellablePromise(task, abort);
374
386
  }
375
387
  $post(url, data, config) {
376
388
  return this.$request(Object.assign({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/core/api/src/types/index.ts","../../../../../../packages/core/api/src/ApiError.ts","../../../../../../packages/core/api/src/WebSocketClient.ts","../../../../../../packages/core/api/src/constants.ts","../../../../../../packages/core/api/src/utils/formatResponseData.ts","../../../../../../packages/core/api/src/utils/resolveResponseFields.ts","../../../../../../packages/core/api/src/Api.ts","../../../../../../packages/core/api/src/EventSourceClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/core/api/src/types/index.ts","../../../../../../packages/core/api/src/ApiError.ts","../../../../../../packages/core/api/src/WebSocketClient.ts","../../../../../../packages/core/api/src/constants.ts","../../../../../../packages/core/api/src/utils/formatResponseData.ts","../../../../../../packages/core/api/src/utils/resolveResponseFields.ts","../../../../../../packages/core/api/src/Api.ts","../../../../../../packages/core/api/src/EventSourceClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["uuidv4"],"mappings":";;;;;;AASO,MAAM,OAAO,GAAG;;ACAjB,MAAO,QAAY,SAAQ,KAAK,CAAA;AAC3B,IAAA,IAAI;AACJ,IAAA,aAAa;AACb,IAAA,QAAQ;AACR,IAAA,IAAI;AAEb,IAAA,WAAA,CAAY,OAAe,EAAE,IAAY,EAAE,OAA4B,EAAA;QACrE,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAEhB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;IAC9B;AACD;;ACpBD;IACY;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC7B,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC9B,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;AAcxB,MAAO,eAAgB,SAAQ,YAAgC,CAAA;AAC5D,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,aAAa;AACb,IAAA,OAAO;AACP,IAAA,uBAAuB;IACvB,6BAA6B,GAAG,CAAC;IACjC,wBAAwB,GAAG,IAAI;AAEvC,IAAA,WAAA,CAAY,QAAgB,EAAE,SAAkC,EAAE,YAAyC,EAAA;AAC1G,QAAA,KAAK,EAAE;AAEP,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;QAEzD,IAAI,CAAC,cAAc,EAAE;IACtB;IAEA,SAAS,GAAA;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;QAEzD,IAAI,CAAC,cAAc,EAAE;IACtB;IAEA,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IACrB;AAEA,IAAA,IAAI,CAAC,GAAW,EAAA;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB;AAEQ,IAAA,WAAW,GAAG,CAAC,EAAS,KAAI;QACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE;AACb,IAAA,CAAC;AAEO,IAAA,cAAc,GAAG,OAAO,EAAgB,KAAI;AACnD,QAAA,IAAI;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;QAC5C;QAAE,OAAO,GAAG,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC;QAC7C;AACD,IAAA,CAAC;AAEO,IAAA,YAAY,GAAG,CAAC,EAAS,KAAI;QACpC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;AACxC,IAAA,CAAC;AAEO,IAAA,YAAY,GAAG,CAAC,EAAc,KAAI;AACzC,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACjC,YAAA,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACnD;QACA,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC;AAC/C,IAAA,CAAC;IAEO,cAAc,GAAG,MAAW;AACnC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,KAAI;gBAC/D,QAAQ,GAAG;oBACV,KAAK,kBAAkB,CAAC,SAAS;AAChC,wBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;4BACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,wBAAA,CAAC,CAAC;wBACF;oBACD,KAAK,kBAAkB,CAAC,OAAO;AAC9B,wBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;4BACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAgB,KAAI;AACnE,gCAAA,IAAI;oCACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;AAChD,oCAAA,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gCACb;gCAAE,OAAO,GAAG,EAAE;oCACb,IAAI,IAAI,CAAC,aAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;wCACvD,IAAI,CAAC,aAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;oCAC7E;gCACD;AACD,4BAAA,CAAC,CAAC;AACH,wBAAA,CAAC,CAAC;wBACF;oBACD,KAAK,kBAAkB,CAAC,UAAU;AACjC,wBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;4BACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC;AAC7C,wBAAA,CAAC,CAAC;wBACF;oBACD,KAAK,kBAAkB,CAAC,YAAY;AACnC,wBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;4BACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;AAC3C,wBAAA,CAAC,CAAC;wBACF;oBACD,KAAK,kBAAkB,CAAC,KAAK;AAC5B,wBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;4BACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;AAC3C,wBAAA,CAAC,CAAC;wBACF;;AAEH,YAAA,CAAC,CAAC;QACH;AACD,IAAA,CAAC;AAEO,IAAA,oBAAoB,GAAG,OAAO,GAAiB,KAAI;AAC1D,QAAA,IAAI;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC,YAAA,OAAO,IAAI;QACZ;QAAE,OAAO,GAAG,EAAE;AACb,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B;AACD,IAAA,CAAC;;IAGO,KAAK,GAAG,MAAW;AAC1B,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACjC,YAAA,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACnD;AAEA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU;AAC9B,gBAAA,KAAK,SAAS,CAAC,IAAI;oBAClB,IAAI,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,wBAAwB,GAAG,GAAG,EAAE;AAC7E,wBAAA,IAAI,CAAC,6BAA6B,GAAG,GAAG;AAExC,wBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1B;oBACA;AACD,gBAAA,KAAK,SAAS,CAAC,MAAM;oBACpB,IAAI,CAAC,SAAS,EAAE;;QAKnB;QAEA,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;AACjE,IAAA,CAAC;AACD;;ACvKD;AACO,MAAM,eAAe,GAAG;AAC/B;AACO,MAAM,iBAAiB,GAAG;AAEjC;AACO,MAAM,uBAAuB,GAAG;AACtC,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;;;ACXrB,SAAS,aAAa,CAAC,KAAc,EAAA;AACpC,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB;AACnE;AAEA;AACM,SAAU,kBAAkB,CAAI,IAAa,EAAE,MAAiC,EAAA;AACrF,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,OAAO,IAAS;IACjB;AAEA,IAAA,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAEhC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO;gBACN,KAAK;AACL,gBAAA,UAAU,EAAE;oBACX,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC7C,iBAAA;aACI;QACP;IACD;AAEA,IAAA,OAAO,IAAS;AACjB;;ACzBM,SAAU,qBAAqB,CAAC,MAA0B,EAAA;IAC/D,OAAO;AACN,QAAA,GAAG,uBAAuB;AAC1B,QAAA,GAAG,MAAM;KACT;AACF;AAEM,SAAU,iBAAiB,CAAC,MAA+B,EAAE,GAAW,EAAA;AAC7E,IAAA,OAAO,MAAM,CAAC,GAAG,CAAC;AACnB;;AC6BO,MAAM,eAAe,GAA8B,MAAM,CAAC,GAAG,CAAC,iBAAiB;AAEtF;AACA,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA2B;AAE7D,SAAS,oBAAoB,CAC5B,OAAmB,EACnB,KAAqC,EAAA;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AACzC;AAEO,MAAM,MAAM,GAAG,MAAK;AAC1B,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IAEpC,IAAI,CAAC,IAAI,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IACjC;AAEA,IAAA,OAAO,IAAI;AACZ;AAEM,MAAO,GAAI,SAAQ,YAAsB,CAAA;AAC9C,IAAA,OAAO,OAAO,GAAG,OAAO;IAEf,OAAO,GAAW,OAAO;AACzB,IAAA,OAAO;IACP,OAAO,GAAoC,EAAE;AAE9C,IAAA,KAAK;AACL,IAAA,MAAM;IAEd,OAAO,OAAO,GAAG,CAAC,GAAQ,EAAE,OAAA,GAAsB,EAAE,KAAU;AAC7D,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;AAE5B,QAAA,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;AAClC,QAAA,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,GAAkB,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,GAAkB;AACtD,IAAA,CAAC;AAEO,IAAA,eAAe;AAEvB,IAAA,WAAA,CAAY,OAAmB,EAAA;AAC9B,QAAA,KAAK,EAAE;QAEP,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC;AACpE,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC1B,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;AAC9B,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;AACjC,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAEtC,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;AACtB,YAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5B;AAEA,QAAA,IAAI,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;QAC/B;IACD;AAEA,IAAA,IAAI,IAAI,GAAA;QACP,OAAO,QAAQ,CAAC,IAAI;IACrB;AAEA,IAAA,GAAG,CAAC,QAAgE,EAAA;AACnE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC5B,YAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpC,YAAA,OAAO,IAAI;QACZ;QAEA,IAAI,QAAQ,EAAE;AACb,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;AAE3C,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AACrD,gBAAA,OAAO,IAAI;YACZ;AAEA,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;QACjC;AAEA,QAAA,OAAO,IAAI;IACZ;AAEA,IAAA,WAAW,CAAC,IAAY,EAAE,QAAa,EAAE,UAAU,GAAG,IAAI,EAAA;AACzD,QAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AACjC,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,KAAK;YACnB,UAAU;AACV,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI;IACZ;;IAGA,MAAM,KAAK,CAAC,MAAmB,EAAA;AAC9B,QAAA,IAAI;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACtB,gBAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;YAChD;AAEA,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YAEnD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAuB,CAAC;AAEnD,YAAA,OAAO,MAAuB;QAC/B;QAAE,OAAO,KAAK,EAAE;AACf,YAAA,MAAM,KAAK;QACZ;IACD;;AAGA,IAAA,MAAM,MAAM,GAAA;AACX,QAAA,IAAI;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;YACjD;AAEA,YAAA,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI;AAC3B,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC5B;QAAE,OAAO,KAAK,EAAE;AACf,YAAA,MAAM,KAAK;QACZ;IACD;;IAGA,gBAAgB,GAAA;AACf,QAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;YACzC,UAAU,CAAC,KAAK,EAAE;AACnB,QAAA,CAAC,CAAC;QACF,kBAAkB,CAAC,KAAK,EAAE;IAC3B;AAEA,IAAA,QAAQ,CAAU,MAAwB,EAAA;AACzC,QAAA,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AACxC,QAAA,MAAM,SAAS,GAAGA,EAAM,EAAE;AAC1B,QAAA,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;AAE7C,QAAA,MAAM,KAAK,GAAmC,CAAC,MAAe,KAAI;AACjE,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/B,gBAAA,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YACzB;AACA,YAAA,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,QAAA,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM;QAEtC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QAElC,IAAI,KAAK,EAAE;YACV,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QACtC;AAEA,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;AAC/B,SAAA,CAAC;AAEF,QAAA,MAAM,IAAI,GAAG,CAAC,YAAW;AACxB,YAAA,IAAI,QAA0C;AAE9C,YAAA,IAAI;AACH,gBAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AACpC,oBAAA,GAAG,IAAI;oBACP,MAAM,EAAE,UAAU,CAAC,MAAM;AACzB,oBAAA,OAAO,EAAE;wBACR,GAAG,IAAI,CAAC,OAAO;AACf,wBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI;AAC5B,qBAAA;AACD,iBAAA,CAAC;YACH;YAAE,OAAO,KAAU,EAAE;AACpB,gBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC1B,oBAAA,MAAM,KAAK;gBACZ;gBAEA,MAAM,WAAW,GAAU,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC9D,IAAI,IAAI,GAAG,EAAE;AACb,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;oBACtC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3C;AACA,gBAAA,MAAM,IAAI,QAAQ,CAAC,CAAA,aAAA,EAAgB,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7D;oBAAU;AACT,gBAAA,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;YACrC;AAEA,YAAA,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ;YAClC,MAAM,GAAG,GAAG,OAAkC;AAC9C,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe;AAEnC,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACxD,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAChE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC;AAEhD,YAAA,MAAM,cAAc,GAAI,EAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,eAAe,CAAC;AAC5F,YAAA,MAAM,iBAAiB,GAAI,EAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;AAEpG,YAAA,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClC,gBAAA,OAAO,kBAAkB,CAAI,IAAI,EAAE,MAAM,CAAC;YAC3C;AAEA,YAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;AACpB,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACzB;AAEA,YAAA,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAC9B,CAAC,GAAG;AAEJ,QAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC;IACzC;AAEA,IAAA,KAAK,CAAU,GAAW,EAAE,IAAU,EAAE,MAAkC,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,CAAC,MAAM,CAAC;AACb,YAAA,GAAG,MAAM;YACT,GAAG;YACH,IAAI;AACJ,YAAA,MAAM,EAAE,MAAM;AACd,SAAA,CAAC,CACF;IACF;AAEA,IAAA,IAAI,CAAmB,GAAW,EAAE,KAAS,EAAE,MAAkC,EAAA;AAChF,QAAA,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,CAAC,MAAM,CAAC;AACb,YAAA,GAAG,MAAM;YACT,GAAG;YACH,KAAK;AACL,YAAA,MAAM,EAAE,KAAK;AACb,SAAA,CAAC,CACF;IACF;AAEA,IAAA,IAAI,CAAU,GAAW,EAAE,IAAU,EAAE,MAAkC,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,CAAC,MAAM,CAAC;AACb,YAAA,GAAG,MAAM;YACT,GAAG;YACH,IAAI;AACJ,YAAA,MAAM,EAAE,KAAK;AACb,SAAA,CAAC,CACF;IACF;AAEA,IAAA,OAAO,CAAmB,GAAW,EAAE,KAAS,EAAE,MAAkC,EAAA;AACnF,QAAA,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,CAAC,MAAM,CAAC;AACb,YAAA,GAAG,MAAM;YACT,GAAG;YACH,KAAK;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,SAAA,CAAC,CACF;IACF;AAEQ,IAAA,mBAAmB,CAAC,MAAkC,EAAA;AAC7D,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5C;AAEA,QAAA,OAAO,MAAM;IACd;AAEQ,IAAA,oBAAoB,CAAC,QAAuB,EAAA;AACnD,QAAA,OAAO,QAAQ;IAChB;IAEA,YAAY,GAAG,OAAO,IAAY,EAAE,QAAgB,EAAE,QAA+B,KAA8B;AAClH,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC5B;AACC,YAAA,QAAQ,EAAE,KAAK;SACf,EACD,QAAQ,CACR;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACtB,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAA,qBAAA,CAAuB,CAAC;YAChD;iBAAO;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;YAChC;QACD;QAEA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AACzC,YAAA,KAAK,EAAE,IAAI,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;AAC1E,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,QAAQ,EAAE,KAAK;AACf,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE;AAC3B,IAAA,CAAC;;;ICzVU;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC/B,IAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,oBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC9B,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;AAqBhC,MAAM,0BAA0B,GAAG,IAAI;AAEjC,MAAO,iBAAkB,SAAQ,YAAkC,CAAA;AAChE,IAAA,SAAS;AACT,IAAA,QAAQ;AACR,IAAA,aAAa;AACb,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,eAAe;AAEvB,IAAA,WAAA,CAAY,QAAgB,EAAE,OAAA,GAAoC,EAAE,EAAE,YAA2C,EAAA;AAChH,QAAA,KAAK,EAAE;AAEP,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,KAAK;AAE5C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE;QAChB;IACD;;IAGA,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC,oBAAoB,EAAE;AAE3B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU;AACtC,QAAA,IAAI,KAAK,KAAK,WAAW,CAAC,IAAI,IAAI,KAAK,KAAK,WAAW,CAAC,UAAU,EAAE;YACnE;QACD;QAEA,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,QAAQ,EAAE;IAChB;;IAGA,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,QAAQ,EAAE;IAChB;;IAEA,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,cAAc,EAAE;IACtB;IAEQ,QAAQ,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB;QACD;QAEA,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAElG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;QAEzD,IAAI,CAAC,iBAAiB,EAAE;IACzB;IAEQ,cAAc,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB;QACD;QAEA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;AAC5D,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IACzB;IAEQ,oBAAoB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACzB,YAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAClC,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS;QACjC;IACD;IAEQ,kBAAkB,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YAC1C;QACD;AAEA,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAK;AACtC,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS;YAChC,IAAI,CAAC,SAAS,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,0BAA0B,CAAC;IAClE;AAEQ,IAAA,WAAW,GAAG,CAAC,EAAS,KAAI;QACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC;AAC9C,IAAA,CAAC;AAEO,IAAA,cAAc,GAAG,CAAC,EAAgB,KAAI;AAC7C,QAAA,IAAI;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChE;AAAE,QAAA,MAAM;YACP,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC;QAC/C;AACD,IAAA,CAAC;AAEO,IAAA,YAAY,GAAG,CAAC,EAAS,KAAI;QACpC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,CAAC,MAAM,EAAE;YACpE;QACD;QAEA,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE;AAC1B,IAAA,CAAC;IAEO,iBAAiB,GAAG,MAAW;QACtC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACzC;QACD;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAG1B,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CACjC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,KAAI;YAC9B,QAAQ,GAAG;gBACV,KAAK,oBAAoB,CAAC,SAAS;AAClC,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9D;gBACD,KAAK,oBAAoB,CAAC,OAAO;AAChC,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;wBACxB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAgB,KAAI;AACvD,4BAAA,IAAI;gCACH,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC/B;AAAE,4BAAA,MAAM;gCACP,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;4BACrF;AACD,wBAAA,CAAC,CAAC;AACH,oBAAA,CAAC,CAAC;oBACF;gBACD,KAAK,oBAAoB,CAAC,UAAU;AACnC,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACjE;gBACD,KAAK,oBAAoB,CAAC,YAAY;AACrC,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;wBACxB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAS,KAAI;4BAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,WAAW,CAAC,MAAM,EAAE;gCACpD,EAAE,CAAC,EAAE,CAAC;4BACP;AACD,wBAAA,CAAC,CAAC;AACH,oBAAA,CAAC,CAAC;oBACF;gBACD,KAAK,oBAAoB,CAAC,KAAK;AAC9B,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/D;;AAEH,QAAA,CAAC,CAAC;AACH,IAAA,CAAC;AAEO,IAAA,aAAa,CAAC,GAAiB,EAAA;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5B;AACA;;;;"}
@@ -1,9 +1,9 @@
1
- import type { Api } from '../Api';
1
+ import type { ApiInstance } from '../Api';
2
2
  export interface AuthAdapter<TLoginParams = unknown, TLoginResult = unknown, TCredentials = Record<string, string>> {
3
3
  /** 是否已登录 */
4
4
  isAuthenticated?: () => boolean;
5
5
  /** 登录 */
6
- login?: (api: Api, params: TLoginParams) => Promise<TLoginResult>;
6
+ login?: (api: ApiInstance, params: TLoginParams) => Promise<TLoginResult>;
7
7
  /** 主动登出 */
8
8
  logout?: () => Promise<void>;
9
9
  /** 每次请求附加的鉴权 headers */
@@ -22,6 +22,8 @@ export interface ApiEndpointConstructor {
22
22
  }
23
23
  export type ApiOptions = {
24
24
  readonly baseUrl?: string;
25
+ /** 请求超时(毫秒),默认 10000 */
26
+ readonly timeout?: number;
25
27
  /** 鉴权适配器,由各应用自行配置 */
26
28
  readonly auth?: AuthAdapter;
27
29
  readonly version?: string;
@@ -37,6 +39,10 @@ export type ApiRequestConfig = AxiosRequestConfig & {
37
39
  [key: string]: any;
38
40
  };
39
41
  };
42
+ /** 可主动 abort 的请求 Promise */
43
+ export type CancellablePromise<D> = Promise<D> & {
44
+ abort: (reason?: string) => void;
45
+ };
40
46
  export type RawApiResponse<D> = {
41
47
  code: number;
42
48
  msg: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yl546/core-api",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "keywords": [],
@@ -26,7 +26,7 @@
26
26
  "uuid": "^14.0.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "vue": "3.5.33"
29
+ "vue": "3.5.44"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"
package/src/Api.ts CHANGED
@@ -8,6 +8,7 @@ import {
8
8
  ApiOptions,
9
9
  ApiRequestConfig,
10
10
  AuthAdapter,
11
+ CancellablePromise,
11
12
  LoginParams,
12
13
  LoginResponse,
13
14
  RawApiResponse,
@@ -43,6 +44,13 @@ export const API_CONTEXT_KEY: InjectionKey<ApiInstance> = Symbol.for('API_CONTEX
43
44
  /** 请求取消控制器映射 */
44
45
  const abortControllerMap = new Map<string, AbortController>();
45
46
 
47
+ function asCancellablePromise<D>(
48
+ promise: Promise<D>,
49
+ abort: CancellablePromise<D>['abort'],
50
+ ): CancellablePromise<D> {
51
+ return Object.assign(promise, { abort });
52
+ }
53
+
46
54
  export const useApi = () => {
47
55
  const $api = inject(API_CONTEXT_KEY);
48
56
 
@@ -58,9 +66,9 @@ export class Api extends EventEmitter<ApiEvent> {
58
66
 
59
67
  readonly version: string = VERSION;
60
68
  readonly options: Readonly<ApiOptions>;
61
- readonly auth: AuthAdapter;
62
69
  readonly sockets: Record<string, WebSocketClient> = {};
63
70
 
71
+ private _auth: AuthAdapter;
64
72
  private _axios: AxiosInstance;
65
73
 
66
74
  static install = (app: App, options: ApiOptions = {}): void => {
@@ -76,12 +84,12 @@ export class Api extends EventEmitter<ApiEvent> {
76
84
  constructor(options: ApiOptions) {
77
85
  super();
78
86
 
79
- this.auth = options.auth ?? {};
87
+ this._auth = options.auth ?? {};
80
88
  this.options = options;
81
89
  this._responseFields = resolveResponseFields(options.responseFields);
82
90
  this._axios = Axios.create({
83
91
  baseURL: options.baseUrl ?? '',
84
- timeout: 10000,
92
+ timeout: options.timeout ?? 10000,
85
93
  });
86
94
 
87
95
  this._axios.interceptors.request.use(this._requestInterceptor.bind(this));
@@ -141,13 +149,13 @@ export class Api extends EventEmitter<ApiEvent> {
141
149
  /** 登录 */
142
150
  async login(params: LoginParams): Promise<LoginResponse> {
143
151
  try {
144
- if (!this.auth.login) {
152
+ if (!this._auth.login) {
145
153
  throw new Error('Login method not implemented');
146
154
  }
147
155
 
148
- const result = await this.auth.login(this, params);
156
+ const result = await this._auth.login(this, params);
149
157
 
150
- this.auth.persist?.(result);
158
+ this._auth.persist?.(result);
151
159
  this.emit('login-success', result as LoginResponse);
152
160
 
153
161
  return result as LoginResponse;
@@ -159,12 +167,12 @@ export class Api extends EventEmitter<ApiEvent> {
159
167
  /** 登出 */
160
168
  async logout(): Promise<void> {
161
169
  try {
162
- if (!this.auth.logout) {
170
+ if (!this._auth.logout) {
163
171
  throw new Error('Logout method not implemented');
164
172
  }
165
173
 
166
- await this.auth.logout?.();
167
- this.auth.clear?.();
174
+ await this._auth.logout?.();
175
+ this._auth.clear?.();
168
176
  this.emit('logout-success');
169
177
  } catch (error) {
170
178
  throw error;
@@ -179,11 +187,18 @@ export class Api extends EventEmitter<ApiEvent> {
179
187
  abortControllerMap.clear();
180
188
  }
181
189
 
182
- async $request<D = any>(config: ApiRequestConfig): Promise<D> {
190
+ $request<D = any>(config: ApiRequestConfig): CancellablePromise<D> {
183
191
  const controller = new AbortController();
184
192
  const requestId = uuidv4();
185
193
  abortControllerMap.set(requestId, controller);
186
- let response: AxiosResponse<RawApiResponse<D>>;
194
+
195
+ const abort: CancellablePromise<D>['abort'] = (reason?: string) => {
196
+ if (!controller.signal.aborted) {
197
+ controller.abort(reason);
198
+ }
199
+ abortControllerMap.delete(requestId);
200
+ };
201
+
187
202
  const { query, url, ...conf } = config;
188
203
 
189
204
  const urlObject = QS.parseUrl(url);
@@ -196,55 +211,61 @@ export class Api extends EventEmitter<ApiEvent> {
196
211
  url: QS.stringifyUrl(urlObject),
197
212
  });
198
213
 
199
- try {
200
- response = await this._axios.request({
201
- ...conf,
202
- signal: controller.signal,
203
- headers: {
204
- ...conf.headers,
205
- ...this.auth.getHeaders?.(),
206
- },
207
- });
208
- } catch (error: any) {
209
- if (Axios.isCancel(error)) {
210
- throw error;
214
+ const task = (async () => {
215
+ let response: AxiosResponse<RawApiResponse<D>>;
216
+
217
+ try {
218
+ response = await this._axios.request({
219
+ ...conf,
220
+ signal: controller.signal,
221
+ headers: {
222
+ ...conf.headers,
223
+ ...this._auth.getHeaders?.(),
224
+ },
225
+ });
226
+ } catch (error: any) {
227
+ if (Axios.isCancel(error)) {
228
+ throw error;
229
+ }
230
+
231
+ const codeMessage: any[] = error.message.split('status code ');
232
+ let code = '';
233
+ if (codeMessage && codeMessage.length) {
234
+ code = codeMessage[codeMessage.length - 1];
235
+ }
236
+ throw new ApiError(`请求错误,http状态码:${code}`, Number(code), {});
237
+ } finally {
238
+ abortControllerMap.delete(requestId);
211
239
  }
212
240
 
213
- const codeMessage: any[] = error.message.split('status code ');
214
- let code = '';
215
- if (codeMessage && codeMessage.length) {
216
- code = codeMessage[codeMessage.length - 1];
217
- }
218
- throw new ApiError(`请求错误,http状态码:${code}`, Number(code), {});
219
- } finally {
220
- abortControllerMap.delete(requestId);
221
- }
241
+ const { data: rawData } = response;
242
+ const raw = rawData as Record<string, unknown>;
243
+ const fields = this._responseFields;
222
244
 
223
- const { data: rawData } = response;
224
- const raw = rawData as Record<string, unknown>;
225
- const fields = this._responseFields;
245
+ const code = Number(readResponseField(raw, fields.code));
246
+ const msg = String(readResponseField(raw, fields.msg) ?? '未知异常');
247
+ const data = readResponseField(raw, fields.data);
226
248
 
227
- const code = Number(readResponseField(raw, fields.code));
228
- const msg = String(readResponseField(raw, fields.msg) ?? '未知异常');
229
- const data = readResponseField(raw, fields.data);
249
+ const authorizedCode = ([] as number[]).concat(this._auth.authorizedCode ?? AUTHORIZED_CODE);
250
+ const unauthorizedCodes = ([] as number[]).concat(this._auth.unauthorizedCodes ?? UNAUTHORIZED_CODE);
230
251
 
231
- const authorizedCode = ([] as number[]).concat(this.auth.authorizedCode ?? AUTHORIZED_CODE);
232
- const unauthorizedCodes = ([] as number[]).concat(this.auth.unauthorizedCodes ?? UNAUTHORIZED_CODE);
252
+ if (authorizedCode.includes(code)) {
253
+ return formatResponseData<D>(data, fields);
254
+ }
233
255
 
234
- if (authorizedCode.includes(code)) {
235
- return formatResponseData<D>(data, fields);
236
- }
256
+ if (unauthorizedCodes.includes(code)) {
257
+ this.cancelAllRequest();
258
+ this._auth.clear?.();
259
+ this.emit('auth-failed');
260
+ }
237
261
 
238
- if (unauthorizedCodes.includes(code)) {
239
- this.cancelAllRequest();
240
- this.auth.clear?.();
241
- this.emit('auth-failed');
242
- }
262
+ throw new ApiError(msg, code);
263
+ })();
243
264
 
244
- throw new ApiError(msg, code);
265
+ return asCancellablePromise(task, abort);
245
266
  }
246
267
 
247
- $post<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): Promise<D> {
268
+ $post<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): CancellablePromise<D> {
248
269
  return this.$request<D>(
249
270
  Object.assign({
250
271
  ...config,
@@ -255,7 +276,7 @@ export class Api extends EventEmitter<ApiEvent> {
255
276
  );
256
277
  }
257
278
 
258
- $get<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): Promise<D> {
279
+ $get<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): CancellablePromise<D> {
259
280
  return this.$request<D>(
260
281
  Object.assign({
261
282
  ...config,
@@ -266,7 +287,7 @@ export class Api extends EventEmitter<ApiEvent> {
266
287
  );
267
288
  }
268
289
 
269
- $put<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): Promise<D> {
290
+ $put<D = any>(url: string, data?: any, config?: Partial<ApiRequestConfig>): CancellablePromise<D> {
270
291
  return this.$request<D>(
271
292
  Object.assign({
272
293
  ...config,
@@ -277,7 +298,7 @@ export class Api extends EventEmitter<ApiEvent> {
277
298
  );
278
299
  }
279
300
 
280
- $delete<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): Promise<D> {
301
+ $delete<D = any, Q = any>(url: string, query?: Q, config?: Partial<ApiRequestConfig>): CancellablePromise<D> {
281
302
  return this.$request<D>(
282
303
  Object.assign({
283
304
  ...config,
@@ -88,9 +88,7 @@ export class WebSocketClient extends EventEmitter<WebSocketEventType> {
88
88
 
89
89
  private _initListeners = (): void => {
90
90
  if (this._rawListeners) {
91
- (
92
- Object.entries(this._rawListeners) as unknown as Array<[WebSocketEventValue, Array<WebSocketEventListener>]>
93
- ).forEach(([evt, listeners]) => {
91
+ Object.entries(this._rawListeners).forEach(([evt, listeners]) => {
94
92
  switch (evt) {
95
93
  case WebSocketEventType.Connected:
96
94
  listeners.forEach((fn) => {
@@ -104,8 +102,8 @@ export class WebSocketClient extends EventEmitter<WebSocketEventType> {
104
102
  const data = await this._resolveMessageEvent(ev);
105
103
  fn(data, ev);
106
104
  } catch (err) {
107
- if (listeners[WebSocketEventType.RawMessage]) {
108
- listeners[WebSocketEventType.RawMessage].forEach((fn_) => fn_(ev));
105
+ if (this._rawListeners![WebSocketEventType.RawMessage]) {
106
+ this._rawListeners![WebSocketEventType.RawMessage].forEach((fn_) => fn_(ev));
109
107
  }
110
108
  }
111
109
  });
package/src/types/auth.ts CHANGED
@@ -1,11 +1,11 @@
1
- import type { Api } from '../Api';
1
+ import type { ApiInstance } from '../Api';
2
2
 
3
3
  export interface AuthAdapter<TLoginParams = unknown, TLoginResult = unknown, TCredentials = Record<string, string>> {
4
4
  /** 是否已登录 */
5
5
  isAuthenticated?: () => boolean;
6
6
 
7
7
  /** 登录 */
8
- login?: (api: Api, params: TLoginParams) => Promise<TLoginResult>;
8
+ login?: (api: ApiInstance, params: TLoginParams) => Promise<TLoginResult>;
9
9
 
10
10
  /** 主动登出 */
11
11
  logout?: () => Promise<void>;
@@ -30,6 +30,8 @@ export interface ApiEndpointConstructor {
30
30
 
31
31
  export type ApiOptions = {
32
32
  readonly baseUrl?: string;
33
+ /** 请求超时(毫秒),默认 10000 */
34
+ readonly timeout?: number;
33
35
  /** 鉴权适配器,由各应用自行配置 */
34
36
  readonly auth?: AuthAdapter;
35
37
  readonly version?: string;
@@ -45,6 +47,11 @@ export type ApiRequestConfig = AxiosRequestConfig & {
45
47
  query?: { [key: string]: any };
46
48
  };
47
49
 
50
+ /** 可主动 abort 的请求 Promise */
51
+ export type CancellablePromise<D> = Promise<D> & {
52
+ abort: (reason?: string) => void;
53
+ };
54
+
48
55
  export type RawApiResponse<D> = {
49
56
  code: number;
50
57
  msg: string;