businesslens 0.2.2

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 (354) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/ANTr5GBv.js +1 -0
  3. package/.output/public/_nuxt/B3Z-Zt7l.js +37 -0
  4. package/.output/public/_nuxt/Bd76-HGM.js +1 -0
  5. package/.output/public/_nuxt/Bf4VrETn.js +1 -0
  6. package/.output/public/_nuxt/CR3jGlpM.js +1 -0
  7. package/.output/public/_nuxt/CntoM1kL.js +1 -0
  8. package/.output/public/_nuxt/DogqooqX.js +1 -0
  9. package/.output/public/_nuxt/Zsu92SSr.js +1 -0
  10. package/.output/public/_nuxt/builds/latest.json +1 -0
  11. package/.output/public/_nuxt/builds/meta/e74555da-0c18-4e95-b959-2bdcc538677b.json +1 -0
  12. package/.output/public/_nuxt/default.CRZmPCG_.css +1 -0
  13. package/.output/public/_nuxt/e3lOfLH3.js +1 -0
  14. package/.output/public/_nuxt/entry.SgkJh-3P.css +1 -0
  15. package/.output/public/_nuxt/error-404.CTIGkQtd.css +1 -0
  16. package/.output/public/_nuxt/error-500.CKBWIF4V.css +1 -0
  17. package/.output/public/_nuxt/fCd72uLR.js +1 -0
  18. package/.output/public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  19. package/.output/public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  20. package/.output/public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  21. package/.output/public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  22. package/.output/public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  23. package/.output/public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  24. package/.output/public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  25. package/.output/public/_nuxt/vk0fkBN0.js +1 -0
  26. package/.output/public/_nuxt/zg6VsE4d.js +39 -0
  27. package/.output/public/brand/logo/businesslens-mark.svg +20 -0
  28. package/.output/public/favicon.svg +13 -0
  29. package/.output/server/chunks/_/error-500.mjs +19 -0
  30. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  31. package/.output/server/chunks/_/icons.mjs +6150 -0
  32. package/.output/server/chunks/_/icons.mjs.map +1 -0
  33. package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs +161 -0
  34. package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs.map +1 -0
  35. package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs +4412 -0
  36. package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs.map +1 -0
  37. package/.output/server/chunks/build/Slideover-KOfskX1l.mjs +4226 -0
  38. package/.output/server/chunks/build/Slideover-KOfskX1l.mjs.map +1 -0
  39. package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs +1338 -0
  40. package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs.map +1 -0
  41. package/.output/server/chunks/build/client.precomputed.mjs +4 -0
  42. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  43. package/.output/server/chunks/build/default-BJSthw3t.mjs +8999 -0
  44. package/.output/server/chunks/build/default-BJSthw3t.mjs.map +1 -0
  45. package/.output/server/chunks/build/default-styles.BYgqaNao.mjs +8 -0
  46. package/.output/server/chunks/build/default-styles.BYgqaNao.mjs.map +1 -0
  47. package/.output/server/chunks/build/error-404-BOiGLcfP.mjs +96 -0
  48. package/.output/server/chunks/build/error-404-BOiGLcfP.mjs.map +1 -0
  49. package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs +8 -0
  50. package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs.map +1 -0
  51. package/.output/server/chunks/build/error-500-Bwyw373t.mjs +79 -0
  52. package/.output/server/chunks/build/error-500-Bwyw373t.mjs.map +1 -0
  53. package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs +8 -0
  54. package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs.map +1 -0
  55. package/.output/server/chunks/build/index-BuhKSZfH.mjs +313 -0
  56. package/.output/server/chunks/build/index-BuhKSZfH.mjs.map +1 -0
  57. package/.output/server/chunks/build/journeys-DHHOyxCM.mjs +244 -0
  58. package/.output/server/chunks/build/journeys-DHHOyxCM.mjs.map +1 -0
  59. package/.output/server/chunks/build/server.mjs +14099 -0
  60. package/.output/server/chunks/build/server.mjs.map +1 -0
  61. package/.output/server/chunks/build/styles.mjs +9 -0
  62. package/.output/server/chunks/build/styles.mjs.map +1 -0
  63. package/.output/server/chunks/build/topology-BJfDB_jA.mjs +295 -0
  64. package/.output/server/chunks/build/topology-BJfDB_jA.mjs.map +1 -0
  65. package/.output/server/chunks/build/useReport-pDAk-ETG.mjs +406 -0
  66. package/.output/server/chunks/build/useReport-pDAk-ETG.mjs.map +1 -0
  67. package/.output/server/chunks/nitro/nitro.mjs +5770 -0
  68. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  69. package/.output/server/chunks/routes/api/report.get.mjs +617 -0
  70. package/.output/server/chunks/routes/api/report.get.mjs.map +1 -0
  71. package/.output/server/chunks/routes/renderer.mjs +451 -0
  72. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  73. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  74. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  75. package/.output/server/index.mjs +12 -0
  76. package/.output/server/index.mjs.map +1 -0
  77. package/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.mjs +290 -0
  78. package/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
  79. package/.output/server/node_modules/.nitro/hookable@6.1.1/dist/index.mjs +257 -0
  80. package/.output/server/node_modules/.nitro/hookable@6.1.1/package.json +53 -0
  81. package/.output/server/node_modules/@babel/parser/lib/index.js +14599 -0
  82. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  83. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  84. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  85. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  86. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  87. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  88. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  89. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  90. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  91. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  92. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  93. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  94. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  95. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  96. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  97. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  98. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  99. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  100. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  101. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  102. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  103. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  104. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  105. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  106. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  107. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  108. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  109. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  110. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  111. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  112. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  113. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  114. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  115. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  116. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  117. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  118. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  119. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  120. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  121. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  122. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  123. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  124. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  125. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  126. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  127. package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  128. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  129. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  130. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  131. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  132. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  133. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  134. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  135. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  136. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  137. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  138. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  139. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  140. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  141. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  142. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  143. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  144. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  145. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  146. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  147. package/.output/server/node_modules/@iconify/utils/package.json +119 -0
  148. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6759 -0
  149. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  150. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  151. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  152. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  153. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  154. package/.output/server/node_modules/@vue/devtools-api/dist/index.js +2 -0
  155. package/.output/server/node_modules/@vue/devtools-api/package.json +34 -0
  156. package/.output/server/node_modules/@vue/devtools-kit/dist/index.js +5670 -0
  157. package/.output/server/node_modules/@vue/devtools-kit/package.json +44 -0
  158. package/.output/server/node_modules/@vue/devtools-shared/dist/index.js +239 -0
  159. package/.output/server/node_modules/@vue/devtools-shared/package.json +33 -0
  160. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1899 -0
  161. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  162. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6940 -0
  163. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  164. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1822 -0
  165. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  166. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +896 -0
  167. package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  168. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
  169. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  170. package/.output/server/node_modules/@vue-flow/core/dist/vue-flow-core.mjs +10186 -0
  171. package/.output/server/node_modules/@vue-flow/core/package.json +95 -0
  172. package/.output/server/node_modules/ajv/dist/2020.js +55 -0
  173. package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
  174. package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  175. package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  176. package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  177. package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
  178. package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
  179. package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
  180. package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
  181. package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
  182. package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
  183. package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
  184. package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  185. package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  186. package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  187. package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  188. package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
  189. package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  190. package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  191. package/.output/server/node_modules/ajv/dist/core.js +618 -0
  192. package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
  193. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  194. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  195. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  196. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  197. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  198. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  199. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  200. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  201. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  202. package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  203. package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
  204. package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  205. package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
  206. package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  207. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  208. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  209. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  210. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  211. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  212. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  213. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  214. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  215. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  216. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  217. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  218. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  219. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  220. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  221. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  222. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  223. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  224. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  225. package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
  226. package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  227. package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  228. package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  229. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  230. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  231. package/.output/server/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  232. package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  233. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  234. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  235. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  236. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  237. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  238. package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  239. package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  240. package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  241. package/.output/server/node_modules/ajv/dist/vocabularies/next.js +8 -0
  242. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  243. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  244. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  245. package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  246. package/.output/server/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  247. package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  248. package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  249. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  250. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  251. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  252. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  253. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  254. package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  255. package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  256. package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  257. package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  258. package/.output/server/node_modules/ajv/package.json +126 -0
  259. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  260. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  261. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  262. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  263. package/.output/server/node_modules/birpc/dist/index.mjs +291 -0
  264. package/.output/server/node_modules/birpc/package.json +57 -0
  265. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  266. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  267. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  268. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  269. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  270. package/.output/server/node_modules/consola/package.json +136 -0
  271. package/.output/server/node_modules/devalue/index.js +4 -0
  272. package/.output/server/node_modules/devalue/package.json +40 -0
  273. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  274. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  275. package/.output/server/node_modules/devalue/src/parse.js +283 -0
  276. package/.output/server/node_modules/devalue/src/stringify.js +401 -0
  277. package/.output/server/node_modules/devalue/src/uneval.js +552 -0
  278. package/.output/server/node_modules/devalue/src/utils.js +160 -0
  279. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  280. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  281. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  282. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  283. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  284. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  285. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  286. package/.output/server/node_modules/entities/package.json +120 -0
  287. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  288. package/.output/server/node_modules/estree-walker/package.json +37 -0
  289. package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
  290. package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
  291. package/.output/server/node_modules/fast-uri/index.js +406 -0
  292. package/.output/server/node_modules/fast-uri/lib/schemes.js +267 -0
  293. package/.output/server/node_modules/fast-uri/lib/utils.js +443 -0
  294. package/.output/server/node_modules/fast-uri/package.json +68 -0
  295. package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
  296. package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
  297. package/.output/server/node_modules/perfect-debounce/dist/index.mjs +89 -0
  298. package/.output/server/node_modules/perfect-debounce/package.json +41 -0
  299. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  300. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  301. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  302. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  303. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  304. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  305. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  306. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  307. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  308. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  309. package/.output/server/node_modules/source-map-js/package.json +71 -0
  310. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  311. package/.output/server/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
  312. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  313. package/.output/server/node_modules/tailwindcss/package.json +89 -0
  314. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  315. package/.output/server/node_modules/ufo/package.json +48 -0
  316. package/.output/server/node_modules/unhead/dist/index.mjs +9 -0
  317. package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  318. package/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
  319. package/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
  320. package/.output/server/node_modules/unhead/dist/server.mjs +180 -0
  321. package/.output/server/node_modules/unhead/dist/shared/unhead.B3VbJo7Y.mjs +207 -0
  322. package/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
  323. package/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
  324. package/.output/server/node_modules/unhead/dist/shared/unhead.CaI5ZD4O.mjs +182 -0
  325. package/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
  326. package/.output/server/node_modules/unhead/dist/shared/unhead.D4vSFytZ.mjs +236 -0
  327. package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  328. package/.output/server/node_modules/unhead/dist/shared/unhead.Dh1cQCTe.mjs +44 -0
  329. package/.output/server/node_modules/unhead/dist/shared/unhead.TxTMM7cM.mjs +166 -0
  330. package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  331. package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  332. package/.output/server/node_modules/unhead/package.json +105 -0
  333. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  334. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  335. package/.output/server/node_modules/vue/index.js +7 -0
  336. package/.output/server/node_modules/vue/index.mjs +1 -0
  337. package/.output/server/node_modules/vue/package.json +112 -0
  338. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  339. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
  340. package/.output/server/node_modules/vue-bundle-renderer/package.json +57 -0
  341. package/.output/server/node_modules/vue-router/dist/devtools-DCoWQoU_.js +1034 -0
  342. package/.output/server/node_modules/vue-router/dist/useApi-s_02lHjl.js +181 -0
  343. package/.output/server/node_modules/vue-router/dist/vue-router.js +1499 -0
  344. package/.output/server/node_modules/vue-router/package.json +226 -0
  345. package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  346. package/.output/server/package.json +41 -0
  347. package/README.md +114 -0
  348. package/THIRD_PARTY_NOTICES.md +28 -0
  349. package/bin/businesslens.mjs +181 -0
  350. package/package.json +68 -0
  351. package/packages/report-schema/schemas/report.schema.json +235 -0
  352. package/packages/report-schema/types/index.ts +1 -0
  353. package/packages/report-schema/types/report.ts +101 -0
  354. package/packages/report-schema/validate.mjs +111 -0
@@ -0,0 +1,267 @@
1
+ 'use strict'
2
+
3
+ const { isUUID } = require('./utils')
4
+ const URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu
5
+
6
+ const supportedSchemeNames = /** @type {const} */ (['http', 'https', 'ws',
7
+ 'wss', 'urn', 'urn:uuid'])
8
+
9
+ /** @typedef {supportedSchemeNames[number]} SchemeName */
10
+
11
+ /**
12
+ * @param {string} name
13
+ * @returns {name is SchemeName}
14
+ */
15
+ function isValidSchemeName (name) {
16
+ return supportedSchemeNames.indexOf(/** @type {*} */ (name)) !== -1
17
+ }
18
+
19
+ /**
20
+ * @callback SchemeFn
21
+ * @param {import('../types/index').URIComponent} component
22
+ * @param {import('../types/index').Options} options
23
+ * @returns {import('../types/index').URIComponent}
24
+ */
25
+
26
+ /**
27
+ * @typedef {Object} SchemeHandler
28
+ * @property {SchemeName} scheme - The scheme name.
29
+ * @property {boolean} [domainHost] - Indicates if the scheme supports domain hosts.
30
+ * @property {SchemeFn} parse - Function to parse the URI component for this scheme.
31
+ * @property {SchemeFn} serialize - Function to serialize the URI component for this scheme.
32
+ * @property {boolean} [skipNormalize] - Indicates if normalization should be skipped for this scheme.
33
+ * @property {boolean} [absolutePath] - Indicates if the scheme uses absolute paths.
34
+ * @property {boolean} [unicodeSupport] - Indicates if the scheme supports Unicode.
35
+ */
36
+
37
+ /**
38
+ * @param {import('../types/index').URIComponent} wsComponent
39
+ * @returns {boolean}
40
+ */
41
+ function wsIsSecure (wsComponent) {
42
+ if (wsComponent.secure === true) {
43
+ return true
44
+ } else if (wsComponent.secure === false) {
45
+ return false
46
+ } else if (wsComponent.scheme) {
47
+ return (
48
+ wsComponent.scheme.length === 3 &&
49
+ (wsComponent.scheme[0] === 'w' || wsComponent.scheme[0] === 'W') &&
50
+ (wsComponent.scheme[1] === 's' || wsComponent.scheme[1] === 'S') &&
51
+ (wsComponent.scheme[2] === 's' || wsComponent.scheme[2] === 'S')
52
+ )
53
+ } else {
54
+ return false
55
+ }
56
+ }
57
+
58
+ /** @type {SchemeFn} */
59
+ function httpParse (component) {
60
+ if (!component.host) {
61
+ component.error = component.error || 'HTTP URIs must have a host.'
62
+ }
63
+
64
+ return component
65
+ }
66
+
67
+ /** @type {SchemeFn} */
68
+ function httpSerialize (component) {
69
+ const secure = String(component.scheme).toLowerCase() === 'https'
70
+
71
+ // normalize the default port
72
+ if (component.port === (secure ? 443 : 80) || component.port === '') {
73
+ component.port = undefined
74
+ }
75
+
76
+ // normalize the empty path
77
+ if (!component.path) {
78
+ component.path = '/'
79
+ }
80
+
81
+ // NOTE: We do not parse query strings for HTTP URIs
82
+ // as WWW Form Url Encoded query strings are part of the HTML4+ spec,
83
+ // and not the HTTP spec.
84
+
85
+ return component
86
+ }
87
+
88
+ /** @type {SchemeFn} */
89
+ function wsParse (wsComponent) {
90
+ // indicate if the secure flag is set
91
+ wsComponent.secure = wsIsSecure(wsComponent)
92
+
93
+ // construct resouce name
94
+ wsComponent.resourceName = (wsComponent.path || '/') + (wsComponent.query ? '?' + wsComponent.query : '')
95
+ wsComponent.path = undefined
96
+ wsComponent.query = undefined
97
+
98
+ return wsComponent
99
+ }
100
+
101
+ /** @type {SchemeFn} */
102
+ function wsSerialize (wsComponent) {
103
+ // normalize the default port
104
+ if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === '') {
105
+ wsComponent.port = undefined
106
+ }
107
+
108
+ // ensure scheme matches secure flag
109
+ if (typeof wsComponent.secure === 'boolean') {
110
+ wsComponent.scheme = (wsComponent.secure ? 'wss' : 'ws')
111
+ wsComponent.secure = undefined
112
+ }
113
+
114
+ // reconstruct path from resource name
115
+ if (wsComponent.resourceName) {
116
+ const [path, query] = wsComponent.resourceName.split('?')
117
+ wsComponent.path = (path && path !== '/' ? path : undefined)
118
+ wsComponent.query = query
119
+ wsComponent.resourceName = undefined
120
+ }
121
+
122
+ // forbid fragment component
123
+ wsComponent.fragment = undefined
124
+
125
+ return wsComponent
126
+ }
127
+
128
+ /** @type {SchemeFn} */
129
+ function urnParse (urnComponent, options) {
130
+ if (!urnComponent.path) {
131
+ urnComponent.error = 'URN can not be parsed'
132
+ return urnComponent
133
+ }
134
+ const matches = urnComponent.path.match(URN_REG)
135
+ if (matches) {
136
+ const scheme = options.scheme || urnComponent.scheme || 'urn'
137
+ urnComponent.nid = matches[1].toLowerCase()
138
+ urnComponent.nss = matches[2]
139
+ const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`
140
+ const schemeHandler = getSchemeHandler(urnScheme)
141
+ urnComponent.path = undefined
142
+
143
+ if (schemeHandler) {
144
+ urnComponent = schemeHandler.parse(urnComponent, options)
145
+ }
146
+ } else {
147
+ urnComponent.error = urnComponent.error || 'URN can not be parsed.'
148
+ }
149
+
150
+ return urnComponent
151
+ }
152
+
153
+ /** @type {SchemeFn} */
154
+ function urnSerialize (urnComponent, options) {
155
+ if (urnComponent.nid === undefined) {
156
+ throw new Error('URN without nid cannot be serialized')
157
+ }
158
+ const scheme = options.scheme || urnComponent.scheme || 'urn'
159
+ const nid = urnComponent.nid.toLowerCase()
160
+ const urnScheme = `${scheme}:${options.nid || nid}`
161
+ const schemeHandler = getSchemeHandler(urnScheme)
162
+
163
+ if (schemeHandler) {
164
+ urnComponent = schemeHandler.serialize(urnComponent, options)
165
+ }
166
+
167
+ const uriComponent = urnComponent
168
+ const nss = urnComponent.nss
169
+ uriComponent.path = `${nid || options.nid}:${nss}`
170
+
171
+ options.skipEscape = true
172
+ return uriComponent
173
+ }
174
+
175
+ /** @type {SchemeFn} */
176
+ function urnuuidParse (urnComponent, options) {
177
+ const uuidComponent = urnComponent
178
+ uuidComponent.uuid = uuidComponent.nss
179
+ uuidComponent.nss = undefined
180
+
181
+ if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {
182
+ uuidComponent.error = uuidComponent.error || 'UUID is not valid.'
183
+ }
184
+
185
+ return uuidComponent
186
+ }
187
+
188
+ /** @type {SchemeFn} */
189
+ function urnuuidSerialize (uuidComponent) {
190
+ const urnComponent = uuidComponent
191
+ // normalize UUID
192
+ urnComponent.nss = (uuidComponent.uuid || '').toLowerCase()
193
+ return urnComponent
194
+ }
195
+
196
+ const http = /** @type {SchemeHandler} */ ({
197
+ scheme: 'http',
198
+ domainHost: true,
199
+ parse: httpParse,
200
+ serialize: httpSerialize
201
+ })
202
+
203
+ const https = /** @type {SchemeHandler} */ ({
204
+ scheme: 'https',
205
+ domainHost: http.domainHost,
206
+ parse: httpParse,
207
+ serialize: httpSerialize
208
+ })
209
+
210
+ const ws = /** @type {SchemeHandler} */ ({
211
+ scheme: 'ws',
212
+ domainHost: true,
213
+ parse: wsParse,
214
+ serialize: wsSerialize
215
+ })
216
+
217
+ const wss = /** @type {SchemeHandler} */ ({
218
+ scheme: 'wss',
219
+ domainHost: ws.domainHost,
220
+ parse: ws.parse,
221
+ serialize: ws.serialize
222
+ })
223
+
224
+ const urn = /** @type {SchemeHandler} */ ({
225
+ scheme: 'urn',
226
+ parse: urnParse,
227
+ serialize: urnSerialize,
228
+ skipNormalize: true
229
+ })
230
+
231
+ const urnuuid = /** @type {SchemeHandler} */ ({
232
+ scheme: 'urn:uuid',
233
+ parse: urnuuidParse,
234
+ serialize: urnuuidSerialize,
235
+ skipNormalize: true
236
+ })
237
+
238
+ const SCHEMES = /** @type {Record<SchemeName, SchemeHandler>} */ ({
239
+ http,
240
+ https,
241
+ ws,
242
+ wss,
243
+ urn,
244
+ 'urn:uuid': urnuuid
245
+ })
246
+
247
+ Object.setPrototypeOf(SCHEMES, null)
248
+
249
+ /**
250
+ * @param {string|undefined} scheme
251
+ * @returns {SchemeHandler|undefined}
252
+ */
253
+ function getSchemeHandler (scheme) {
254
+ return (
255
+ scheme && (
256
+ SCHEMES[/** @type {SchemeName} */ (scheme)] ||
257
+ SCHEMES[/** @type {SchemeName} */(scheme.toLowerCase())])
258
+ ) ||
259
+ undefined
260
+ }
261
+
262
+ module.exports = {
263
+ wsIsSecure,
264
+ SCHEMES,
265
+ isValidSchemeName,
266
+ getSchemeHandler,
267
+ }
@@ -0,0 +1,443 @@
1
+ 'use strict'
2
+
3
+ /** @type {(value: string) => boolean} */
4
+ const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu)
5
+
6
+ /** @type {(value: string) => boolean} */
7
+ const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u)
8
+
9
+ /** @type {(value: string) => boolean} */
10
+ const isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu)
11
+
12
+ /** @type {(value: string) => boolean} */
13
+ const isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu)
14
+
15
+ /** @type {(value: string) => boolean} */
16
+ const isPathCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu)
17
+
18
+ /**
19
+ * @param {Array<string>} input
20
+ * @returns {string}
21
+ */
22
+ function stringArrayToHexStripped (input) {
23
+ let acc = ''
24
+ let code = 0
25
+ let i = 0
26
+
27
+ for (i = 0; i < input.length; i++) {
28
+ code = input[i].charCodeAt(0)
29
+ if (code === 48) {
30
+ continue
31
+ }
32
+ if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
33
+ return ''
34
+ }
35
+ acc += input[i]
36
+ break
37
+ }
38
+
39
+ for (i += 1; i < input.length; i++) {
40
+ code = input[i].charCodeAt(0)
41
+ if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
42
+ return ''
43
+ }
44
+ acc += input[i]
45
+ }
46
+ return acc
47
+ }
48
+
49
+ /**
50
+ * @typedef {Object} GetIPV6Result
51
+ * @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
52
+ * @property {string} address - The parsed IPv6 address.
53
+ * @property {string} [zone] - The zone identifier, if present.
54
+ */
55
+
56
+ /**
57
+ * @param {string} value
58
+ * @returns {boolean}
59
+ */
60
+ const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u)
61
+
62
+ /**
63
+ * @param {Array<string>} buffer
64
+ * @returns {boolean}
65
+ */
66
+ function consumeIsZone (buffer) {
67
+ buffer.length = 0
68
+ return true
69
+ }
70
+
71
+ /**
72
+ * @param {Array<string>} buffer
73
+ * @param {Array<string>} address
74
+ * @param {GetIPV6Result} output
75
+ * @returns {boolean}
76
+ */
77
+ function consumeHextets (buffer, address, output) {
78
+ if (buffer.length) {
79
+ const hex = stringArrayToHexStripped(buffer)
80
+ if (hex !== '') {
81
+ address.push(hex)
82
+ } else {
83
+ output.error = true
84
+ return false
85
+ }
86
+ buffer.length = 0
87
+ }
88
+ return true
89
+ }
90
+
91
+ /**
92
+ * @param {string} input
93
+ * @returns {GetIPV6Result}
94
+ */
95
+ function getIPV6 (input) {
96
+ let tokenCount = 0
97
+ const output = { error: false, address: '', zone: '' }
98
+ /** @type {Array<string>} */
99
+ const address = []
100
+ /** @type {Array<string>} */
101
+ const buffer = []
102
+ let endipv6Encountered = false
103
+ let endIpv6 = false
104
+
105
+ let consume = consumeHextets
106
+
107
+ for (let i = 0; i < input.length; i++) {
108
+ const cursor = input[i]
109
+ if (cursor === '[' || cursor === ']') { continue }
110
+ if (cursor === ':') {
111
+ if (endipv6Encountered === true) {
112
+ endIpv6 = true
113
+ }
114
+ if (!consume(buffer, address, output)) { break }
115
+ if (++tokenCount > 7) {
116
+ // not valid
117
+ output.error = true
118
+ break
119
+ }
120
+ if (i > 0 && input[i - 1] === ':') {
121
+ endipv6Encountered = true
122
+ }
123
+ address.push(':')
124
+ continue
125
+ } else if (cursor === '%') {
126
+ if (!consume(buffer, address, output)) { break }
127
+ // switch to zone detection
128
+ consume = consumeIsZone
129
+ } else {
130
+ buffer.push(cursor)
131
+ continue
132
+ }
133
+ }
134
+ if (buffer.length) {
135
+ if (consume === consumeIsZone) {
136
+ output.zone = buffer.join('')
137
+ } else if (endIpv6) {
138
+ address.push(buffer.join(''))
139
+ } else {
140
+ address.push(stringArrayToHexStripped(buffer))
141
+ }
142
+ }
143
+ output.address = address.join('')
144
+ return output
145
+ }
146
+
147
+ /**
148
+ * @typedef {Object} NormalizeIPv6Result
149
+ * @property {string} host - The normalized host.
150
+ * @property {string} [escapedHost] - The escaped host.
151
+ * @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
152
+ */
153
+
154
+ /**
155
+ * @param {string} host
156
+ * @returns {NormalizeIPv6Result}
157
+ */
158
+ function normalizeIPv6 (host) {
159
+ if (findToken(host, ':') < 2) { return { host, isIPV6: false } }
160
+ const ipv6 = getIPV6(host)
161
+
162
+ if (!ipv6.error) {
163
+ let newHost = ipv6.address
164
+ let escapedHost = ipv6.address
165
+ if (ipv6.zone) {
166
+ newHost += '%' + ipv6.zone
167
+ escapedHost += '%25' + ipv6.zone
168
+ }
169
+ return { host: newHost, isIPV6: true, escapedHost }
170
+ } else {
171
+ return { host, isIPV6: false }
172
+ }
173
+ }
174
+
175
+ /**
176
+ * @param {string} str
177
+ * @param {string} token
178
+ * @returns {number}
179
+ */
180
+ function findToken (str, token) {
181
+ let ind = 0
182
+ for (let i = 0; i < str.length; i++) {
183
+ if (str[i] === token) ind++
184
+ }
185
+ return ind
186
+ }
187
+
188
+ /**
189
+ * @param {string} path
190
+ * @returns {string}
191
+ *
192
+ * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
193
+ */
194
+ function removeDotSegments (path) {
195
+ let input = path
196
+ const output = []
197
+ let nextSlash = -1
198
+ let len = 0
199
+
200
+ // eslint-disable-next-line no-cond-assign
201
+ while (len = input.length) {
202
+ if (len === 1) {
203
+ if (input === '.') {
204
+ break
205
+ } else if (input === '/') {
206
+ output.push('/')
207
+ break
208
+ } else {
209
+ output.push(input)
210
+ break
211
+ }
212
+ } else if (len === 2) {
213
+ if (input[0] === '.') {
214
+ if (input[1] === '.') {
215
+ break
216
+ } else if (input[1] === '/') {
217
+ input = input.slice(2)
218
+ continue
219
+ }
220
+ } else if (input[0] === '/') {
221
+ if (input[1] === '.' || input[1] === '/') {
222
+ output.push('/')
223
+ break
224
+ }
225
+ }
226
+ } else if (len === 3) {
227
+ if (input === '/..') {
228
+ if (output.length !== 0) {
229
+ output.pop()
230
+ }
231
+ output.push('/')
232
+ break
233
+ }
234
+ }
235
+ if (input[0] === '.') {
236
+ if (input[1] === '.') {
237
+ if (input[2] === '/') {
238
+ input = input.slice(3)
239
+ continue
240
+ }
241
+ } else if (input[1] === '/') {
242
+ input = input.slice(2)
243
+ continue
244
+ }
245
+ } else if (input[0] === '/') {
246
+ if (input[1] === '.') {
247
+ if (input[2] === '/') {
248
+ input = input.slice(2)
249
+ continue
250
+ } else if (input[2] === '.') {
251
+ if (input[3] === '/') {
252
+ input = input.slice(3)
253
+ if (output.length !== 0) {
254
+ output.pop()
255
+ }
256
+ continue
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ // Rule 2E: Move normal path segment to output
263
+ if ((nextSlash = input.indexOf('/', 1)) === -1) {
264
+ output.push(input)
265
+ break
266
+ } else {
267
+ output.push(input.slice(0, nextSlash))
268
+ input = input.slice(nextSlash)
269
+ }
270
+ }
271
+
272
+ return output.join('')
273
+ }
274
+
275
+ /**
276
+ * Re-escape RFC 3986 gen-delims that must not appear literally in the host.
277
+ * After the URI regex parses, these characters cannot be literal in the host
278
+ * field, so any that appear after decoding came from percent-encoding and
279
+ * must be restored to prevent authority structure changes.
280
+ *
281
+ * @param {string} host
282
+ * @param {boolean} isIP - true for IPv4/IPv6 hosts (skip colon re-escaping)
283
+ * @returns {string}
284
+ */
285
+ const HOST_DELIMS = { '@': '%40', '/': '%2F', '?': '%3F', '#': '%23', ':': '%3A' }
286
+ const HOST_DELIM_RE = /[@/?#:]/g
287
+ const HOST_DELIM_NO_COLON_RE = /[@/?#]/g
288
+
289
+ function reescapeHostDelimiters (host, isIP) {
290
+ const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE
291
+ re.lastIndex = 0
292
+ return host.replace(re, (ch) => HOST_DELIMS[ch])
293
+ }
294
+
295
+ /**
296
+ * Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.
297
+ * Reserved delimiters such as `%2F` and `%2E` stay escaped.
298
+ *
299
+ * @param {string} input
300
+ * @param {boolean} [decodeUnreserved=false]
301
+ * @returns {string}
302
+ */
303
+ function normalizePercentEncoding (input, decodeUnreserved = false) {
304
+ if (input.indexOf('%') === -1) {
305
+ return input
306
+ }
307
+
308
+ let output = ''
309
+
310
+ for (let i = 0; i < input.length; i++) {
311
+ if (input[i] === '%' && i + 2 < input.length) {
312
+ const hex = input.slice(i + 1, i + 3)
313
+ if (isHexPair(hex)) {
314
+ const normalizedHex = hex.toUpperCase()
315
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16))
316
+
317
+ if (decodeUnreserved && isUnreserved(decoded)) {
318
+ output += decoded
319
+ } else {
320
+ output += '%' + normalizedHex
321
+ }
322
+
323
+ i += 2
324
+ continue
325
+ }
326
+ }
327
+
328
+ output += input[i]
329
+ }
330
+
331
+ return output
332
+ }
333
+
334
+ /**
335
+ * Normalizes path data without turning reserved escapes into live path syntax.
336
+ * Valid escapes are uppercased, raw unsafe characters are escaped, and only
337
+ * unreserved bytes that are not `.` are decoded.
338
+ *
339
+ * @param {string} input
340
+ * @returns {string}
341
+ */
342
+ function normalizePathEncoding (input) {
343
+ let output = ''
344
+
345
+ for (let i = 0; i < input.length; i++) {
346
+ if (input[i] === '%' && i + 2 < input.length) {
347
+ const hex = input.slice(i + 1, i + 3)
348
+ if (isHexPair(hex)) {
349
+ const normalizedHex = hex.toUpperCase()
350
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16))
351
+
352
+ if (decoded !== '.' && isUnreserved(decoded)) {
353
+ output += decoded
354
+ } else {
355
+ output += '%' + normalizedHex
356
+ }
357
+
358
+ i += 2
359
+ continue
360
+ }
361
+ }
362
+
363
+ if (isPathCharacter(input[i])) {
364
+ output += input[i]
365
+ } else {
366
+ output += escape(input[i])
367
+ }
368
+ }
369
+
370
+ return output
371
+ }
372
+
373
+ /**
374
+ * Escapes a component while preserving existing valid percent escapes.
375
+ *
376
+ * @param {string} input
377
+ * @returns {string}
378
+ */
379
+ function escapePreservingEscapes (input) {
380
+ let output = ''
381
+
382
+ for (let i = 0; i < input.length; i++) {
383
+ if (input[i] === '%' && i + 2 < input.length) {
384
+ const hex = input.slice(i + 1, i + 3)
385
+ if (isHexPair(hex)) {
386
+ output += '%' + hex.toUpperCase()
387
+ i += 2
388
+ continue
389
+ }
390
+ }
391
+
392
+ output += escape(input[i])
393
+ }
394
+
395
+ return output
396
+ }
397
+
398
+ /**
399
+ * @param {import('../types/index').URIComponent} component
400
+ * @returns {string|undefined}
401
+ */
402
+ function recomposeAuthority (component) {
403
+ const uriTokens = []
404
+
405
+ if (component.userinfo !== undefined) {
406
+ uriTokens.push(component.userinfo)
407
+ uriTokens.push('@')
408
+ }
409
+
410
+ if (component.host !== undefined) {
411
+ let host = unescape(component.host)
412
+ if (!isIPv4(host)) {
413
+ const ipV6res = normalizeIPv6(host)
414
+ if (ipV6res.isIPV6 === true) {
415
+ host = `[${ipV6res.escapedHost}]`
416
+ } else {
417
+ host = reescapeHostDelimiters(host, false)
418
+ }
419
+ }
420
+ uriTokens.push(host)
421
+ }
422
+
423
+ if (typeof component.port === 'number' || typeof component.port === 'string') {
424
+ uriTokens.push(':')
425
+ uriTokens.push(String(component.port))
426
+ }
427
+
428
+ return uriTokens.length ? uriTokens.join('') : undefined
429
+ };
430
+
431
+ module.exports = {
432
+ nonSimpleDomain,
433
+ recomposeAuthority,
434
+ reescapeHostDelimiters,
435
+ normalizePercentEncoding,
436
+ normalizePathEncoding,
437
+ escapePreservingEscapes,
438
+ removeDotSegments,
439
+ isIPv4,
440
+ isUUID,
441
+ normalizeIPv6,
442
+ stringArrayToHexStripped
443
+ }