orion-design 0.1.56 → 0.1.58

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/README.md +5 -5
  2. package/dist/Throne/hooks/use-throne-context.js.map +1 -1
  3. package/dist/components/Button/index.d.ts +41 -2
  4. package/dist/components/Card/index.d.ts +3 -1
  5. package/dist/components/Form/FileInput/FileInput.vue.d.ts +98 -1
  6. package/dist/components/Form/Form.vue.d.ts +70 -2
  7. package/dist/components/Form/LovInput/LovInput.vue.d.ts +278 -4
  8. package/dist/components/Form/TableSelect/TableSelect.vue.d.ts +278 -4
  9. package/dist/components/Form/index.d.ts +38 -2
  10. package/dist/components/LovTable/LovPagetable.vue.d.ts +154 -2
  11. package/dist/components/LovTable/LovQuerytable.vue.d.ts +98 -2
  12. package/dist/components/LovTable/index.d.ts +139 -4
  13. package/dist/components/TableSelectPagetable/TableSelectPagetable.vue.d.ts +154 -2
  14. package/dist/components/TableSelectPagetable/index.d.ts +82 -2
  15. package/dist/components/Tabs/index.js +1 -1
  16. package/dist/components/Tree/Tree.vue.d.ts +160 -2
  17. package/dist/components/Tree/index.d.ts +84 -2
  18. package/dist/components/_util/dom/element.js +1 -1
  19. package/dist/components/_util/dom/style.js +1 -1
  20. package/dist/components/_util/error.js +1 -1
  21. package/dist/components/_util/functions.js +1 -1
  22. package/dist/components/_util/index.js +1 -1
  23. package/dist/components/_util/objects.js +1 -1
  24. package/dist/components/_util/strings.js +2 -2
  25. package/dist/components/_util/types.js +2 -2
  26. package/dist/components/_util/vue/install.js +1 -1
  27. package/dist/components/_util/vue/props/runtime.js +1 -1
  28. package/dist/components/_util/vue/refs.js +1 -1
  29. package/dist/components/_util/vue/vnode.js +1 -1
  30. package/dist/components-BZKLgLQx.js.map +1 -1
  31. package/dist/{functions-LOH6x_02.js → functions-DzLqXvGt.js} +2 -2
  32. package/dist/functions-DzLqXvGt.js.map +1 -0
  33. package/dist/request/error/ResponseError403.d.ts +6 -0
  34. package/dist/request/error/ResponseError403.js +10 -0
  35. package/dist/request/error/ResponseError403.js.map +1 -0
  36. package/dist/request/error/ResponseError404.d.ts +0 -1
  37. package/dist/request/error/ResponseError404.js.map +1 -1
  38. package/dist/request/error/ResponseErrorSessionException.d.ts +1 -1
  39. package/dist/request/error/ResponseErrorSessionException.js.map +1 -1
  40. package/dist/request/index.d.ts +1 -0
  41. package/dist/request/index.js +6 -4
  42. package/dist/request/index.js.map +1 -1
  43. package/dist/request/leaf7/Leaf7ErrorHandler.js +39 -36
  44. package/dist/request/leaf7/Leaf7ErrorHandler.js.map +1 -1
  45. package/dist/request/leaf7/index.d.ts +1 -0
  46. package/dist/request/leaf7/index.js.map +1 -1
  47. package/dist/utils/functions.js +1 -1
  48. package/dist/version/version.d.ts +1 -1
  49. package/dist/version/version.js +1 -1
  50. package/dist/version/version.js.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/functions-LOH6x_02.js.map +0 -1
@@ -1,51 +1,54 @@
1
- var g = Object.defineProperty;
2
- var S = (e, s, o) => s in e ? g(e, s, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[s] = o;
3
- var l = (e, s, o) => S(e, typeof s != "symbol" ? s + "" : s, o);
4
- import y from "./smCrypto/sm2/index.js";
5
- import D from "./smCrypto/sm3/index.js";
6
- import b from "./smCrypto/sm4/index.js";
7
- import m from "../utils/readBlob.js";
8
- import x from "../error/ResponseError404.js";
9
- import R from "../error/ResponseError500.js";
10
- class H {
11
- constructor(s) {
12
- l(this, "options");
13
- this.options = s;
1
+ var S = Object.defineProperty;
2
+ var g = (o, t, r) => t in o ? S(o, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[t] = r;
3
+ var f = (o, t, r) => g(o, typeof t != "symbol" ? t + "" : t, r);
4
+ import x from "./smCrypto/sm2/index.js";
5
+ import y from "./smCrypto/sm3/index.js";
6
+ import D from "./smCrypto/sm4/index.js";
7
+ import c from "../utils/readBlob.js";
8
+ import b from "../error/ResponseError404.js";
9
+ import _ from "../error/ResponseError500.js";
10
+ import O from "../error/ResponseErrorException.js";
11
+ import $ from "../error/ResponseErrorSessionException.js";
12
+ import B from "../error/ResponseError403.js";
13
+ class z {
14
+ constructor(t) {
15
+ f(this, "options");
16
+ this.options = t;
14
17
  }
15
- async handle(s, o) {
16
- const { _s1: c, _s2: u } = this.options;
17
- if (s.response) {
18
- const t = s.response;
19
- if (t.status == 200) {
20
- const a = t.data;
21
- let n = t.headers["web-encrypt-sign"], f = t.headers["web-encrypt-timestamp"], r;
18
+ async handle(t, r) {
19
+ const { _s1: l, _s2: w } = this.options;
20
+ if (t.response) {
21
+ const s = t.response, n = `'${s.config.url}' ${s.status} ${s.statusText}`;
22
+ if (s.status == 200) {
23
+ const a = s.data;
24
+ let i = s.headers["web-encrypt-sign"], h = s.headers["web-encrypt-timestamp"], e;
22
25
  if (a instanceof Blob)
23
- if (a != null && n) {
24
- const i = await m(a);
25
- let p;
26
- n = n;
27
- const d = f + i, E = D(d);
26
+ if (a != null && i) {
27
+ const p = await c(a);
28
+ let m;
29
+ i = i;
30
+ const d = h + p, R = y(d);
28
31
  try {
29
- p = y._s2DOVERSIG(E, n, u, { hash: !0, der: !0 });
32
+ m = x._s2DOVERSIG(R, i, w, { hash: !0, der: !0 });
30
33
  } catch {
31
34
  throw new Error("电子签名验证失败,接收到的响应无效");
32
35
  }
33
- if (!p)
36
+ if (!m)
34
37
  throw new Error("电子签名验证失败,接收到的响应无效");
35
- r = JSON.parse(b._s4DE(i, c));
38
+ e = JSON.parse(D._s4DE(p, l));
36
39
  } else
37
- r = await m(a), r = JSON.parse(r);
40
+ e = await c(a), e = JSON.parse(e);
38
41
  else
39
- r = a;
40
- const { appcode: w, msg: h } = r;
41
- if (w != "0")
42
- throw new Error(h);
43
- } else throw t.status == 404 ? new x("'" + t.config.url + "' " + t.status + " " + t.statusText, s, t) : t.status == 500 ? new R("'" + t.config.url + "' " + t.status + " " + t.statusText, s, t) : new Error("'" + t.config.url + "' " + t.status + " " + t.statusText);
42
+ e = a;
43
+ const { appcode: u, msg: E } = e;
44
+ if (u != "0")
45
+ throw new O(E, t, s, e);
46
+ } else throw s.status == 401 ? new $(n, t, s) : s.status == 403 ? new B(n, t, s) : s.status == 404 ? new b(n, t, s) : s.status == 500 ? new _(n, t, s) : new Error(n);
44
47
  }
45
- throw s;
48
+ throw t;
46
49
  }
47
50
  }
48
51
  export {
49
- H as default
52
+ z as default
50
53
  };
51
54
  //# sourceMappingURL=Leaf7ErrorHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Leaf7ErrorHandler.js","sources":["../../../src/request/leaf7/Leaf7ErrorHandler.ts"],"sourcesContent":["import { Leaf7DataStruct } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport sm4 from './smCrypto/sm4'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\n\r\nimport readBlob from '../utils/readBlob'\r\n\r\nimport type ErrorHandlerChain from '../ErrorHandlerChain'\r\nimport ResponseError404 from '../error/ResponseError404'\r\nimport ResponseError500 from '../error/ResponseError500'\r\n\r\nexport default class Leaf7ErrorHandler {\r\n options: Leaf7EncryptOptions\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async handle(error: Error, chain: ErrorHandlerChain) {\r\n const { _s1, _s2 } = this.options\r\n if (error.response) {\r\n const response = error.response\r\n if (response.status == 200) {\r\n const rawData = response.data\r\n // 取header中的签名\r\n let signature = response.headers['web-encrypt-sign']\r\n let timestamp = response.headers['web-encrypt-timestamp']\r\n\r\n let jsonData\r\n\r\n if (rawData instanceof Blob) {\r\n // 文件下载抛异常JSON,在Blob里面\r\n if (rawData != null && signature) {\r\n const tempData = await readBlob(rawData)\r\n let verifySignatureResult: boolean\r\n signature = signature\r\n\r\n const mergeStr = timestamp + tempData\r\n const sm3Str = sm3(mergeStr)\r\n // 验签\r\n try {\r\n verifySignatureResult = sm2._s2DOVERSIG(sm3Str, signature, _s2, { hash: true, der: true })\r\n } catch (e) {\r\n throw new Error('电子签名验证失败,接收到的响应无效')\r\n }\r\n if (!verifySignatureResult) {\r\n throw new Error('电子签名验证失败,接收到的响应无效')\r\n }\r\n\r\n const result = JSON.parse(sm4._s4DE(tempData, _s1))\r\n jsonData = result\r\n } else {\r\n jsonData = await readBlob(rawData)\r\n jsonData = JSON.parse(jsonData)\r\n }\r\n } else {\r\n // 普通请求的异常JSON\r\n jsonData = rawData\r\n }\r\n\r\n const { appcode, msg }: Leaf7DataStruct = jsonData\r\n\r\n if (appcode != '0') {\r\n throw new Error(msg)\r\n }\r\n } else if (response.status == 404) {\r\n throw new ResponseError404(\"'\" + response.config.url + \"' \" + response.status + ' ' + response.statusText, error, response)\r\n } else if (response.status == 500) {\r\n throw new ResponseError500(\"'\" + response.config.url + \"' \" + response.status + ' ' + response.statusText, error, response)\r\n } else {\r\n throw new Error(\"'\" + response.config.url + \"' \" + response.status + ' ' + response.statusText)\r\n }\r\n }\r\n\r\n throw error\r\n }\r\n}\r\n"],"names":["Leaf7ErrorHandler","options","__publicField","error","chain","_s1","_s2","response","rawData","signature","timestamp","jsonData","tempData","readBlob","verifySignatureResult","mergeStr","sm3Str","sm3","sm2","sm4","appcode","msg","ResponseError404","ResponseError500"],"mappings":";;;;;;;;;AAaA,MAAqBA,EAAkB;AAAA,EAErC,YAAYC,GAA8B;AAD1C,IAAAC,EAAA;AAEE,SAAK,UAAUD;AAAA,EACjB;AAAA,EAEA,MAAM,OAAOE,GAAcC,GAA0B;AACnD,UAAM,EAAE,KAAAC,GAAK,KAAAC,MAAQ,KAAK;AAC1B,QAAIH,EAAM,UAAU;AAClB,YAAMI,IAAWJ,EAAM;AACnB,UAAAI,EAAS,UAAU,KAAK;AAC1B,cAAMC,IAAUD,EAAS;AAErB,YAAAE,IAAYF,EAAS,QAAQ,kBAAkB,GAC/CG,IAAYH,EAAS,QAAQ,uBAAuB,GAEpDI;AAEJ,YAAIH,aAAmB;AAEjB,cAAAA,KAAW,QAAQC,GAAW;AAC1B,kBAAAG,IAAW,MAAMC,EAASL,CAAO;AACnC,gBAAAM;AACQ,YAAAL,IAAAA;AAEZ,kBAAMM,IAAWL,IAAYE,GACvBI,IAASC,EAAIF,CAAQ;AAEvB,gBAAA;AACsB,cAAAD,IAAAI,EAAI,YAAYF,GAAQP,GAAWH,GAAK,EAAE,MAAM,IAAM,KAAK,GAAM,CAAA;AAAA,oBAC/E;AACJ,oBAAA,IAAI,MAAM,mBAAmB;AAAA,YACrC;AACA,gBAAI,CAACQ;AACG,oBAAA,IAAI,MAAM,mBAAmB;AAI1B,YAAAH,IADI,KAAK,MAAMQ,EAAI,MAAMP,GAAUP,CAAG,CAAC;AAAA,UACvC;AAEA,YAAAM,IAAA,MAAME,EAASL,CAAO,GACtBG,IAAA,KAAK,MAAMA,CAAQ;AAAA;AAIrB,UAAAA,IAAAH;AAGP,cAAA,EAAE,SAAAY,GAAS,KAAAC,EAAyB,IAAAV;AAE1C,YAAIS,KAAW;AACP,gBAAA,IAAI,MAAMC,CAAG;AAAA,MACrB,MACF,OAAWd,EAAS,UAAU,MACtB,IAAIe,EAAiB,MAAMf,EAAS,OAAO,MAAM,OAAOA,EAAS,SAAS,MAAMA,EAAS,YAAYJ,GAAOI,CAAQ,IACjHA,EAAS,UAAU,MACtB,IAAIgB,EAAiB,MAAMhB,EAAS,OAAO,MAAM,OAAOA,EAAS,SAAS,MAAMA,EAAS,YAAYJ,GAAOI,CAAQ,IAEpH,IAAI,MAAM,MAAMA,EAAS,OAAO,MAAM,OAAOA,EAAS,SAAS,MAAMA,EAAS,UAAU;AAAA,IAElG;AAEM,UAAAJ;AAAA,EACR;AACF;"}
1
+ {"version":3,"file":"Leaf7ErrorHandler.js","sources":["../../../src/request/leaf7/Leaf7ErrorHandler.ts"],"sourcesContent":["import { Leaf7DataStruct } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport sm4 from './smCrypto/sm4'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\n\r\nimport readBlob from '../utils/readBlob'\r\n\r\nimport type ErrorHandlerChain from '../ErrorHandlerChain'\r\nimport ResponseError404 from '../error/ResponseError404'\r\nimport ResponseError500 from '../error/ResponseError500'\r\nimport ResponseErrorException from '../error/ResponseErrorException'\r\nimport ResponseError from '../error/ResponseError'\r\nimport ResponseErrorSessionException from '../error/ResponseErrorSessionException'\r\nimport ResponseError403 from '../error/ResponseError403'\r\n\r\nexport default class Leaf7ErrorHandler {\r\n options: Leaf7EncryptOptions\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async handle(error: Error, chain: ErrorHandlerChain) {\r\n const { _s1, _s2 } = this.options\r\n if (error.response) {\r\n const response = error.response\r\n const errortext = `'${response.config.url}' ${response.status} ${response.statusText}`\r\n if (response.status == 200) {\r\n const rawData = response.data\r\n // 取header中的签名\r\n let signature = response.headers['web-encrypt-sign']\r\n let timestamp = response.headers['web-encrypt-timestamp']\r\n\r\n let jsonData\r\n\r\n if (rawData instanceof Blob) {\r\n // 文件下载抛异常JSON,在Blob里面\r\n if (rawData != null && signature) {\r\n const tempData = await readBlob(rawData)\r\n let verifySignatureResult: boolean\r\n signature = signature\r\n\r\n const mergeStr = timestamp + tempData\r\n const sm3Str = sm3(mergeStr)\r\n // 验签\r\n try {\r\n verifySignatureResult = sm2._s2DOVERSIG(sm3Str, signature, _s2, { hash: true, der: true })\r\n } catch (e) {\r\n throw new Error('电子签名验证失败,接收到的响应无效')\r\n }\r\n if (!verifySignatureResult) {\r\n throw new Error('电子签名验证失败,接收到的响应无效')\r\n }\r\n\r\n const result = JSON.parse(sm4._s4DE(tempData, _s1))\r\n jsonData = result\r\n } else {\r\n jsonData = await readBlob(rawData)\r\n jsonData = JSON.parse(jsonData)\r\n }\r\n } else {\r\n // 普通请求的异常JSON\r\n jsonData = rawData\r\n }\r\n\r\n const { appcode, msg }: Leaf7DataStruct = jsonData\r\n\r\n if (appcode != '0') {\r\n throw new ResponseErrorException(msg, error, response, jsonData)\r\n }\r\n } else if (response.status == 401) {\r\n throw new ResponseErrorSessionException(errortext, error, response)\r\n } else if (response.status == 403) {\r\n throw new ResponseError403(errortext, error, response)\r\n } else if (response.status == 404) {\r\n throw new ResponseError404(errortext, error, response)\r\n } else if (response.status == 500) {\r\n throw new ResponseError500(errortext, error, response)\r\n } else {\r\n throw new Error(errortext)\r\n }\r\n }\r\n\r\n throw error\r\n }\r\n}\r\n"],"names":["Leaf7ErrorHandler","options","__publicField","error","chain","_s1","_s2","response","errortext","rawData","signature","timestamp","jsonData","tempData","readBlob","verifySignatureResult","mergeStr","sm3Str","sm3","sm2","sm4","appcode","msg","ResponseErrorException","ResponseErrorSessionException","ResponseError403","ResponseError404","ResponseError500"],"mappings":";;;;;;;;;;;;AAiBA,MAAqBA,EAAkB;AAAA,EAErC,YAAYC,GAA8B;AAD1C,IAAAC,EAAA;AAEE,SAAK,UAAUD;AAAA,EACjB;AAAA,EAEA,MAAM,OAAOE,GAAcC,GAA0B;AACnD,UAAM,EAAE,KAAAC,GAAK,KAAAC,MAAQ,KAAK;AAC1B,QAAIH,EAAM,UAAU;AAClB,YAAMI,IAAWJ,EAAM,UACjBK,IAAY,IAAID,EAAS,OAAO,GAAG,KAAKA,EAAS,MAAM,IAAIA,EAAS,UAAU;AAChF,UAAAA,EAAS,UAAU,KAAK;AAC1B,cAAME,IAAUF,EAAS;AAErB,YAAAG,IAAYH,EAAS,QAAQ,kBAAkB,GAC/CI,IAAYJ,EAAS,QAAQ,uBAAuB,GAEpDK;AAEJ,YAAIH,aAAmB;AAEjB,cAAAA,KAAW,QAAQC,GAAW;AAC1B,kBAAAG,IAAW,MAAMC,EAASL,CAAO;AACnC,gBAAAM;AACQ,YAAAL,IAAAA;AAEZ,kBAAMM,IAAWL,IAAYE,GACvBI,IAASC,EAAIF,CAAQ;AAEvB,gBAAA;AACsB,cAAAD,IAAAI,EAAI,YAAYF,GAAQP,GAAWJ,GAAK,EAAE,MAAM,IAAM,KAAK,GAAM,CAAA;AAAA,oBAC/E;AACJ,oBAAA,IAAI,MAAM,mBAAmB;AAAA,YACrC;AACA,gBAAI,CAACS;AACG,oBAAA,IAAI,MAAM,mBAAmB;AAI1B,YAAAH,IADI,KAAK,MAAMQ,EAAI,MAAMP,GAAUR,CAAG,CAAC;AAAA,UACvC;AAEA,YAAAO,IAAA,MAAME,EAASL,CAAO,GACtBG,IAAA,KAAK,MAAMA,CAAQ;AAAA;AAIrB,UAAAA,IAAAH;AAGP,cAAA,EAAE,SAAAY,GAAS,KAAAC,EAAyB,IAAAV;AAE1C,YAAIS,KAAW;AACb,gBAAM,IAAIE,EAAuBD,GAAKnB,GAAOI,GAAUK,CAAQ;AAAA,MACjE,MACF,OAAWL,EAAS,UAAU,MACtB,IAAIiB,EAA8BhB,GAAWL,GAAOI,CAAQ,IACzDA,EAAS,UAAU,MACtB,IAAIkB,EAAiBjB,GAAWL,GAAOI,CAAQ,IAC5CA,EAAS,UAAU,MACtB,IAAImB,EAAiBlB,GAAWL,GAAOI,CAAQ,IAC5CA,EAAS,UAAU,MACtB,IAAIoB,EAAiBnB,GAAWL,GAAOI,CAAQ,IAE/C,IAAI,MAAMC,CAAS;AAAA,IAE7B;AAEM,UAAAL;AAAA,EACR;AACF;"}
@@ -6,6 +6,7 @@ export interface RequestOptionsI {
6
6
  loading?: boolean;
7
7
  mask?: boolean;
8
8
  timeout?: number;
9
+ headers?: Record<string, string>;
9
10
  }
10
11
  export declare function request<T>(url: string, data?: RequestParams | FormData, options?: RequestOptionsI): Promise<T>;
11
12
  export declare function download(url: string, data?: RequestParams, options?: RequestOptionsI): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/request/leaf7/index.ts"],"sourcesContent":["import axios from 'axios'\r\nimport { Base64 } from 'js-base64'\r\nimport { cloneDeep } from '../../utils'\r\nimport ResponseParserChain, { type ResponseParser } from '../ResponseParserChain'\r\nimport ErrorHandlerChain, { type ErrorHandler } from '../ErrorHandlerChain'\r\nimport RequestFilterChain, { type RequestFilter } from '../RequestFilterChain'\r\nimport { ElLoading } from 'element-plus'\r\n\r\nimport ResponseError from '../error/ResponseError'\r\n\r\nexport type RequestParams = Record<string, unknown>\r\n\r\nexport interface RequestOptionsI {\r\n loading?: boolean\r\n mask?: boolean\r\n timeout?: number\r\n}\r\n\r\n//////////////////////////////////// Chain\r\nlet gRequestFilters: RequestFilter[] = []\r\nlet gResponseParsers: ResponseParser[] = []\r\nlet gErrorHandlers: ErrorHandler[] = []\r\n\r\n//////////////////////////////////// GLOBAL VARS\r\n\r\nlet BASE_URL = '/'\r\nlet REQUEST_TIMEOUT = 1000 * 30\r\nconst LOADING_DELAY = 1500\r\nlet RESPONSE_TYPE: 'json' | 'text' = 'json'\r\n\r\n//////////////////////////////////// AXIOS\r\n\r\nconst g_AxiosInstance = axios.create()\r\ng_AxiosInstance.interceptors.request.use(function (config) {\r\n const chain = new RequestFilterChain(gRequestFilters)\r\n chain.doFilter(config, chain)\r\n return config\r\n})\r\ng_AxiosInstance.interceptors.response.use(function (response) {\r\n try {\r\n const chain = new ResponseParserChain(gResponseParsers)\r\n return chain.doParse(response, chain)\r\n } catch (e) {\r\n throw new ResponseError((e as Error).message, { cause: e }, response)\r\n }\r\n})\r\n\r\nexport function request<T>(\r\n url: string,\r\n data: RequestParams | FormData = {},\r\n options: RequestOptionsI = { loading: true, mask: false, timeout: REQUEST_TIMEOUT }\r\n): Promise<T> {\r\n let newData = data\r\n if (!(data instanceof FormData)) {\r\n newData = cloneDeep(data)\r\n }\r\n\r\n // loading\r\n let loading: any\r\n\r\n if (options.loading === true) {\r\n loading = ElLoading.service({ fullscreen: true, background: 'transparent' })\r\n }\r\n\r\n return g_AxiosInstance\r\n .request({\r\n baseURL: BASE_URL,\r\n method: 'POST',\r\n timeout: REQUEST_TIMEOUT,\r\n withCredentials: true,\r\n url,\r\n data: newData,\r\n responseType: RESPONSE_TYPE,\r\n ...options,\r\n })\r\n .then((data) => {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n return data\r\n })\r\n .catch(function (error) {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n const chain = new ErrorHandlerChain(gErrorHandlers)\r\n return chain.handle(error, chain)\r\n }) as Promise<T>\r\n}\r\n\r\nexport function download(url: string, data: RequestParams = {}, options: RequestOptionsI = { loading: true, mask: false, timeout: REQUEST_TIMEOUT }) {\r\n let loading: any\r\n\r\n if (options.loading === true) {\r\n loading = ElLoading.service({ fullscreen: true, background: 'transparent' })\r\n }\r\n\r\n return g_AxiosInstance\r\n .request({\r\n baseURL: BASE_URL,\r\n method: 'POST',\r\n timeout: REQUEST_TIMEOUT,\r\n withCredentials: true,\r\n url,\r\n data,\r\n responseType: 'blob',\r\n ...options,\r\n })\r\n .then((data) => {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n return data\r\n })\r\n .then((response) => {\r\n const contentDisposition = response.headers['content-disposition']\r\n const blob = response.data\r\n\r\n const base64FileName = contentDisposition.match(/attachment; filename=\\\"(.*?)\\\"/)[1]\r\n const decodedFileName = Base64.decode(base64FileName)\r\n // for IE\r\n //@ts-ignore\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n //@ts-ignore\r\n window.navigator.msSaveOrOpenBlob(blob, decodedFileName)\r\n } else {\r\n const a = document.createElement('a')\r\n const url = URL.createObjectURL(blob)\r\n a.href = url\r\n a.download = decodedFileName\r\n document.body.appendChild(a)\r\n a.click()\r\n document.body.removeChild(a)\r\n URL.revokeObjectURL(url)\r\n }\r\n })\r\n .catch(function (error) {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n const chain = new ErrorHandlerChain(gErrorHandlers)\r\n return chain.handle(error, chain)\r\n })\r\n}\r\n\r\nexport function upload(url: string, params: RequestParams, options: RequestOptionsI) {\r\n const formdata = new FormData()\r\n if (params) {\r\n const keys = Object.keys(params)\r\n const normalParams: Record<string, unknown> = {}\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key = keys[i]\r\n const itemValue = params[key]\r\n if (itemValue instanceof File) {\r\n formdata.append(key, itemValue)\r\n } else if (itemValue instanceof Array) {\r\n let isFile = false\r\n for (let j = 0; j < itemValue.length; j++) {\r\n if (itemValue[j] instanceof File) {\r\n isFile = true\r\n break\r\n }\r\n }\r\n if (isFile) {\r\n for (let j = 0; j < itemValue.length; j++) {\r\n formdata.append(key, itemValue[j])\r\n }\r\n } else {\r\n formdata.append(key, JSON.stringify(itemValue))\r\n }\r\n } else {\r\n formdata.append(key, JSON.stringify(itemValue))\r\n }\r\n }\r\n }\r\n\r\n return request(url, formdata, options)\r\n}\r\n\r\n// config\r\nexport const config = {\r\n setBaseUrl: (pBaseUrl: string) => {\r\n if (!pBaseUrl) {\r\n throw new Error(`pBaseUrl is null!`)\r\n }\r\n BASE_URL = pBaseUrl\r\n },\r\n setRequestTimeout: (pTimeout: number) => {\r\n REQUEST_TIMEOUT = pTimeout\r\n },\r\n setResponseType: (pType: 'json' | 'text') => {\r\n RESPONSE_TYPE = pType\r\n },\r\n setRequestFilters: (...filters: RequestFilter[]) => {\r\n if (filters == null) {\r\n throw new Error(`filters is null!`)\r\n }\r\n gRequestFilters = filters\r\n },\r\n setResponseParsers: (...parsers: ResponseParser[]) => {\r\n if (parsers == null) {\r\n throw new Error(`parsers is null!`)\r\n }\r\n gResponseParsers = parsers\r\n },\r\n setErrorHandlers: (...handlers: ErrorHandler[]) => {\r\n if (handlers == null) {\r\n throw new Error(`handlers should not null!`)\r\n }\r\n gErrorHandlers = handlers\r\n },\r\n}\r\n"],"names":["gRequestFilters","gResponseParsers","gErrorHandlers","BASE_URL","REQUEST_TIMEOUT","RESPONSE_TYPE","g_AxiosInstance","axios","config","chain","RequestFilterChain","response","ResponseParserChain","e","ResponseError","request","url","data","options","newData","cloneDeep","loading","ElLoading","error","ErrorHandlerChain","download","contentDisposition","blob","base64FileName","decodedFileName","Base64","a","upload","params","formdata","keys","i","key","itemValue","isFile","j","pBaseUrl","pTimeout","pType","filters","parsers","handlers"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/request/leaf7/index.ts"],"sourcesContent":["import axios from 'axios'\r\nimport { Base64 } from 'js-base64'\r\nimport { cloneDeep } from '../../utils'\r\nimport ResponseParserChain, { type ResponseParser } from '../ResponseParserChain'\r\nimport ErrorHandlerChain, { type ErrorHandler } from '../ErrorHandlerChain'\r\nimport RequestFilterChain, { type RequestFilter } from '../RequestFilterChain'\r\nimport { ElLoading } from 'element-plus'\r\n\r\nimport ResponseError from '../error/ResponseError'\r\n\r\nexport type RequestParams = Record<string, unknown>\r\n\r\nexport interface RequestOptionsI {\r\n loading?: boolean\r\n mask?: boolean\r\n timeout?: number\r\n headers?: Record<string, string>\r\n}\r\n\r\n//////////////////////////////////// Chain\r\nlet gRequestFilters: RequestFilter[] = []\r\nlet gResponseParsers: ResponseParser[] = []\r\nlet gErrorHandlers: ErrorHandler[] = []\r\n\r\n//////////////////////////////////// GLOBAL VARS\r\n\r\nlet BASE_URL = '/'\r\nlet REQUEST_TIMEOUT = 1000 * 30\r\nconst LOADING_DELAY = 1500\r\nlet RESPONSE_TYPE: 'json' | 'text' = 'json'\r\n\r\n//////////////////////////////////// AXIOS\r\n\r\nconst g_AxiosInstance = axios.create()\r\ng_AxiosInstance.interceptors.request.use(function (config) {\r\n const chain = new RequestFilterChain(gRequestFilters)\r\n chain.doFilter(config, chain)\r\n return config\r\n})\r\ng_AxiosInstance.interceptors.response.use(function (response) {\r\n try {\r\n const chain = new ResponseParserChain(gResponseParsers)\r\n return chain.doParse(response, chain)\r\n } catch (e) {\r\n throw new ResponseError((e as Error).message, { cause: e }, response)\r\n }\r\n})\r\n\r\nexport function request<T>(\r\n url: string,\r\n data: RequestParams | FormData = {},\r\n options: RequestOptionsI = { loading: true, mask: false, timeout: REQUEST_TIMEOUT }\r\n): Promise<T> {\r\n let newData = data\r\n if (!(data instanceof FormData)) {\r\n newData = cloneDeep(data)\r\n }\r\n\r\n // loading\r\n let loading: any\r\n\r\n if (options.loading === true) {\r\n loading = ElLoading.service({ fullscreen: true, background: 'transparent' })\r\n }\r\n\r\n return g_AxiosInstance\r\n .request({\r\n baseURL: BASE_URL,\r\n method: 'POST',\r\n timeout: REQUEST_TIMEOUT,\r\n withCredentials: true,\r\n url,\r\n data: newData,\r\n responseType: RESPONSE_TYPE,\r\n ...options,\r\n })\r\n .then((data) => {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n return data\r\n })\r\n .catch(function (error) {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n const chain = new ErrorHandlerChain(gErrorHandlers)\r\n return chain.handle(error, chain)\r\n }) as Promise<T>\r\n}\r\n\r\nexport function download(url: string, data: RequestParams = {}, options: RequestOptionsI = { loading: true, mask: false, timeout: REQUEST_TIMEOUT }) {\r\n let loading: any\r\n\r\n if (options.loading === true) {\r\n loading = ElLoading.service({ fullscreen: true, background: 'transparent' })\r\n }\r\n\r\n return g_AxiosInstance\r\n .request({\r\n baseURL: BASE_URL,\r\n method: 'POST',\r\n timeout: REQUEST_TIMEOUT,\r\n withCredentials: true,\r\n url,\r\n data,\r\n responseType: 'blob',\r\n ...options,\r\n })\r\n .then((data) => {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n return data\r\n })\r\n .then((response) => {\r\n const contentDisposition = response.headers['content-disposition']\r\n const blob = response.data\r\n\r\n const base64FileName = contentDisposition.match(/attachment; filename=\\\"(.*?)\\\"/)[1]\r\n const decodedFileName = Base64.decode(base64FileName)\r\n // for IE\r\n //@ts-ignore\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n //@ts-ignore\r\n window.navigator.msSaveOrOpenBlob(blob, decodedFileName)\r\n } else {\r\n const a = document.createElement('a')\r\n const url = URL.createObjectURL(blob)\r\n a.href = url\r\n a.download = decodedFileName\r\n document.body.appendChild(a)\r\n a.click()\r\n document.body.removeChild(a)\r\n URL.revokeObjectURL(url)\r\n }\r\n })\r\n .catch(function (error) {\r\n if (loading) {\r\n loading.close()\r\n }\r\n\r\n const chain = new ErrorHandlerChain(gErrorHandlers)\r\n return chain.handle(error, chain)\r\n })\r\n}\r\n\r\nexport function upload(url: string, params: RequestParams, options: RequestOptionsI) {\r\n const formdata = new FormData()\r\n if (params) {\r\n const keys = Object.keys(params)\r\n const normalParams: Record<string, unknown> = {}\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key = keys[i]\r\n const itemValue = params[key]\r\n if (itemValue instanceof File) {\r\n formdata.append(key, itemValue)\r\n } else if (itemValue instanceof Array) {\r\n let isFile = false\r\n for (let j = 0; j < itemValue.length; j++) {\r\n if (itemValue[j] instanceof File) {\r\n isFile = true\r\n break\r\n }\r\n }\r\n if (isFile) {\r\n for (let j = 0; j < itemValue.length; j++) {\r\n formdata.append(key, itemValue[j])\r\n }\r\n } else {\r\n formdata.append(key, JSON.stringify(itemValue))\r\n }\r\n } else {\r\n formdata.append(key, JSON.stringify(itemValue))\r\n }\r\n }\r\n }\r\n\r\n return request(url, formdata, options)\r\n}\r\n\r\n// config\r\nexport const config = {\r\n setBaseUrl: (pBaseUrl: string) => {\r\n if (!pBaseUrl) {\r\n throw new Error(`pBaseUrl is null!`)\r\n }\r\n BASE_URL = pBaseUrl\r\n },\r\n setRequestTimeout: (pTimeout: number) => {\r\n REQUEST_TIMEOUT = pTimeout\r\n },\r\n setResponseType: (pType: 'json' | 'text') => {\r\n RESPONSE_TYPE = pType\r\n },\r\n setRequestFilters: (...filters: RequestFilter[]) => {\r\n if (filters == null) {\r\n throw new Error(`filters is null!`)\r\n }\r\n gRequestFilters = filters\r\n },\r\n setResponseParsers: (...parsers: ResponseParser[]) => {\r\n if (parsers == null) {\r\n throw new Error(`parsers is null!`)\r\n }\r\n gResponseParsers = parsers\r\n },\r\n setErrorHandlers: (...handlers: ErrorHandler[]) => {\r\n if (handlers == null) {\r\n throw new Error(`handlers should not null!`)\r\n }\r\n gErrorHandlers = handlers\r\n },\r\n}\r\n"],"names":["gRequestFilters","gResponseParsers","gErrorHandlers","BASE_URL","REQUEST_TIMEOUT","RESPONSE_TYPE","g_AxiosInstance","axios","config","chain","RequestFilterChain","response","ResponseParserChain","e","ResponseError","request","url","data","options","newData","cloneDeep","loading","ElLoading","error","ErrorHandlerChain","download","contentDisposition","blob","base64FileName","decodedFileName","Base64","a","upload","params","formdata","keys","i","key","itemValue","isFile","j","pBaseUrl","pTimeout","pType","filters","parsers","handlers"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { N as t, t as e } from "../functions-LOH6x_02.js";
1
+ import { N as t, t as e } from "../functions-DzLqXvGt.js";
2
2
  export {
3
3
  t as NOOP,
4
4
  e as toRawType
@@ -1,2 +1,2 @@
1
- declare const _default: "0.1.56";
1
+ declare const _default: "0.1.58";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "0.1.56";
1
+ const e = "0.1.58";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '0.1.56';"],"names":["version"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '0.1.58';"],"names":["version"],"mappings":"AAAA,MAAAA,IAAe;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orion-design",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions-LOH6x_02.js","sources":["../node_modules/@vue/shared/dist/shared.esm-bundler.js"],"sourcesContent":["/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \"&quot;\";\n break;\n case 38:\n escaped = \"&amp;\";\n break;\n case 39:\n escaped = \"&#39;\";\n break;\n case 60:\n escaped = \"&lt;\";\n break;\n case 62:\n escaped = \"&gt;\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\nfunction escapeHtmlComment(src) {\n return src.replace(commentStripRE, \"\");\n}\nconst cssVarNameEscapeSymbolsRE = /[ !\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n"],"names":["NOOP","hasOwnProperty","hasOwn","val","key","isArray","isDate","toTypeString","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","cacheStringFunction","fn","cache","str","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAaqB,QAAQ,IAAI,aAAa,gBAAgB,OAAO,OAAO,CAAE,CAAA;AACzD,QAAQ,IAAI,aAAa,gBAAgB,OAAO,OAAO,CAAE,CAAA;AACzE,MAACA,IAAO,MAAM;AACnB,GAYMC,IAAiB,OAAO,UAAU,gBAClCC,IAAS,CAACC,GAAKC,MAAQH,EAAe,KAAKE,GAAKC,CAAG,GACnDC,IAAU,MAAM,SAGhBC,IAAS,CAACH,MAAQI,EAAaJ,CAAG,MAAM,iBAExCK,IAAa,CAACL,MAAQ,OAAOA,KAAQ,YACrCM,IAAW,CAACN,MAAQ,OAAOA,KAAQ,UACnCO,IAAW,CAACP,MAAQ,OAAOA,KAAQ,UACnCQ,IAAW,CAACR,MAAQA,MAAQ,QAAQ,OAAOA,KAAQ,UACnDS,IAAY,CAACT,OACTQ,EAASR,CAAG,KAAKK,EAAWL,CAAG,MAAMK,EAAWL,EAAI,IAAI,KAAKK,EAAWL,EAAI,KAAK,GAErFU,IAAiB,OAAO,UAAU,UAClCN,IAAe,CAACO,MAAUD,EAAe,KAAKC,CAAK,GACnDC,IAAY,CAACD,MACVP,EAAaO,CAAK,EAAE,MAAM,GAAG,EAAE,GAElCE,IAAgB,CAACb,MAAQI,EAAaJ,CAAG,MAAM,mBAS/Cc,IAAsB,CAACC,MAAO;AAClC,QAAMC,IAAwB,uBAAO,OAAO,IAAI;AAChD,SAAO,CAACC,MACMD,EAAMC,CAAG,MACND,EAAMC,CAAG,IAAIF,EAAGE,CAAG;AAEtC,GACMC,IAAa,UACbC,IAAWL;AAAA,EACf,CAACG,MACQA,EAAI,QAAQC,GAAY,CAACE,GAAGC,MAAMA,IAAIA,EAAE,YAAa,IAAG,EAAE;AAErE,GACMC,IAAc,cACdC,IAAYT;AAAA,EAChB,CAACG,MAAQA,EAAI,QAAQK,GAAa,KAAK,EAAE,YAAa;AACxD,GACME,IAAaV,EAAoB,CAACG,MAC/BA,EAAI,OAAO,CAAC,EAAE,YAAW,IAAKA,EAAI,MAAM,CAAC,CACjD;","x_google_ignoreList":[0]}