ventojs 1.14.0 → 1.15.1

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 (297) hide show
  1. package/esm/bare.d.ts +1 -1
  2. package/esm/bare.d.ts.map +1 -1
  3. package/esm/bare.js +1 -1
  4. package/esm/deps.d.ts +0 -3
  5. package/esm/deps.d.ts.map +1 -1
  6. package/esm/deps.js +0 -3
  7. package/esm/plugins/echo.d.ts +1 -0
  8. package/esm/plugins/echo.d.ts.map +1 -1
  9. package/esm/plugins/echo.js +23 -4
  10. package/esm/plugins/escape.d.ts +1 -0
  11. package/esm/plugins/escape.d.ts.map +1 -1
  12. package/esm/plugins/escape.js +14 -3
  13. package/esm/plugins/export.d.ts +1 -0
  14. package/esm/plugins/export.d.ts.map +1 -1
  15. package/esm/plugins/export.js +55 -33
  16. package/esm/plugins/for.d.ts +1 -0
  17. package/esm/plugins/for.d.ts.map +1 -1
  18. package/esm/plugins/for.js +7 -10
  19. package/esm/plugins/function.d.ts +1 -0
  20. package/esm/plugins/function.d.ts.map +1 -1
  21. package/esm/plugins/function.js +1 -0
  22. package/esm/plugins/if.d.ts +1 -0
  23. package/esm/plugins/if.d.ts.map +1 -1
  24. package/esm/plugins/if.js +1 -0
  25. package/esm/plugins/import.d.ts +1 -0
  26. package/esm/plugins/import.d.ts.map +1 -1
  27. package/esm/plugins/import.js +45 -3
  28. package/esm/plugins/include.d.ts +1 -0
  29. package/esm/plugins/include.d.ts.map +1 -1
  30. package/esm/plugins/include.js +16 -11
  31. package/esm/plugins/js.d.ts +1 -0
  32. package/esm/plugins/js.d.ts.map +1 -1
  33. package/esm/plugins/js.js +1 -0
  34. package/esm/plugins/layout.d.ts +1 -0
  35. package/esm/plugins/layout.d.ts.map +1 -1
  36. package/esm/plugins/layout.js +1 -0
  37. package/esm/plugins/set.d.ts +1 -0
  38. package/esm/plugins/set.d.ts.map +1 -1
  39. package/esm/plugins/set.js +1 -0
  40. package/esm/plugins/trim.d.ts +1 -0
  41. package/esm/plugins/trim.d.ts.map +1 -1
  42. package/esm/plugins/trim.js +1 -0
  43. package/esm/plugins/unescape.d.ts +1 -0
  44. package/esm/plugins/unescape.d.ts.map +1 -1
  45. package/esm/plugins/unescape.js +22 -3
  46. package/esm/src/environment.d.ts +2 -2
  47. package/esm/src/environment.d.ts.map +1 -1
  48. package/esm/src/environment.js +14 -17
  49. package/esm/src/errors.d.ts +1 -0
  50. package/esm/src/errors.d.ts.map +1 -1
  51. package/esm/src/errors.js +1 -0
  52. package/esm/src/js.d.ts +11 -4
  53. package/esm/src/js.d.ts.map +1 -1
  54. package/esm/src/js.js +160 -174
  55. package/esm/src/{loader.node.d.ts → loader.d.ts} +1 -1
  56. package/esm/src/loader.d.ts.map +1 -0
  57. package/esm/src/{loader.node.js → loader.js} +1 -1
  58. package/esm/src/tokenizer.d.ts +1 -6
  59. package/esm/src/tokenizer.d.ts.map +1 -1
  60. package/esm/src/tokenizer.js +66 -72
  61. package/esm/src/transformer.d.ts +1 -0
  62. package/esm/src/transformer.d.ts.map +1 -1
  63. package/esm/src/transformer.js +1 -0
  64. package/esm/src/url_loader.d.ts +10 -0
  65. package/esm/src/url_loader.d.ts.map +1 -0
  66. package/esm/src/url_loader.js +19 -0
  67. package/esm/test/utils.d.ts.map +1 -1
  68. package/package.json +53 -2
  69. package/esm/deps/jsr.io/@std/html/1.0.3/entities.d.ts +0 -57
  70. package/esm/deps/jsr.io/@std/html/1.0.3/entities.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/html/1.0.3/entities.js +0 -92
  72. package/esm/deps/jsr.io/@std/html/1.0.3/mod.d.ts +0 -15
  73. package/esm/deps/jsr.io/@std/html/1.0.3/mod.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/html/1.0.3/mod.js +0 -16
  75. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.d.ts +0 -2
  76. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.js +0 -7
  78. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.d.ts +0 -4
  79. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.js +0 -40
  81. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.d.ts +0 -2
  82. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.js +0 -23
  84. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.d.ts +0 -40
  85. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.js +0 -46
  87. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.d.ts +0 -2
  88. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.js +0 -8
  90. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.d.ts +0 -4
  91. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.js +0 -19
  93. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.d.ts +0 -3
  94. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.js +0 -9
  96. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.d.ts +0 -35
  97. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.d.ts.map +0 -1
  98. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.js +0 -234
  99. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.d.ts +0 -2
  100. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.d.ts.map +0 -1
  101. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.js +0 -8
  102. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.d.ts +0 -2
  103. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.d.ts.map +0 -1
  104. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.js +0 -77
  105. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.d.ts +0 -2
  106. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.d.ts.map +0 -1
  107. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.js +0 -9
  108. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.d.ts +0 -2
  109. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.d.ts.map +0 -1
  110. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.js +0 -19
  111. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.d.ts +0 -2
  112. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.d.ts.map +0 -1
  113. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.js +0 -15
  114. package/esm/deps/jsr.io/@std/path/1.0.8/_os.d.ts +0 -2
  115. package/esm/deps/jsr.io/@std/path/1.0.8/_os.d.ts.map +0 -1
  116. package/esm/deps/jsr.io/@std/path/1.0.8/_os.js +0 -9
  117. package/esm/deps/jsr.io/@std/path/1.0.8/basename.d.ts +0 -28
  118. package/esm/deps/jsr.io/@std/path/1.0.8/basename.d.ts.map +0 -1
  119. package/esm/deps/jsr.io/@std/path/1.0.8/basename.js +0 -36
  120. package/esm/deps/jsr.io/@std/path/1.0.8/common.d.ts +0 -28
  121. package/esm/deps/jsr.io/@std/path/1.0.8/common.d.ts.map +0 -1
  122. package/esm/deps/jsr.io/@std/path/1.0.8/common.js +0 -33
  123. package/esm/deps/jsr.io/@std/path/1.0.8/constants.d.ts +0 -15
  124. package/esm/deps/jsr.io/@std/path/1.0.8/constants.d.ts.map +0 -1
  125. package/esm/deps/jsr.io/@std/path/1.0.8/constants.js +0 -17
  126. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.d.ts +0 -23
  127. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.d.ts.map +0 -1
  128. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.js +0 -29
  129. package/esm/deps/jsr.io/@std/path/1.0.8/extname.d.ts +0 -23
  130. package/esm/deps/jsr.io/@std/path/1.0.8/extname.d.ts.map +0 -1
  131. package/esm/deps/jsr.io/@std/path/1.0.8/extname.js +0 -29
  132. package/esm/deps/jsr.io/@std/path/1.0.8/format.d.ts +0 -22
  133. package/esm/deps/jsr.io/@std/path/1.0.8/format.d.ts.map +0 -1
  134. package/esm/deps/jsr.io/@std/path/1.0.8/format.js +0 -27
  135. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.d.ts +0 -23
  136. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.d.ts.map +0 -1
  137. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.js +0 -28
  138. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.d.ts +0 -77
  139. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.d.ts.map +0 -1
  140. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.js +0 -83
  141. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.d.ts +0 -22
  142. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.d.ts.map +0 -1
  143. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.js +0 -28
  144. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.d.ts +0 -17
  145. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.d.ts.map +0 -1
  146. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.js +0 -42
  147. package/esm/deps/jsr.io/@std/path/1.0.8/join.d.ts +0 -23
  148. package/esm/deps/jsr.io/@std/path/1.0.8/join.d.ts.map +0 -1
  149. package/esm/deps/jsr.io/@std/path/1.0.8/join.js +0 -29
  150. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.d.ts +0 -28
  151. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.d.ts.map +0 -1
  152. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.js +0 -34
  153. package/esm/deps/jsr.io/@std/path/1.0.8/mod.d.ts +0 -54
  154. package/esm/deps/jsr.io/@std/path/1.0.8/mod.d.ts.map +0 -1
  155. package/esm/deps/jsr.io/@std/path/1.0.8/mod.js +0 -57
  156. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.d.ts +0 -27
  157. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.d.ts.map +0 -1
  158. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.js +0 -33
  159. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.d.ts +0 -29
  160. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.d.ts.map +0 -1
  161. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.js +0 -35
  162. package/esm/deps/jsr.io/@std/path/1.0.8/parse.d.ts +0 -35
  163. package/esm/deps/jsr.io/@std/path/1.0.8/parse.d.ts.map +0 -1
  164. package/esm/deps/jsr.io/@std/path/1.0.8/parse.js +0 -39
  165. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.d.ts +0 -2
  166. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.d.ts.map +0 -1
  167. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.js +0 -8
  168. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts +0 -40
  169. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts.map +0 -1
  170. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.js +0 -49
  171. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.d.ts +0 -19
  172. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.d.ts.map +0 -1
  173. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.js +0 -24
  174. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.d.ts +0 -13
  175. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.d.ts.map +0 -1
  176. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.js +0 -14
  177. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts +0 -32
  178. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts.map +0 -1
  179. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.js +0 -62
  180. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts +0 -37
  181. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts.map +0 -1
  182. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.js +0 -89
  183. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.d.ts +0 -24
  184. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.d.ts.map +0 -1
  185. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.js +0 -28
  186. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.d.ts +0 -17
  187. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.d.ts.map +0 -1
  188. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.js +0 -21
  189. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.d.ts +0 -72
  190. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.d.ts.map +0 -1
  191. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.js +0 -82
  192. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.d.ts +0 -17
  193. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.d.ts.map +0 -1
  194. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.js +0 -23
  195. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.d.ts +0 -2
  196. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.d.ts.map +0 -1
  197. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.js +0 -3
  198. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts +0 -33
  199. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts.map +0 -1
  200. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.js +0 -42
  201. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.d.ts +0 -20
  202. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.d.ts.map +0 -1
  203. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.js +0 -40
  204. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.d.ts +0 -40
  205. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.d.ts.map +0 -1
  206. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.js +0 -43
  207. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts +0 -40
  208. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts.map +0 -1
  209. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.js +0 -57
  210. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.d.ts +0 -20
  211. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.d.ts.map +0 -1
  212. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.js +0 -32
  213. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.d.ts +0 -25
  214. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.d.ts.map +0 -1
  215. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.js +0 -115
  216. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.d.ts +0 -20
  217. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.d.ts.map +0 -1
  218. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.js +0 -106
  219. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.d.ts +0 -17
  220. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.d.ts.map +0 -1
  221. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.js +0 -59
  222. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.d.ts +0 -18
  223. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.d.ts.map +0 -1
  224. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.js +0 -27
  225. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.d.ts +0 -16
  226. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.d.ts.map +0 -1
  227. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.js +0 -20
  228. package/esm/deps/jsr.io/@std/path/1.0.8/relative.d.ts +0 -24
  229. package/esm/deps/jsr.io/@std/path/1.0.8/relative.d.ts.map +0 -1
  230. package/esm/deps/jsr.io/@std/path/1.0.8/relative.js +0 -30
  231. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.d.ts +0 -22
  232. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.d.ts.map +0 -1
  233. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.js +0 -30
  234. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.d.ts +0 -23
  235. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.d.ts.map +0 -1
  236. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.js +0 -28
  237. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.d.ts +0 -21
  238. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.d.ts.map +0 -1
  239. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.js +0 -29
  240. package/esm/deps/jsr.io/@std/path/1.0.8/types.d.ts +0 -38
  241. package/esm/deps/jsr.io/@std/path/1.0.8/types.d.ts.map +0 -1
  242. package/esm/deps/jsr.io/@std/path/1.0.8/types.js +0 -3
  243. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.d.ts +0 -4
  244. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.d.ts.map +0 -1
  245. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.js +0 -15
  246. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts +0 -23
  247. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts.map +0 -1
  248. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.js +0 -44
  249. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.d.ts +0 -13
  250. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.d.ts.map +0 -1
  251. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.js +0 -14
  252. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts +0 -20
  253. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts.map +0 -1
  254. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.js +0 -112
  255. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts +0 -20
  256. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts.map +0 -1
  257. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.js +0 -81
  258. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.d.ts +0 -24
  259. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.d.ts.map +0 -1
  260. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.js +0 -28
  261. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.d.ts +0 -19
  262. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.d.ts.map +0 -1
  263. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.js +0 -30
  264. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.d.ts +0 -71
  265. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.d.ts.map +0 -1
  266. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.js +0 -82
  267. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.d.ts +0 -17
  268. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.d.ts.map +0 -1
  269. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.js +0 -38
  270. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts +0 -20
  271. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts.map +0 -1
  272. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.js +0 -74
  273. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.d.ts +0 -21
  274. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.d.ts.map +0 -1
  275. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.js +0 -41
  276. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts +0 -22
  277. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts.map +0 -1
  278. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.js +0 -134
  279. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.d.ts +0 -20
  280. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.d.ts.map +0 -1
  281. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.js +0 -32
  282. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.d.ts +0 -25
  283. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.d.ts.map +0 -1
  284. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.js +0 -176
  285. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.d.ts +0 -23
  286. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.d.ts.map +0 -1
  287. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.js +0 -131
  288. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.d.ts +0 -17
  289. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.d.ts.map +0 -1
  290. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.js +0 -154
  291. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.d.ts +0 -18
  292. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.d.ts.map +0 -1
  293. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.js +0 -34
  294. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.d.ts +0 -17
  295. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.d.ts.map +0 -1
  296. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.js +0 -49
  297. package/esm/src/loader.node.d.ts.map +0 -1
@@ -1,75 +1,71 @@
1
1
  import "../_dnt.polyfills.js";
2
- import analyze from "./js.js";
2
+ import iterateTopLevel from "./js.js";
3
3
  export default function tokenize(source) {
4
4
  const tokens = [];
5
5
  let type = "string";
6
6
  let position = 0;
7
- try {
8
- while (source.length > 0) {
9
- if (type === "string") {
10
- const index = source.indexOf("{{");
11
- const code = index === -1 ? source : source.slice(0, index);
12
- tokens.push([type, code, position]);
13
- if (index === -1) {
14
- break;
15
- }
16
- position += index;
17
- source = source.slice(index);
18
- type = source.startsWith("{{#") ? "comment" : "tag";
19
- continue;
7
+ while (source.length > 0) {
8
+ if (type === "string") {
9
+ const index = source.indexOf("{{");
10
+ const code = index === -1 ? source : source.slice(0, index);
11
+ tokens.push([type, code, position]);
12
+ if (index === -1) {
13
+ break;
20
14
  }
21
- if (type === "comment") {
22
- source = source.slice(3);
23
- const index = source.indexOf("#}}");
24
- const comment = index === -1 ? source : source.slice(0, index);
25
- tokens.push([type, comment, position]);
26
- if (index === -1) {
27
- break;
28
- }
29
- position += index + 3;
30
- source = source.slice(index + 3);
31
- type = "string";
32
- continue;
15
+ position += index;
16
+ source = source.slice(index);
17
+ type = source.startsWith("{{#") ? "comment" : "tag";
18
+ continue;
19
+ }
20
+ if (type === "comment") {
21
+ source = source.slice(3);
22
+ const index = source.indexOf("#}}");
23
+ const comment = index === -1 ? source : source.slice(0, index);
24
+ tokens.push([type, comment, position]);
25
+ if (index === -1) {
26
+ break;
33
27
  }
34
- if (type === "tag") {
35
- const indexes = parseTag(source);
36
- const lastIndex = indexes.length - 1;
37
- let tag;
38
- indexes.reduce((prev, curr, index) => {
39
- const code = source.slice(prev, curr - 2);
40
- // Tag
41
- if (index === 1) {
42
- tag = [type, code, position];
43
- tokens.push(tag);
44
- return curr;
45
- }
46
- // Filters
47
- tokens.push(["filter", code]);
28
+ position += index + 3;
29
+ source = source.slice(index + 3);
30
+ type = "string";
31
+ continue;
32
+ }
33
+ if (type === "tag") {
34
+ const indexes = parseTag(source);
35
+ const lastIndex = indexes.length - 1;
36
+ let tag;
37
+ indexes.reduce((prev, curr, index) => {
38
+ const code = source.slice(prev, curr - 2);
39
+ // Tag
40
+ if (index === 1) {
41
+ tag = [type, code, position];
42
+ tokens.push(tag);
48
43
  return curr;
49
- });
50
- position += indexes[lastIndex];
51
- source = source.slice(indexes[lastIndex]);
52
- type = "string";
53
- // Search the closing echo tag {{ /echo }}
54
- if (tag?.[1].match(/^\-?\s*echo\s*\-?$/)) {
55
- const end = source.match(/{{\-?\s*\/echo\s*\-?}}/);
56
- if (!end) {
57
- throw new Error("Unclosed echo tag");
58
- }
59
- const rawCode = source.slice(0, end.index);
60
- tag[1] = `echo ${JSON.stringify(rawCode)}`;
61
- const length = Number(end.index) + end[0].length;
62
- source = source.slice(length);
63
- position += length;
64
44
  }
65
- continue;
45
+ // Filters
46
+ tokens.push(["filter", code]);
47
+ return curr;
48
+ });
49
+ position += indexes[lastIndex];
50
+ source = source.slice(indexes[lastIndex]);
51
+ type = "string";
52
+ // Search the closing echo tag {{ /echo }}
53
+ if (tag?.[1].match(/^\-?\s*echo\s*\-?$/)) {
54
+ const end = /{{\-?\s*\/echo\s*\-?}}/.exec(source);
55
+ if (!end) {
56
+ tokens.push(["string", source, position]);
57
+ return tokens;
58
+ }
59
+ tokens.push(["string", source.slice(0, end.index), position]);
60
+ position += end.index;
61
+ tokens.push(["tag", end[0].slice(2, -2), position]);
62
+ position += end[0].length;
63
+ source = source.slice(end.index + end[0].length);
66
64
  }
65
+ continue;
67
66
  }
68
67
  }
69
- catch (error) {
70
- return { tokens, position, error: error };
71
- }
72
- return { tokens, position, error: undefined };
68
+ return tokens;
73
69
  }
74
70
  /**
75
71
  * Parse a tag and return the indexes of the start and end brackets, and the filters between.
@@ -77,17 +73,15 @@ export default function tokenize(source) {
77
73
  */
78
74
  export function parseTag(source) {
79
75
  const indexes = [2];
80
- analyze(source, (type, index) => {
81
- if (type === "close") {
82
- indexes.push(index);
83
- return false;
84
- }
85
- if (type === "new-filter") {
86
- indexes.push(index);
76
+ for (const [index, reason] of iterateTopLevel(source, 2)) {
77
+ if (reason == "|>") {
78
+ indexes.push(index + 2);
79
+ continue;
87
80
  }
88
- else if (type === "unclosed") {
89
- throw new Error("Unclosed tag");
90
- }
91
- });
92
- return indexes;
81
+ else if (!source.startsWith("}}", index))
82
+ continue;
83
+ indexes.push(index + 2);
84
+ return indexes;
85
+ }
86
+ throw new Error("Unclosed tag");
93
87
  }
@@ -1,2 +1,3 @@
1
+ import "../_dnt.polyfills.js";
1
2
  export declare function transformTemplateCode(code: string, templateState: string): string;
2
3
  //# sourceMappingURL=transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/src/transformer.ts"],"names":[],"mappings":"AA2HA,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM,CA0JR"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/src/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA4H9B,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM,CA0JR"}
@@ -1,3 +1,4 @@
1
+ import "../_dnt.polyfills.js";
1
2
  import * as dntShim from "../_dnt.shims.js";
2
3
  import { astring, meriyah, walker } from "../deps.js";
3
4
  import { TransformError } from "./errors.js";
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import "../_dnt.polyfills.js";
3
+ import type { Loader, TemplateSource } from "./environment.js";
4
+ export declare class UrlLoader implements Loader {
5
+ #private;
6
+ constructor(root: URL);
7
+ load(file: string): Promise<TemplateSource>;
8
+ resolve(from: string, file: string): string;
9
+ }
10
+ //# sourceMappingURL=url_loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url_loader.d.ts","sourceRoot":"","sources":["../../src/src/url_loader.ts"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,qBAAa,SAAU,YAAW,MAAM;;gBAG1B,IAAI,EAAE,GAAG;IAIf,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOjD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;CAO5C"}
@@ -0,0 +1,19 @@
1
+ import "../_dnt.polyfills.js";
2
+ import { posix } from "node:path";
3
+ export class UrlLoader {
4
+ #root;
5
+ constructor(root) {
6
+ this.#root = root;
7
+ }
8
+ async load(file) {
9
+ const url = new URL(posix.join(this.#root.pathname, file), this.#root);
10
+ const source = await (await fetch(url)).text();
11
+ return { source };
12
+ }
13
+ resolve(from, file) {
14
+ if (file.startsWith(".")) {
15
+ return posix.join("/", posix.dirname(from), file);
16
+ }
17
+ return posix.join("/", file);
18
+ }
19
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,QAE9C;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,iBAkB9C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,QAiB5C;AAED,qBAAa,UAAW,YAAW,MAAM;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzC,IAAI,CAAC,IAAI,EAAE,MAAM;;;;;;;IAcjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;CAO5C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,QAE9C;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,iBAkB9C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,QAiB5C;AAED,qBAAa,UAAW,YAAW,MAAM;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzC,IAAI,CAAC,IAAI,EAAE,MAAM;;;IAcjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;CAO5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ventojs",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "description": "🌬 A minimal but powerful template engine",
5
5
  "homepage": "https://vento.js.org/",
6
6
  "repository": "github:oscarotero/vento",
@@ -14,14 +14,65 @@
14
14
  "./src/environment.js": {
15
15
  "import": "./esm/src/environment.js"
16
16
  },
17
+ "./src/errors.js": {
18
+ "import": "./esm/src/errors.js"
19
+ },
20
+ "./src/js.js": {
21
+ "import": "./esm/src/js.js"
22
+ },
17
23
  "./src/loader.js": {
18
- "import": "./esm/src/loader.node.js"
24
+ "import": "./esm/src/loader.js"
19
25
  },
20
26
  "./src/tokenizer.js": {
21
27
  "import": "./esm/src/tokenizer.js"
22
28
  },
29
+ "./src/transformer.js": {
30
+ "import": "./esm/src/transformer.js"
31
+ },
32
+ "./src/url_loader.js": {
33
+ "import": "./esm/src/url_loader.js"
34
+ },
23
35
  "./plugins/auto_trim.js": {
24
36
  "import": "./esm/plugins/auto_trim.js"
37
+ },
38
+ "./plugins/echo.js": {
39
+ "import": "./esm/plugins/echo.js"
40
+ },
41
+ "./plugins/escape.js": {
42
+ "import": "./esm/plugins/escape.js"
43
+ },
44
+ "./plugins/export.js": {
45
+ "import": "./esm/plugins/export.js"
46
+ },
47
+ "./plugins/for.js": {
48
+ "import": "./esm/plugins/for.js"
49
+ },
50
+ "./plugins/function.js": {
51
+ "import": "./esm/plugins/function.js"
52
+ },
53
+ "./plugins/if.js": {
54
+ "import": "./esm/plugins/if.js"
55
+ },
56
+ "./plugins/import.js": {
57
+ "import": "./esm/plugins/import.js"
58
+ },
59
+ "./plugins/include.js": {
60
+ "import": "./esm/plugins/include.js"
61
+ },
62
+ "./plugins/js.js": {
63
+ "import": "./esm/plugins/js.js"
64
+ },
65
+ "./plugins/layout.js": {
66
+ "import": "./esm/plugins/layout.js"
67
+ },
68
+ "./plugins/set.js": {
69
+ "import": "./esm/plugins/set.js"
70
+ },
71
+ "./plugins/trim.js": {
72
+ "import": "./esm/plugins/trim.js"
73
+ },
74
+ "./plugins/unescape.js": {
75
+ "import": "./esm/plugins/unescape.js"
25
76
  }
26
77
  },
27
78
  "scripts": {
@@ -1,57 +0,0 @@
1
- /** Object structure for a list of HTML entities. */
2
- export type EntityList = Record<string, string>;
3
- /**
4
- * Escapes text for safe interpolation into HTML text content and quoted attributes.
5
- *
6
- * @example Usage
7
- * ```ts
8
- * import { escape } from "@std/html/entities";
9
- * import { assertEquals } from "@std/assert";
10
- *
11
- * assertEquals(escape("<>'&AA"), "&lt;&gt;&#39;&amp;AA");
12
- *
13
- * // Characters that don't need to be escaped will be left alone,
14
- * // even if named HTML entities exist for them.
15
- * assertEquals(escape("þð"), "þð");
16
- * ```
17
- *
18
- * @param str The string to escape.
19
- * @returns The escaped string.
20
- */
21
- export declare function escape(str: string): string;
22
- /** Options for {@linkcode unescape}. */
23
- export type UnescapeOptions = {
24
- entityList: EntityList;
25
- };
26
- /**
27
- * Unescapes HTML entities in text.
28
- *
29
- * Default options only handle `&<>'"` and numeric entities.
30
- *
31
- * @example Basic usage
32
- * ```ts
33
- * import { unescape } from "@std/html/entities";
34
- * import { assertEquals } from "@std/assert";
35
- *
36
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA"), "<>'&AA");
37
- * assertEquals(unescape("&thorn;&eth;"), "&thorn;&eth;");
38
- * ```
39
- *
40
- * @example Using a custom entity list
41
- *
42
- * This uses the full named entity list from the HTML spec (~47K un-minified)
43
- *
44
- * ```ts
45
- * import { unescape } from "@std/html/entities";
46
- * import entityList from "@std/html/named-entity-list.json" with { type: "json" };
47
- * import { assertEquals } from "@std/assert";
48
- *
49
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA", { entityList }), "<>'&AA");
50
- * ```
51
- *
52
- * @param str The string to unescape.
53
- * @param options Options for unescaping.
54
- * @returns The unescaped string.
55
- */
56
- export declare function unescape(str: string, options?: Partial<UnescapeOptions>): string;
57
- //# sourceMappingURL=entities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/html/1.0.3/entities.ts"],"names":[],"mappings":"AAGA,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAoBhD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAazD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,MAAM,CAsBR"}
@@ -1,92 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- const rawToEntityEntries = [
4
- ["&", "&amp;"],
5
- ["<", "&lt;"],
6
- [">", "&gt;"],
7
- ['"', "&quot;"],
8
- ["'", "&#39;"],
9
- ];
10
- const defaultEntityList = Object.fromEntries([
11
- ...rawToEntityEntries.map(([raw, entity]) => [entity, raw]),
12
- ["&apos;", "'"],
13
- ["&nbsp;", "\xa0"],
14
- ]);
15
- const rawToEntity = new Map(rawToEntityEntries);
16
- const rawRe = new RegExp(`[${[...rawToEntity.keys()].join("")}]`, "g");
17
- /**
18
- * Escapes text for safe interpolation into HTML text content and quoted attributes.
19
- *
20
- * @example Usage
21
- * ```ts
22
- * import { escape } from "@std/html/entities";
23
- * import { assertEquals } from "@std/assert";
24
- *
25
- * assertEquals(escape("<>'&AA"), "&lt;&gt;&#39;&amp;AA");
26
- *
27
- * // Characters that don't need to be escaped will be left alone,
28
- * // even if named HTML entities exist for them.
29
- * assertEquals(escape("þð"), "þð");
30
- * ```
31
- *
32
- * @param str The string to escape.
33
- * @returns The escaped string.
34
- */
35
- export function escape(str) {
36
- return str.replaceAll(rawRe, (m) => rawToEntity.get(m));
37
- }
38
- const defaultUnescapeOptions = {
39
- entityList: defaultEntityList,
40
- };
41
- const MAX_CODE_POINT = 0x10ffff;
42
- const RX_DEC_ENTITY = /&#([0-9]+);/g;
43
- const RX_HEX_ENTITY = /&#x(\p{AHex}+);/gu;
44
- const entityListRegexCache = new WeakMap();
45
- /**
46
- * Unescapes HTML entities in text.
47
- *
48
- * Default options only handle `&<>'"` and numeric entities.
49
- *
50
- * @example Basic usage
51
- * ```ts
52
- * import { unescape } from "@std/html/entities";
53
- * import { assertEquals } from "@std/assert";
54
- *
55
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA"), "<>'&AA");
56
- * assertEquals(unescape("&thorn;&eth;"), "&thorn;&eth;");
57
- * ```
58
- *
59
- * @example Using a custom entity list
60
- *
61
- * This uses the full named entity list from the HTML spec (~47K un-minified)
62
- *
63
- * ```ts
64
- * import { unescape } from "@std/html/entities";
65
- * import entityList from "@std/html/named-entity-list.json" with { type: "json" };
66
- * import { assertEquals } from "@std/assert";
67
- *
68
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA", { entityList }), "<>'&AA");
69
- * ```
70
- *
71
- * @param str The string to unescape.
72
- * @param options Options for unescaping.
73
- * @returns The unescaped string.
74
- */
75
- export function unescape(str, options = {}) {
76
- const { entityList } = { ...defaultUnescapeOptions, ...options };
77
- let entityRe = entityListRegexCache.get(entityList);
78
- if (!entityRe) {
79
- entityRe = new RegExp(`(${Object.keys(entityList)
80
- .sort((a, b) => b.length - a.length)
81
- .join("|")})`, "g");
82
- entityListRegexCache.set(entityList, entityRe);
83
- }
84
- return str
85
- .replaceAll(entityRe, (m) => entityList[m])
86
- .replaceAll(RX_DEC_ENTITY, (_, dec) => codePointStrToChar(dec, 10))
87
- .replaceAll(RX_HEX_ENTITY, (_, hex) => codePointStrToChar(hex, 16));
88
- }
89
- function codePointStrToChar(codePointStr, radix) {
90
- const codePoint = parseInt(codePointStr, radix);
91
- return codePoint > MAX_CODE_POINT ? "�" : String.fromCodePoint(codePoint);
92
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * Functions for HTML tasks such as escaping or unescaping HTML entities.
3
- *
4
- * ```ts
5
- * import { unescape } from "@std/html/entities";
6
- * import { assertEquals } from "@std/assert";
7
- *
8
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA"), "<>'&AA");
9
- * assertEquals(unescape("&thorn;&eth;"), "&thorn;&eth;");
10
- * ```
11
- *
12
- * @module
13
- */
14
- export * from "./entities.js";
15
- //# sourceMappingURL=mod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/html/1.0.3/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,cAAc,eAAe,CAAC"}
@@ -1,16 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- /**
4
- * Functions for HTML tasks such as escaping or unescaping HTML entities.
5
- *
6
- * ```ts
7
- * import { unescape } from "@std/html/entities";
8
- * import { assertEquals } from "@std/assert";
9
- *
10
- * assertEquals(unescape("&lt;&gt;&#39;&amp;AA"), "<>'&AA");
11
- * assertEquals(unescape("&thorn;&eth;"), "&thorn;&eth;");
12
- * ```
13
- *
14
- * @module
15
- */
16
- export * from "./entities.js";
@@ -1,2 +0,0 @@
1
- export declare function assertPath(path?: string): void;
2
- //# sourceMappingURL=assert_path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert_path.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/_common/assert_path.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,QAMvC"}
@@ -1,7 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // Copyright the Browserify authors. MIT License.
3
- export function assertPath(path) {
4
- if (typeof path !== "string") {
5
- throw new TypeError(`Path must be a string, received "${JSON.stringify(path)}"`);
6
- }
7
- }
@@ -1,4 +0,0 @@
1
- export declare function stripSuffix(name: string, suffix: string): string;
2
- export declare function lastPathSegment(path: string, isSep: (char: number) => boolean, start?: number): string;
3
- export declare function assertArgs(path: string, suffix: string): string | undefined;
4
- //# sourceMappingURL=basename.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basename.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/_common/basename.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAchE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAChC,KAAK,SAAI,GACR,MAAM,CAiBR;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAQtD"}
@@ -1,40 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { assertPath } from "./assert_path.js";
4
- export function stripSuffix(name, suffix) {
5
- if (suffix.length >= name.length) {
6
- return name;
7
- }
8
- const lenDiff = name.length - suffix.length;
9
- for (let i = suffix.length - 1; i >= 0; --i) {
10
- if (name.charCodeAt(lenDiff + i) !== suffix.charCodeAt(i)) {
11
- return name;
12
- }
13
- }
14
- return name.slice(0, -suffix.length);
15
- }
16
- export function lastPathSegment(path, isSep, start = 0) {
17
- let matchedNonSeparator = false;
18
- let end = path.length;
19
- for (let i = path.length - 1; i >= start; --i) {
20
- if (isSep(path.charCodeAt(i))) {
21
- if (matchedNonSeparator) {
22
- start = i + 1;
23
- break;
24
- }
25
- }
26
- else if (!matchedNonSeparator) {
27
- matchedNonSeparator = true;
28
- end = i + 1;
29
- }
30
- }
31
- return path.slice(start, end);
32
- }
33
- export function assertArgs(path, suffix) {
34
- assertPath(path);
35
- if (path.length === 0)
36
- return path;
37
- if (typeof suffix !== "string") {
38
- throw new TypeError(`Suffix must be a string, received "${JSON.stringify(suffix)}"`);
39
- }
40
- }
@@ -1,2 +0,0 @@
1
- export declare function common(paths: string[], sep: string): string;
2
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/_common/common.ts"],"names":[],"mappings":"AAGA,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAsB3D"}
@@ -1,23 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- export function common(paths, sep) {
4
- const [first = "", ...remaining] = paths;
5
- const parts = first.split(sep);
6
- let endOfPrefix = parts.length;
7
- let append = "";
8
- for (const path of remaining) {
9
- const compare = path.split(sep);
10
- if (compare.length <= endOfPrefix) {
11
- endOfPrefix = compare.length;
12
- append = "";
13
- }
14
- for (let i = 0; i < endOfPrefix; i++) {
15
- if (compare[i] !== parts[i]) {
16
- endOfPrefix = i;
17
- append = i === 0 ? "" : sep;
18
- break;
19
- }
20
- }
21
- }
22
- return parts.slice(0, endOfPrefix).join(sep) + append;
23
- }
@@ -1,40 +0,0 @@
1
- export declare const CHAR_UPPERCASE_A = 65;
2
- export declare const CHAR_LOWERCASE_A = 97;
3
- export declare const CHAR_UPPERCASE_Z = 90;
4
- export declare const CHAR_LOWERCASE_Z = 122;
5
- export declare const CHAR_DOT = 46;
6
- export declare const CHAR_FORWARD_SLASH = 47;
7
- export declare const CHAR_BACKWARD_SLASH = 92;
8
- export declare const CHAR_VERTICAL_LINE = 124;
9
- export declare const CHAR_COLON = 58;
10
- export declare const CHAR_QUESTION_MARK = 63;
11
- export declare const CHAR_UNDERSCORE = 95;
12
- export declare const CHAR_LINE_FEED = 10;
13
- export declare const CHAR_CARRIAGE_RETURN = 13;
14
- export declare const CHAR_TAB = 9;
15
- export declare const CHAR_FORM_FEED = 12;
16
- export declare const CHAR_EXCLAMATION_MARK = 33;
17
- export declare const CHAR_HASH = 35;
18
- export declare const CHAR_SPACE = 32;
19
- export declare const CHAR_NO_BREAK_SPACE = 160;
20
- export declare const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279;
21
- export declare const CHAR_LEFT_SQUARE_BRACKET = 91;
22
- export declare const CHAR_RIGHT_SQUARE_BRACKET = 93;
23
- export declare const CHAR_LEFT_ANGLE_BRACKET = 60;
24
- export declare const CHAR_RIGHT_ANGLE_BRACKET = 62;
25
- export declare const CHAR_LEFT_CURLY_BRACKET = 123;
26
- export declare const CHAR_RIGHT_CURLY_BRACKET = 125;
27
- export declare const CHAR_HYPHEN_MINUS = 45;
28
- export declare const CHAR_PLUS = 43;
29
- export declare const CHAR_DOUBLE_QUOTE = 34;
30
- export declare const CHAR_SINGLE_QUOTE = 39;
31
- export declare const CHAR_PERCENT = 37;
32
- export declare const CHAR_SEMICOLON = 59;
33
- export declare const CHAR_CIRCUMFLEX_ACCENT = 94;
34
- export declare const CHAR_GRAVE_ACCENT = 96;
35
- export declare const CHAR_AT = 64;
36
- export declare const CHAR_AMPERSAND = 38;
37
- export declare const CHAR_EQUAL = 61;
38
- export declare const CHAR_0 = 48;
39
- export declare const CHAR_9 = 57;
40
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/_common/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAGpC,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AACnD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,OAAO,KAAK,CAAC;AAC1B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,UAAU,KAAK,CAAC;AAG7B,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB,eAAO,MAAM,MAAM,KAAK,CAAC"}