qidian-shared 1.0.72 → 1.0.74

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.
Files changed (252) hide show
  1. package/dist/_virtual/___vite-browser-external.mjs +0 -1
  2. package/dist/_virtual/__vite-browser-external.mjs +0 -1
  3. package/dist/_virtual/_commonjs-dynamic-modules.mjs +0 -1
  4. package/dist/_virtual/_commonjsHelpers.mjs +0 -1
  5. package/dist/_virtual/aes.mjs +0 -1
  6. package/dist/_virtual/blowfish.mjs +0 -1
  7. package/dist/_virtual/cipher-core.mjs +0 -1
  8. package/dist/_virtual/core.mjs +0 -1
  9. package/dist/_virtual/dayjs.min.mjs +7 -0
  10. package/dist/_virtual/dayjs.min2.mjs +4 -0
  11. package/dist/_virtual/enc-base64.mjs +0 -1
  12. package/dist/_virtual/enc-base64url.mjs +0 -1
  13. package/dist/_virtual/enc-utf16.mjs +0 -1
  14. package/dist/_virtual/evpkdf.mjs +0 -1
  15. package/dist/_virtual/format-hex.mjs +0 -1
  16. package/dist/_virtual/hmac.mjs +0 -1
  17. package/dist/_virtual/index.mjs +0 -1
  18. package/dist/_virtual/index2.mjs +0 -1
  19. package/dist/_virtual/lib-typedarrays.mjs +0 -1
  20. package/dist/_virtual/md5.mjs +0 -1
  21. package/dist/_virtual/mode-cfb.mjs +0 -1
  22. package/dist/_virtual/mode-ctr-gladman.mjs +0 -1
  23. package/dist/_virtual/mode-ctr.mjs +0 -1
  24. package/dist/_virtual/mode-ecb.mjs +0 -1
  25. package/dist/_virtual/mode-ofb.mjs +0 -1
  26. package/dist/_virtual/pad-ansix923.mjs +0 -1
  27. package/dist/_virtual/pad-iso10126.mjs +0 -1
  28. package/dist/_virtual/pad-iso97971.mjs +0 -1
  29. package/dist/_virtual/pad-nopadding.mjs +0 -1
  30. package/dist/_virtual/pad-zeropadding.mjs +0 -1
  31. package/dist/_virtual/pbkdf2.mjs +0 -1
  32. package/dist/_virtual/rabbit-legacy.mjs +0 -1
  33. package/dist/_virtual/rabbit.mjs +0 -1
  34. package/dist/_virtual/rc4.mjs +0 -1
  35. package/dist/_virtual/ripemd160.mjs +0 -1
  36. package/dist/_virtual/sha1.mjs +0 -1
  37. package/dist/_virtual/sha224.mjs +0 -1
  38. package/dist/_virtual/sha256.mjs +0 -1
  39. package/dist/_virtual/sha3.mjs +0 -1
  40. package/dist/_virtual/sha384.mjs +0 -1
  41. package/dist/_virtual/sha512.mjs +0 -1
  42. package/dist/_virtual/tripledes.mjs +0 -1
  43. package/dist/_virtual/x64-core.mjs +0 -1
  44. package/dist/directive/resize.mjs +0 -1
  45. package/dist/hooks/useActivated.mjs +0 -1
  46. package/dist/hooks/useAutofocus.mjs +0 -1
  47. package/dist/hooks/useCsl.mjs +0 -1
  48. package/dist/hooks/useDoubleClick.mjs +0 -1
  49. package/dist/hooks/useProxy.mjs +0 -1
  50. package/dist/hooks/useService/loadMore.mjs +0 -1
  51. package/dist/hooks/useService/pagination.mjs +11 -7
  52. package/dist/hooks/useService/types.d.ts +1 -0
  53. package/dist/hooks/useTimer.mjs +0 -1
  54. package/dist/hooks/useTplRefsList.mjs +0 -1
  55. package/dist/index.mjs +2 -1
  56. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs +0 -1
  57. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs +0 -1
  58. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs +0 -1
  59. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs +0 -1
  60. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs +0 -1
  61. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs +0 -1
  62. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs +0 -1
  63. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs +0 -1
  64. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs +0 -1
  65. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs +0 -1
  66. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs +0 -1
  67. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs +0 -1
  68. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs +0 -1
  69. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs +0 -1
  70. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs +0 -1
  71. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs +0 -1
  72. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs +0 -1
  73. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs +0 -1
  74. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs +0 -1
  75. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs +0 -1
  76. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs +0 -1
  77. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs +0 -1
  78. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs +0 -1
  79. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs +0 -1
  80. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs +0 -1
  81. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs +0 -1
  82. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs +0 -1
  83. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs +0 -1
  84. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs +0 -1
  85. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs +0 -1
  86. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs +0 -1
  87. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs +0 -1
  88. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs +0 -1
  89. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs +0 -1
  90. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs +0 -1
  91. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs +0 -1
  92. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.mjs +286 -0
  93. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncrypt.mjs +0 -1
  94. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncryptRSAKey.mjs +0 -1
  95. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/index.mjs +0 -1
  96. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/asn1.mjs +0 -1
  97. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/base64.mjs +0 -1
  98. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/hex.mjs +0 -1
  99. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/int10.mjs +0 -1
  100. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/base64.mjs +0 -1
  101. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/jsbn.mjs +0 -1
  102. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/prng4.mjs +0 -1
  103. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rng.mjs +0 -1
  104. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rsa.mjs +0 -1
  105. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/sha256.mjs +0 -1
  106. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/util.mjs +0 -1
  107. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.mjs +0 -1
  108. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/regular/jsonrepair.mjs +0 -1
  109. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/JSONRepairError.mjs +0 -1
  110. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/stringUtils.mjs +0 -1
  111. package/dist/node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs +0 -1
  112. package/dist/utils/calc.mjs +0 -1
  113. package/dist/utils/common.mjs +0 -1
  114. package/dist/utils/conversion.mjs +0 -1
  115. package/dist/utils/crypto.mjs +0 -1
  116. package/dist/utils/date.d.ts +2 -0
  117. package/dist/utils/date.mjs +11 -0
  118. package/dist/utils/dom.mjs +0 -1
  119. package/dist/utils/download.mjs +0 -1
  120. package/dist/utils/file.mjs +0 -1
  121. package/dist/utils/glob.mjs +0 -1
  122. package/dist/utils/index.d.ts +1 -0
  123. package/dist/utils/jsencrypt.mjs +0 -1
  124. package/dist/utils/json.mjs +0 -1
  125. package/dist/utils/promise.mjs +0 -1
  126. package/dist/utils/str.mjs +0 -1
  127. package/dist/utils/type.mjs +0 -1
  128. package/dist/utils/url.mjs +0 -1
  129. package/dist/utils/validator.mjs +0 -1
  130. package/package.json +2 -1
  131. package/dist/_virtual/___vite-browser-external.mjs.map +0 -1
  132. package/dist/_virtual/__vite-browser-external.mjs.map +0 -1
  133. package/dist/_virtual/_commonjs-dynamic-modules.mjs.map +0 -1
  134. package/dist/_virtual/_commonjsHelpers.mjs.map +0 -1
  135. package/dist/_virtual/aes.mjs.map +0 -1
  136. package/dist/_virtual/blowfish.mjs.map +0 -1
  137. package/dist/_virtual/cipher-core.mjs.map +0 -1
  138. package/dist/_virtual/core.mjs.map +0 -1
  139. package/dist/_virtual/enc-base64.mjs.map +0 -1
  140. package/dist/_virtual/enc-base64url.mjs.map +0 -1
  141. package/dist/_virtual/enc-utf16.mjs.map +0 -1
  142. package/dist/_virtual/evpkdf.mjs.map +0 -1
  143. package/dist/_virtual/format-hex.mjs.map +0 -1
  144. package/dist/_virtual/hmac.mjs.map +0 -1
  145. package/dist/_virtual/index.mjs.map +0 -1
  146. package/dist/_virtual/index2.mjs.map +0 -1
  147. package/dist/_virtual/lib-typedarrays.mjs.map +0 -1
  148. package/dist/_virtual/md5.mjs.map +0 -1
  149. package/dist/_virtual/mode-cfb.mjs.map +0 -1
  150. package/dist/_virtual/mode-ctr-gladman.mjs.map +0 -1
  151. package/dist/_virtual/mode-ctr.mjs.map +0 -1
  152. package/dist/_virtual/mode-ecb.mjs.map +0 -1
  153. package/dist/_virtual/mode-ofb.mjs.map +0 -1
  154. package/dist/_virtual/pad-ansix923.mjs.map +0 -1
  155. package/dist/_virtual/pad-iso10126.mjs.map +0 -1
  156. package/dist/_virtual/pad-iso97971.mjs.map +0 -1
  157. package/dist/_virtual/pad-nopadding.mjs.map +0 -1
  158. package/dist/_virtual/pad-zeropadding.mjs.map +0 -1
  159. package/dist/_virtual/pbkdf2.mjs.map +0 -1
  160. package/dist/_virtual/rabbit-legacy.mjs.map +0 -1
  161. package/dist/_virtual/rabbit.mjs.map +0 -1
  162. package/dist/_virtual/rc4.mjs.map +0 -1
  163. package/dist/_virtual/ripemd160.mjs.map +0 -1
  164. package/dist/_virtual/sha1.mjs.map +0 -1
  165. package/dist/_virtual/sha224.mjs.map +0 -1
  166. package/dist/_virtual/sha256.mjs.map +0 -1
  167. package/dist/_virtual/sha3.mjs.map +0 -1
  168. package/dist/_virtual/sha384.mjs.map +0 -1
  169. package/dist/_virtual/sha512.mjs.map +0 -1
  170. package/dist/_virtual/tripledes.mjs.map +0 -1
  171. package/dist/_virtual/x64-core.mjs.map +0 -1
  172. package/dist/directive/resize.mjs.map +0 -1
  173. package/dist/hooks/useActivated.mjs.map +0 -1
  174. package/dist/hooks/useAutofocus.mjs.map +0 -1
  175. package/dist/hooks/useCsl.mjs.map +0 -1
  176. package/dist/hooks/useDoubleClick.mjs.map +0 -1
  177. package/dist/hooks/useProxy.mjs.map +0 -1
  178. package/dist/hooks/useService/loadMore.mjs.map +0 -1
  179. package/dist/hooks/useService/pagination.mjs.map +0 -1
  180. package/dist/hooks/useTimer.mjs.map +0 -1
  181. package/dist/hooks/useTplRefsList.mjs.map +0 -1
  182. package/dist/index.mjs.map +0 -1
  183. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs.map +0 -1
  184. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs.map +0 -1
  185. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs.map +0 -1
  186. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs.map +0 -1
  187. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs.map +0 -1
  188. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs.map +0 -1
  189. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs.map +0 -1
  190. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs.map +0 -1
  191. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs.map +0 -1
  192. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs.map +0 -1
  193. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs.map +0 -1
  194. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs.map +0 -1
  195. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs.map +0 -1
  196. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs.map +0 -1
  197. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs.map +0 -1
  198. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs.map +0 -1
  199. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs.map +0 -1
  200. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs.map +0 -1
  201. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs.map +0 -1
  202. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs.map +0 -1
  203. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs.map +0 -1
  204. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs.map +0 -1
  205. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs.map +0 -1
  206. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs.map +0 -1
  207. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs.map +0 -1
  208. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs.map +0 -1
  209. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs.map +0 -1
  210. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs.map +0 -1
  211. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs.map +0 -1
  212. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs.map +0 -1
  213. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs.map +0 -1
  214. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs.map +0 -1
  215. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs.map +0 -1
  216. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs.map +0 -1
  217. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs.map +0 -1
  218. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs.map +0 -1
  219. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncrypt.mjs.map +0 -1
  220. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncryptRSAKey.mjs.map +0 -1
  221. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/index.mjs.map +0 -1
  222. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/asn1.mjs.map +0 -1
  223. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/base64.mjs.map +0 -1
  224. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/hex.mjs.map +0 -1
  225. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/int10.mjs.map +0 -1
  226. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/base64.mjs.map +0 -1
  227. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/jsbn.mjs.map +0 -1
  228. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/prng4.mjs.map +0 -1
  229. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rng.mjs.map +0 -1
  230. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rsa.mjs.map +0 -1
  231. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/sha256.mjs.map +0 -1
  232. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/util.mjs.map +0 -1
  233. package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.mjs.map +0 -1
  234. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/regular/jsonrepair.mjs.map +0 -1
  235. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/JSONRepairError.mjs.map +0 -1
  236. package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/stringUtils.mjs.map +0 -1
  237. package/dist/node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs.map +0 -1
  238. package/dist/utils/calc.mjs.map +0 -1
  239. package/dist/utils/common.mjs.map +0 -1
  240. package/dist/utils/conversion.mjs.map +0 -1
  241. package/dist/utils/crypto.mjs.map +0 -1
  242. package/dist/utils/dom.mjs.map +0 -1
  243. package/dist/utils/download.mjs.map +0 -1
  244. package/dist/utils/file.mjs.map +0 -1
  245. package/dist/utils/glob.mjs.map +0 -1
  246. package/dist/utils/jsencrypt.mjs.map +0 -1
  247. package/dist/utils/json.mjs.map +0 -1
  248. package/dist/utils/promise.mjs.map +0 -1
  249. package/dist/utils/str.mjs.map +0 -1
  250. package/dist/utils/type.mjs.map +0 -1
  251. package/dist/utils/url.mjs.map +0 -1
  252. package/dist/utils/validator.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.mjs","sources":["../../src/utils/crypto.ts"],"sourcesContent":["import CryptoJS from 'crypto-js'\n\n/**\n * 随机生成字符串\n * @param length 生成的字符串长度\n * @returns 随机字符串\n */\nexport function generateRandomString(length = 32) {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n let result = ''\n const charactersLength = characters.length\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength))\n }\n return result\n}\n\n/**\n * 随机生成 aes 密钥\n * @returns 密钥\n */\nexport function generateAesKey() {\n return CryptoJS.enc.Utf8.parse(generateRandomString())\n}\n\n/**\n * 加密 Base64\n * @param str 需要加密的字符串\n * @returns 加密后的字符串\n */\nexport function encryptBase64(str: CryptoJS.lib.WordArray) {\n return CryptoJS.enc.Base64.stringify(str)\n}\n\n/**\n * 解密 Base64\n * @param str 需要解密的字符串\n * @returns 解密后的 WordArray\n */\nexport function decryptBase64(str: string) {\n return CryptoJS.enc.Base64.parse(str).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * 使用密钥对数据进行加密\n * @param message\n * @param aesKey\n * @param iv\n * @param mode\n * @param padding\n * @returns 加密后的字符串\n */\nexport function encryptWithAes(\n message: string,\n aesKey: CryptoJS.lib.WordArray,\n iv?: CryptoJS.lib.WordArray,\n mode: typeof CryptoJS.mode.ECB = CryptoJS.mode.ECB,\n padding: typeof CryptoJS.pad.Pkcs7 = CryptoJS.pad.Pkcs7\n) {\n const encrypted = CryptoJS.AES.encrypt(message, aesKey, {\n iv,\n mode,\n padding\n })\n return encrypted.toString()\n}\n\n/**\n * md5哈希算法\n */\nexport function MD5(message: CryptoJS.lib.WordArray | string, cfg?: object) {\n return CryptoJS.MD5(message, cfg).toString()\n}\n"],"names":[],"mappings":";AAOO,SAAS,qBAAqB,SAAS,IAAI;AAChD,QAAM,aAAa;AACnB,MAAI,SAAS;AACb,QAAM,mBAAmB,WAAW;AACpC,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,cAAU,WAAW,OAAO,KAAK,MAAM,KAAK,WAAW,gBAAgB,CAAC;AAAA,EAC1E;AACA,SAAO;AACT;AAMO,SAAS,iBAAiB;AAC/B,SAAO,SAAS,IAAI,KAAK,MAAM,sBAAsB;AACvD;AAOO,SAAS,cAAc,KAA6B;AACzD,SAAO,SAAS,IAAI,OAAO,UAAU,GAAG;AAC1C;AAOO,SAAS,cAAc,KAAa;AACzC,SAAO,SAAS,IAAI,OAAO,MAAM,GAAG,EAAE,SAAS,SAAS,IAAI,IAAI;AAClE;AAWO,SAAS,eACd,SACA,QACA,IACA,OAAiC,SAAS,KAAK,KAC/C,UAAqC,SAAS,IAAI,OAClD;AACA,QAAM,YAAY,SAAS,IAAI,QAAQ,SAAS,QAAQ;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,SAAO,UAAU,SAAA;AACnB;AAKO,SAAS,IAAI,SAA0C,KAAc;AAC1E,SAAO,SAAS,IAAI,SAAS,GAAG,EAAE,SAAA;AACpC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.mjs","sources":["../../src/utils/dom.ts"],"sourcesContent":["/**\n * 获取html文本\n * @param html html文本\n * @returns html中的文本\n */\nexport function getHtmlTxt(html?: string) {\n return html ? html.replace(/<[^<>]+>/g, '') : ''\n}\n\n/**\n * 添加事件监听\n * @param element\n * @param event\n * @param handler\n * @param options\n */\nexport function domOn(\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void {\n if (element && event && handler) {\n element.addEventListener(event, handler, options ?? false)\n }\n}\n\n/**\n * 移除事件监听\n * @param element\n * @param event\n * @param handler\n * @param options\n */\nexport function domOff(\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void {\n if (element && event && handler) {\n element.removeEventListener(event, handler, options ?? false)\n }\n}\n\n/**\n * 获取可以滚动的元素\n * @param element\n * @return 可以滚动的元素\n */\nexport function getScrollEl(element: HTMLElement): HTMLElement | null {\n if (element.scrollHeight > element.clientHeight) {\n return element\n } else if (element.parentElement) {\n return getScrollEl(element.parentElement)\n } else {\n return null\n }\n}\n"],"names":[],"mappings":"AAKO,SAAS,WAAW,MAAe;AACxC,SAAO,OAAO,KAAK,QAAQ,aAAa,EAAE,IAAI;AAChD;AASO,SAAS,MACd,SACA,OACA,SACA,SACM;AACN,MAAI,WAAW,SAAS,SAAS;AAC/B,YAAQ,iBAAiB,OAAO,SAAS,WAAW,KAAK;AAAA,EAC3D;AACF;AASO,SAAS,OACd,SACA,OACA,SACA,SACM;AACN,MAAI,WAAW,SAAS,SAAS;AAC/B,YAAQ,oBAAoB,OAAO,SAAS,WAAW,KAAK;AAAA,EAC9D;AACF;AAOO,SAAS,YAAY,SAA0C;AACpE,MAAI,QAAQ,eAAe,QAAQ,cAAc;AAC/C,WAAO;AAAA,EACT,WAAW,QAAQ,eAAe;AAChC,WAAO,YAAY,QAAQ,aAAa;AAAA,EAC1C,OAAO;AACL,WAAO;AAAA,EACT;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"download.mjs","sources":["../../src/utils/download.ts"],"sourcesContent":["/**\n * 简单下载\n * @param {file|string} res 文件或地址\n * @param {string} name 文件名称\n */\nexport function easyDownload(res: File | Blob | string, name: string) {\n const navigator = window.navigator as Navigator & {\n msSaveOrOpenBlob?: (res: File | Blob | string, name: string) => void\n }\n\n if (navigator && navigator.msSaveOrOpenBlob) {\n navigator.msSaveOrOpenBlob(res, name) // 兼容ie11\n } else {\n const aTag = document.createElement('a')\n aTag.target = '_blank'\n aTag.download = name\n aTag.href = typeof res === 'string' ? res : window.URL.createObjectURL(res)\n document.body.appendChild(aTag) // 兼容火狐\n aTag.click()\n\n setTimeout(() => {\n document.body.removeChild(aTag)\n }, 1000)\n }\n}\n"],"names":[],"mappings":"AAKO,SAAS,aAAa,KAA2B,MAAc;AACpE,QAAM,YAAY,OAAO;AAIzB,MAAI,aAAa,UAAU,kBAAkB;AAC3C,cAAU,iBAAiB,KAAK,IAAI;AAAA,EACtC,OAAO;AACL,UAAM,OAAO,SAAS,cAAc,GAAG;AACvC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,OAAO,OAAO,QAAQ,WAAW,MAAM,OAAO,IAAI,gBAAgB,GAAG;AAC1E,aAAS,KAAK,YAAY,IAAI;AAC9B,SAAK,MAAA;AAEL,eAAW,MAAM;AACf,eAAS,KAAK,YAAY,IAAI;AAAA,IAChC,GAAG,GAAI;AAAA,EACT;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.mjs","sources":["../../src/utils/file.ts"],"sourcesContent":["import { toPrecision } from './calc'\nimport { isEmpty } from './common'\n\n/**\n * 截取文件名\n * @param name 文件名称\n * @param num 开始位置\n * @returns\n */\nexport function cutFilename(name: string | undefined, num: number) {\n if (!name) return ''\n\n const lastIndex = name.lastIndexOf('.')\n const suffix = lastIndex === -1 ? '' : name.substring(lastIndex + 1)\n return `${name.substring(0, num - suffix.length - 1)}.${suffix}`\n}\n\n/**\n * 截取文件后缀名\n * @param name 文件名称\n * @returns\n */\nexport function cutFileSuffix(name?: string) {\n if (!name) return ''\n\n const nameSplit = name.split('.')\n return nameSplit[nameSplit.length - 1]\n}\n\n/**\n * 是否为该类型文件\n * @param name 文件名称\n * @param suffixs 后缀\n * @returns\n */\nexport function isTypeByName(name: string | undefined, suffixs: string[]) {\n if (!name) return false\n\n return suffixs.some((suffix) => `.${cutFileSuffix(name)}`.toLowerCase() === suffix.toLowerCase())\n}\n\n/**\n * 字节转KB\n * @param size 字节\n * @returns kb\n */\nexport function b2kb(size = 0) {\n return size / 1024\n}\n\n/**\n * 字节转MB\n * @param size 字节\n * @returns mb\n */\nexport function b2mb(size = 0) {\n return size / 1024 / 1024\n}\n\n/**\n * 字节转GB\n * @param size 字节\n * @returns gb\n */\nexport function b2gb(size = 0) {\n return size / 1024 / 1024 / 1024\n}\n\n/**\n * 格式化文件大小\n * @param size 字节\n * @returns 格式化后的文件大小字符串\n */\nexport function formatByte(size?: number | string) {\n if (isEmpty(size)) return '0B'\n\n const numSize = typeof size === 'string' ? parseFloat(size) : size\n if (numSize < 1024) {\n return `${toPrecision(numSize, 2)}B`\n } else if (numSize < 1024 * 1024) {\n return `${toPrecision(b2kb(numSize), 2)}KB`\n } else if (numSize < 1024 * 1024 * 1024) {\n return `${toPrecision(b2mb(numSize), 2)}MB`\n }\n\n return `${toPrecision(b2gb(numSize), 2)}GB`\n}\n"],"names":[],"mappings":";;AASO,SAAS,YAAY,MAA0B,KAAa;AACjE,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,YAAY,KAAK,YAAY,GAAG;AACtC,QAAM,SAAS,cAAc,KAAK,KAAK,KAAK,UAAU,YAAY,CAAC;AACnE,SAAO,GAAG,KAAK,UAAU,GAAG,MAAM,OAAO,SAAS,CAAC,CAAC,IAAI,MAAM;AAChE;AAOO,SAAS,cAAc,MAAe;AAC3C,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,YAAY,KAAK,MAAM,GAAG;AAChC,SAAO,UAAU,UAAU,SAAS,CAAC;AACvC;AAQO,SAAS,aAAa,MAA0B,SAAmB;AACxE,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,QAAQ,KAAK,CAAC,WAAW,IAAI,cAAc,IAAI,CAAC,GAAG,YAAA,MAAkB,OAAO,aAAa;AAClG;AAOO,SAAS,KAAK,OAAO,GAAG;AAC7B,SAAO,OAAO;AAChB;AAOO,SAAS,KAAK,OAAO,GAAG;AAC7B,SAAO,OAAO,OAAO;AACvB;AAOO,SAAS,KAAK,OAAO,GAAG;AAC7B,SAAO,OAAO,OAAO,OAAO;AAC9B;AAOO,SAAS,WAAW,MAAwB;AACjD,MAAI,QAAQ,IAAI,EAAG,QAAO;AAE1B,QAAM,UAAU,OAAO,SAAS,WAAW,WAAW,IAAI,IAAI;AAC9D,MAAI,UAAU,MAAM;AAClB,WAAO,GAAG,YAAY,SAAS,CAAC,CAAC;AAAA,EACnC,WAAW,UAAU,OAAO,MAAM;AAChC,WAAO,GAAG,YAAY,KAAK,OAAO,GAAG,CAAC,CAAC;AAAA,EACzC,WAAW,UAAU,OAAO,OAAO,MAAM;AACvC,WAAO,GAAG,YAAY,KAAK,OAAO,GAAG,CAAC,CAAC;AAAA,EACzC;AAEA,SAAO,GAAG,YAAY,KAAK,OAAO,GAAG,CAAC,CAAC;AACzC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.mjs","sources":["../../src/utils/glob.ts"],"sourcesContent":["/**\n * 处理 glob\n * @param data 数据\n * @param removeSuffix 是否去除后缀\n * @returns 处理后的数据\n */\nexport function formatGlob<T = any>(data: Record<string, T>, removeSuffix?: boolean) {\n const map: Record<string, T> = {}\n for (const key in data) {\n const keySplit = key.split('/')\n let name = keySplit[keySplit.length - 1]\n if (removeSuffix) {\n name = name.slice(0, name.lastIndexOf('.'))\n }\n map[name] = data[key]\n }\n\n return map\n}\n"],"names":[],"mappings":"AAMO,SAAS,WAAoB,MAAyB,cAAwB;AACnF,QAAM,MAAyB,CAAA;AAC/B,aAAW,OAAO,MAAM;AACtB,UAAM,WAAW,IAAI,MAAM,GAAG;AAC9B,QAAI,OAAO,SAAS,SAAS,SAAS,CAAC;AACvC,QAAI,cAAc;AAChB,aAAO,KAAK,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC;AAAA,IAC5C;AACA,QAAI,IAAI,IAAI,KAAK,GAAG;AAAA,EACtB;AAEA,SAAO;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsencrypt.mjs","sources":["../../src/utils/jsencrypt.ts"],"sourcesContent":["import JSEncrypt from 'jsencrypt'\n\n/**\n * 加密\n * @param publicKey 公钥\n * @param txt\n * @returns 结果\n */\nexport function encrypt(publicKey: string, txt: string) {\n const encryptor = new JSEncrypt()\n encryptor.setPublicKey(publicKey) // 设置公钥\n return encryptor.encrypt(txt) // 对数据进行加密\n}\n\n/**\n * 解密\n * @param privateKey 私钥\n * @param txt\n * @returns 结果\n */\nexport function decrypt(privateKey: string, txt: string) {\n const encryptor = new JSEncrypt()\n encryptor.setPrivateKey(privateKey) // 设置私钥\n return encryptor.decrypt(txt) // 对数据进行解密\n}\n"],"names":[],"mappings":";AAQO,SAAS,QAAQ,WAAmB,KAAa;AACtD,QAAM,YAAY,IAAI,UAAA;AACtB,YAAU,aAAa,SAAS;AAChC,SAAO,UAAU,QAAQ,GAAG;AAC9B;AAQO,SAAS,QAAQ,YAAoB,KAAa;AACvD,QAAM,YAAY,IAAI,UAAA;AACtB,YAAU,cAAc,UAAU;AAClC,SAAO,UAAU,QAAQ,GAAG;AAC9B;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.mjs","sources":["../../src/utils/json.ts"],"sourcesContent":["import { jsonrepair } from 'jsonrepair'\n\n/**\n * 宽松解析 JSON 字符串\n * @param str 字符串\n * @returns 解析后的对象\n */\nexport function parseRelaxedJSON<T = unknown>(str: string, options?: { eval?: boolean }): T {\n const startObj = str.indexOf('{')\n const endObj = str.lastIndexOf('}')\n const startArr = str.indexOf('[')\n const endArr = str.lastIndexOf(']')\n\n if (\n startObj > -1 &&\n (startObj < startArr || startArr === -1) &&\n endObj > -1 &&\n (endObj > endArr || endArr === -1) &&\n endObj > startObj\n ) {\n str = str.slice(startObj, endObj + 1)\n } else if (startArr > -1 && endArr > -1 && endArr > startArr) {\n str = str.slice(startArr, endArr + 1)\n }\n\n if (options?.eval) {\n try {\n // 安全执行表达式,返回 JS 对象\n return new Function(`return (${str})`)() as T\n } catch {\n return JSON.parse(jsonrepair(str)) as T\n }\n }\n\n return JSON.parse(jsonrepair(str)) as T\n}\n"],"names":[],"mappings":";AAOO,SAAS,iBAA8B,KAAa,SAAiC;AAC1F,QAAM,WAAW,IAAI,QAAQ,GAAG;AAChC,QAAM,SAAS,IAAI,YAAY,GAAG;AAClC,QAAM,WAAW,IAAI,QAAQ,GAAG;AAChC,QAAM,SAAS,IAAI,YAAY,GAAG;AAElC,MACE,WAAW,OACV,WAAW,YAAY,aAAa,OACrC,SAAS,OACR,SAAS,UAAU,WAAW,OAC/B,SAAS,UACT;AACA,UAAM,IAAI,MAAM,UAAU,SAAS,CAAC;AAAA,EACtC,WAAW,WAAW,MAAM,SAAS,MAAM,SAAS,UAAU;AAC5D,UAAM,IAAI,MAAM,UAAU,SAAS,CAAC;AAAA,EACtC;AAEA,MAAI,SAAS,MAAM;AACjB,QAAI;AAEF,aAAO,IAAI,SAAS,WAAW,GAAG,GAAG,EAAA;AAAA,IACvC,QAAQ;AACN,aAAO,KAAK,MAAM,WAAW,GAAG,CAAC;AAAA,IACnC;AAAA,EACF;AAEA,SAAO,KAAK,MAAM,WAAW,GAAG,CAAC;AACnC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.mjs","sources":["../../src/utils/promise.ts"],"sourcesContent":["import { isPromise } from './type'\n\n/**\n * https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/\n * @param promise\n * @param errorExt 你可以传递给 err 对象的附加信息\n * @returns [err, res]\n */\nexport function to<T, U = Error>(\n promise: Promise<T>,\n errorExt?: object\n): Promise<[U, undefined] | [null, T]> {\n return promise\n .then<[null, T]>((data: T) => [null, data])\n .catch<[U, undefined]>((err: U) => {\n if (errorExt) {\n const parsedError = { ...err, ...errorExt }\n return [parsedError, undefined]\n }\n\n return [err ?? (true as U), undefined]\n })\n}\n\n/**\n * 疑似Promise包装器\n * @param promise\n */\nexport async function suspectedWrapperPromise<T, U = Error>(\n p: T | Promise<T>\n): Promise<[U, undefined] | [null, T]> {\n if (isPromise(p)) {\n const [err, res] = await to<T, U>(p as Promise<T>)\n if (err) return [err, undefined]\n\n return [null, res as T]\n } else {\n return [null, p]\n }\n}\n\n/**\n * 中止包装器\n * @param {promise} p1\n * @return {promise}\n */\nexport interface AbortWrapperPromise<T = any> extends Promise<T> {\n abort?: (reasonToAbort: any) => void\n}\nexport function abortWrapper<T>(p1: Promise<T>) {\n let abort\n const p2 = new Promise((resolve, reject) => (abort = reject))\n const p = Promise.race([p1, p2]) as AbortWrapperPromise<T>\n p.abort = abort\n return p\n}\n\n/**\n * 等待\n * @param time 毫秒\n */\nexport function waitTime(time: number) {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, time)\n })\n}\n"],"names":[],"mappings":";AAQO,SAAS,GACd,SACA,UACqC;AACrC,SAAO,QACJ,KAAgB,CAAC,SAAY,CAAC,MAAM,IAAI,CAAC,EACzC,MAAsB,CAAC,QAAW;AACjC,QAAI,UAAU;AACZ,YAAM,cAAc,EAAE,GAAG,KAAK,GAAG,SAAA;AACjC,aAAO,CAAC,aAAa,MAAS;AAAA,IAChC;AAEA,WAAO,CAAC,OAAQ,MAAY,MAAS;AAAA,EACvC,CAAC;AACL;AAMA,eAAsB,wBACpB,GACqC;AACrC,MAAI,UAAU,CAAC,GAAG;AAChB,UAAM,CAAC,KAAK,GAAG,IAAI,MAAM,GAAS,CAAe;AACjD,QAAI,IAAK,QAAO,CAAC,KAAK,MAAS;AAE/B,WAAO,CAAC,MAAM,GAAQ;AAAA,EACxB,OAAO;AACL,WAAO,CAAC,MAAM,CAAC;AAAA,EACjB;AACF;AAUO,SAAS,aAAgB,IAAgB;AAC9C,MAAI;AACJ,QAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,WAAY,QAAQ,MAAO;AAC5D,QAAM,IAAI,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;AAC/B,IAAE,QAAQ;AACV,SAAO;AACT;AAMO,SAAS,SAAS,MAAc;AACrC,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,eAAW,SAAS,IAAI;AAAA,EAC1B,CAAC;AACH;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"str.mjs","sources":["../../src/utils/str.ts"],"sourcesContent":["/**\n * 首字母转换\n * @param str 要转换的string\n * @param isLowerCase 首字母是否小写(默认大写)\n * @returns 结果\n */\nexport function initialConversion(str: string, isLowerCase?: boolean) {\n if (!isLowerCase) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n } else {\n return str.charAt(0).toLowerCase() + str.slice(1)\n }\n}\n\n/**\n * 驼峰化\n * @param str\n * @returns 结果\n */\nexport function camelize(str: string) {\n return str.replace(/[-_](\\w)/g, (_, c) => c.toUpperCase())\n}\n\n/**\n * 驼峰转短横线\n * @param str\n * @param separator 分隔符(默认-)\n * @param uppercase 是否转大写(默认 false)\n * @returns 结果\n */\nexport function kebabCase(str: string, separator = '-', uppercase = false) {\n const result = str\n .replace(/([A-Z])/g, `${separator}$1`)\n .toLowerCase()\n .replace(new RegExp(`^\\\\${separator}`), '')\n return uppercase ? result.toUpperCase() : result\n}\n\n/**\n * 获取相似度\n * @param a 内容\n * @param b 内容\n * @returns 相似度\n */\nexport function levenshtein(a: string, b: string) {\n const matrix: number[][] = []\n\n for (let i = 0; i <= b.length; i++) {\n matrix[i] = [i]\n }\n for (let j = 0; j <= a.length; j++) {\n matrix[0][j] = j\n }\n\n for (let i = 1; i <= b.length; i++) {\n for (let j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1]\n } else {\n matrix[i][j] = Math.min(\n matrix[i - 1][j - 1] + 1,\n matrix[i][j - 1] + 1,\n matrix[i - 1][j] + 1\n )\n }\n }\n }\n\n return 1 - matrix[b.length][a.length] / Math.max(a.length, b.length)\n}\n\n/**\n * 复制文本到剪贴板\n * @param input 文本\n * @param options.target 默认为 body\n */\nexport function copy2Clipboard(input: string, { target = document.body } = {}) {\n const element = document.createElement('textarea')\n const previouslyFocusedElement = document.activeElement\n\n element.value = input\n\n // Prevent keyboard from showing on mobile\n element.setAttribute('readonly', '')\n\n element.style.contain = 'strict'\n element.style.position = 'absolute'\n element.style.left = '-9999px'\n element.style.fontSize = '12pt' // Prevent zooming on iOS\n\n const selection = document.getSelection()\n const originalRange = selection && selection.rangeCount > 0 && selection.getRangeAt(0)\n\n target.append(element)\n element.select()\n\n // Explicit selection workaround for iOS\n element.selectionStart = 0\n element.selectionEnd = input.length\n\n let isSuccess = false\n try {\n isSuccess = document.execCommand('copy')\n } catch {\n // ignore\n }\n\n element.remove()\n\n if (originalRange) {\n selection.removeAllRanges()\n selection.addRange(originalRange)\n }\n\n // Get the focus back on the previously focused element, if any\n if (previouslyFocusedElement) {\n // @ts-expect-error-error\n previouslyFocusedElement?.focus()\n }\n\n return isSuccess\n}\n\n/**\n * 删除所有空格\n * @param str 值\n * @returns 删除空格后的值\n */\nexport function deleteSpace(str: string) {\n return str.replace(/\\s*/g, '')\n}\n"],"names":[],"mappings":"AAMO,SAAS,kBAAkB,KAAa,aAAuB;AACpE,MAAI,CAAC,aAAa;AAChB,WAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,EAClD,OAAO;AACL,WAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,EAClD;AACF;AAOO,SAAS,SAAS,KAAa;AACpC,SAAO,IAAI,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,aAAa;AAC3D;AASO,SAAS,UAAU,KAAa,YAAY,KAAK,YAAY,OAAO;AACzE,QAAM,SAAS,IACZ,QAAQ,YAAY,GAAG,SAAS,IAAI,EACpC,YAAA,EACA,QAAQ,IAAI,OAAO,MAAM,SAAS,EAAE,GAAG,EAAE;AAC5C,SAAO,YAAY,OAAO,YAAA,IAAgB;AAC5C;AAQO,SAAS,YAAY,GAAW,GAAW;AAChD,QAAM,SAAqB,CAAA;AAE3B,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,WAAO,CAAC,IAAI,CAAC,CAAC;AAAA,EAChB;AACA,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,WAAO,CAAC,EAAE,CAAC,IAAI;AAAA,EACjB;AAEA,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,aAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,UAAI,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG;AACvC,eAAO,CAAC,EAAE,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,MACpC,OAAO;AACL,eAAO,CAAC,EAAE,CAAC,IAAI,KAAK;AAAA,UAClB,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA,UACvB,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA,UACnB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI;AAAA,QAAA;AAAA,MAEvB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM;AACrE;AAOO,SAAS,eAAe,OAAe,EAAE,SAAS,SAAS,KAAA,IAAS,IAAI;AAC7E,QAAM,UAAU,SAAS,cAAc,UAAU;AACjD,QAAM,2BAA2B,SAAS;AAE1C,UAAQ,QAAQ;AAGhB,UAAQ,aAAa,YAAY,EAAE;AAEnC,UAAQ,MAAM,UAAU;AACxB,UAAQ,MAAM,WAAW;AACzB,UAAQ,MAAM,OAAO;AACrB,UAAQ,MAAM,WAAW;AAEzB,QAAM,YAAY,SAAS,aAAA;AAC3B,QAAM,gBAAgB,aAAa,UAAU,aAAa,KAAK,UAAU,WAAW,CAAC;AAErF,SAAO,OAAO,OAAO;AACrB,UAAQ,OAAA;AAGR,UAAQ,iBAAiB;AACzB,UAAQ,eAAe,MAAM;AAE7B,MAAI,YAAY;AAChB,MAAI;AACF,gBAAY,SAAS,YAAY,MAAM;AAAA,EACzC,QAAQ;AAAA,EAER;AAEA,UAAQ,OAAA;AAER,MAAI,eAAe;AACjB,cAAU,gBAAA;AACV,cAAU,SAAS,aAAa;AAAA,EAClC;AAGA,MAAI,0BAA0B;AAE5B,8BAA0B,MAAA;AAAA,EAC5B;AAEA,SAAO;AACT;AAOO,SAAS,YAAY,KAAa;AACvC,SAAO,IAAI,QAAQ,QAAQ,EAAE;AAC/B;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.mjs","sources":["../../src/utils/type.ts"],"sourcesContent":["export const objToStr = Object.prototype.toString\nexport const toTypeStr = (val: unknown) => objToStr.call(val)\n\nexport const isFunction = (val: unknown): val is (...any: unknown[]) => unknown =>\n typeof val === 'function'\n\nexport const isObject = <T extends Record<string, unknown> = Record<string, unknown>>(\n val: unknown\n): val is T => {\n return val !== null && typeof val === 'object'\n}\n\nexport const isPromise = (val: unknown): val is Promise<unknown> => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch)\n}\n\n/**\n * 准确识别类型\n * @param val 任何参数\n * @returns 识别的类型\n */\nexport const identifyType = (val: unknown) => {\n return toTypeStr(val).replace('[object ', '').replace(']', '').toLowerCase()\n}\n"],"names":[],"mappings":"AAAO,MAAM,WAAW,OAAO,UAAU;AAClC,MAAM,YAAY,CAAC,QAAiB,SAAS,KAAK,GAAG;AAErD,MAAM,aAAa,CAAC,QACzB,OAAO,QAAQ;AAEV,MAAM,WAAW,CACtB,QACa;AACb,SAAO,QAAQ,QAAQ,OAAO,QAAQ;AACxC;AAEO,MAAM,YAAY,CAAC,QAA0C;AAClE,SAAO,SAAS,GAAG,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,KAAK;AACtE;AAOO,MAAM,eAAe,CAAC,QAAiB;AAC5C,SAAO,UAAU,GAAG,EAAE,QAAQ,YAAY,EAAE,EAAE,QAAQ,KAAK,EAAE,EAAE,YAAA;AACjE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.mjs","sources":["../../src/utils/url.ts"],"sourcesContent":["/**\n * 获取url参数\n * @param {string} url\n * @return {object} url参数\n */\nexport function getUrlParams(url?: string) {\n url = url || window?.location.href\n const res: Record<string, string> = {}\n const params: Array<string> = url.match(/([^?=&#]+)=([^?&#]+)/g) || []\n\n params.forEach((item) => {\n item = decodeURIComponent(item)\n const index: number = item.indexOf('=')\n res[item.slice(0, index)] = item.slice(index + 1)\n })\n\n return res\n}\n\n/**\n * 获取url指定参数\n * @param {string} key\n * @param {string} url\n * @return {unknown}\n */\nexport function getUrlParam(key: string, url?: string) {\n url = url || window?.location.href\n\n const keyRegx = new RegExp('(^|\\\\?|&|#)(?:' + key + ')=([^&#]*)(&|$)?')\n const keyRegxResult = url.match(keyRegx)\n return keyRegxResult ? decodeURIComponent(keyRegxResult[2] || '') || '' : ''\n}\n\n/**\n * 删除url参数\n * @param {array} params\n * @param {string} url\n * @return {string} 删除参数后的url\n */\nexport function deleteUrlParams(params: Array<string>, url?: string): string {\n url = url || window?.location.href\n const res = url.split('?')\n\n for (let i = 1; i < res.length; i++) {\n res[i] = `?${res[i]}`\n\n params.forEach((item) => {\n const reg = new RegExp(`[?&]${item}=([^&#]*)`, 'i')\n res[i] = res[i].replace(reg, '')\n if (res[i][0] === '&') res[i] = res[i].replace('&', '?')\n })\n }\n\n return res.join('')\n}\n\n/**\n * 设置/删除地址参数\n * @param {string} key 可以使用分割号分开,例如:openKey|openkey,多key查询,最终输出保持找到的第一个key为标准\n * @param {string} value 如果需要删除url上面的参数,value需要设置为null,否则只会设置为空而已并不会删除\n * @param {string} url 不设置则默认使用window.location.href\n * @param {string} andString 参数拼接参数类型,设置为#将使用#拼接参数,注意,地址必须有一个?,如果没有则不会使用#\n * @param {string} newKey 设置了newKey将会使用newKey替换原来key再输出\n * @return {string} 返回设置结果地址\n */\nexport function setUrlParam(\n key: string,\n value: string | number | boolean | null | undefined,\n url?: string,\n andString?: string,\n newKey?: string\n): string {\n url = url || window?.location.href\n\n const keyRegx = new RegExp('(^|\\\\?|&|#)(' + key + ')=([^&#]*)(&|$)?')\n const keyRegxResult = url.match(keyRegx)\n const keyName = newKey || (keyRegxResult ? keyRegxResult[2] : key)\n\n let and = '&'\n // 必须保证?的存在\n if (url.indexOf('?') === -1) {\n and = '?'\n } else if (andString === '#' && url.indexOf('#') === -1) {\n and = '#'\n }\n\n // 如果原来存在连结符,则采用旧的连结符号\n let andtype = ''\n let urltmp = ''\n if (keyRegxResult) {\n urltmp = url.replace(keyRegx, ($1, $and, $key, $val, $nextAnd) => {\n let result = (andtype = $and)\n if (value !== null) {\n if (value === 'undefined') value = ''\n result = (andtype || and) + keyName + '=' + value + ($nextAnd || '') // 需要把下一个链接符也加上\n }\n return result\n })\n } else {\n if (value !== null) {\n if (value === 'undefined') value = ''\n urltmp = url + and + keyName + '=' + value\n } else {\n urltmp = url\n }\n }\n if (urltmp.indexOf(andtype) === urltmp.length - 1) {\n urltmp = urltmp.substring(0, urltmp.length - 1)\n }\n\n if (/[\\\\?&#]$/.test(urltmp)) {\n urltmp.substring(0, urltmp.length - 1) // 清除最后一个无用到链接符\n }\n\n return urltmp\n}\n"],"names":[],"mappings":"AAKO,SAAS,aAAa,KAAc;AACzC,QAAM,OAAO,QAAQ,SAAS;AAC9B,QAAM,MAA8B,CAAA;AACpC,QAAM,SAAwB,IAAI,MAAM,uBAAuB,KAAK,CAAA;AAEpE,SAAO,QAAQ,CAAC,SAAS;AACvB,WAAO,mBAAmB,IAAI;AAC9B,UAAM,QAAgB,KAAK,QAAQ,GAAG;AACtC,QAAI,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,QAAQ,CAAC;AAAA,EAClD,CAAC;AAED,SAAO;AACT;AAQO,SAAS,YAAY,KAAa,KAAc;AACrD,QAAM,OAAO,QAAQ,SAAS;AAE9B,QAAM,UAAU,IAAI,OAAO,mBAAmB,MAAM,kBAAkB;AACtE,QAAM,gBAAgB,IAAI,MAAM,OAAO;AACvC,SAAO,gBAAgB,mBAAmB,cAAc,CAAC,KAAK,EAAE,KAAK,KAAK;AAC5E;AAQO,SAAS,gBAAgB,QAAuB,KAAsB;AAC3E,QAAM,OAAO,QAAQ,SAAS;AAC9B,QAAM,MAAM,IAAI,MAAM,GAAG;AAEzB,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,QAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAEnB,WAAO,QAAQ,CAAC,SAAS;AACvB,YAAM,MAAM,IAAI,OAAO,OAAO,IAAI,aAAa,GAAG;AAClD,UAAI,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,KAAK,EAAE;AAC/B,UAAI,IAAI,CAAC,EAAE,CAAC,MAAM,IAAK,KAAI,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,KAAK,GAAG;AAAA,IACzD,CAAC;AAAA,EACH;AAEA,SAAO,IAAI,KAAK,EAAE;AACpB;AAWO,SAAS,YACd,KACA,OACA,KACA,WACA,QACQ;AACR,QAAM,OAAO,QAAQ,SAAS;AAE9B,QAAM,UAAU,IAAI,OAAO,iBAAiB,MAAM,kBAAkB;AACpE,QAAM,gBAAgB,IAAI,MAAM,OAAO;AACvC,QAAM,UAAU,WAAW,gBAAgB,cAAc,CAAC,IAAI;AAE9D,MAAI,MAAM;AAEV,MAAI,IAAI,QAAQ,GAAG,MAAM,IAAI;AAC3B,UAAM;AAAA,EACR,WAAW,cAAc,OAAO,IAAI,QAAQ,GAAG,MAAM,IAAI;AACvD,UAAM;AAAA,EACR;AAGA,MAAI,UAAU;AACd,MAAI,SAAS;AACb,MAAI,eAAe;AACjB,aAAS,IAAI,QAAQ,SAAS,CAAC,IAAI,MAAM,MAAM,MAAM,aAAa;AAChE,UAAI,SAAU,UAAU;AACxB,UAAI,UAAU,MAAM;AAClB,YAAI,UAAU,YAAa,SAAQ;AACnC,kBAAU,WAAW,OAAO,UAAU,MAAM,SAAS,YAAY;AAAA,MACnE;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,OAAO;AACL,QAAI,UAAU,MAAM;AAClB,UAAI,UAAU,YAAa,SAAQ;AACnC,eAAS,MAAM,MAAM,UAAU,MAAM;AAAA,IACvC,OAAO;AACL,eAAS;AAAA,IACX;AAAA,EACF;AACA,MAAI,OAAO,QAAQ,OAAO,MAAM,OAAO,SAAS,GAAG;AACjD,aAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC;AAAA,EAChD;AAEA,MAAI,WAAW,KAAK,MAAM,GAAG;AAC3B,WAAO,UAAU,GAAG,OAAO,SAAS,CAAC;AAAA,EACvC;AAEA,SAAO;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.mjs","sources":["../../src/utils/validator.ts"],"sourcesContent":["import type { MaybeRef } from 'vue'\nimport { unref } from 'vue'\n\nimport { isEmpty } from './common'\n\nexport const validatorRegs = {\n cellPhone: /^1[3-9]\\d{9}$/,\n telephone: /^\\d{7,8}$/,\n url: /^((blob:)*(https|http|ftp|rtsp|mms|wss)?:\\/\\/)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/,\n email: /^([A-Za-z0-9_\\\\-\\\\.\\\\u4e00-\\\\u9fa5])+@([A-Za-z0-9_\\\\-\\\\.])+\\.([A-Za-z]{2,8})$/\n}\n\n/**\n * 验证器函数 - 检查输入值是否符合指定规则\n * @param value 要验证的字符串值\n * @param type 验证类型\n * @param required 是否必填,必填时空值返回 null\n * @returns 验证结果:通过返回 true,失败返回 false,必填为空返回 null\n * @throws Error 当传入不支持的验证类型时抛出异常\n */\nexport function validator(\n value: string | number | undefined | null,\n type: keyof typeof validatorRegs | 'empty',\n required = false\n) {\n if (type === 'empty') return isEmpty(value)\n\n const reg = validatorRegs[type]\n if (!reg) throw new Error(`[validator] 没有 ${type} 类型`)\n if (required && isEmpty(value)) return null\n\n return isEmpty(value) ? false : reg.test(value + '')\n}\n\n/**\n * 循环等待值满足条件\n * @param value Vue ref 对象或普通值\n * @param options 配置项\n * @param options.interval 轮询间隔,默认 10ms\n * @param options.timeout 超时时间,默认 0(不超时)\n * @param options.throwOnTimeout 超时时是否抛错,默认 false\n * @param options.validator 自定义校验函数,返回 true 表示值有效,默认使用 isEmpty 判断\n * @returns Promise,成功返回值,超时时根据 throwOnTimeout 决定返回 undefined 或抛错\n */\nexport function checkValue<T = unknown>(\n value: MaybeRef<T>,\n options?: {\n interval?: number\n timeout?: number\n throwOnTimeout?: boolean\n validator?: (val: T) => boolean\n }\n): Promise<T | undefined> {\n return new Promise((resolve, reject) => {\n const {\n interval = 10,\n timeout = 0,\n throwOnTimeout = false,\n validator = (val: T) => !isEmpty(val)\n } = options ?? {}\n\n const startTime = Date.now()\n let timer: NodeJS.Timeout | undefined\n\n core()\n timer = setInterval(core, interval)\n\n function core() {\n const val = unref(value)\n if (validator(val)) {\n clearInterval(timer)\n resolve(val)\n return\n }\n\n if (timeout > 0 && Date.now() - startTime >= timeout) {\n clearInterval(timer)\n if (throwOnTimeout) {\n reject(new Error(`checkValue timeout after ${timeout}ms`))\n } else {\n resolve(undefined)\n }\n }\n }\n })\n}\n"],"names":["validator"],"mappings":";;AAKO,MAAM,gBAAgB;AAAA,EAC3B,WAAW;AAAA,EACX,WAAW;AAAA,EACX,KAAK;AAAA,EACL,OAAO;AACT;AAUO,SAAS,UACd,OACA,MACA,WAAW,OACX;AACA,MAAI,SAAS,QAAS,QAAO,QAAQ,KAAK;AAE1C,QAAM,MAAM,cAAc,IAAI;AAC9B,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kBAAkB,IAAI,KAAK;AACrD,MAAI,YAAY,QAAQ,KAAK,EAAG,QAAO;AAEvC,SAAO,QAAQ,KAAK,IAAI,QAAQ,IAAI,KAAK,QAAQ,EAAE;AACrD;AAYO,SAAS,WACd,OACA,SAMwB;AACxB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,WAAAA,aAAY,CAAC,QAAW,CAAC,QAAQ,GAAG;AAAA,IAAA,IAClC,WAAW,CAAA;AAEf,UAAM,YAAY,KAAK,IAAA;AACvB,QAAI;AAEJ,SAAA;AACA,YAAQ,YAAY,MAAM,QAAQ;AAElC,aAAS,OAAO;AACd,YAAM,MAAM,MAAM,KAAK;AACvB,UAAIA,WAAU,GAAG,GAAG;AAClB,sBAAc,KAAK;AACnB,gBAAQ,GAAG;AACX;AAAA,MACF;AAEA,UAAI,UAAU,KAAK,KAAK,IAAA,IAAQ,aAAa,SAAS;AACpD,sBAAc,KAAK;AACnB,YAAI,gBAAgB;AAClB,iBAAO,IAAI,MAAM,4BAA4B,OAAO,IAAI,CAAC;AAAA,QAC3D,OAAO;AACL,kBAAQ,MAAS;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;"}