renovate-log-parser 0.1.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 (325) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +402 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +30 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/analyze.d.ts +24 -0
  7. package/dist/commands/analyze.js +114 -0
  8. package/dist/commands/analyze.js.map +1 -0
  9. package/dist/commands/detect-errors.d.ts +17 -0
  10. package/dist/commands/detect-errors.js +119 -0
  11. package/dist/commands/detect-errors.js.map +1 -0
  12. package/dist/commands/install-analyze-skill.d.ts +27 -0
  13. package/dist/commands/install-analyze-skill.js +181 -0
  14. package/dist/commands/install-analyze-skill.js.map +1 -0
  15. package/dist/commands/web.d.ts +12 -0
  16. package/dist/commands/web.js +103 -0
  17. package/dist/commands/web.js.map +1 -0
  18. package/dist/core/analyzer.d.ts +89 -0
  19. package/dist/core/analyzer.js +179 -0
  20. package/dist/core/analyzer.js.map +1 -0
  21. package/dist/core/error-detector.d.ts +56 -0
  22. package/dist/core/error-detector.js +236 -0
  23. package/dist/core/error-detector.js.map +1 -0
  24. package/dist/core/filters.d.ts +136 -0
  25. package/dist/core/filters.js +95 -0
  26. package/dist/core/filters.js.map +1 -0
  27. package/dist/core/ignore-file.d.ts +52 -0
  28. package/dist/core/ignore-file.js +104 -0
  29. package/dist/core/ignore-file.js.map +1 -0
  30. package/dist/core/levels.d.ts +33 -0
  31. package/dist/core/levels.js +35 -0
  32. package/dist/core/levels.js.map +1 -0
  33. package/dist/core/parser.d.ts +57 -0
  34. package/dist/core/parser.js +201 -0
  35. package/dist/core/parser.js.map +1 -0
  36. package/dist/core/query-builder.d.ts +47 -0
  37. package/dist/core/query-builder.js +155 -0
  38. package/dist/core/query-builder.js.map +1 -0
  39. package/dist/core/skill-template.d.ts +34 -0
  40. package/dist/core/skill-template.js +259 -0
  41. package/dist/core/skill-template.js.map +1 -0
  42. package/package.json +68 -0
  43. package/web/.output/nitro.json +15 -0
  44. package/web/.output/public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2 +0 -0
  45. package/web/.output/public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2 +0 -0
  46. package/web/.output/public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2 +0 -0
  47. package/web/.output/public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2 +0 -0
  48. package/web/.output/public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2 +0 -0
  49. package/web/.output/public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2 +0 -0
  50. package/web/.output/public/_nuxt/BWja8e3M.js +37 -0
  51. package/web/.output/public/_nuxt/BgApMHS1.js +1 -0
  52. package/web/.output/public/_nuxt/CGPWRqbc.js +1 -0
  53. package/web/.output/public/_nuxt/DlAUqK2U.js +1 -0
  54. package/web/.output/public/_nuxt/Sgtec1U0.js +1 -0
  55. package/web/.output/public/_nuxt/builds/latest.json +1 -0
  56. package/web/.output/public/_nuxt/builds/meta/c4723e49-0623-47af-ae79-9ab6428bdcc1.json +1 -0
  57. package/web/.output/public/_nuxt/entry.9mB-pyEY.css +1 -0
  58. package/web/.output/public/_nuxt/error-404.B_PvSG-P.css +1 -0
  59. package/web/.output/public/_nuxt/error-500.CghkKCEr.css +1 -0
  60. package/web/.output/public/_nuxt/index.BlvAG7F6.css +1 -0
  61. package/web/.output/public/favicon.ico +0 -0
  62. package/web/.output/server/chunks/_/error-500.mjs +19 -0
  63. package/web/.output/server/chunks/_/error-500.mjs.map +1 -0
  64. package/web/.output/server/chunks/_/icons.mjs +6153 -0
  65. package/web/.output/server/chunks/_/icons.mjs.map +1 -0
  66. package/web/.output/server/chunks/_/icons2.mjs +11494 -0
  67. package/web/.output/server/chunks/_/icons2.mjs.map +1 -0
  68. package/web/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs +10 -0
  69. package/web/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs.map +1 -0
  70. package/web/.output/server/chunks/build/client.precomputed.mjs +4 -0
  71. package/web/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  72. package/web/.output/server/chunks/build/error-404-DyaaQUIS.mjs +106 -0
  73. package/web/.output/server/chunks/build/error-404-DyaaQUIS.mjs.map +1 -0
  74. package/web/.output/server/chunks/build/error-404-styles.9cNA4arh.mjs +8 -0
  75. package/web/.output/server/chunks/build/error-404-styles.9cNA4arh.mjs.map +1 -0
  76. package/web/.output/server/chunks/build/error-500-CVSP-p02.mjs +89 -0
  77. package/web/.output/server/chunks/build/error-500-CVSP-p02.mjs.map +1 -0
  78. package/web/.output/server/chunks/build/error-500-styles.BX54ZlkH.mjs +8 -0
  79. package/web/.output/server/chunks/build/error-500-styles.BX54ZlkH.mjs.map +1 -0
  80. package/web/.output/server/chunks/build/index-88dXYOxO.mjs +19675 -0
  81. package/web/.output/server/chunks/build/index-88dXYOxO.mjs.map +1 -0
  82. package/web/.output/server/chunks/build/index-styles.V2iua2bE.mjs +8 -0
  83. package/web/.output/server/chunks/build/index-styles.V2iua2bE.mjs.map +1 -0
  84. package/web/.output/server/chunks/build/server.mjs +7910 -0
  85. package/web/.output/server/chunks/build/server.mjs.map +1 -0
  86. package/web/.output/server/chunks/build/styles.mjs +10 -0
  87. package/web/.output/server/chunks/build/styles.mjs.map +1 -0
  88. package/web/.output/server/chunks/nitro/nitro.mjs +6944 -0
  89. package/web/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  90. package/web/.output/server/chunks/routes/api/fields.get.mjs +27 -0
  91. package/web/.output/server/chunks/routes/api/fields.get.mjs.map +1 -0
  92. package/web/.output/server/chunks/routes/api/findings.get.mjs +30 -0
  93. package/web/.output/server/chunks/routes/api/findings.get.mjs.map +1 -0
  94. package/web/.output/server/chunks/routes/api/log/contents.post.mjs +29 -0
  95. package/web/.output/server/chunks/routes/api/log/contents.post.mjs.map +1 -0
  96. package/web/.output/server/chunks/routes/api/log/path.post.mjs +30 -0
  97. package/web/.output/server/chunks/routes/api/log/path.post.mjs.map +1 -0
  98. package/web/.output/server/chunks/routes/api/repositories.get.mjs +27 -0
  99. package/web/.output/server/chunks/routes/api/repositories.get.mjs.map +1 -0
  100. package/web/.output/server/chunks/routes/api/rows.get.mjs +48 -0
  101. package/web/.output/server/chunks/routes/api/rows.get.mjs.map +1 -0
  102. package/web/.output/server/chunks/routes/renderer.mjs +451 -0
  103. package/web/.output/server/chunks/routes/renderer.mjs.map +1 -0
  104. package/web/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  105. package/web/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  106. package/web/.output/server/index.mjs +16 -0
  107. package/web/.output/server/index.mjs.map +1 -0
  108. package/web/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.mjs +290 -0
  109. package/web/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
  110. package/web/.output/server/node_modules/.nitro/hookable@6.1.1/dist/index.mjs +257 -0
  111. package/web/.output/server/node_modules/.nitro/hookable@6.1.1/package.json +53 -0
  112. package/web/.output/server/node_modules/@babel/parser/lib/index.js +14599 -0
  113. package/web/.output/server/node_modules/@babel/parser/package.json +50 -0
  114. package/web/.output/server/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1038 -0
  115. package/web/.output/server/node_modules/@floating-ui/core/package.json +63 -0
  116. package/web/.output/server/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +789 -0
  117. package/web/.output/server/node_modules/@floating-ui/dom/package.json +72 -0
  118. package/web/.output/server/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
  119. package/web/.output/server/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
  120. package/web/.output/server/node_modules/@floating-ui/utils/package.json +70 -0
  121. package/web/.output/server/node_modules/@floating-ui/vue/dist/floating-ui.vue.mjs +190 -0
  122. package/web/.output/server/node_modules/@floating-ui/vue/package.json +71 -0
  123. package/web/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  124. package/web/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  125. package/web/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  126. package/web/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  127. package/web/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  128. package/web/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  129. package/web/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  130. package/web/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  131. package/web/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  132. package/web/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  133. package/web/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  134. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  135. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  136. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  137. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  138. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  139. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  140. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  141. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  142. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  143. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  144. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  145. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  146. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  147. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  148. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  149. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  150. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  151. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  152. package/web/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  153. package/web/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  154. package/web/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  155. package/web/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  156. package/web/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  157. package/web/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  158. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  159. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  160. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  161. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  162. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  163. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  164. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  165. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  166. package/web/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  167. package/web/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  168. package/web/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  169. package/web/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  170. package/web/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  171. package/web/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  172. package/web/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  173. package/web/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  174. package/web/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  175. package/web/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  176. package/web/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  177. package/web/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  178. package/web/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  179. package/web/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  180. package/web/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  181. package/web/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  182. package/web/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  183. package/web/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  184. package/web/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  185. package/web/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  186. package/web/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  187. package/web/.output/server/node_modules/@iconify/utils/package.json +119 -0
  188. package/web/.output/server/node_modules/@iconify/vue/dist/iconify.mjs +1896 -0
  189. package/web/.output/server/node_modules/@iconify/vue/package.json +62 -0
  190. package/web/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js +1268 -0
  191. package/web/.output/server/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js +34 -0
  192. package/web/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js +74 -0
  193. package/web/.output/server/node_modules/@tanstack/virtual-core/package.json +56 -0
  194. package/web/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js +66 -0
  195. package/web/.output/server/node_modules/@tanstack/vue-virtual/package.json +68 -0
  196. package/web/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6759 -0
  197. package/web/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  198. package/web/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  199. package/web/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  200. package/web/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  201. package/web/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  202. package/web/.output/server/node_modules/@vue/devtools-api/dist/index.js +2 -0
  203. package/web/.output/server/node_modules/@vue/devtools-api/package.json +34 -0
  204. package/web/.output/server/node_modules/@vue/devtools-kit/dist/index.js +5670 -0
  205. package/web/.output/server/node_modules/@vue/devtools-kit/node_modules/hookable/dist/index.mjs +290 -0
  206. package/web/.output/server/node_modules/@vue/devtools-kit/node_modules/hookable/package.json +49 -0
  207. package/web/.output/server/node_modules/@vue/devtools-kit/package.json +44 -0
  208. package/web/.output/server/node_modules/@vue/devtools-shared/dist/index.js +239 -0
  209. package/web/.output/server/node_modules/@vue/devtools-shared/package.json +33 -0
  210. package/web/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1899 -0
  211. package/web/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  212. package/web/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6940 -0
  213. package/web/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  214. package/web/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1822 -0
  215. package/web/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  216. package/web/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +896 -0
  217. package/web/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  218. package/web/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
  219. package/web/.output/server/node_modules/@vue/shared/package.json +47 -0
  220. package/web/.output/server/node_modules/@vueuse/core/dist/index.js +8464 -0
  221. package/web/.output/server/node_modules/@vueuse/core/package.json +49 -0
  222. package/web/.output/server/node_modules/@vueuse/shared/dist/index.js +2013 -0
  223. package/web/.output/server/node_modules/@vueuse/shared/package.json +42 -0
  224. package/web/.output/server/node_modules/aria-hidden/dist/es5/index.js +174 -0
  225. package/web/.output/server/node_modules/aria-hidden/package.json +71 -0
  226. package/web/.output/server/node_modules/birpc/dist/index.mjs +291 -0
  227. package/web/.output/server/node_modules/birpc/package.json +57 -0
  228. package/web/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  229. package/web/.output/server/node_modules/consola/dist/core.mjs +512 -0
  230. package/web/.output/server/node_modules/consola/dist/index.mjs +651 -0
  231. package/web/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  232. package/web/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  233. package/web/.output/server/node_modules/consola/package.json +136 -0
  234. package/web/.output/server/node_modules/devalue/index.js +4 -0
  235. package/web/.output/server/node_modules/devalue/package.json +40 -0
  236. package/web/.output/server/node_modules/devalue/src/base64.js +60 -0
  237. package/web/.output/server/node_modules/devalue/src/constants.js +12 -0
  238. package/web/.output/server/node_modules/devalue/src/parse.js +283 -0
  239. package/web/.output/server/node_modules/devalue/src/stringify.js +401 -0
  240. package/web/.output/server/node_modules/devalue/src/uneval.js +552 -0
  241. package/web/.output/server/node_modules/devalue/src/utils.js +160 -0
  242. package/web/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  243. package/web/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  244. package/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  245. package/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  246. package/web/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  247. package/web/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  248. package/web/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  249. package/web/.output/server/node_modules/entities/package.json +120 -0
  250. package/web/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  251. package/web/.output/server/node_modules/estree-walker/package.json +37 -0
  252. package/web/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  253. package/web/.output/server/node_modules/hookable/package.json +53 -0
  254. package/web/.output/server/node_modules/nostics/dist/index.mjs +179 -0
  255. package/web/.output/server/node_modules/nostics/package.json +124 -0
  256. package/web/.output/server/node_modules/perfect-debounce/dist/index.mjs +89 -0
  257. package/web/.output/server/node_modules/perfect-debounce/package.json +41 -0
  258. package/web/.output/server/node_modules/rou3/dist/index.mjs +501 -0
  259. package/web/.output/server/node_modules/rou3/package.json +48 -0
  260. package/web/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  261. package/web/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  262. package/web/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  263. package/web/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  264. package/web/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  265. package/web/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  266. package/web/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  267. package/web/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  268. package/web/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  269. package/web/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  270. package/web/.output/server/node_modules/source-map-js/package.json +71 -0
  271. package/web/.output/server/node_modules/source-map-js/source-map.js +8 -0
  272. package/web/.output/server/node_modules/srvx/dist/_chunks/_body-limit.mjs +39 -0
  273. package/web/.output/server/node_modules/srvx/dist/_chunks/_plugins.mjs +56 -0
  274. package/web/.output/server/node_modules/srvx/dist/_chunks/_trust-proxy.mjs +58 -0
  275. package/web/.output/server/node_modules/srvx/dist/_chunks/_url.mjs +134 -0
  276. package/web/.output/server/node_modules/srvx/dist/_chunks/_utils.mjs +15 -0
  277. package/web/.output/server/node_modules/srvx/dist/_chunks/_utils2.mjs +75 -0
  278. package/web/.output/server/node_modules/srvx/dist/adapters/node.mjs +976 -0
  279. package/web/.output/server/node_modules/srvx/package.json +102 -0
  280. package/web/.output/server/node_modules/tailwind-merge/dist/bundle-mjs.mjs +3365 -0
  281. package/web/.output/server/node_modules/tailwind-merge/package.json +93 -0
  282. package/web/.output/server/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js +112 -0
  283. package/web/.output/server/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js +269 -0
  284. package/web/.output/server/node_modules/tailwind-variants/dist/index.js +38 -0
  285. package/web/.output/server/node_modules/tailwind-variants/package.json +122 -0
  286. package/web/.output/server/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
  287. package/web/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  288. package/web/.output/server/node_modules/tailwindcss/package.json +89 -0
  289. package/web/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  290. package/web/.output/server/node_modules/ufo/package.json +48 -0
  291. package/web/.output/server/node_modules/unhead/dist/index.mjs +9 -0
  292. package/web/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  293. package/web/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
  294. package/web/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
  295. package/web/.output/server/node_modules/unhead/dist/server.mjs +180 -0
  296. package/web/.output/server/node_modules/unhead/dist/shared/unhead.B3VbJo7Y.mjs +207 -0
  297. package/web/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
  298. package/web/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
  299. package/web/.output/server/node_modules/unhead/dist/shared/unhead.CaI5ZD4O.mjs +182 -0
  300. package/web/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
  301. package/web/.output/server/node_modules/unhead/dist/shared/unhead.D4vSFytZ.mjs +236 -0
  302. package/web/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  303. package/web/.output/server/node_modules/unhead/dist/shared/unhead.Dh1cQCTe.mjs +44 -0
  304. package/web/.output/server/node_modules/unhead/dist/shared/unhead.TxTMM7cM.mjs +166 -0
  305. package/web/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  306. package/web/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  307. package/web/.output/server/node_modules/unhead/node_modules/hookable/dist/index.mjs +257 -0
  308. package/web/.output/server/node_modules/unhead/node_modules/hookable/package.json +53 -0
  309. package/web/.output/server/node_modules/unhead/package.json +105 -0
  310. package/web/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  311. package/web/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  312. package/web/.output/server/node_modules/vue/index.js +7 -0
  313. package/web/.output/server/node_modules/vue/index.mjs +1 -0
  314. package/web/.output/server/node_modules/vue/package.json +112 -0
  315. package/web/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  316. package/web/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
  317. package/web/.output/server/node_modules/vue-bundle-renderer/package.json +57 -0
  318. package/web/.output/server/node_modules/vue-demi/lib/index.mjs +34 -0
  319. package/web/.output/server/node_modules/vue-demi/package.json +47 -0
  320. package/web/.output/server/node_modules/vue-router/dist/devtools-Bpr7ZAVB.js +1056 -0
  321. package/web/.output/server/node_modules/vue-router/dist/useApi-CROJJdhE.js +436 -0
  322. package/web/.output/server/node_modules/vue-router/dist/vue-router.js +1543 -0
  323. package/web/.output/server/node_modules/vue-router/package.json +214 -0
  324. package/web/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  325. package/web/.output/server/package.json +51 -0
@@ -0,0 +1,75 @@
1
+ import { makeViewBoxSquare } from "../icon/square.js";
2
+ import { calculateSize } from "../svg/size.js";
3
+ import { iconToSVG } from "../svg/build.js";
4
+ import { svgToURL } from "../svg/url.js";
5
+ import { iconToHTML } from "../svg/html.js";
6
+ /**
7
+ * Generates common CSS rules for multiple icons, rendered as background/mask
8
+ */
9
+ function getCommonCSSRules(options) {
10
+ const result = Object.create(null);
11
+ Object.assign(result, {
12
+ display: "inline-block",
13
+ width: "1em",
14
+ height: "1em"
15
+ });
16
+ const varName = options.varName;
17
+ if (options.pseudoSelector) result["content"] = "''";
18
+ switch (options.mode) {
19
+ case "background":
20
+ if (varName) result["background-image"] = "var(--" + varName + ")";
21
+ result["background-repeat"] = "no-repeat";
22
+ result["background-size"] = "100% 100%";
23
+ break;
24
+ case "mask":
25
+ result["background-color"] = "currentColor";
26
+ if (varName) result["mask-image"] = result["-webkit-mask-image"] = "var(--" + varName + ")";
27
+ result["mask-repeat"] = result["-webkit-mask-repeat"] = "no-repeat";
28
+ result["mask-size"] = result["-webkit-mask-size"] = "100% 100%";
29
+ break;
30
+ }
31
+ return result;
32
+ }
33
+ /**
34
+ * Generate CSS rules for one icon, rendered as background/mask
35
+ *
36
+ * This function excludes common rules
37
+ */
38
+ function generateItemCSSRules(icon, options) {
39
+ const result = Object.create(null);
40
+ const varName = options.varName;
41
+ const buildResult = iconToSVG(icon);
42
+ let viewBox = buildResult.viewBox;
43
+ if (viewBox[2] !== viewBox[3]) if (options.forceSquare) viewBox = makeViewBoxSquare(viewBox);
44
+ else result["width"] = calculateSize("1em", viewBox[2] / viewBox[3]);
45
+ const url = svgToURL(iconToHTML(buildResult.body.replace(/currentColor/g, options.color || "black"), {
46
+ viewBox: `${viewBox[0]} ${viewBox[1]} ${viewBox[2]} ${viewBox[3]}`,
47
+ width: `${viewBox[2]}`,
48
+ height: `${viewBox[3]}`
49
+ }));
50
+ if (varName) result["--" + varName] = url;
51
+ else switch (options.mode) {
52
+ case "background":
53
+ result["background-image"] = url;
54
+ break;
55
+ case "mask":
56
+ result["mask-image"] = result["-webkit-mask-image"] = url;
57
+ break;
58
+ }
59
+ return result;
60
+ }
61
+ /**
62
+ * Generate content for one icon, rendered as content of pseudo-selector
63
+ */
64
+ function generateItemContent(icon, options) {
65
+ const buildResult = iconToSVG(icon);
66
+ const viewBox = buildResult.viewBox;
67
+ const height = options.height;
68
+ const width = options.width ?? calculateSize(height, viewBox[2] / viewBox[3]);
69
+ return svgToURL(iconToHTML(buildResult.body.replace(/currentColor/g, options.color || "black"), {
70
+ viewBox: `${viewBox[0]} ${viewBox[1]} ${viewBox[2]} ${viewBox[3]}`,
71
+ width: width.toString(),
72
+ height: height.toString()
73
+ }));
74
+ }
75
+ export { generateItemCSSRules, generateItemContent, getCommonCSSRules };
@@ -0,0 +1,39 @@
1
+ const format = {
2
+ selectorStart: {
3
+ compressed: "{",
4
+ compact: " {",
5
+ expanded: " {"
6
+ },
7
+ selectorEnd: {
8
+ compressed: "}",
9
+ compact: "; }\n",
10
+ expanded: ";\n}\n"
11
+ },
12
+ rule: {
13
+ compressed: "{key}:",
14
+ compact: " {key}: ",
15
+ expanded: "\n {key}: "
16
+ }
17
+ };
18
+ /**
19
+ * Format data
20
+ *
21
+ * Key is selector, value is list of rules
22
+ */
23
+ function formatCSS(data, mode = "expanded") {
24
+ const results = [];
25
+ for (let i = 0; i < data.length; i++) {
26
+ const { selector, rules } = data[i];
27
+ let entry = (selector instanceof Array ? selector.join(mode === "compressed" ? "," : ", ") : selector) + format.selectorStart[mode];
28
+ let firstRule = true;
29
+ for (const key in rules) {
30
+ if (!firstRule) entry += ";";
31
+ entry += format.rule[mode].replace("{key}", key) + rules[key];
32
+ firstRule = false;
33
+ }
34
+ entry += format.selectorEnd[mode];
35
+ results.push(entry);
36
+ }
37
+ return results.join(mode === "compressed" ? "" : "\n");
38
+ }
39
+ export { formatCSS };
@@ -0,0 +1,47 @@
1
+ import { defaultIconProps } from "../icon/defaults.js";
2
+ import { generateItemCSSRules, generateItemContent, getCommonCSSRules } from "./common.js";
3
+ import { formatCSS } from "./format.js";
4
+ /**
5
+ * Get CSS for icon, rendered as background or mask
6
+ */
7
+ function getIconCSS(icon, options = {}) {
8
+ const body = options.customise ? options.customise(icon.body) : icon.body;
9
+ const mode = options.mode || (options.color || !body.includes("currentColor") ? "background" : "mask");
10
+ let varName = options.varName;
11
+ if (varName === void 0 && mode === "mask") varName = "svg";
12
+ const newOptions = {
13
+ ...options,
14
+ mode,
15
+ varName
16
+ };
17
+ if (mode === "background") delete newOptions.varName;
18
+ const rules = Object.create(null);
19
+ Object.assign(rules, options.rules, getCommonCSSRules(newOptions), generateItemCSSRules({
20
+ ...defaultIconProps,
21
+ ...icon,
22
+ body
23
+ }, newOptions));
24
+ return formatCSS([{
25
+ selector: options.iconSelector || ".icon",
26
+ rules
27
+ }], newOptions.format);
28
+ }
29
+ /**
30
+ * Get CSS for icon, rendered as content
31
+ */
32
+ function getIconContentCSS(icon, options) {
33
+ const body = options.customise ? options.customise(icon.body) : icon.body;
34
+ const content = generateItemContent({
35
+ ...defaultIconProps,
36
+ ...icon,
37
+ body
38
+ }, options);
39
+ return formatCSS([{
40
+ selector: options.iconSelector || ".icon::after",
41
+ rules: {
42
+ ...options.rules,
43
+ content
44
+ }
45
+ }], options.format);
46
+ }
47
+ export { getIconCSS, getIconContentCSS };
@@ -0,0 +1,128 @@
1
+ import { defaultIconProps } from "../icon/defaults.js";
2
+ import { getIconData } from "../icon-set/get-icon.js";
3
+ import { generateItemCSSRules, generateItemContent, getCommonCSSRules } from "./common.js";
4
+ import { formatCSS } from "./format.js";
5
+ const commonSelector = ".icon--{prefix}";
6
+ const iconSelector = ".icon--{prefix}--{name}";
7
+ const contentSelector = ".icon--{prefix}--{name}::after";
8
+ const defaultSelectors = {
9
+ commonSelector,
10
+ iconSelector,
11
+ overrideSelector: commonSelector + iconSelector
12
+ };
13
+ /**
14
+ * Get data for getIconsCSS()
15
+ */
16
+ function getIconsCSSData(iconSet, names, options = {}) {
17
+ const css = [];
18
+ const errors = [];
19
+ const palette = options.color ? true : void 0;
20
+ let mode = options.mode || typeof palette === "boolean" && (palette ? "background" : "mask");
21
+ if (!mode) {
22
+ for (let i = 0; i < names.length; i++) {
23
+ const name = names[i];
24
+ const icon = getIconData(iconSet, name);
25
+ if (icon) {
26
+ mode = (options.customise ? options.customise(icon.body, name) : icon.body).includes("currentColor") ? "mask" : "background";
27
+ break;
28
+ }
29
+ }
30
+ if (!mode) {
31
+ mode = "mask";
32
+ errors.push("/* cannot detect icon mode: not set in options and icon set is missing info, rendering as " + mode + " */");
33
+ }
34
+ }
35
+ let varName = options.varName;
36
+ if (varName === void 0 && mode === "mask") varName = "svg";
37
+ const newOptions = {
38
+ ...options,
39
+ mode,
40
+ varName
41
+ };
42
+ const { commonSelector, iconSelector, overrideSelector } = newOptions.iconSelector ? newOptions : defaultSelectors;
43
+ const iconSelectorWithPrefix = iconSelector.replace(/{prefix}/g, iconSet.prefix);
44
+ const commonRules = Object.assign(Object.create(null), options.rules, getCommonCSSRules(newOptions));
45
+ const hasCommonRules = commonSelector && commonSelector !== iconSelector;
46
+ const commonSelectors = /* @__PURE__ */ new Set();
47
+ if (hasCommonRules) css.push({
48
+ selector: commonSelector.replace(/{prefix}/g, iconSet.prefix),
49
+ rules: commonRules
50
+ });
51
+ for (let i = 0; i < names.length; i++) {
52
+ const name = names[i];
53
+ const iconData = getIconData(iconSet, name);
54
+ if (!iconData) {
55
+ errors.push("/* Could not find icon: " + name + " */");
56
+ continue;
57
+ }
58
+ const body = options.customise ? options.customise(iconData.body, name) : iconData.body;
59
+ const rules = generateItemCSSRules({
60
+ ...defaultIconProps,
61
+ ...iconData,
62
+ body
63
+ }, newOptions);
64
+ let requiresOverride = false;
65
+ if (hasCommonRules && overrideSelector) {
66
+ for (const key in rules) if (key in commonRules) requiresOverride = true;
67
+ }
68
+ const selector = (requiresOverride && overrideSelector ? overrideSelector.replace(/{prefix}/g, iconSet.prefix) : iconSelectorWithPrefix).replace(/{name}/g, name);
69
+ css.push({
70
+ selector,
71
+ rules
72
+ });
73
+ if (!hasCommonRules) commonSelectors.add(selector);
74
+ }
75
+ const result = {
76
+ css,
77
+ errors
78
+ };
79
+ if (!hasCommonRules && commonSelectors.size) result.common = {
80
+ selector: Array.from(commonSelectors).join(newOptions.format === "compressed" ? "," : ", "),
81
+ rules: commonRules
82
+ };
83
+ return result;
84
+ }
85
+ /**
86
+ * Get CSS for icons as background/mask
87
+ */
88
+ function getIconsCSS(iconSet, names, options = {}) {
89
+ const { css, errors, common } = getIconsCSSData(iconSet, names, options);
90
+ if (common) if (css.length === 1 && css[0].selector === common.selector) css[0].rules = {
91
+ ...common.rules,
92
+ ...css[0].rules
93
+ };
94
+ else css.unshift(common);
95
+ return formatCSS(css, options.format) + (errors.length ? "\n" + errors.join("\n") + "\n" : "");
96
+ }
97
+ /**
98
+ * Get CSS for icons as content
99
+ */
100
+ function getIconsContentCSS(iconSet, names, options) {
101
+ const errors = [];
102
+ const css = [];
103
+ const iconSelectorWithPrefix = (options.iconSelector ?? contentSelector).replace(/{prefix}/g, iconSet.prefix);
104
+ for (let i = 0; i < names.length; i++) {
105
+ const name = names[i];
106
+ const iconData = getIconData(iconSet, name);
107
+ if (!iconData) {
108
+ errors.push("/* Could not find icon: " + name + " */");
109
+ continue;
110
+ }
111
+ const body = options.customise ? options.customise(iconData.body, name) : iconData.body;
112
+ const content = generateItemContent({
113
+ ...defaultIconProps,
114
+ ...iconData,
115
+ body
116
+ }, options);
117
+ const selector = iconSelectorWithPrefix.replace(/{name}/g, name);
118
+ css.push({
119
+ selector,
120
+ rules: {
121
+ ...options.rules,
122
+ content
123
+ }
124
+ });
125
+ }
126
+ return formatCSS(css, options.format) + (errors.length ? "\n" + errors.join("\n") + "\n" : "");
127
+ }
128
+ export { getIconsCSS, getIconsCSSData, getIconsContentCSS };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Get boolean customisation value from attribute
3
+ */
4
+ function toBoolean(name, value, defaultValue) {
5
+ switch (typeof value) {
6
+ case "boolean": return value;
7
+ case "number": return !!value;
8
+ case "string": switch (value.toLowerCase()) {
9
+ case "1":
10
+ case "true":
11
+ case name.toLowerCase(): return true;
12
+ case "0":
13
+ case "false":
14
+ case "": return false;
15
+ }
16
+ }
17
+ return defaultValue;
18
+ }
19
+ export { toBoolean };
@@ -0,0 +1,13 @@
1
+ import { defaultIconTransformations } from "../icon/defaults.js";
2
+ /**
3
+ * Default icon customisations values
4
+ */
5
+ const defaultIconSizeCustomisations = Object.freeze({
6
+ width: null,
7
+ height: null
8
+ });
9
+ const defaultIconCustomisations = Object.freeze({
10
+ ...defaultIconSizeCustomisations,
11
+ ...defaultIconTransformations
12
+ });
13
+ export { defaultIconCustomisations, defaultIconSizeCustomisations };
@@ -0,0 +1,17 @@
1
+ const separator = /[\s,]+/;
2
+ /**
3
+ * Apply "flip" string to icon customisations
4
+ */
5
+ function flipFromString(custom, flip) {
6
+ flip.split(separator).forEach((str) => {
7
+ switch (str.trim()) {
8
+ case "horizontal":
9
+ custom.hFlip = true;
10
+ break;
11
+ case "vertical":
12
+ custom.vFlip = true;
13
+ break;
14
+ }
15
+ });
16
+ }
17
+ export { flipFromString };
@@ -0,0 +1,16 @@
1
+ import { defaultIconSizeCustomisations } from "./defaults.js";
2
+ /**
3
+ * Convert IconifyIconCustomisations to FullIconCustomisations, checking value types
4
+ */
5
+ function mergeCustomisations(defaults, item) {
6
+ const result = { ...defaults };
7
+ for (const key in item) {
8
+ const value = item[key];
9
+ const valueType = typeof value;
10
+ if (key in defaultIconSizeCustomisations) {
11
+ if (value === null || value && (valueType === "string" || valueType === "number")) result[key] = value;
12
+ } else if (valueType === typeof result[key]) result[key] = key === "rotate" ? value % 4 : value;
13
+ }
14
+ return result;
15
+ }
16
+ export { mergeCustomisations };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Get rotation value
3
+ */
4
+ function rotateFromString(value, defaultValue = 0) {
5
+ const units = value.replace(/^-?[0-9.]*/, "");
6
+ function cleanup(value) {
7
+ while (value < 0) value += 4;
8
+ return value % 4;
9
+ }
10
+ if (units === "") {
11
+ const num = parseInt(value);
12
+ return isNaN(num) ? 0 : cleanup(num);
13
+ } else if (units !== value) {
14
+ let split = 0;
15
+ switch (units) {
16
+ case "%":
17
+ split = 25;
18
+ break;
19
+ case "deg": split = 90;
20
+ }
21
+ if (split) {
22
+ let num = parseFloat(value.slice(0, value.length - units.length));
23
+ if (isNaN(num)) return 0;
24
+ num = num / split;
25
+ return num % 1 === 0 ? cleanup(num) : 0;
26
+ }
27
+ }
28
+ return defaultValue;
29
+ }
30
+ export { rotateFromString };
@@ -0,0 +1,78 @@
1
+ import { joinerEmoji, vs16Emoji } from "./data.js";
2
+ import { getEmojiCodePoint } from "./convert.js";
3
+ /**
4
+ * Get emoji sequence from string
5
+ *
6
+ * @example
7
+ * // shows same emoji sequence formatted differently
8
+ * - '1F441 FE0F 200D 1F5E8 FE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
9
+ * - '1f441-fe0f-200d-1f5e8-fe0f' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
10
+ * - '\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8\\uFE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
11
+ */
12
+ function getEmojiSequenceFromString(value) {
13
+ return value.trim().split(/[^0-9A-F]+/i).filter((item) => item.length > 0).map(getEmojiCodePoint);
14
+ }
15
+ /**
16
+ * Convert emoji sequence or keyword
17
+ *
18
+ * If sequence is characters list, like '1f441-fe0f', it will be converted to [0x1f441, 0xfe0f]
19
+ * If sequence contains anything other than [0-9A-F-\s], it will be converted character by character
20
+ *
21
+ * This is used to treat keywords, like ':cat:' differently when converting strings to sequences
22
+ */
23
+ function getSequenceFromEmojiStringOrKeyword(value) {
24
+ if (!value.match(/^[0-9a-fA-F-\s]+$/)) {
25
+ const results = [];
26
+ for (const codePoint of value) {
27
+ const code = codePoint.codePointAt(0);
28
+ if (code) results.push(code);
29
+ else return getEmojiSequenceFromString(value);
30
+ }
31
+ return results;
32
+ }
33
+ return getEmojiSequenceFromString(value);
34
+ }
35
+ /**
36
+ * Split emoji sequence by joiner
37
+ *
38
+ * Result represents one emoji, split in smaller sequences separated by 0x200D
39
+ *
40
+ * @example
41
+ * [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC] => [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]]
42
+ */
43
+ function splitEmojiSequences(sequence, separator = joinerEmoji) {
44
+ const results = [];
45
+ let queue = [];
46
+ for (let i = 0; i < sequence.length; i++) {
47
+ const code = sequence[i];
48
+ if (code === separator) {
49
+ results.push(queue);
50
+ queue = [];
51
+ } else queue.push(code);
52
+ }
53
+ results.push(queue);
54
+ return results;
55
+ }
56
+ /**
57
+ * Join emoji sequences
58
+ *
59
+ * Parameter represents one emoji, split in smaller sequences
60
+ *
61
+ * @example
62
+ * [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]] => [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC]
63
+ */
64
+ function joinEmojiSequences(sequences, separator = joinerEmoji) {
65
+ let results = [];
66
+ for (let i = 0; i < sequences.length; i++) {
67
+ if (i > 0) results.push(separator);
68
+ results = results.concat(sequences[i]);
69
+ }
70
+ return results;
71
+ }
72
+ /**
73
+ * Get unqualified sequence
74
+ */
75
+ function getUnqualifiedEmojiSequence(sequence) {
76
+ return sequence.filter((num) => num !== vs16Emoji);
77
+ }
78
+ export { getEmojiSequenceFromString, getSequenceFromEmojiStringOrKeyword, getUnqualifiedEmojiSequence, joinEmojiSequences, splitEmojiSequences };
@@ -0,0 +1,100 @@
1
+ import { minUTF32, startUTF32Pair1, startUTF32Pair2 } from "./data.js";
2
+ /**
3
+ * Convert string to number
4
+ */
5
+ function getEmojiCodePoint(code) {
6
+ return parseInt(code, 16);
7
+ }
8
+ /**
9
+ * First part of UTF-32 to UTF-16
10
+ */
11
+ function utf32FirstNum(code) {
12
+ return (code - minUTF32 >> 10 | 0) + startUTF32Pair1;
13
+ }
14
+ /**
15
+ * First part of UTF-32 to UTF-16
16
+ */
17
+ function utf32SecondNum(code) {
18
+ return (code - minUTF32 & 1023) + startUTF32Pair2;
19
+ }
20
+ /**
21
+ * Get UTF-32 as UTF-16 sequence
22
+ */
23
+ function splitUTF32Number(code) {
24
+ if (code >= 65536) return [utf32FirstNum(code), utf32SecondNum(code)];
25
+ }
26
+ /**
27
+ * Check if number is UTF-32 split as UTF-16
28
+ *
29
+ * @returns
30
+ * - 1 if number fits first number in sequence
31
+ * - 2 if number fits second number in sequence
32
+ * - false on failure
33
+ */
34
+ function isUTF32SplitNumber(value) {
35
+ if (value >= 55296) {
36
+ if (value < 56320) return 1;
37
+ if (value < 57344) return 2;
38
+ }
39
+ return false;
40
+ }
41
+ /**
42
+ * Get UTF-16 sequence as UTF-32
43
+ */
44
+ function mergeUTF32Numbers(part1, part2) {
45
+ if (part1 < 55296 || part1 >= 56320 || part2 < 56320 || part2 >= 57344) return;
46
+ return (part1 - startUTF32Pair1 << 10) + (part2 - startUTF32Pair2) + minUTF32;
47
+ }
48
+ /**
49
+ * Convert hexadecimal string or number to unicode
50
+ */
51
+ function getEmojiUnicode(code) {
52
+ return String.fromCodePoint(typeof code === "number" ? code : getEmojiCodePoint(code));
53
+ }
54
+ /**
55
+ * Convert sequence to UTF-16
56
+ */
57
+ function convertEmojiSequenceToUTF16(numbers) {
58
+ const results = [];
59
+ for (let i = 0; i < numbers.length; i++) {
60
+ const code = numbers[i];
61
+ if (code >= 65536) {
62
+ results.push(utf32FirstNum(code));
63
+ results.push(utf32SecondNum(code));
64
+ } else results.push(code);
65
+ }
66
+ return results;
67
+ }
68
+ /**
69
+ * Convert sequence to UTF-32
70
+ */
71
+ function convertEmojiSequenceToUTF32(numbers, throwOnError = true) {
72
+ const results = [];
73
+ for (let i = 0; i < numbers.length; i++) {
74
+ const code = numbers[i];
75
+ if (code >= 65536) {
76
+ results.push(code);
77
+ continue;
78
+ }
79
+ const part = isUTF32SplitNumber(code);
80
+ if (!part) {
81
+ results.push(code);
82
+ continue;
83
+ }
84
+ if (part === 1 && numbers.length > i + 1) {
85
+ const merged = mergeUTF32Numbers(code, numbers[i + 1]);
86
+ if (merged) {
87
+ i++;
88
+ results.push(merged);
89
+ continue;
90
+ }
91
+ }
92
+ if (throwOnError) {
93
+ const nextCode = numbers[i + 1];
94
+ throw new Error(`Invalid UTF-16 sequence: ${code.toString(16)}-${nextCode ? nextCode.toString(16) : "undefined"}`);
95
+ }
96
+ results.push(code);
97
+ }
98
+ return results;
99
+ }
100
+ export { convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32, getEmojiCodePoint, getEmojiUnicode, isUTF32SplitNumber, mergeUTF32Numbers, splitUTF32Number };
@@ -0,0 +1,28 @@
1
+ /** Joiner in emoji sequences */
2
+ const joinerEmoji = 8205;
3
+ /** Emoji as icon */
4
+ const vs16Emoji = 65039;
5
+ /** Keycap, preceeded by mandatory VS16 for full emoji */
6
+ const keycapEmoji = 8419;
7
+ const emojiComponents = {
8
+ "hair-style": [129456, 129460],
9
+ "skin-tone": [127995, 128e3]
10
+ };
11
+ /**
12
+ * Minimum UTF-32 number
13
+ */
14
+ const minUTF32 = 65536;
15
+ /**
16
+ * Codes for UTF-32 characters presented as UTF-16
17
+ *
18
+ * startUTF32Pair1 <= code < startUTF32Pair2 -> code for first character in pair
19
+ * startUTF32Pair2 <= code < endUTF32Pair -> code for second character in pair
20
+ */
21
+ const startUTF32Pair1 = 55296;
22
+ const startUTF32Pair2 = 56320;
23
+ const endUTF32Pair = 57344;
24
+ /**
25
+ * Emoji version as string
26
+ */
27
+ const emojiVersion = "17.0";
28
+ export { emojiComponents, emojiVersion, endUTF32Pair, joinerEmoji, keycapEmoji, minUTF32, startUTF32Pair1, startUTF32Pair2, vs16Emoji };
@@ -0,0 +1,58 @@
1
+ import { convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32 } from "./convert.js";
2
+ const defaultUnicodeOptions = {
3
+ prefix: "",
4
+ separator: "",
5
+ case: "lower",
6
+ format: "utf-32",
7
+ add0: false,
8
+ throwOnError: true
9
+ };
10
+ /**
11
+ * Convert number to string
12
+ */
13
+ function convert(sequence, options) {
14
+ const prefix = options.prefix;
15
+ const func = options.case === "upper" ? "toUpperCase" : "toLowerCase";
16
+ return (options.format === "utf-16" ? convertEmojiSequenceToUTF16(sequence) : convertEmojiSequenceToUTF32(sequence, options.throwOnError)).map((code) => {
17
+ let str = code.toString(16);
18
+ if (options.add0 && str.length < 4) str = "0".repeat(4 - str.length) + str;
19
+ return prefix + str[func]();
20
+ }).join(options.separator);
21
+ }
22
+ /**
23
+ * Convert unicode number to string
24
+ *
25
+ * Example:
26
+ * 0x1F600 => '1F600'
27
+ */
28
+ function getEmojiUnicodeString(code, options = {}) {
29
+ return convert([code], {
30
+ ...defaultUnicodeOptions,
31
+ ...options
32
+ });
33
+ }
34
+ const defaultSequenceOptions = {
35
+ ...defaultUnicodeOptions,
36
+ separator: "-"
37
+ };
38
+ /**
39
+ * Convert unicode numbers sequence to string
40
+ *
41
+ * Example:
42
+ * [0x1f441, 0xfe0f] => '1f441-fe0f'
43
+ */
44
+ function getEmojiSequenceString(sequence, options = {}) {
45
+ return convert(sequence, {
46
+ ...defaultSequenceOptions,
47
+ ...options
48
+ });
49
+ }
50
+ /**
51
+ * Convert unicode numbers sequence to string
52
+ *
53
+ * Simple version of `getEmojiSequenceString()` without options that otherwise add to bundle
54
+ */
55
+ function getEmojiSequenceKeyword(sequence) {
56
+ return sequence.map((code) => code.toString(16)).join("-");
57
+ }
58
+ export { getEmojiSequenceKeyword, getEmojiSequenceString, getEmojiUnicodeString };