staticalize 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/README.md +43 -0
  2. package/esm/_dnt.polyfills.d.ts +117 -0
  3. package/esm/_dnt.polyfills.d.ts.map +1 -0
  4. package/esm/_dnt.polyfills.js +144 -0
  5. package/esm/_dnt.polyfills.js.map +1 -0
  6. package/esm/_dnt.shims.d.ts +6 -0
  7. package/esm/_dnt.shims.d.ts.map +1 -0
  8. package/esm/_dnt.shims.js +62 -0
  9. package/esm/_dnt.shims.js.map +1 -0
  10. package/esm/config.d.ts +6 -0
  11. package/esm/config.d.ts.map +1 -0
  12. package/esm/config.js +25 -0
  13. package/esm/config.js.map +1 -0
  14. package/esm/deno.d.ts +45 -0
  15. package/esm/deno.d.ts.map +1 -0
  16. package/esm/deno.js +43 -0
  17. package/esm/deno.js.map +1 -0
  18. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.d.ts +48 -0
  19. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.js +2 -0
  21. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.js.map +1 -0
  22. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.d.ts +127 -0
  23. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.js +383 -0
  25. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.js.map +1 -0
  26. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.d.ts +93 -0
  27. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.js +262 -0
  29. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.js.map +1 -0
  30. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.d.ts +37 -0
  31. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js +90 -0
  33. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js.map +1 -0
  34. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
  35. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +19 -0
  37. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js.map +1 -0
  38. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
  39. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +103 -0
  41. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js.map +1 -0
  42. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts +2 -0
  43. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js +13 -0
  45. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js.map +1 -0
  46. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts +3 -0
  47. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js +6 -0
  49. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js.map +1 -0
  50. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts +2 -0
  51. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts.map +1 -0
  52. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.js +8 -0
  53. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.js.map +1 -0
  54. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts +4 -0
  55. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts.map +1 -0
  56. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.js +41 -0
  57. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.js.map +1 -0
  58. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts +2 -0
  59. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.js +24 -0
  61. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.js.map +1 -0
  62. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts +40 -0
  63. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts.map +1 -0
  64. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.js +47 -0
  65. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.js.map +1 -0
  66. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts +2 -0
  67. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts.map +1 -0
  68. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.js +9 -0
  69. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.js.map +1 -0
  70. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts +4 -0
  71. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.js +20 -0
  73. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.js.map +1 -0
  74. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts +2 -0
  75. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts.map +1 -0
  76. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.js +10 -0
  77. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.js.map +1 -0
  78. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts +35 -0
  79. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts.map +1 -0
  80. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.js +236 -0
  81. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.js.map +1 -0
  82. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts +2 -0
  83. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.js +9 -0
  85. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.js.map +1 -0
  86. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts +2 -0
  87. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts.map +1 -0
  88. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.js +78 -0
  89. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.js.map +1 -0
  90. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts +2 -0
  91. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts.map +1 -0
  92. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.js +10 -0
  93. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.js.map +1 -0
  94. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts +2 -0
  95. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.js +20 -0
  97. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.js.map +1 -0
  98. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts +2 -0
  99. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts.map +1 -0
  100. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.js +16 -0
  101. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.js.map +1 -0
  102. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts +27 -0
  103. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts.map +1 -0
  104. package/esm/deps/jsr.io/@std/path/1.1.4/basename.js +36 -0
  105. package/esm/deps/jsr.io/@std/path/1.1.4/basename.js.map +1 -0
  106. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts +28 -0
  107. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts.map +1 -0
  108. package/esm/deps/jsr.io/@std/path/1.1.4/common.js +34 -0
  109. package/esm/deps/jsr.io/@std/path/1.1.4/common.js.map +1 -0
  110. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +15 -0
  111. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts.map +1 -0
  112. package/esm/deps/jsr.io/@std/path/1.1.4/constants.js +18 -0
  113. package/esm/deps/jsr.io/@std/path/1.1.4/constants.js.map +1 -0
  114. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts +22 -0
  115. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts.map +1 -0
  116. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js +29 -0
  117. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js.map +1 -0
  118. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts +22 -0
  119. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@std/path/1.1.4/extname.js +29 -0
  121. package/esm/deps/jsr.io/@std/path/1.1.4/extname.js.map +1 -0
  122. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts +22 -0
  123. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts.map +1 -0
  124. package/esm/deps/jsr.io/@std/path/1.1.4/format.js +28 -0
  125. package/esm/deps/jsr.io/@std/path/1.1.4/format.js.map +1 -0
  126. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts +22 -0
  127. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts.map +1 -0
  128. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js +29 -0
  129. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js.map +1 -0
  130. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts +77 -0
  131. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts.map +1 -0
  132. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +84 -0
  133. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js.map +1 -0
  134. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts +22 -0
  135. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts.map +1 -0
  136. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js +29 -0
  137. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js.map +1 -0
  138. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts +17 -0
  139. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts.map +1 -0
  140. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.js +43 -0
  141. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.js.map +1 -0
  142. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts +23 -0
  143. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts.map +1 -0
  144. package/esm/deps/jsr.io/@std/path/1.1.4/join.js +30 -0
  145. package/esm/deps/jsr.io/@std/path/1.1.4/join.js.map +1 -0
  146. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts +28 -0
  147. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts.map +1 -0
  148. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js +35 -0
  149. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js.map +1 -0
  150. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts +213 -0
  151. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts.map +1 -0
  152. package/esm/deps/jsr.io/@std/path/1.1.4/mod.js +217 -0
  153. package/esm/deps/jsr.io/@std/path/1.1.4/mod.js.map +1 -0
  154. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts +26 -0
  155. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts.map +1 -0
  156. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js +33 -0
  157. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js.map +1 -0
  158. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts +29 -0
  159. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts.map +1 -0
  160. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +36 -0
  161. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js.map +1 -0
  162. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts +35 -0
  163. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts.map +1 -0
  164. package/esm/deps/jsr.io/@std/path/1.1.4/parse.js +40 -0
  165. package/esm/deps/jsr.io/@std/path/1.1.4/parse.js.map +1 -0
  166. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts +2 -0
  167. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts.map +1 -0
  168. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.js +9 -0
  169. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.js.map +1 -0
  170. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts +39 -0
  171. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts.map +1 -0
  172. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.js +53 -0
  173. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.js.map +1 -0
  174. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts +13 -0
  175. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts.map +1 -0
  176. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.js +15 -0
  177. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.js.map +1 -0
  178. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts +30 -0
  179. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts.map +1 -0
  180. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.js +65 -0
  181. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.js.map +1 -0
  182. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts +37 -0
  183. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts.map +1 -0
  184. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.js +94 -0
  185. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.js.map +1 -0
  186. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts +24 -0
  187. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts.map +1 -0
  188. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.js +29 -0
  189. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.js.map +1 -0
  190. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts +16 -0
  191. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts.map +1 -0
  192. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.js +22 -0
  193. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.js.map +1 -0
  194. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts +72 -0
  195. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts.map +1 -0
  196. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.js +83 -0
  197. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.js.map +1 -0
  198. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts +17 -0
  199. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts.map +1 -0
  200. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.js +24 -0
  201. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.js.map +1 -0
  202. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts +31 -0
  203. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts.map +1 -0
  204. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.js +46 -0
  205. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.js.map +1 -0
  206. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts +20 -0
  207. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts.map +1 -0
  208. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.js +41 -0
  209. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.js.map +1 -0
  210. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts +37 -0
  211. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts.map +1 -0
  212. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.js +59 -0
  213. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.js.map +1 -0
  214. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts +20 -0
  215. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts.map +1 -0
  216. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.js +33 -0
  217. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.js.map +1 -0
  218. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts +25 -0
  219. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts.map +1 -0
  220. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.js +116 -0
  221. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.js.map +1 -0
  222. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts +20 -0
  223. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts.map +1 -0
  224. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.js +107 -0
  225. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.js.map +1 -0
  226. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts +17 -0
  227. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts.map +1 -0
  228. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.js +60 -0
  229. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.js.map +1 -0
  230. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts +17 -0
  231. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts.map +1 -0
  232. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.js +28 -0
  233. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.js.map +1 -0
  234. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts +16 -0
  235. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts.map +1 -0
  236. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.js +21 -0
  237. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.js.map +1 -0
  238. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts +24 -0
  239. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts.map +1 -0
  240. package/esm/deps/jsr.io/@std/path/1.1.4/relative.js +31 -0
  241. package/esm/deps/jsr.io/@std/path/1.1.4/relative.js.map +1 -0
  242. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts +22 -0
  243. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts.map +1 -0
  244. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js +31 -0
  245. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js.map +1 -0
  246. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts +22 -0
  247. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts.map +1 -0
  248. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js +29 -0
  249. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js.map +1 -0
  250. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts +21 -0
  251. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts.map +1 -0
  252. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +30 -0
  253. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js.map +1 -0
  254. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts +38 -0
  255. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts.map +1 -0
  256. package/esm/deps/jsr.io/@std/path/1.1.4/types.js +4 -0
  257. package/esm/deps/jsr.io/@std/path/1.1.4/types.js.map +1 -0
  258. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts +4 -0
  259. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts.map +1 -0
  260. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.js +16 -0
  261. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.js.map +1 -0
  262. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts +22 -0
  263. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts.map +1 -0
  264. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.js +48 -0
  265. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.js.map +1 -0
  266. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts +13 -0
  267. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts.map +1 -0
  268. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.js +15 -0
  269. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.js.map +1 -0
  270. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts +17 -0
  271. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts.map +1 -0
  272. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.js +114 -0
  273. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.js.map +1 -0
  274. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts +17 -0
  275. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts.map +1 -0
  276. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.js +83 -0
  277. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.js.map +1 -0
  278. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts +24 -0
  279. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts.map +1 -0
  280. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.js +29 -0
  281. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.js.map +1 -0
  282. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts +18 -0
  283. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts.map +1 -0
  284. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.js +31 -0
  285. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.js.map +1 -0
  286. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts +71 -0
  287. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts.map +1 -0
  288. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.js +83 -0
  289. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.js.map +1 -0
  290. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts +17 -0
  291. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts.map +1 -0
  292. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.js +39 -0
  293. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.js.map +1 -0
  294. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts +18 -0
  295. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts.map +1 -0
  296. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.js +78 -0
  297. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.js.map +1 -0
  298. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts +21 -0
  299. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts.map +1 -0
  300. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.js +42 -0
  301. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.js.map +1 -0
  302. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts +19 -0
  303. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts.map +1 -0
  304. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.js +136 -0
  305. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.js.map +1 -0
  306. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts +20 -0
  307. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts.map +1 -0
  308. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.js +33 -0
  309. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.js.map +1 -0
  310. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts +25 -0
  311. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts.map +1 -0
  312. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.js +177 -0
  313. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.js.map +1 -0
  314. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts +23 -0
  315. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts.map +1 -0
  316. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.js +132 -0
  317. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.js.map +1 -0
  318. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts +17 -0
  319. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts.map +1 -0
  320. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.js +155 -0
  321. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.js.map +1 -0
  322. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts +17 -0
  323. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts.map +1 -0
  324. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.js +35 -0
  325. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.js.map +1 -0
  326. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts +17 -0
  327. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts.map +1 -0
  328. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.js +50 -0
  329. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.js.map +1 -0
  330. package/esm/main.d.ts +3 -0
  331. package/esm/main.d.ts.map +1 -0
  332. package/esm/main.js +35 -0
  333. package/esm/main.js.map +1 -0
  334. package/esm/mod.d.ts +3 -0
  335. package/esm/mod.d.ts.map +1 -0
  336. package/esm/mod.js +3 -0
  337. package/esm/mod.js.map +1 -0
  338. package/esm/package.json +3 -0
  339. package/esm/staticalize.d.ts +11 -0
  340. package/esm/staticalize.d.ts.map +1 -0
  341. package/esm/staticalize.js +144 -0
  342. package/esm/staticalize.js.map +1 -0
  343. package/esm/task-buffer.d.ts +6 -0
  344. package/esm/task-buffer.d.ts.map +1 -0
  345. package/esm/task-buffer.js +59 -0
  346. package/esm/task-buffer.js.map +1 -0
  347. package/package.json +41 -0
  348. package/src/_dnt.polyfills.ts +283 -0
  349. package/src/_dnt.shims.ts +64 -0
  350. package/src/config.ts +28 -0
  351. package/src/deno.js +42 -0
  352. package/src/deps/jsr.io/@libs/xml/6.0.8/_types.ts +46 -0
  353. package/src/deps/jsr.io/@libs/xml/6.0.8/parse.ts +443 -0
  354. package/src/deps/jsr.io/@libs/xml/6.0.8/stringify.ts +308 -0
  355. package/src/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js +2 -0
  356. package/src/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.ts +25 -0
  357. package/src/deps/jsr.io/@std/fs/1.0.22/ensure_dir.ts +110 -0
  358. package/src/deps/jsr.io/@std/internal/1.0.12/_os.ts +15 -0
  359. package/src/deps/jsr.io/@std/internal/1.0.12/os.ts +7 -0
  360. package/src/deps/jsr.io/@std/path/1.1.4/_common/assert_path.ts +10 -0
  361. package/src/deps/jsr.io/@std/path/1.1.4/_common/basename.ts +53 -0
  362. package/src/deps/jsr.io/@std/path/1.1.4/_common/common.ts +26 -0
  363. package/src/deps/jsr.io/@std/path/1.1.4/_common/constants.ts +49 -0
  364. package/src/deps/jsr.io/@std/path/1.1.4/_common/dirname.ts +9 -0
  365. package/src/deps/jsr.io/@std/path/1.1.4/_common/format.ts +25 -0
  366. package/src/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.ts +12 -0
  367. package/src/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.ts +295 -0
  368. package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize.ts +9 -0
  369. package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.ts +74 -0
  370. package/src/deps/jsr.io/@std/path/1.1.4/_common/relative.ts +10 -0
  371. package/src/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.ts +25 -0
  372. package/src/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.ts +17 -0
  373. package/src/deps/jsr.io/@std/path/1.1.4/basename.ts +37 -0
  374. package/src/deps/jsr.io/@std/path/1.1.4/common.ts +35 -0
  375. package/src/deps/jsr.io/@std/path/1.1.4/constants.ts +18 -0
  376. package/src/deps/jsr.io/@std/path/1.1.4/dirname.ts +30 -0
  377. package/src/deps/jsr.io/@std/path/1.1.4/extname.ts +29 -0
  378. package/src/deps/jsr.io/@std/path/1.1.4/format.ts +30 -0
  379. package/src/deps/jsr.io/@std/path/1.1.4/from_file_url.ts +30 -0
  380. package/src/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.ts +94 -0
  381. package/src/deps/jsr.io/@std/path/1.1.4/is_absolute.ts +30 -0
  382. package/src/deps/jsr.io/@std/path/1.1.4/is_glob.ts +49 -0
  383. package/src/deps/jsr.io/@std/path/1.1.4/join.ts +31 -0
  384. package/src/deps/jsr.io/@std/path/1.1.4/join_globs.ts +42 -0
  385. package/src/deps/jsr.io/@std/path/1.1.4/mod.ts +217 -0
  386. package/src/deps/jsr.io/@std/path/1.1.4/normalize.ts +33 -0
  387. package/src/deps/jsr.io/@std/path/1.1.4/normalize_glob.ts +45 -0
  388. package/src/deps/jsr.io/@std/path/1.1.4/parse.ts +44 -0
  389. package/src/deps/jsr.io/@std/path/1.1.4/posix/_util.ts +10 -0
  390. package/src/deps/jsr.io/@std/path/1.1.4/posix/basename.ts +62 -0
  391. package/src/deps/jsr.io/@std/path/1.1.4/posix/constants.ts +15 -0
  392. package/src/deps/jsr.io/@std/path/1.1.4/posix/dirname.ts +72 -0
  393. package/src/deps/jsr.io/@std/path/1.1.4/posix/extname.ts +96 -0
  394. package/src/deps/jsr.io/@std/path/1.1.4/posix/format.ts +31 -0
  395. package/src/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.ts +25 -0
  396. package/src/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.ts +94 -0
  397. package/src/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.ts +25 -0
  398. package/src/deps/jsr.io/@std/path/1.1.4/posix/join.ts +46 -0
  399. package/src/deps/jsr.io/@std/path/1.1.4/posix/join_globs.ts +45 -0
  400. package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize.ts +63 -0
  401. package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.ts +43 -0
  402. package/src/deps/jsr.io/@std/path/1.1.4/posix/parse.ts +121 -0
  403. package/src/deps/jsr.io/@std/path/1.1.4/posix/relative.ts +103 -0
  404. package/src/deps/jsr.io/@std/path/1.1.4/posix/resolve.ts +71 -0
  405. package/src/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.ts +32 -0
  406. package/src/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.ts +21 -0
  407. package/src/deps/jsr.io/@std/path/1.1.4/relative.ts +32 -0
  408. package/src/deps/jsr.io/@std/path/1.1.4/resolve.ts +32 -0
  409. package/src/deps/jsr.io/@std/path/1.1.4/to_file_url.ts +30 -0
  410. package/src/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.ts +31 -0
  411. package/src/deps/jsr.io/@std/path/1.1.4/types.ts +40 -0
  412. package/src/deps/jsr.io/@std/path/1.1.4/windows/_util.ts +28 -0
  413. package/src/deps/jsr.io/@std/path/1.1.4/windows/basename.ts +54 -0
  414. package/src/deps/jsr.io/@std/path/1.1.4/windows/constants.ts +15 -0
  415. package/src/deps/jsr.io/@std/path/1.1.4/windows/dirname.ts +118 -0
  416. package/src/deps/jsr.io/@std/path/1.1.4/windows/extname.ts +90 -0
  417. package/src/deps/jsr.io/@std/path/1.1.4/windows/format.ts +31 -0
  418. package/src/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.ts +34 -0
  419. package/src/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.ts +92 -0
  420. package/src/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.ts +40 -0
  421. package/src/deps/jsr.io/@std/path/1.1.4/windows/join.ts +78 -0
  422. package/src/deps/jsr.io/@std/path/1.1.4/windows/join_globs.ts +46 -0
  423. package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize.ts +136 -0
  424. package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.ts +43 -0
  425. package/src/deps/jsr.io/@std/path/1.1.4/windows/parse.ts +184 -0
  426. package/src/deps/jsr.io/@std/path/1.1.4/windows/relative.ts +128 -0
  427. package/src/deps/jsr.io/@std/path/1.1.4/windows/resolve.ts +178 -0
  428. package/src/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.ts +38 -0
  429. package/src/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.ts +60 -0
  430. package/src/main.ts +37 -0
  431. package/src/mod.ts +2 -0
  432. package/src/staticalize.ts +216 -0
  433. package/src/task-buffer.ts +87 -0
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Stringify an XML document object into a XML string.
3
+ * @module
4
+ */
5
+
6
+ // Imports
7
+ import type { Nullable, stringifyable, xml_document, xml_node, xml_text } from "./_types.js"
8
+ export type { Nullable, stringifyable, xml_document, xml_node, xml_text }
9
+
10
+ /** XML stringifier options. */
11
+ export type options = {
12
+ /** Format options. */
13
+ format?: {
14
+ /**
15
+ * Indent string (defaults to `" "`).
16
+ * Set to empty string to disable indentation and enable minification.
17
+ */
18
+ indent?: string
19
+ /** Break text node if its length is greater than this value (defaults to `128`). */
20
+ breakline?: number
21
+ }
22
+ /** Replace options. */
23
+ replace?: {
24
+ /**
25
+ * Force escape all XML entities.
26
+ * By default, only the ones that would break the XML structure are escaped.
27
+ */
28
+ entities?: boolean
29
+ /**
30
+ * Custom replacer (this is applied after other revivals).
31
+ * When it is applied on an attribute, `key` and `value` will be given.
32
+ * When it is applied on a node, both `key` and `value` will be `null`.
33
+ * Return `undefined` to delete either the attribute or the tag.
34
+ */
35
+ custom?: (args: { name: string; key: Nullable<string>; value: Nullable<string>; node: Readonly<xml_node> }) => unknown
36
+ }
37
+ }
38
+
39
+ /** XML stringifier options (with non-nullable format options). */
40
+ type _options = options & { format: NonNullable<options["format"]> }
41
+
42
+ /** Internal symbol to store properties without erasing user-provided ones. */
43
+ const internal = Symbol("internal")
44
+
45
+ /**
46
+ * Stringify an {@link xml_document} object into a XML string.
47
+ *
48
+ * Output can be customized using the {@link options} parameter.
49
+ *
50
+ * ```ts
51
+ * import { stringify } from "./stringify.ts"
52
+ *
53
+ * console.log(stringify({
54
+ * "@version": "1.0",
55
+ * "@standalone": "yes",
56
+ * root: {
57
+ * text: "hello",
58
+ * array: ["world", "monde", "世界", "🌏"],
59
+ * number: 42,
60
+ * boolean: true,
61
+ * complex: {
62
+ * "@attribute": "value",
63
+ * "#text": "content",
64
+ * },
65
+ * }
66
+ * }))
67
+ * ```
68
+ */
69
+ export function stringify(document: stringifyable, options?: options): string {
70
+ options ??= {}
71
+ options.format ??= {}
72
+ options.format.indent ??= " "
73
+ options.format.breakline ??= 128
74
+ const _options = options as _options
75
+ let text = ""
76
+ document = clone(document)
77
+ // Add prolog
78
+ text += xml_prolog(document as xml_document, _options)
79
+ // Add processing instructions
80
+ if (document["#instructions"]) {
81
+ for (const [name, nodes] of Object.entries(document["#instructions"])) {
82
+ for (const node of [nodes].flat()) {
83
+ if (!("~name" in node)) {
84
+ Object.defineProperties(node, { ["~name"]: { enumerable: false, writable: false, value: name } })
85
+ }
86
+ text += xml_instruction(node, _options)
87
+ }
88
+ }
89
+ }
90
+ // Add doctype
91
+ if (document["#doctype"]) {
92
+ text += xml_doctype(document["#doctype"] as xml_node, _options)
93
+ }
94
+
95
+ // Add root node
96
+ const [root, ...garbage] = xml_children(document as xml_document, _options)
97
+ if (!root) {
98
+ throw new SyntaxError("No root node detected")
99
+ }
100
+ if (garbage.length) {
101
+ throw new SyntaxError("Multiple root node detected")
102
+ }
103
+ text += xml_node(root, { ..._options, depth: 0 })
104
+
105
+ return text.trim()
106
+ }
107
+
108
+ /**
109
+ * Clone the provided user document so it {@linkcode stringify} can edit it in-place without affecting user.
110
+ *
111
+ * It copies all enumerable properties along non-enumerable one supported by `parse`
112
+ */
113
+ function clone(document: Record<PropertyKey, unknown>) {
114
+ const cloned = (Array.isArray(document) ? [] : {}) as typeof document
115
+ for (const property in document) {
116
+ cloned[property] = ((document[property] !== null) && (["object", "function"].includes(typeof document[property]))) ? clone(document[property] as Record<PropertyKey, unknown>) : document[property]
117
+ }
118
+ ;["~name", "~parent", "#text", "~children", "#comments", "#text", "#doctype", "#instructions", internal].forEach((property) => {
119
+ if (property in document) {
120
+ Object.defineProperty(cloned, property, Object.getOwnPropertyDescriptor(document, property)!)
121
+ }
122
+ })
123
+ return cloned
124
+ }
125
+
126
+ /**
127
+ * Helper to create a CDATA node.
128
+ *
129
+ * ```ts
130
+ * import { stringify, cdata } from "./stringify.ts"
131
+ * stringify({ string: cdata(`hello <world>`) })
132
+ * // <string><![CDATA[hello <world>]]></string>
133
+ * ```
134
+ */
135
+ export function cdata(text: string): Omit<xml_text, "~parent"> {
136
+ return {
137
+ "~name": "~cdata",
138
+ "#text": text,
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Helper to create a comment node.
144
+ *
145
+ * ```ts
146
+ * import { stringify, comment } from "./stringify.ts"
147
+ * stringify({ string: comment(`hello world`) })
148
+ * // <string><!--hello world--></string>
149
+ * ```
150
+ */
151
+ export function comment(text: string): Omit<xml_text, "~parent"> {
152
+ return {
153
+ "~name": "~comment",
154
+ "#text": text,
155
+ }
156
+ }
157
+
158
+ /** Create XML prolog. */
159
+ function xml_prolog(document: xml_document, options: _options): string {
160
+ ;(document as Record<PropertyKey, unknown>)["~name"] ??= "xml"
161
+ return xml_instruction(document, options)
162
+ }
163
+
164
+ /** Create XML instruction. */
165
+ function xml_instruction(node: xml_node, { format: { indent } }: _options): string {
166
+ let text = ""
167
+ const attributes = xml_attributes(node as xml_node, arguments[1])
168
+ if (attributes.length) {
169
+ text += `<?${node["~name"].replace(/^~/, "")}`
170
+ for (const [name, value] of attributes) {
171
+ text += ` ${name}="${value}"`
172
+ }
173
+ text += `?>${indent ? "\n" : ""}`
174
+ }
175
+ return text
176
+ }
177
+
178
+ /** Create XML doctype. */
179
+ function xml_doctype(node: xml_node, { format: { indent } }: _options): string {
180
+ let text = ""
181
+ const attributes = xml_attributes(node, arguments[1])
182
+ const elements = xml_children(node, arguments[1])
183
+ if (attributes.length + elements.length) {
184
+ text += `<!DOCTYPE`
185
+ for (const [name] of attributes) {
186
+ text += ` ${!/^[A-Za-z0-9_]+$/.test(name) ? `"${name}"` : name}`
187
+ }
188
+ if (elements.length) {
189
+ text += `${indent ? `\n${indent}` : " "}[${indent ? "\n" : ""}`
190
+ for (const element of elements) {
191
+ text += `${indent}<!ELEMENT ${element["~name"]} (${element["#text"]})>${indent ? "\n" : ""}`
192
+ }
193
+ text += `${indent ? indent : ""}]${indent ? "\n" : ""}`
194
+ }
195
+ text += `>${indent ? "\n" : ""}`
196
+ }
197
+ return text
198
+ }
199
+
200
+ /** Create XML node. */
201
+ function xml_node(node: xml_node, { format: { breakline = 0, indent = "" }, replace, depth = 0 }: _options & { depth?: number }): string {
202
+ if (replace?.custom) {
203
+ if (replace.custom({ name: node["~name"], key: null, value: null, node }) === undefined) {
204
+ return ""
205
+ }
206
+ }
207
+ let text = `${indent.repeat(depth)}<${node["~name"]}`
208
+ const attributes = xml_attributes(node, arguments[1])
209
+ const children = xml_children(node, arguments[1])
210
+ const preserve = node["@xml:space"] === "preserve"
211
+ for (const [name, value] of attributes) {
212
+ text += ` ${name}="${value}"`
213
+ }
214
+ if ((children.length) || (("#text" in node) && (node["#text"].length))) {
215
+ const inline = indent && (!preserve) && ((children.length) || (node["#text"].length > breakline - indent.length * depth))
216
+ text += `>${indent && (!preserve) && (children.length) ? "\n" : ""}`
217
+ if ("#text" in node) {
218
+ if (inline) {
219
+ text += `\n${indent.repeat(depth + 1)}`
220
+ }
221
+ text += node["#text"]
222
+ if (inline) {
223
+ text += "\n"
224
+ }
225
+ }
226
+ for (const child of children) {
227
+ text += xml_node(child, { ...arguments[1], depth: depth + 1 })
228
+ }
229
+ if (inline) {
230
+ text += indent.repeat(depth)
231
+ }
232
+ text += `</${node["~name"]}>${indent ? "\n" : ""}`
233
+ } else {
234
+ text += `/>${indent ? "\n" : ""}`
235
+ }
236
+ return text
237
+ }
238
+
239
+ /** Extract children from node. */
240
+ function xml_children(node: xml_node, options: options): Array<xml_node> {
241
+ const children = Object.keys(node)
242
+ .filter((key) => /^[A-Za-z_]/.test(key))
243
+ .flatMap((key) =>
244
+ [node![key]].flat().map((value) => {
245
+ switch (true) {
246
+ case value === null:
247
+ return ({ ["~name"]: key, ["#text"]: "" })
248
+ case typeof value === "object": {
249
+ const child = { ...value as Record<PropertyKey, unknown>, ["~name"]: key } as Record<PropertyKey, unknown>
250
+ if (((value as Record<PropertyKey, unknown>)["~name"] as string)?.startsWith("~")) {
251
+ child[internal] = (value as Record<PropertyKey, unknown>)["~name"]
252
+ }
253
+ return child
254
+ }
255
+ default:
256
+ return ({ ["~name"]: key, ["#text"]: `${value}` })
257
+ }
258
+ })
259
+ )
260
+ .map((node) => {
261
+ if ("#text" in node) {
262
+ const cdata = node[internal] === "~cdata"
263
+ const comment = node[internal] === "~comment"
264
+ node["#text"] = replace(node as xml_node, "#text", { ...options, escape: cdata ? [] : ["&", "<", ">"] }) as string
265
+ if (node["#text"] === undefined) {
266
+ delete node["#text"]
267
+ } else {
268
+ node["#text"] = cdata ? `<![CDATA[${node["#text"]}]]>` : comment ? `<!--${node["#text"]}-->` : `${node["#text"]}`
269
+ }
270
+ }
271
+ return node
272
+ }) as ReturnType<typeof xml_children>
273
+ return children
274
+ }
275
+
276
+ /** Extract attributes from node. */
277
+ function xml_attributes(node: xml_node, options: options): Array<[string, string]> {
278
+ return Object.entries(node!)
279
+ .filter(([key]) => key.startsWith("@"))
280
+ .map(([key]) => [key.slice(1), replace(node!, key, { ...options, escape: ["&", '"', "'"] })])
281
+ .filter(([_, value]) => value !== undefined) as ReturnType<typeof xml_attributes>
282
+ }
283
+
284
+ /** Entities */
285
+ const entities = {
286
+ "&": "&amp;", //Keep first
287
+ '"': "&quot;",
288
+ "<": "&lt;",
289
+ ">": "&gt;",
290
+ "'": "&apos;",
291
+ } as const
292
+
293
+ /** Replace value. */
294
+ function replace(node: xml_node | xml_text, key: string, options: options & { escape?: Array<keyof typeof entities> }) {
295
+ let value = `${(node as xml_node)[key]}` as string
296
+ if (options?.escape) {
297
+ if (options?.replace?.entities) {
298
+ options.escape = Object.keys(entities) as Array<keyof typeof entities>
299
+ }
300
+ for (const char of options?.escape) {
301
+ value = `${value}`.replaceAll(char, entities[char])
302
+ }
303
+ }
304
+ if (options?.replace?.custom) {
305
+ return options.replace.custom({ name: node["~name"], key, value, node: node as xml_node })
306
+ }
307
+ return value
308
+ }
@@ -0,0 +1,2 @@
1
+ // https://github.com/lowlighter/libs
2
+ var A,g=new Array(128).fill(void 0);function B(A){return g[A]}g.push(void 0,null,!0,!1);var I=g.length;function Q(A){I===g.length&&g.push(g.length+1);const B=I;return I=g[B],g[B]=A,B}function C(A){const Q=B(A);return function(A){A<132||(g[A]=I,I=A)}(A),Q}var E="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&E.decode();var D=null;function w(){return null!==D&&0!==D.byteLength||(D=new Uint8Array(A.memory.buffer)),D}function i(A,g){return A>>>=0,E.decode(w().subarray(A,A+g))}function o(A){return null==A}var N=null;var G=null;function F(){return null!==G&&0!==G.byteLength||(G=new Int32Array(A.memory.buffer)),G}function M(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let B="[";g>0&&(B+=M(A[0]));for(let I=1;I<g;I++)B+=", "+M(A[I]);return B+="]",B}const B=/\[object ([^\]]+)\]/.exec(toString.call(A));let I;if(!(B.length>1))return toString.call(A);if(I=B[1],"Object"==I)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:I}var y=0,R="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},c="function"==typeof R.encodeInto?function(A,g){return R.encodeInto(A,g)}:function(A,g){const B=R.encode(A);return g.set(B),{read:A.length,written:B.length}};function s(g,B,I,C){!function(A,g){if(!(A instanceof g))throw new Error(`expected instance of ${g.name}`);A.ptr}(g,J);var E=g.__destroy_into_raw();A.tokenize(E,Q(B),Q(I),o(C)?16777215:C?1:0)}function Y(g,B){try{return g.apply(this,B)}catch(g){A.__wbindgen_exn_store(Q(g))}}var k=Object.freeze({Error:0,0:"Error",XMLDeclaration:1,1:"XMLDeclaration",XMLDoctype:2,2:"XMLDoctype",XMLInstruction:3,3:"XMLInstruction",TagOpen:4,4:"TagOpen",TagClose:5,5:"TagClose",TagAttribute:6,6:"TagAttribute",Text:7,7:"Text",CData:8,8:"CData",Comment:9,9:"Comment",StateParseAttribute:129,129:"StateParseAttribute"}),a="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((g=>A.__wbg_jsreader_free(g>>>0))),J=class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,a.unregister(this),A}free(){const g=this.__destroy_into_raw();A.__wbg_jsreader_free(g)}constructor(g,B){const I=A.jsreader_new(Q(g),o(B)?0:Q(B));return this.__wbg_ptr=I>>>0,this}};function U(){const g={wbg:{}};return g.wbg.__wbindgen_is_function=function(A){return"function"==typeof B(A)},g.wbg.__wbindgen_number_new=function(A){return Q(A)},g.wbg.__wbindgen_object_drop_ref=function(A){C(A)},g.wbg.__wbindgen_string_new=function(A,g){return Q(i(A,g))},g.wbg.__wbindgen_is_null=function(A){return null===B(A)},g.wbg.__wbindgen_number_get=function(g,I){const Q=B(I),C="number"==typeof Q?Q:void 0;(null!==N&&0!==N.byteLength||(N=new Float64Array(A.memory.buffer)),N)[g/8+1]=o(C)?0:C,F()[g/4+0]=!o(C)},g.wbg.__wbg_new_16b304a2cfa7ff4a=function(){return Q(new Array)},g.wbg.__wbg_get_e3c254076557e348=function(){return Y((function(A,g){return Q(Reflect.get(B(A),B(g)))}),arguments)},g.wbg.__wbg_pop_69878daf7f50184d=function(A){return Q(B(A).pop())},g.wbg.__wbg_push_a5b05aedc7234f9f=function(A,g){return B(A).push(B(g))},g.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Y((function(A,g,I){return Q(B(A).call(B(g),B(I)))}),arguments)},g.wbg.__wbg_length_c20a40f15020d68a=function(A){return B(A).length},g.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(A){return Q(new Uint8Array(A>>>0))},g.wbg.__wbg_getindex_03d06b4e7ea3475e=function(A,g){return B(A)[g>>>0]},g.wbg.__wbindgen_debug_string=function(g,I){const Q=function(A,g,B){if(void 0===B){const B=R.encode(A),I=g(B.length,1)>>>0;return w().subarray(I,I+B.length).set(B),y=B.length,I}let I=A.length,Q=g(I,1)>>>0;const C=w();let E=0;for(;E<I;E++){const g=A.charCodeAt(E);if(g>127)break;C[Q+E]=g}if(E!==I){0!==E&&(A=A.slice(E)),Q=B(Q,I,I=E+3*A.length,1)>>>0;const g=w().subarray(Q+E,Q+I);E+=c(A,g).written,Q=B(Q,I,E,1)>>>0}return y=E,Q}(M(B(I)),A.__wbindgen_malloc,A.__wbindgen_realloc),C=y;F()[g/4+1]=C,F()[g/4+0]=Q},g.wbg.__wbindgen_throw=function(A,g){throw new Error(i(A,g))},g}function L(g,B){return A=g.exports,S.__wbindgen_wasm_module=B,N=null,G=null,D=null,A}function h(g){if(void 0!==A)return A;const B=U();g instanceof WebAssembly.Module||(g=new WebAssembly.Module(g));return L(new WebAssembly.Instance(g,B),g)}async function S(g){if(void 0!==A)return A;void 0===g&&(g=new URL(`data:application/wasm;base64,${K("base64")}`,import.meta.url));const B=U();("string"==typeof g||"function"==typeof Request&&g instanceof Request||"function"==typeof URL&&g instanceof URL)&&(g=fetch(g));const{instance:I,module:Q}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const B=await A.arrayBuffer();return await WebAssembly.instantiate(B,g)}{const B=await WebAssembly.instantiate(A,g);return B instanceof WebAssembly.Instance?{instance:B,module:A}:B}}(await g,B);return L(I,Q)}var H=S;function K(A){const g="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EJABAAsgBkFAayAIQT4gAiABQRhqEBMgBi0AQEENRwRAIAZBIGogBkHYAGooAgA2AgAgBkEYaiAGQdAAaikCADcDACAGQRBqIAZByABqKQIANwMAIAYgBikCQDcDCAwDCyAGKAJEIgMEQCAGQQhqIQICQCAGKAJIIgRBAk0NACADIARqQQFrLQAAQT9HDQACQCAEQQVNDQAgAy8AASADQQNqLQAAQRB0ckH42rEDRw0AIAMtAARBCWsiBUEXS0EBIAV0QZOAgARxRXINACACQQM2AhQgAiADQQFqNgIMIAJChoCAgICAgICAfzcCBCACQQ06AAAgAiAEQQJrNgIQDAULIAJCh4CAgICAgICAfzcCBCACQQ06AAAgAiAEQQJrNgIQIAIgA0EBajYCDAwECyABIAEoAhggBGs2AhhB0czAAC0AABpBB0EBEIEBIgMEQCACQQc2AgwgAiADNgIIIAJBBzYCBCACQQI6AAAgA0EDakHzncAAKAAANgAAIANB8J3AACgAADYAAAwEC0EBQQdB0JvAABB4AAsgBkENOgAIIAZBCTYCDAwCCyAGQUBrIAhBPiACIAFBGGoQEyAGLQBAQQ1HBEAgBkEgaiAGQdgAaigCADYCACAGQRhqIAZB0ABqKQIANwMAIAZBEGogBkHIAGopAgA3AwAgBiAGKQJANwMIDAILIAYoAkQiCARAIAZBCGohByAGKAJIIQRBACEJIwBBMGsiBSQAAkAgBARAIARBAWsiAyECIAEtAB9FDQFBACECIARBAUYNASADIQICQANAIAIgCGotAABBCWsiC0EXS0EBIAt0QZOAgARxRXINASACQQFrIgINAAsgAyECDAILIAIgA00NASACIANBwJ3AABCNAQALQQFBAEHgncAAEIwBAAsgCEEBaiEIAkACQAJAAkACQAJAAkAgASgCFCILRQRAIAEtACBFDQYgASABKAIYIARrNgIYIAVBJGogCCADEBlBASEDAkAgBSgCJEEBRgRAIAUgBSkCKCIfPgIMIAVBAToACCAFIB9CIIg+AhAgBUEIahAtQQAhAgwBC0EAIQQgBSgCLCICQQBIDQIgBSgCKCEIIAIEQEHRzMAALQAAGkEBIQQgAkEBEIEBIgNFDQMLIAJFDQAgAyAIIAL8CgAACyAHIAI2AhggByADNgIUIAcgAjYCECAHQQA2Agwg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aiECAkACQCADQQFxDQAgA0ECcUUNASABKAIAIgMgAGohACABIANrIgFBsNDAACgCAEYEQCACKAIEQQNxQQNHDQFBqNDAACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADECgLAkACQAJAAkACQCACKAIEIgNBAnFFBEAgAkG00MAAKAIARg0CIAJBsNDAACgCAEYNAyACIANBeHEiAhAoIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQbDQwAAoAgBHDQFBqNDAACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEC5BACEBQcjQwABByNDAACgCAEEBayIANgIAIAANBEGQzsAAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQcjQwABB/x8gASABQf8fTRs2AgAPC0G00MAAIAE2AgBBrNDAAEGs0MAAKAIAIABqIgA2AgAgASAAQQFyNgIEQbDQwAAoAgAgAUYEQEGo0MAAQQA2AgBBsNDAAEEANgIACyAAQcDQwAAoAgAiA00NA0G00MAAKAIAIgJFDQNBACEAQazQwAAoAgAiBEEpSQ0CQYjOwAAhAQNAIAIgASgCACIFTwRAIAIgBSABKAIEakkNBAsgASgCCCEBDAALAAtBsNDAACABNgIAQajQwABBqNDAACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPCyAAQfgBcUGYzsAAaiECAn9BoNDAACgCACIDQQEgAEEDdnQiAHFFBEBBoNDAACAAIANyNgIAIAIMAQsgAigCCAshACACIAE2AgggACABNgIMIAEgAjYCDCABIAA2AggPC0GQzsAAKAIAIgEEQANAIABBAWohACABKAIIIgENAAsLQcjQwABB/x8gACAAQf8fTRs2AgAgAyAETw0AQcDQwABBfzYCAAsLggoCD38BfiMAQUBqIgMkACABQQE6ACICQAJAIAEtAB1FDQAgA0EkaiEMIwBBEGsiCyQAIAFBJGoiBkEUaiEOIAFBGGoiDygCACENAkACQANAAkAgBigCACEEAkACQAJAAkAgBigCCCIJIAYoAgwiB0kNACAGKAIEIgUgBigCECIHayIJBEAgBCAHakEAIAn8CwALIAtBCGogDiAEIAUQHQJ/IAstAAhBBEcEQCALKQMIIhJCIIinIQhBACEHIBKnDAELIAsoAgwiByAFSw0FIApBgH5xQQRyCyEKIAYgBTYCECAGIAc2AgxBACEJIAZBADYCCAJ/AkACQCAKQf8BcUEBaw4EAAEEAwULIApBCHYMAQsgCC0ACAtB/wFxQSNGDQUMAgsCQCAHIAlHBEAgByAJayEFIAQgCWohEEEAIQQCQANAIAQgEGotAABBCWsiEUEXS0EBIBF0QZOAgARxRXINASAFIARBAWoiBEcNAAsgBSEECyAEDQELIAxBDToAAAwHCyAPIAQgDWoiDTYCACAGIAcgBCAJaiIEIAQgB0sbNgIIDAQLIAgtAAhBI0YNAQtB0czAAC0AABpBEEEEEIEBIgRFDQMgBCAINgIMIAQgCjYCCCAEQoGAgIAQNwIAIAwgBDYCBCAMQQA6AAAMBAsgCCgCACEEIAhBBGooAgAiBSgCACIHBEAgBCAHEQMACyAFKAIEIgcEQCAEIAcgBSgCCBCKAQsgCEEMQQQQigEMAQsLQbSUwABBKUGwlcAAEF8AC0EEQRAQmwEACyALQRBqJAAgAy0AJEENRg0AIAAgAykCJDcCACAAQRhqIANBPGooAgA2AgAgAEEQaiADQTRqKQIANwIAIABBCGogA0EsaikCADcCAAwBCyADQSRqIAFBJGoiBRAiIAMtACUhBAJAAkAgAy0AJCIGQQ1GBEAgBEEBcQRAIAMtACZBPEYNAgsgA0EIaiAFQTwgAiABQRhqEBMgAy0ACEENRg0CIAAgAykCCDcCACAAQRhqIANBIGooAgA2AgAgAEEQaiADQRhqKQIANwIAIABBCGogA0EQaikCADcCAAwDCyAAIAMpACc3AAMgAEELaiADQS9qKQAANwAAIABBE2ogA0E3aikAADcAACAAQRtqIANBP2otAAA6AAAgAy0AJiEBIAAgBDoAASAAIAY6AAAgACABOgACDAILIAAgAjYCCCAAQQo2AgQgAEENOgAAIAEgASgCGEEBajYCGCABIAEoAjAiACABKAIsQQFqIgEgACABSRs2AiwMAQsgAygCDCIEBEAgA0EkaiEFIAMoAhAhAgJAAkACQCABLQAeRQ0AIAJFBEBBACECDAELIARBAWshBiACIQEDQCABIAZqLQAAQQlrIghBF0tBASAIdEGTgIAEcUVyRQRAIAFBAWsiAQ0BDAILCyABIAJLDQEgASECCyAFIAI2AhAgBSAENgIMIAVCg4CAgICAgICAfzcCBCAFQQ06AAAMAQsgASACQcicwAAQjQEACyADLQAkQQ1HBEAgACADKQIkNwIAIABBGGogA0E8aigCADYCACAAQRBqIANBNGopAgA3AgAgAEEIaiADQSxqKQIANwIADAILIAAgAykCKDcCBCAAQQ06AAAgAEEUaiADQThqKAIANgIAIABBDGogA0EwaikCADcCAAwBCyAAQQ06AAAgAEEJNgIECyADQUBrJAAL4QQBBn8CQAJAIAAoAggiB0GAgIDAAXFFDQACQAJAIAdBgICAgAFxRQRAIAJBEEkNASABIAIQFCEDDAILAkACQCAALwEOIgNFBEBBACECDAELIAEgAmohCEEAIQIgAyEFIAEhBANAIAQiBiAIRg0CAn8gBkEBaiAGLAAAIgRBAE4NABogBkECaiAEQWBJDQAaIAZBA2ogBEFwSQ0AGiAGQQRqCyIEIAZrIAJqIQIgBUEBayIFDQALC0EAIQULIAMgBWshAwwBCyACRQRAQQAhAgwBCyACQQNxIQYCQCACQQRJBEAMAQsgAkEMcSEIA0AgAyABIAVqIgQsAABBv39KaiAEQQFqLAAAQb9/SmogBEECaiwAAEG/f0pqIARBA2osAABBv39KaiEDIAggBUEEaiIFRw0ACwsgBkUNACABIAVqIQQDQCADIAQsAABBv39KaiEDIARBAWohBCAGQQFrIgYNAAsLIAMgAC8BDCIETw0AIAQgA2shBkEAIQNBACEFAkACQAJAIAdBHXZBA3FBAWsOAgABAgsgBiEFDAELIAZB/v8DcUEBdiEFCyAHQf///wBxIQggACgCBCEHIAAoAgAhAANAIANB//8DcSAFQf//A3FJBEBBASEEIANBAWohAyAAIAggBygCEBEAAEUNAQwDCwtBASEEIAAgASACIAcoAgwRAQANAUEAIQMgBiAFa0H//wNxIQEDQCADQf//A3EiAiABSSEEIAEgAk0NAiADQQFqIQMgACAIIAcoAhARAABFDQALDAELIAAoAgAgASACIAAoAgQoAgwRAQAhBAsgBAvlBQEFfyMAQTBrIgQkAAJAAkAgASgCAEEBRgRAIAQgAxAMNgIgIARBvInAAEEIEAM2AiggAUEEaiIFKAIAIARB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AkEUahBDIAIoAghBAUcNASACKAIQIQMgAigCDAUgAwsgAyABEHgACyACKAIMIQEgACAFNgIAIAAgATYCBCACQSBqJAALwQECA38BfiMAQTBrIgIkACABKAIAQYCAgIB4RgRAIAEoAgwhAyACQRRqIgRBADYCACACQoCAgIAQNwIMIAJBIGogAygCACIDQQhqKQIANwMAIAJBKGogA0EQaikCADcDACACIAMpAgA3AxggAkEMakHkn8AAIAJBGGoQHxogAkEIaiAEKAIAIgM2AgAgAiACKQIMIgU3AwAgAUEIaiADNgIAIAEgBTcCAAsgAEHUo8AANgIEIAAgATYCACACQTBqJAALxgEBAX8jAEEQayILJAAgACgCACABIAIgACgCBCgCDBEBACEBIAtBADoADSALIAE6AAwgCyAANgIIIAtBCGogAyAEIAUgBhAvIAcgCCAJIAoQLyEBIAstAA0iAiALLQAMIgNyIQACQCADQQFxIAJBAUdyDQAgASgCACIALQAKQYABcUUEQCAAKAIAQdu3wABBAiAAKAIEKAIMEQEAIQAMAQsgACgCAEHat8AAQQEgACgCBCgCDBEBACEACyALQRBqJAAgAEEBcQusAQEBfyMAQRBrIgYkAAJAIAEEQCAGQQRqIAEgAyAEIAUgAigCEBEHAAJAIAYoAgQiAiAGKAIMIgFNBEAgBigCCCEFDAELIAJBAnQhAiAGKAIIIQMgAUUEQEEEIQUgAyACQQQQigEMAQsgAyACQQQgAUECdCICEHsiBUUNAgsgACABNgIEIAAgBTYCACAGQRBqJAAPC0Ggl8AAQTIQlAEAC0EEIAJBkJfAABB4AAuYAQEEfyMAQSBrIgIkAEEIIAAoAgAiBEEBdCIDIANBCE0bIgNBAEgEQEEAQQAgARB4AAsgAiAEBH8gAiAENgIcIAIgACgCBDYCFEEBBSAFCzYCGCACQQhqQQEgAyACQRRqEEMgAigCCEEBRgRAIAIoAgwgAigCECABEHgACyACKAIMIQEgACADNgIAIAAgATYCBCACQSBqJAALpAEBAX8jAEFAaiICJAAgACgCACEAIAJCADcDOCACQThqIAAQDiACIAIoAjwiADYCNCACIAIoAjg2AjAgAiAANgIsIAIgAkEsaq1CgICAgPAEhDcDICACQQI2AgwgAkHcl8AANgIIIAJCATcC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AAAAbwQQAAoAAAAzAAAALQAAAEVycm9yIGF0IHBvc2l0aW9uIDogaAYQABIAAAB6BhAAAgAAAC9ydXN0Yy8xNzA2N2U5YWM2ZDdlY2I3MGU1MGY5MmMxOTQ0ZTU0NTE4OGQyMzU5L2xpYnJhcnkvYWxsb2Mvc3JjL3NsaWNlLnJzAACMBhAASgAAAL4BAAAdAAAA77u/L2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXVpY2steG1sLTAuMzEuMC9zcmMvcmVhZGVyL2J1ZmZlcmVkX3JlYWRlci5ycwDrBhAAcAAAAPwAAAAFAAAAQ0RhdGFDb21tZW50RE9DVFlQRS9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F1aWNrLXhtbC0wLjMxLjAvc3JjL3JlYWRlci9tb2QucnMAfwcQAGQAAABTAwAAHQAAAH8HEABkAAAAPwMAAB0AAAB/BxAAZAAAAGIDAAApAAAAfwcQAGQAAABkAwAAJQAAAGwHEABxBxAAeAcQAAUAAAAHAAAABwAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F1aWNrLXhtbC0wLjMxLjAvc3JjL3JlYWRlci9idWZmZXJlZF9yZWFkZXIucnM8CBAAcAAAAPwAAAAFAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXVpY2steG1sLTAuMzEuMC9zcmMvcmVhZGVyL21vZC5yc7wIEABkAAAAigMAACMAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdWljay14bWwtMC4zMS4wL3NyYy9yZWFkZXIvc3RhdGUucnMAADAJEABmAAAA+AAAADEAAAAwCRAAZgAAAPgAAAAOAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXVpY2steG1sLTAuMzEuMC9zcmMvZXZlbnRzL2F0dHJpYnV0ZXMucnMAuAkQAGsAAADqAAAAPQAAAGFzc2VydGlvbiBmYWlsZWQ6IGZpbGxlZCA8PSBzZWxmLmJ1Zi5pbml0L3J1c3RjLzE3MDY3ZTlhYzZkN2VjYjcwZTUwZjkyYzE5NDRlNTQ1MTg4ZDIzNTkvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnNdChAAUwAAAB0BAAAJAAAALi4vcnVzdGMvMTcwNjdlOWFjNmQ3ZWNiNzBlNTBmOTJjMTk0NGU1NDUxODhkMjM1OS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAAwgoQAFAAAAAuAgAAEQAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuOTIvc3JjL2NvbnZlcnQvc2xpY2VzLnJzACQLEABrAAAAGQEAABIAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZEpzVmFsdWUoKQDSCxAACAAAANoLEAABAAAAbnVsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdC9ydXN0Yy8xNzA2N2U5YWM2ZDdlY2I3MGU1MGY5MmMxOTQ0ZTU0NTE4OGQyMzU5L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAABWDBAAUAAAAC4CAAARAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXVpY2steG1sLTAuMzEuMC9zcmMvZXZlbnRzL2F0dHJpYnV0ZXMucnMAuAwQAGsAAAAiAgAALAAAALgMEABrAAAAMwIAACwAAAC4DBAAawAAAGgCAAAXAAAAuAwQAGsAAABkAgAAIAAAALgMEABrAAAAZAIAADcAAAC4DBAAawAAAIsCAAAxAAAAL3J1c3RjLzE3MDY3ZTlhYzZkN2VjYjcwZTUwZjkyYzE5NDRlNTQ1MTg4ZDIzNTkvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAAIQNEABKAAAAvgEAAB0AAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdWljay14bWwtMC4zMS4wL3NyYy9yZWFkZXIvc3RhdGUucnMAAOANEABmAAAATQAAAB0AAAAhW0NEQVRBW+ANEABmAAAAbwAAABkAAAAhLS0A4A0QAGYAAABgAAAARAAAAOANEABmAAAAaAAAABkAAAAhRE9DVFlQRUNEYXRhQ29tbWVudERPQ1RZUEUA4A0QAGYAAABhAAAAJwAAAOANEABmAAAAjQAAABkAAADgDRAAZgAAAKIAAAA3AAAA4A0QAGYAAACIAAAAGwAAAFhtbERlY2wA4A0QAGYAAADjAAAAJAAAAOANEABmAAAA5AAAADMAAADgDRAAZgAAAO0AAAAgAAAAL3J1c3RjLzE3MDY3ZTlhYzZkN2VjYjcwZTUwZjkyYzE5NDRlNTQ1MTg4ZDIzNTkvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzACgPEABLAAAAfQUAABsAAAAvcnVzdGMvMTcwNjdlOWFjNmQ3ZWNiNzBlNTBmOTJjMTk0NGU1NDUxODhkMjM1OS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5yc4QPEABQAAAALgIAABEAAAApAAAADAAAAAQAAAAqAAAAKwAAACwAAAAvcnVzdGMvMTcwNjdlOWFjNmQ3ZWNiNzBlNTBmOTJjMTk0NGU1NDUxODhkMjM1OS9saWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAA/A8QAEoAAAC+AQAAHQAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjcvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZABYEBAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAAWBAQACkAAACuBAAADQAAAE9zAAAAAAAABAAAAAQAAAAtAAAAY29kZQAAAAABAAAAAQAAAC4AAABraW5kKQAAAAwAAAAEAAAALwAAAG1lc3NhZ2VLaW5kRXJyb3IAAAAACAAAAAQAAAAwAAAAAAAAAAQAAAAEAAAAMQAAAEN1c3RvbWVycm9ybWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAAAHcREAAVAAAAjBEQAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnOsERAAGAAAAGQBAAAJAAAAKQAAAAwAAAAEAAAAMgAAAAAAAAAIAAAABAAAADMAAAAAAAAACAAAAAQAAAA0AAAANQAAADYAAAA3AAAAOAAAABAAAAAEAAAAOQAAADoAAAA7AAAAPAAAAE5vdEZvdW5kUGVybWlzc2lvbkRlbmllZENvbm5lY3Rpb25SZWZ1c2VkQ29ubmVjdGlvblJlc2V0SG9zdFVucmVhY2hhYmxlTmV0d29ya1VucmVhY2hhYmxlQ29ubmVjdGlvbkFib3J0ZWROb3RDb25uZWN0ZWRBZGRySW5Vc2VBZGRyTm90QXZhaWxhYmxlTmV0d29ya0Rvd25Ccm9rZW5QaXBlQWxyZWFkeUV4aXN0c1dvdWxkQmxvY2tOb3RBRGlyZWN0b3J5SXNBRGlyZWN0b3J5RGlyZWN0b3J5Tm90RW1wdHlSZWFkT25seUZpbGVzeXN0ZW1GaWxlc3lzdGVtTG9vcFN0YWxlTmV0d29ya0ZpbGVIYW5kbGVJbnZhbGlkSW5wdXRJbnZhbGlkRGF0YVRpbWVkT3V0V3JpdGVaZXJvU3RvcmFnZUZ1bGxOb3RTZWVrYWJsZVF1b3RhRXhjZWVkZWRGaWxlVG9vTGFyZ2VSZXNvdXJjZUJ1c3lFeGVjdXRhYmxlRmlsZUJ1c3lEZWFkbG9ja0Nyb3NzZXNEZXZpY2VzVG9vTWFueUxpbmtzSW52YWxpZEZpbGVuYW1lQXJndW1lbnRMaXN0VG9vTG9uZ0ludGVycnVwdGVkVW5zdXBwb3J0ZWRVbmV4cGVjdGVkRW9mT3V0T2ZNZW1vcnlJblByb2dyZXNzT3RoZXJVbmNhdGVnb3JpemVkb3BlcmF0aW9uIHN1Y2Nlc3NmdWwAAAgAAAAQ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";return"base64"===A?g:new Uint8Array(Array.from(atob(g),(A=>A.charCodeAt(0)))).buffer}export{J as JsReader,k as Token,H as default,h as initSync,K as source,s as tokenize};
@@ -0,0 +1,25 @@
1
+ // Copyright 2018-2026 the Deno authors. MIT license.
2
+ // Copyright the Browserify authors. MIT License.
3
+ import * as dntShim from "../../../../../_dnt.shims.js";
4
+
5
+
6
+ export type PathType = "file" | "dir" | "symlink";
7
+
8
+ /**
9
+ * Get a human readable file type string.
10
+ *
11
+ * @param file File information, as returned by {@linkcode Deno.stat} or
12
+ * {@linkcode Deno.lstat}.
13
+ *
14
+ * @returns The file type as a string, or `undefined` if the file type is
15
+ * unknown.
16
+ */
17
+ export function getFileInfoType(fileInfo: dntShim.Deno.FileInfo): PathType | undefined {
18
+ return fileInfo.isFile
19
+ ? "file"
20
+ : fileInfo.isDirectory
21
+ ? "dir"
22
+ : fileInfo.isSymlink
23
+ ? "symlink"
24
+ : undefined;
25
+ }
@@ -0,0 +1,110 @@
1
+ // Copyright 2018-2026 the Deno authors. MIT license.
2
+ import * as dntShim from "../../../../../_dnt.shims.js";
3
+
4
+ import { getFileInfoType } from "./_get_file_info_type.js";
5
+
6
+ /**
7
+ * Asynchronously ensures that the directory exists, like
8
+ * {@linkcode https://www.ibm.com/docs/en/aix/7.3?topic=m-mkdir-command#mkdir__row-d3e133766 | mkdir -p}.
9
+ *
10
+ * If the directory already exists, this function does nothing. If the directory
11
+ * does not exist, it is created.
12
+ *
13
+ * Requires `--allow-read` and `--allow-write` permissions.
14
+ *
15
+ * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access}
16
+ * for more information on Deno's permissions system.
17
+ *
18
+ * @param dir The path of the directory to ensure, as a string or URL.
19
+ *
20
+ * @returns A promise that resolves once the directory exists.
21
+ *
22
+ * @example Usage
23
+ * ```ts ignore
24
+ * import { ensureDir } from "@std/fs/ensure-dir";
25
+ *
26
+ * await ensureDir("./bar");
27
+ * ```
28
+ */
29
+ export async function ensureDir(dir: string | URL) {
30
+ try {
31
+ const fileInfo = await dntShim.Deno.stat(dir);
32
+ throwIfNotDirectory(fileInfo);
33
+ return;
34
+ } catch (err) {
35
+ if (!(err instanceof dntShim.Deno.errors.NotFound)) {
36
+ throw err;
37
+ }
38
+ }
39
+
40
+ // The dir doesn't exist. Create it.
41
+ // This can be racy. So we catch AlreadyExists and check stat again.
42
+ try {
43
+ await dntShim.Deno.mkdir(dir, { recursive: true });
44
+ } catch (err) {
45
+ if (!(err instanceof dntShim.Deno.errors.AlreadyExists)) {
46
+ throw err;
47
+ }
48
+
49
+ const fileInfo = await dntShim.Deno.stat(dir);
50
+ throwIfNotDirectory(fileInfo);
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Synchronously ensures that the directory exists, like
56
+ * {@linkcode https://www.ibm.com/docs/en/aix/7.3?topic=m-mkdir-command#mkdir__row-d3e133766 | mkdir -p}.
57
+ *
58
+ * If the directory already exists, this function does nothing. If the directory
59
+ * does not exist, it is created.
60
+ *
61
+ * Requires `--allow-read` and `--allow-write` permissions.
62
+ *
63
+ * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access}
64
+ * for more information on Deno's permissions system.
65
+ *
66
+ * @param dir The path of the directory to ensure, as a string or URL.
67
+ *
68
+ * @returns A void value that returns once the directory exists.
69
+ *
70
+ * @example Usage
71
+ * ```ts ignore
72
+ * import { ensureDirSync } from "@std/fs/ensure-dir";
73
+ *
74
+ * ensureDirSync("./bar");
75
+ * ```
76
+ */
77
+ export function ensureDirSync(dir: string | URL) {
78
+ try {
79
+ const fileInfo = dntShim.Deno.statSync(dir);
80
+ throwIfNotDirectory(fileInfo);
81
+ return;
82
+ } catch (err) {
83
+ if (!(err instanceof dntShim.Deno.errors.NotFound)) {
84
+ throw err;
85
+ }
86
+ }
87
+
88
+ // The dir doesn't exist. Create it.
89
+ // This can be racy. So we catch AlreadyExists and check stat again.
90
+ try {
91
+ dntShim.Deno.mkdirSync(dir, { recursive: true });
92
+ } catch (err) {
93
+ if (!(err instanceof dntShim.Deno.errors.AlreadyExists)) {
94
+ throw err;
95
+ }
96
+
97
+ const fileInfo = dntShim.Deno.statSync(dir);
98
+ throwIfNotDirectory(fileInfo);
99
+ }
100
+ }
101
+
102
+ function throwIfNotDirectory(fileInfo: dntShim.Deno.FileInfo) {
103
+ if (!fileInfo.isDirectory) {
104
+ throw new Error(
105
+ `Failed to ensure directory exists: expected 'dir', got '${
106
+ getFileInfoType(fileInfo)
107
+ }'`,
108
+ );
109
+ }
110
+ }