ranuts 0.4.1-alpha.1 → 0.5.0

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 (331) hide show
  1. package/CLAUDE.md +178 -26
  2. package/README.de.md +62 -0
  3. package/README.es.md +62 -0
  4. package/README.fa.md +62 -0
  5. package/README.ja.md +62 -0
  6. package/README.ko.md +62 -0
  7. package/README.md +35 -90
  8. package/README.pt.md +62 -0
  9. package/README.zh-CN.md +35 -89
  10. package/dist/iife/index.iife.js +4 -0
  11. package/dist/iife/utils.iife.js +4 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +306 -1
  14. package/dist/src/_virtual/_rolldown/runtime/index.js +12 -0
  15. package/dist/src/conversation/engine.d.ts +109 -0
  16. package/dist/src/conversation/engine.js +101 -0
  17. package/dist/src/conversation/index.d.ts +12 -0
  18. package/dist/src/conversation/index.js +4 -0
  19. package/dist/src/conversation/types.d.ts +99 -0
  20. package/dist/src/stream/accumulator.d.ts +51 -0
  21. package/dist/src/stream/accumulator.js +79 -0
  22. package/dist/src/stream/budget.d.ts +89 -0
  23. package/dist/src/stream/budget.js +45 -0
  24. package/dist/src/stream/index.d.ts +25 -0
  25. package/dist/src/stream/index.js +11 -0
  26. package/dist/src/stream/sse.d.ts +51 -0
  27. package/dist/src/stream/sse.js +61 -0
  28. package/dist/src/stream/types.d.ts +106 -0
  29. package/dist/src/sw/index.js +52 -1
  30. package/dist/src/utils/async.js +49 -0
  31. package/dist/src/utils/audioRecorder.js +1121 -0
  32. package/dist/src/utils/behavior.js +9 -0
  33. package/dist/src/utils/binary.js +89 -0
  34. package/dist/src/utils/bom.d.ts +31 -9
  35. package/dist/src/utils/bom.js +165 -0
  36. package/dist/src/utils/bridge.js +310 -0
  37. package/dist/src/utils/canvas.d.ts +1 -0
  38. package/dist/src/utils/canvas.js +103 -0
  39. package/dist/src/utils/chain.js +76 -0
  40. package/dist/src/utils/color.d.ts +0 -1
  41. package/dist/src/utils/color.js +312 -0
  42. package/dist/src/utils/compose.js +22 -0
  43. package/dist/src/utils/console.js +22 -0
  44. package/dist/src/utils/debounce.js +18 -0
  45. package/dist/src/utils/device.d.ts +0 -9
  46. package/dist/src/utils/device.js +31 -0
  47. package/dist/src/utils/diff.d.ts +51 -0
  48. package/dist/src/utils/diff.js +110 -0
  49. package/dist/src/utils/dom.d.ts +1 -1
  50. package/dist/src/utils/dom.js +89 -0
  51. package/dist/src/utils/error.js +11 -0
  52. package/dist/src/utils/event.d.ts +3 -3
  53. package/dist/src/utils/event.js +39 -0
  54. package/dist/src/utils/file.js +14 -0
  55. package/dist/src/utils/func.js +4 -0
  56. package/dist/src/utils/i18n/index.js +79 -1
  57. package/dist/src/utils/idb.js +177 -0
  58. package/dist/src/utils/img.d.ts +1 -1
  59. package/dist/src/utils/img.js +68 -0
  60. package/dist/src/utils/index.d.ts +81 -77
  61. package/dist/src/utils/index.js +306 -1
  62. package/dist/src/utils/lang.d.ts +23 -6
  63. package/dist/src/utils/lang.js +42 -0
  64. package/dist/src/utils/localePath.js +48 -0
  65. package/dist/src/utils/memoize.d.ts +1 -7
  66. package/dist/src/utils/memoize.js +16 -0
  67. package/dist/src/utils/mimeType.js +841 -0
  68. package/dist/src/utils/monitor.js +84 -0
  69. package/dist/src/utils/network.js +117 -0
  70. package/dist/src/utils/noop.js +5 -0
  71. package/dist/src/utils/number.d.ts +20 -0
  72. package/dist/src/utils/number.js +185 -0
  73. package/dist/src/utils/obj.d.ts +2 -2
  74. package/dist/src/utils/obj.js +140 -0
  75. package/dist/src/utils/paginate.js +93 -0
  76. package/dist/src/utils/performance.js +26 -0
  77. package/dist/src/utils/placement.d.ts +42 -5
  78. package/dist/src/utils/placement.js +37 -0
  79. package/dist/src/utils/prefetch.js +69 -0
  80. package/dist/src/utils/queue.js +46 -0
  81. package/dist/src/utils/report.js +44 -0
  82. package/dist/src/utils/request.js +35 -0
  83. package/dist/src/utils/script.d.ts +1 -1
  84. package/dist/src/utils/script.js +46 -0
  85. package/dist/src/utils/scroll.d.ts +93 -0
  86. package/dist/src/utils/scroll.js +62 -0
  87. package/dist/src/utils/secure.js +36 -0
  88. package/dist/src/utils/segment.js +43 -0
  89. package/dist/src/utils/signal.d.ts +1 -1
  90. package/dist/src/utils/signal.js +13 -0
  91. package/dist/src/utils/speech.js +59 -0
  92. package/dist/src/utils/storage.js +53 -0
  93. package/dist/src/utils/str.d.ts +0 -6
  94. package/dist/src/utils/str.js +395 -0
  95. package/dist/src/utils/style.js +29 -0
  96. package/dist/src/utils/subscribe.js +58 -0
  97. package/dist/src/utils/throttle.js +17 -0
  98. package/dist/src/utils/time.d.ts +0 -21
  99. package/dist/src/utils/time.js +97 -0
  100. package/dist/src/utils/totp/sha/common.d.ts +1 -1
  101. package/dist/src/utils/totp/sha/common.js +201 -0
  102. package/dist/src/utils/totp/sha/converters.d.ts +1 -1
  103. package/dist/src/utils/totp/sha/converters.js +188 -0
  104. package/dist/src/utils/totp/sha/primitives_32.js +55 -0
  105. package/dist/src/utils/totp/sha/primitives_64.js +85 -0
  106. package/dist/src/utils/totp/sha/sha.d.ts +1 -1
  107. package/dist/src/utils/totp/sha/sha.js +30 -0
  108. package/dist/src/utils/totp/sha/sha1.d.ts +2 -2
  109. package/dist/src/utils/totp/sha/sha1.js +51 -0
  110. package/dist/src/utils/totp/sha/sha256.d.ts +2 -2
  111. package/dist/src/utils/totp/sha/sha256.js +56 -0
  112. package/dist/src/utils/totp/sha/sha3.d.ts +3 -3
  113. package/dist/src/utils/totp/sha/sha3.js +253 -0
  114. package/dist/src/utils/totp/sha/sha512.d.ts +3 -3
  115. package/dist/src/utils/totp/sha/sha512.js +177 -0
  116. package/dist/src/utils/totp/totp.js +49 -0
  117. package/dist/src/utils/tween.js +59 -0
  118. package/dist/src/utils/visual/application.d.ts +4 -4
  119. package/dist/src/utils/visual/application.js +42 -0
  120. package/dist/src/utils/visual/enums.js +19 -0
  121. package/dist/src/utils/visual/event/boundary.d.ts +2 -2
  122. package/dist/src/utils/visual/event/boundary.js +93 -0
  123. package/dist/src/utils/visual/event/event.d.ts +1 -1
  124. package/dist/src/utils/visual/event/event.js +34 -0
  125. package/dist/src/utils/visual/event/index.d.ts +4 -4
  126. package/dist/src/utils/visual/event/types.d.ts +2 -2
  127. package/dist/src/utils/visual/event/types.js +23 -0
  128. package/dist/src/utils/visual/graphics/graphics.d.ts +8 -8
  129. package/dist/src/utils/visual/graphics/graphics.js +168 -0
  130. package/dist/src/utils/visual/graphics/graphicsData.d.ts +3 -3
  131. package/dist/src/utils/visual/graphics/graphicsData.js +12 -0
  132. package/dist/src/utils/visual/graphics/graphicsGeometry.d.ts +7 -7
  133. package/dist/src/utils/visual/graphics/graphicsGeometry.js +39 -0
  134. package/dist/src/utils/visual/graphics/index.d.ts +3 -3
  135. package/dist/src/utils/visual/index.d.ts +8 -8
  136. package/dist/src/utils/visual/index.js +20 -1
  137. package/dist/src/utils/visual/math/bezier.js +15 -0
  138. package/dist/src/utils/visual/math/enums.js +6 -0
  139. package/dist/src/utils/visual/math/index.d.ts +4 -4
  140. package/dist/src/utils/visual/math/matrix.d.ts +1 -1
  141. package/dist/src/utils/visual/math/matrix.js +59 -0
  142. package/dist/src/utils/visual/math/transform.d.ts +2 -2
  143. package/dist/src/utils/visual/math/transform.js +50 -0
  144. package/dist/src/utils/visual/render/batchRenderer.d.ts +4 -4
  145. package/dist/src/utils/visual/render/batchRenderer.js +59 -0
  146. package/dist/src/utils/visual/render/canvasRenderer.d.ts +3 -3
  147. package/dist/src/utils/visual/render/canvasRenderer.js +17 -0
  148. package/dist/src/utils/visual/render/filter.d.ts +1 -1
  149. package/dist/src/utils/visual/render/filter.js +92 -0
  150. package/dist/src/utils/visual/render/index.d.ts +2 -2
  151. package/dist/src/utils/visual/render/index.js +20 -0
  152. package/dist/src/utils/visual/render/render.d.ts +4 -4
  153. package/dist/src/utils/visual/render/render.js +19 -0
  154. package/dist/src/utils/visual/render/renderTarget.js +28 -0
  155. package/dist/src/utils/visual/render/utils/batch/index.d.ts +4 -4
  156. package/dist/src/utils/visual/render/utils/batch/index.js +88 -0
  157. package/dist/src/utils/visual/render/utils/earcut.js +328 -0
  158. package/dist/src/utils/visual/render/utils/float.js +65 -0
  159. package/dist/src/utils/visual/render/utils/index.js +50 -0
  160. package/dist/src/utils/visual/render/utils/verticy.d.ts +2 -2
  161. package/dist/src/utils/visual/render/utils/verticy.js +162 -0
  162. package/dist/src/utils/visual/render/utils/webgl/initShader.d.ts +1 -1
  163. package/dist/src/utils/visual/render/utils/webgl/initShader.js +31 -0
  164. package/dist/src/utils/visual/render/utils/webgl/shaders.js +22 -0
  165. package/dist/src/utils/visual/render/utils/webgpu/shaders.js +32 -0
  166. package/dist/src/utils/visual/render/webGPURenderer.d.ts +2 -2
  167. package/dist/src/utils/visual/render/webGPURenderer.js +185 -0
  168. package/dist/src/utils/visual/render/webGlRenderer.d.ts +2 -2
  169. package/dist/src/utils/visual/render/webGlRenderer.js +88 -0
  170. package/dist/src/utils/visual/shape/circle.d.ts +3 -3
  171. package/dist/src/utils/visual/shape/circle.js +17 -0
  172. package/dist/src/utils/visual/shape/ellipse.d.ts +3 -3
  173. package/dist/src/utils/visual/shape/ellipse.js +18 -0
  174. package/dist/src/utils/visual/shape/index.d.ts +6 -6
  175. package/dist/src/utils/visual/shape/polygon.d.ts +3 -3
  176. package/dist/src/utils/visual/shape/polygon.js +29 -0
  177. package/dist/src/utils/visual/shape/rectangle.d.ts +3 -3
  178. package/dist/src/utils/visual/shape/rectangle.js +18 -0
  179. package/dist/src/utils/visual/shape/roundedRectangle.d.ts +3 -3
  180. package/dist/src/utils/visual/shape/roundedRectangle.js +32 -0
  181. package/dist/src/utils/visual/shape/shape.d.ts +2 -2
  182. package/dist/src/utils/visual/shape/shape.js +5 -0
  183. package/dist/src/utils/visual/style/fill.js +18 -0
  184. package/dist/src/utils/visual/style/index.d.ts +2 -2
  185. package/dist/src/utils/visual/style/line.d.ts +2 -2
  186. package/dist/src/utils/visual/style/line.js +18 -0
  187. package/dist/src/utils/visual/types.d.ts +1 -1
  188. package/dist/src/utils/visual/vertex/container.d.ts +5 -5
  189. package/dist/src/utils/visual/vertex/container.js +54 -0
  190. package/dist/src/utils/visual/vertex/point.js +37 -0
  191. package/dist/src/utils/visual/vertex/vertex.d.ts +7 -7
  192. package/dist/src/utils/visual/vertex/vertex.js +76 -0
  193. package/dist/src/utils/worker.js +89 -0
  194. package/dist/src/utils/zip.js +161 -0
  195. package/dist/src/vnode/h.d.ts +1 -1
  196. package/dist/src/vnode/h.js +22 -0
  197. package/dist/src/vnode/hooks.d.ts +1 -1
  198. package/dist/src/vnode/htmlDomApi.js +94 -0
  199. package/dist/src/vnode/index.d.ts +16 -16
  200. package/dist/src/vnode/index.js +28 -1
  201. package/dist/src/vnode/init.d.ts +1 -1
  202. package/dist/src/vnode/init.js +104 -0
  203. package/dist/src/vnode/is.d.ts +1 -1
  204. package/dist/src/vnode/is.js +20 -0
  205. package/dist/src/vnode/modules/attributes.d.ts +1 -1
  206. package/dist/src/vnode/modules/attributes.js +21 -0
  207. package/dist/src/vnode/modules/class.d.ts +1 -1
  208. package/dist/src/vnode/modules/class.js +18 -0
  209. package/dist/src/vnode/modules/index.js +15 -0
  210. package/dist/src/vnode/modules/listeners.d.ts +1 -1
  211. package/dist/src/vnode/modules/listeners.js +36 -0
  212. package/dist/src/vnode/modules/props.d.ts +1 -1
  213. package/dist/src/vnode/modules/props.js +17 -0
  214. package/dist/src/vnode/modules/style.d.ts +1 -1
  215. package/dist/src/vnode/modules/style.js +52 -0
  216. package/dist/src/vnode/vnode.d.ts +6 -6
  217. package/dist/src/vnode/vnode.js +13 -0
  218. package/dist/third-party/jschardet/LICENSE.txt +504 -0
  219. package/dist/third-party/jschardet/NOTICE.txt +33 -0
  220. package/docs/API.md +86 -65
  221. package/package.json +20 -15
  222. package/dist/bin/generate-api-docs.d.ts +0 -1
  223. package/dist/build/build.es.d.ts +0 -2
  224. package/dist/build/build.umd.d.ts +0 -2
  225. package/dist/build/build.umd.node.d.ts +0 -2
  226. package/dist/build/build.umd.utils.d.ts +0 -2
  227. package/dist/chain-CTywmh_H.js +0 -1
  228. package/dist/color-B_KMM8UX.js +0 -1
  229. package/dist/enums-BAgbyGdH.js +0 -1
  230. package/dist/examples/clone-deep-example.d.ts +0 -1
  231. package/dist/examples/is-equal-example.d.ts +0 -1
  232. package/dist/i18n-BJIS1fR1.js +0 -1
  233. package/dist/plugins/vite-plugins-banner.d.ts +0 -2
  234. package/dist/rolldown-runtime-I3TIJKkN.js +0 -1
  235. package/dist/src/node/appendFile.d.ts +0 -7
  236. package/dist/src/node/body.d.ts +0 -9
  237. package/dist/src/node/color.d.ts +0 -7
  238. package/dist/src/node/command.d.ts +0 -8
  239. package/dist/src/node/ctx2req.d.ts +0 -5
  240. package/dist/src/node/fileInfo.d.ts +0 -7
  241. package/dist/src/node/fs.d.ts +0 -7
  242. package/dist/src/node/get.d.ts +0 -10
  243. package/dist/src/node/getIPAdress.d.ts +0 -1
  244. package/dist/src/node/index.d.ts +0 -25
  245. package/dist/src/node/index.js +0 -1
  246. package/dist/src/node/isColorSupported.d.ts +0 -2
  247. package/dist/src/node/paresUrl.d.ts +0 -19
  248. package/dist/src/node/readDir.d.ts +0 -6
  249. package/dist/src/node/readFile.d.ts +0 -9
  250. package/dist/src/node/router.d.ts +0 -42
  251. package/dist/src/node/send.d.ts +0 -7
  252. package/dist/src/node/server.d.ts +0 -18
  253. package/dist/src/node/startTask.d.ts +0 -2
  254. package/dist/src/node/stream.d.ts +0 -15
  255. package/dist/src/node/taskEnd.d.ts +0 -2
  256. package/dist/src/node/traverse.d.ts +0 -17
  257. package/dist/src/node/watchFile.d.ts +0 -8
  258. package/dist/src/node/writeFile.d.ts +0 -8
  259. package/dist/src/node/ws.d.ts +0 -8
  260. package/dist/src/utils/visual/render/utils/batch/index.test.d.ts +0 -1
  261. package/dist/src/utils/visual/render/utils/index.test.d.ts +0 -1
  262. package/dist/test/binary.test.d.ts +0 -1
  263. package/dist/test/bridge.test.d.ts +0 -1
  264. package/dist/test/canvas.test.d.ts +0 -1
  265. package/dist/test/clearBr.test.d.ts +0 -1
  266. package/dist/test/cloneDeep.test.d.ts +0 -1
  267. package/dist/test/color.test.d.ts +0 -1
  268. package/dist/test/command.test.d.ts +0 -1
  269. package/dist/test/encodeUrl.test.d.ts +0 -1
  270. package/dist/test/escapeHtml.test.d.ts +0 -1
  271. package/dist/test/is-equal.test.d.ts +0 -1
  272. package/dist/test/mimeType.test.d.ts +0 -1
  273. package/dist/test/package-exports.test.d.ts +0 -1
  274. package/dist/test/server.test.d.ts +0 -1
  275. package/dist/test/status.test.d.ts +0 -1
  276. package/dist/test/sw.test.d.ts +0 -1
  277. package/dist/test/totp.test.d.ts +0 -1
  278. package/dist/test/tween.test.d.ts +0 -1
  279. package/dist/test/utils/async.test.d.ts +0 -1
  280. package/dist/test/utils/autosize.test.d.ts +0 -1
  281. package/dist/test/utils/color-grade.test.d.ts +0 -1
  282. package/dist/test/utils/compose.test.d.ts +0 -1
  283. package/dist/test/utils/event.test.d.ts +0 -1
  284. package/dist/test/utils/file-read.test.d.ts +0 -1
  285. package/dist/test/utils/format.test.d.ts +0 -1
  286. package/dist/test/utils/i18n.test.d.ts +0 -1
  287. package/dist/test/utils/idb-collection.test.d.ts +0 -1
  288. package/dist/test/utils/idb.test.d.ts +0 -1
  289. package/dist/test/utils/instrumentation.test.d.ts +0 -1
  290. package/dist/test/utils/interp.test.d.ts +0 -1
  291. package/dist/test/utils/lang.test.d.ts +0 -1
  292. package/dist/test/utils/locale-path.test.d.ts +0 -1
  293. package/dist/test/utils/media-query.test.d.ts +0 -1
  294. package/dist/test/utils/mergeObj.test.d.ts +0 -1
  295. package/dist/test/utils/number-parse.test.d.ts +0 -1
  296. package/dist/test/utils/paginate.test.d.ts +0 -1
  297. package/dist/test/utils/placement.test.d.ts +0 -1
  298. package/dist/test/utils/prefetch.test.d.ts +0 -1
  299. package/dist/test/utils/query-storage.test.d.ts +0 -1
  300. package/dist/test/utils/queue.test.d.ts +0 -1
  301. package/dist/test/utils/report-config.test.d.ts +0 -1
  302. package/dist/test/utils/report-image.test.d.ts +0 -1
  303. package/dist/test/utils/secure.test.d.ts +0 -1
  304. package/dist/test/utils/segment.test.d.ts +0 -1
  305. package/dist/test/utils/signal-once.test.d.ts +0 -1
  306. package/dist/test/utils/single-flight.test.d.ts +0 -1
  307. package/dist/test/utils/speech.test.d.ts +0 -1
  308. package/dist/test/utils/text-boundary.test.d.ts +0 -1
  309. package/dist/test/utils/time.test.d.ts +0 -1
  310. package/dist/test/utils/timing.test.d.ts +0 -1
  311. package/dist/test/utils/truncate.test.d.ts +0 -1
  312. package/dist/test/utils/visual/filter.test.d.ts +0 -1
  313. package/dist/test/utils/worker-client.test.d.ts +0 -1
  314. package/dist/test/utils/worker-serve.test.d.ts +0 -1
  315. package/dist/test/utils/zip.test.d.ts +0 -1
  316. package/dist/test/visual/math.test.d.ts +0 -1
  317. package/dist/test/visual-application.test.d.ts +0 -1
  318. package/dist/test/visual-batch.test.d.ts +0 -1
  319. package/dist/test/visual-math.test.d.ts +0 -1
  320. package/dist/test/vnode/index.d.ts +0 -1
  321. package/dist/test/vnode/server.d.ts +0 -2
  322. package/dist/test/vnode/vnode.d.ts +0 -1
  323. package/dist/test/vnode.test.d.ts +0 -1
  324. package/dist/test/websocket.test.d.ts +0 -1
  325. package/dist/test/writeFile.test.d.ts +0 -1
  326. package/dist/umd/index.umd.cjs +0 -1
  327. package/dist/umd/node/node.umd.cjs +0 -1
  328. package/dist/umd/utils/utils.umd.cjs +0 -1
  329. package/dist/utils-BNwhohXq.js +0 -1
  330. package/dist/vite.config.d.ts +0 -8
  331. package/dist/vitest.config.d.ts +0 -2
@@ -0,0 +1,84 @@
1
+ import { noop as c } from "./noop.js";
2
+ import { handleConsole as a } from "./console.js";
3
+ import { handleError as l } from "./error.js";
4
+ import { getPerformance as d } from "./performance.js";
5
+ import { createData as t, report as o, setReportUrl as f } from "./report.js";
6
+ import { handleFetchHook as u, handleXhrHook as m } from "./request.js";
7
+ import { throttle as k } from "./throttle.js";
8
+ import { handleClick as v } from "./behavior.js";
9
+ var g = {
10
+ click: !0,
11
+ error: !0,
12
+ fetch: !0,
13
+ xhr: !0,
14
+ performance: !0,
15
+ console: !1
16
+ }, q = class {
17
+ options;
18
+ teardown = [];
19
+ send = c;
20
+ constructor(e) {
21
+ this.options = e, f({
22
+ url: e.url,
23
+ userIdCookie: e.userIdCookie
24
+ }), this.send = k((r) => o(r), e.throttleMs ?? 300);
25
+ }
26
+ get running() {
27
+ return this.teardown.length > 0;
28
+ }
29
+ start = () => {
30
+ if (this.running) return this.stop;
31
+ const e = {
32
+ ...g,
33
+ ...this.options.channels
34
+ };
35
+ return e.performance && this.reportPerformance(), e.click && this.teardown.push(this.reportClick()), e.error && this.teardown.push(this.reportError()), e.fetch && this.teardown.push(this.reportFetch()), e.xhr && this.teardown.push(this.reportXhr()), e.console && this.teardown.push(this.reportConsole()), this.stop;
36
+ };
37
+ stop = () => {
38
+ const e = this.teardown.splice(0, this.teardown.length);
39
+ for (const r of e) r();
40
+ };
41
+ event = (e, r) => ({ payload: {
42
+ ...t(),
43
+ data: r,
44
+ type: e
45
+ } });
46
+ log = (e) => {
47
+ this.send({ payload: {
48
+ ...t(),
49
+ ...e
50
+ } });
51
+ };
52
+ reportPerformance = () => {
53
+ o({ payload: {
54
+ ...d(),
55
+ ...t(),
56
+ type: "performance"
57
+ } });
58
+ };
59
+ reportClick = () => v((r) => {
60
+ const { pageX: s, pageY: n, screenX: h, screenY: i, type: p } = r;
61
+ this.send(this.event("click", {
62
+ pageX: s,
63
+ pageY: n,
64
+ screenX: h,
65
+ screenY: i,
66
+ type: p
67
+ }));
68
+ });
69
+ reportError = () => l((...e) => this.send(this.event("error", { ...e })));
70
+ reportFetch = () => u({
71
+ requestHook: (...e) => this.send(this.event("fetchRequest", { ...e })),
72
+ responseHook: (...e) => this.send(this.event("fetchResponse", { ...e })),
73
+ errorHook: (...e) => this.send(this.event("fetchError", { ...e }))
74
+ });
75
+ reportXhr = () => m({
76
+ requestHook: (...e) => this.send(this.event("xhrRequest", { ...e })),
77
+ responseHook: (...e) => this.send(this.event("xhrResponse", { ...e })),
78
+ errorHook: (...e) => this.send(this.event("xhrError", { ...e }))
79
+ });
80
+ reportConsole = () => a((...e) => this.send(this.event("console", { ...e })));
81
+ };
82
+ export {
83
+ q as Monitor
84
+ };
@@ -0,0 +1,117 @@
1
+ var n = /* @__PURE__ */ new Map([
2
+ [100, "Continue"],
3
+ [101, "Switching Protocols"],
4
+ [102, "Processing"],
5
+ [103, "Early Hints"],
6
+ [200, "OK"],
7
+ [201, "Created"],
8
+ [202, "Accepted"],
9
+ [203, "Non-Authoritative Information"],
10
+ [204, "No Content"],
11
+ [205, "Reset Content"],
12
+ [206, "Partial Content"],
13
+ [207, "Multi-Status"],
14
+ [208, "Already Reported"],
15
+ [226, "IM Used"],
16
+ [300, "Multiple Choices"],
17
+ [301, "Moved Permanently"],
18
+ [302, "Found"],
19
+ [303, "See Other"],
20
+ [304, "Not Modified"],
21
+ [305, "Use Proxy"],
22
+ [307, "Temporary Redirect"],
23
+ [308, "Permanent Redirect"],
24
+ [400, "Bad Request"],
25
+ [401, "Unauthorized"],
26
+ [402, "Payment Required"],
27
+ [403, "Forbidden"],
28
+ [404, "Not Found"],
29
+ [405, "Method Not Allowed"],
30
+ [406, "Not Acceptable"],
31
+ [407, "Proxy Authentication Required"],
32
+ [408, "Request Timeout"],
33
+ [409, "Conflict"],
34
+ [410, "Gone"],
35
+ [411, "Length Required"],
36
+ [412, "Precondition Failed"],
37
+ [413, "Payload Too Large"],
38
+ [414, "URI Too Long"],
39
+ [415, "Unsupported Media Type"],
40
+ [416, "Range Not Satisfiable"],
41
+ [417, "Expectation Failed"],
42
+ [418, "I'm a Teapot"],
43
+ [421, "Misdirected Request"],
44
+ [422, "Unprocessable Entity"],
45
+ [423, "Locked"],
46
+ [424, "Failed Dependency"],
47
+ [425, "Too Early"],
48
+ [426, "Upgrade Required"],
49
+ [428, "Precondition Required"],
50
+ [429, "Too Many Requests"],
51
+ [431, "Request Header Fields Too Large"],
52
+ [451, "Unavailable For Legal Reasons"],
53
+ [500, "Internal Server Error"],
54
+ [501, "Not Implemented"],
55
+ [502, "Bad Gateway"],
56
+ [503, "Service Unavailable"],
57
+ [504, "Gateway Timeout"],
58
+ [505, "HTTP Version Not Supported"],
59
+ [506, "Variant Also Negotiates"],
60
+ [507, "Insufficient Storage"],
61
+ [508, "Loop Detected"],
62
+ [509, "Bandwidth Limit Exceeded"],
63
+ [510, "Not Extended"],
64
+ [511, "Network Authentication Required"]
65
+ ]), o = {
66
+ message: n,
67
+ code: i(n),
68
+ codes: u(n),
69
+ redirect: {
70
+ 300: !0,
71
+ 301: !0,
72
+ 302: !0,
73
+ 303: !0,
74
+ 305: !0,
75
+ 307: !0,
76
+ 308: !0
77
+ },
78
+ empty: {
79
+ 204: !0,
80
+ 205: !0,
81
+ 304: !0
82
+ },
83
+ retry: {
84
+ 502: !0,
85
+ 503: !0,
86
+ 504: !0
87
+ }
88
+ };
89
+ function i(e) {
90
+ const t = /* @__PURE__ */ new Map();
91
+ for (const [r, a] of e) t.set(a.toLowerCase(), r);
92
+ return t;
93
+ }
94
+ function u(e) {
95
+ const t = [];
96
+ for (const [r, a] of e) t.push(r);
97
+ return t;
98
+ }
99
+ function d(e) {
100
+ const t = e.toLowerCase();
101
+ if (o.code.has(t), !o.code.has(t)) throw new Error('invalid status message: "' + e + '"');
102
+ return o.code.get(t);
103
+ }
104
+ function s(e) {
105
+ if (!o.message.has(e)) throw new Error("invalid status code: " + e);
106
+ return o.message.get(e);
107
+ }
108
+ function c(e) {
109
+ if (typeof e == "number") return s(e);
110
+ if (typeof e != "string") throw new TypeError("code must be a number or string");
111
+ const t = parseInt(e, 10);
112
+ return !isNaN(t) && o.codes.includes(t) ? s(t) : d(e);
113
+ }
114
+ export {
115
+ c as getStatus,
116
+ o as status
117
+ };
@@ -0,0 +1,5 @@
1
+ var o = () => {
2
+ };
3
+ export {
4
+ o as noop
5
+ };
@@ -139,4 +139,24 @@ export declare const linearstep: (edge0: number, edge1: number, x: number) => nu
139
139
  * @return {number}
140
140
  */
141
141
  export declare const smoothstep: (edge0: number, edge1: number, x: number) => number;
142
+ /**
143
+ * @description: Format a byte count for a person to read.
144
+ *
145
+ * Steps in units of 1024 and keeps one decimal from KB up, because "1.4 MB" is the number a
146
+ * file manager shows for the same file and a reader comparing the two should not have to
147
+ * wonder. Bytes get no decimal — a fraction of a byte is not a thing.
148
+ *
149
+ * @param {number} bytes Byte count. Negative or non-finite input yields `'0 B'`, since there
150
+ * is no honest reading of a file with a negative size.
151
+ * @return {string}
152
+ * @example
153
+ * ```ts
154
+ * formatBytes(0); // '0 B'
155
+ * formatBytes(999); // '999 B'
156
+ * formatBytes(1024); // '1.0 KB'
157
+ * formatBytes(1536); // '1.5 KB'
158
+ * formatBytes(1048576); // '1.0 MB'
159
+ * ```
160
+ */
161
+ export declare const formatBytes: (bytes: number) => string;
142
162
  export {};
@@ -0,0 +1,185 @@
1
+ import { toHalfWidth as v, toString as u } from "./str.js";
2
+ var C = (e = "") => {
3
+ if (e.length === 0) return 0;
4
+ if (e.endsWith("%")) {
5
+ const t = Number(e.replace("%", ""));
6
+ return t > 1 ? t / 100 : t;
7
+ } else return Number(e);
8
+ }, L = (e, t = 0, r = 1) => Math.min(r, Math.max(t, e)), g = class M {
9
+ getDecimalLength = (t) => {
10
+ const [r, n] = t.toString().split(".");
11
+ return n ? n.length : 0;
12
+ };
13
+ amend = (t, r = 15) => parseFloat(Number(t).toPrecision(r));
14
+ power = (t, r) => Math.pow(10, Math.max(this.getDecimalLength(t), this.getDecimalLength(r)));
15
+ static handleMethod = (t, r) => {
16
+ const { power: n, amend: s } = new M(), i = n(t, r), a = s(t * i), o = s(r * i);
17
+ return (h) => {
18
+ switch (h) {
19
+ case "+":
20
+ return (a + o) / i;
21
+ case "-":
22
+ return (a - o) / i;
23
+ case "*":
24
+ return a * o / (i * i);
25
+ case "/":
26
+ return a / o;
27
+ }
28
+ };
29
+ };
30
+ static add = (t, r) => this.handleMethod(t, r)("+");
31
+ static divide = (t, r) => this.handleMethod(t, r)("/");
32
+ static multiply = (t, r) => this.handleMethod(t, r)("*");
33
+ static subtract = (t, r) => this.handleMethod(t, r)("-");
34
+ };
35
+ function x(e, t, r) {
36
+ function n(o) {
37
+ const [h, c] = o.toString().split(".");
38
+ return c ? c.length : 0;
39
+ }
40
+ const s = (o, h = 15) => parseFloat(Number(o).toPrecision(h)), i = Math.pow(10, Math.max(n(e), n(r)));
41
+ let a = 0;
42
+ switch (e = s(e * i), r = s(r * i), t) {
43
+ case "+":
44
+ a = (e + r) / i;
45
+ break;
46
+ case "-":
47
+ a = (e - r) / i;
48
+ break;
49
+ case "*":
50
+ a = e * r / (i * i);
51
+ break;
52
+ case "/":
53
+ a = e / r;
54
+ }
55
+ return a = s(a), {
56
+ result: a,
57
+ next: (o, h) => x(a, o, h)
58
+ };
59
+ }
60
+ var $ = (e, t = "zh-CN", r = 2, n = 2) => {
61
+ let s = [
62
+ "",
63
+ "K",
64
+ "M",
65
+ "B",
66
+ "T"
67
+ ], i = 3;
68
+ if (t === "zh-CN" && (s = [
69
+ "",
70
+ " 万",
71
+ " 亿",
72
+ " 万亿"
73
+ ], i = 4), t === "zh-HK" && (s = [
74
+ "",
75
+ " 萬",
76
+ " 億",
77
+ " 萬億"
78
+ ], i = 4), !/^[+-]?\d+(?:\.\d+)?$/.test(e)) return "--";
79
+ const a = parseInt(e).toString().length, o = Math.min(Math.floor((a - 1) / i), s.length - 1), h = g.divide(Number(e), 10 ** (o * i))?.toFixed(r);
80
+ return Number(h).toFixed(n) + s[o];
81
+ }, D = (e, t) => u(e).startsWith("+") || u(e).startsWith("-") ? u(e) : t ? Number(t || 0) > 0 ? `+${u(e)}` : u(e) : Number(e || 0) > 0 ? `+${u(e)}` : u(e), l = {
82
+ 零: 0,
83
+ "〇": 0,
84
+ 一: 1,
85
+ 二: 2,
86
+ 两: 2,
87
+ 三: 3,
88
+ 四: 4,
89
+ 五: 5,
90
+ 六: 6,
91
+ 七: 7,
92
+ 八: 8,
93
+ 九: 9
94
+ }, m = {
95
+ 十: 10,
96
+ 百: 100,
97
+ 千: 1e3
98
+ }, T = (e) => {
99
+ const t = v(e.trim());
100
+ if (/^\d+$/.test(t)) return Number.parseInt(t, 10);
101
+ if (t.length === 0) return null;
102
+ let r = 0, n = 0, s = 0;
103
+ for (const i of t) if (l[i] !== void 0) s = l[i];
104
+ else if (m[i] !== void 0)
105
+ n += (s || (i === "十" ? 1 : 0)) * m[i], s = 0;
106
+ else if (i === "万" || i === "萬")
107
+ r = (r + n + s) * 1e4, n = 0, s = 0;
108
+ else return null;
109
+ return r + n + s;
110
+ }, d = {
111
+ I: 1,
112
+ V: 5,
113
+ X: 10,
114
+ L: 50,
115
+ C: 100,
116
+ D: 500,
117
+ M: 1e3
118
+ }, w = (e) => {
119
+ const t = e.trim().toUpperCase();
120
+ if (!/^[IVXLCDM]+$/.test(t)) return null;
121
+ let r = 0;
122
+ for (let n = 0; n < t.length; n++) {
123
+ const s = d[t[n]], i = d[t[n + 1]];
124
+ i && s < i ? r -= s : r += s;
125
+ }
126
+ return r;
127
+ }, f = {
128
+ one: 1,
129
+ two: 2,
130
+ three: 3,
131
+ four: 4,
132
+ five: 5,
133
+ six: 6,
134
+ seven: 7,
135
+ eight: 8,
136
+ nine: 9,
137
+ ten: 10,
138
+ eleven: 11,
139
+ twelve: 12,
140
+ thirteen: 13,
141
+ fourteen: 14,
142
+ fifteen: 15,
143
+ sixteen: 16,
144
+ seventeen: 17,
145
+ eighteen: 18,
146
+ nineteen: 19,
147
+ twenty: 20
148
+ }, _ = (e) => {
149
+ const t = e.trim().toLowerCase();
150
+ return /^\d+$/.test(t) ? Number.parseInt(t, 10) : f[t] !== void 0 ? f[t] : w(t);
151
+ }, N = (e, t, r) => Math.min(r, Math.max(t, e)), b = (e, t, r) => e + (t - e) * r, F = (e, t, r) => e === t ? 0 : (r - e) / (t - e), B = (e, t, r, n, s) => n + (e - t) * (s - n) / (r - t), E = (e, t, r, n, s) => N(B(e, t, r, n, s), Math.min(n, s), Math.max(n, s)), S = (e, t, r) => e === t ? r < e ? 0 : 1 : N((r - e) / (t - e), 0, 1), U = (e, t, r) => {
152
+ const n = S(e, t, r);
153
+ return n * n * (3 - 2 * n);
154
+ }, p = [
155
+ "B",
156
+ "KB",
157
+ "MB",
158
+ "GB",
159
+ "TB"
160
+ ], W = (e) => {
161
+ if (!Number.isFinite(e) || e <= 0) return "0 B";
162
+ let t = e, r = 0;
163
+ for (; t >= 1024 && r < p.length - 1; )
164
+ t /= 1024, r += 1;
165
+ return r === 0 ? `${Math.round(t)} B` : `${t.toFixed(1)} ${p[r]}`;
166
+ };
167
+ export {
168
+ g as Mathjs,
169
+ D as addNumSym,
170
+ N as clamp,
171
+ E as fit,
172
+ W as formatBytes,
173
+ F as inverseLerp,
174
+ b as lerp,
175
+ S as linearstep,
176
+ x as mathjs,
177
+ T as parseChineseNumber,
178
+ _ as parseEnglishNumber,
179
+ w as parseRomanNumber,
180
+ C as perToNum,
181
+ L as range,
182
+ B as remap,
183
+ U as smoothstep,
184
+ $ as transformNumber
185
+ };
@@ -28,9 +28,9 @@ export declare function querystring(data?: {}): string;
28
28
  */
29
29
  export declare const formatJson: (value: string | object, onError?: (error: Error) => void, indent?: number) => string;
30
30
  /**
31
- * @description: Return a new object without the properties whose values appear in `list` — typically used to drop empty strings and nulls
31
+ * @description: Return a new object without the listed keys — typically used to drop fields before sending an object on
32
32
  * @param {Object} obj source object
33
- * @param {Array} list values to remove
33
+ * @param {Array} list keys to remove
34
34
  * @return {Object}
35
35
  */
36
36
  export declare const filterObj: (obj: Record<string, unknown>, list: Array<string>) => Record<string, unknown>;
@@ -0,0 +1,140 @@
1
+ import { once as O } from "./memoize.js";
2
+ import { noop as g } from "./noop.js";
3
+ function m(t = {}) {
4
+ if (typeof t != "object") throw new TypeError("param must be object");
5
+ return Object.entries(t).reduce((r, [e, n]) => (n === void 0 || n == null || r.append(decodeURIComponent(e), decodeURIComponent(n)), r), new URLSearchParams()).toString();
6
+ }
7
+ var E = (t, r = g, e = 4) => {
8
+ try {
9
+ const n = typeof t == "string" ? JSON.parse(t.replace(/'/g, '"')) : t;
10
+ return JSON.stringify(n, null, e) ?? "";
11
+ } catch (n) {
12
+ return r(n), "";
13
+ }
14
+ }, S = (t, r) => {
15
+ const e = {};
16
+ return Object.keys(t).forEach((n) => {
17
+ r.includes(n) || (e[n] = t[n]);
18
+ }), e;
19
+ }, a = (t, r) => {
20
+ if (t && r) for (const e in r) t[e] = r[e];
21
+ return t;
22
+ };
23
+ function x(t, r, e, n) {
24
+ if (typeof t > "u") return g;
25
+ if (!(r in t) && !n) return g;
26
+ const o = r in t, i = t[r], c = e(i);
27
+ if (typeof c != "function") return g;
28
+ t[r] = c;
29
+ let f = !1;
30
+ return () => {
31
+ f || (f = !0, t[r] === c && (o ? t[r] = i : delete t[r]));
32
+ };
33
+ }
34
+ var d = (t, r) => {
35
+ const e = Object.getOwnPropertyDescriptors(r);
36
+ for (const n of Object.keys(e)) {
37
+ const o = e[n];
38
+ if (o.get) {
39
+ const i = o.get;
40
+ Object.defineProperty(t, n, {
41
+ configurable: !1,
42
+ enumerable: !0,
43
+ get: O(i)
44
+ });
45
+ } else if (typeof o.value == "object") Object.defineProperty(t, n, {
46
+ configurable: !1,
47
+ enumerable: !0,
48
+ writable: !1,
49
+ value: d({}, o.value)
50
+ });
51
+ else throw new Error("Exposed values must be either a getter or an nested object");
52
+ }
53
+ return Object.freeze(t);
54
+ };
55
+ function j(t) {
56
+ return Object.prototype.toString.call(t);
57
+ }
58
+ function y(t, r, e = /* @__PURE__ */ new Map()) {
59
+ if (t === r) return !0;
60
+ if (t == null || r == null) return t === r;
61
+ if (t !== t && r !== r) return !0;
62
+ const n = typeof t;
63
+ if (n !== typeof r) return !1;
64
+ if (n !== "object") return t === r;
65
+ const o = j(t);
66
+ if (o !== j(r)) return !1;
67
+ if (e.has(t)) return e.get(t) === r;
68
+ if (e.set(t, r), o === "[object Array]") {
69
+ if (t.length !== r.length) return !1;
70
+ for (let f = 0; f < t.length; f++) if (!y(t[f], r[f], e)) return !1;
71
+ return !0;
72
+ }
73
+ if (o === "[object Date]") return +t == +r;
74
+ if (o === "[object RegExp]") return t.toString() === r.toString();
75
+ if (o === "[object Map]") {
76
+ if (t.size !== r.size) return !1;
77
+ let f = !0;
78
+ return t.forEach((b, p) => {
79
+ f && (!r.has(p) || !y(b, r.get(p), e)) && (f = !1);
80
+ }), f;
81
+ }
82
+ if (o === "[object Set]") {
83
+ if (t.size !== r.size) return !1;
84
+ const f = Array.from(t), b = Array.from(r);
85
+ return f.every((p) => b.some((u) => y(p, u, e)));
86
+ }
87
+ const i = Object.keys(t), c = Object.keys(r);
88
+ if (i.length !== c.length) return !1;
89
+ for (const f of i) if (!Object.prototype.hasOwnProperty.call(r, f) || !y(t[f], r[f], e)) return !1;
90
+ return !0;
91
+ }
92
+ var s = (t, r = /* @__PURE__ */ new WeakMap()) => {
93
+ if (t === null || typeof t != "object") return t;
94
+ if (r.has(t)) return r.get(t);
95
+ if (t instanceof Date) return new Date(t.getTime());
96
+ if (t instanceof RegExp) return new RegExp(t.source, t.flags);
97
+ if (Array.isArray(t)) {
98
+ const e = [];
99
+ r.set(t, e);
100
+ for (let n = 0; n < t.length; n++) e[n] = s(t[n], r);
101
+ return e;
102
+ }
103
+ if (t instanceof Map) {
104
+ const e = /* @__PURE__ */ new Map();
105
+ return r.set(t, e), t.forEach((n, o) => {
106
+ e.set(typeof o == "object" && o !== null ? s(o, r) : o, s(n, r));
107
+ }), e;
108
+ }
109
+ if (t instanceof Set) {
110
+ const e = /* @__PURE__ */ new Set();
111
+ return r.set(t, e), t.forEach((n) => {
112
+ e.add(s(n, r));
113
+ }), e;
114
+ }
115
+ if (typeof t == "object" && t.constructor === Object) {
116
+ const e = {};
117
+ return r.set(t, e), [...Object.getOwnPropertyNames(t), ...Object.getOwnPropertySymbols(t)].forEach((n) => {
118
+ e[n] = s(t[n], r);
119
+ }), e;
120
+ }
121
+ try {
122
+ const e = Object.getPrototypeOf(t).constructor, n = new e();
123
+ r.set(t, n);
124
+ for (const o in t) Object.prototype.hasOwnProperty.call(t, o) && (n[o] = s(t[o], r));
125
+ return n;
126
+ } catch {
127
+ return console.warn(`Unable to deeply clone object of type ${Object.prototype.toString.call(t)}. Fallback to shallow copy.`), { ...t };
128
+ }
129
+ };
130
+ export {
131
+ s as cloneDeep,
132
+ S as filterObj,
133
+ E as formatJson,
134
+ j as getTag,
135
+ y as isEqual,
136
+ a as merge,
137
+ d as mergeExports,
138
+ m as querystring,
139
+ x as replaceOld
140
+ };
@@ -0,0 +1,93 @@
1
+ var E = (() => {
2
+ const a = /* @__PURE__ */ new Uint8Array(128), c = `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.,!?;:'"()[]{}`;
3
+ for (let h = 0; h < 78; h++) a[c.charCodeAt(h)] = 1;
4
+ return a;
5
+ })(), g = (a) => a < 128 && E[a] === 1, v = {
6
+ pages: [],
7
+ charsPerLine: 0,
8
+ linesPerPage: 0,
9
+ charsPerPage: 0
10
+ }, L = (a, c, h, x = {}) => {
11
+ const l = a.replace(/(?:\r\n|\r|\n)+/g, `
12
+ `) || "", i = l.length, w = x.minBox ?? 30, { charWidth: C, lineHeight: p } = h, R = h.narrowRatio ?? 0.5625;
13
+ if (c.width < w || c.height < w || C <= 0 || p <= 0) return {
14
+ ...v,
15
+ total: i
16
+ };
17
+ const d = Math.floor(c.width / C), f = Math.floor(c.height / p), u = d * f;
18
+ if (d <= 0 || f <= 0) return {
19
+ ...v,
20
+ total: i
21
+ };
22
+ const W = (r) => {
23
+ let e = r, n = r;
24
+ for (; e < i; ) {
25
+ const o = l.charCodeAt(e);
26
+ if (g(o)) e++;
27
+ else if (o === 32) {
28
+ n = e, e++;
29
+ break;
30
+ } else e++;
31
+ }
32
+ return n;
33
+ }, A = (r) => {
34
+ let e = r, n = r;
35
+ for (; e > 0; ) {
36
+ const o = l.charCodeAt(e - 1);
37
+ if (g(o))
38
+ n = e - 1, e--;
39
+ else {
40
+ if (o === 32) break;
41
+ e--;
42
+ }
43
+ }
44
+ return n;
45
+ }, P = [];
46
+ let t = 0;
47
+ for (; i > t; ) {
48
+ let r = 0, e = 0;
49
+ const n = t;
50
+ let o = u;
51
+ for (; r < f && e < u && t < i; ) {
52
+ const s = l.charCodeAt(t);
53
+ if (s === 10 || s === 13) {
54
+ r++, e = 0, t++, o--;
55
+ continue;
56
+ }
57
+ const S = g(s);
58
+ if (e >= d) {
59
+ if (S) {
60
+ const k = A(t);
61
+ if (W(t) - k > d) {
62
+ r++, e = 0;
63
+ continue;
64
+ }
65
+ }
66
+ r++, e = 0;
67
+ continue;
68
+ }
69
+ t++, e += S ? R : 1, o--;
70
+ }
71
+ if (t < i && g(l.charCodeAt(t))) {
72
+ const s = A(t);
73
+ W(t) - s > o && s > n && (t = s);
74
+ }
75
+ if (t === n) break;
76
+ P.push({
77
+ text: l.slice(n, t),
78
+ start: n,
79
+ end: t,
80
+ index: P.length
81
+ });
82
+ }
83
+ return {
84
+ pages: P,
85
+ total: i,
86
+ charsPerLine: d,
87
+ linesPerPage: f,
88
+ charsPerPage: u
89
+ };
90
+ };
91
+ export {
92
+ L as paginateText
93
+ };
@@ -0,0 +1,26 @@
1
+ function B() {
2
+ if (typeof window < "u") {
3
+ const [c] = performance.getEntriesByType("navigation"), [d = {}, s = {}] = performance.getEntriesByType("paint"), { startTime: p } = d, { startTime: f } = s, { domainLookupEnd: m, domainLookupStart: u, connectEnd: t, connectStart: S, secureConnectionStart: E, loadEventStart: n, domInteractive: r, domContentLoadedEventEnd: o, duration: y, responseStart: i, requestStart: T, responseEnd: a, fetchStart: e, transferSize: g, encodedBodySize: v, redirectEnd: C, redirectStart: l, redirectCount: h } = c;
4
+ return {
5
+ dnsSearch: m - u,
6
+ tcpConnect: t - S,
7
+ sslConnect: t - E,
8
+ request: i - T,
9
+ response: a - i,
10
+ parseDomTree: r - a,
11
+ resource: n - o,
12
+ domReady: o - e,
13
+ interactive: r - e,
14
+ complete: n - e,
15
+ httpHead: g - v,
16
+ redirect: h,
17
+ redirectTime: C - l,
18
+ duration: y,
19
+ fp: p,
20
+ fcp: f
21
+ };
22
+ }
23
+ }
24
+ export {
25
+ B as getPerformance
26
+ };