@vigla/svelte 0.0.0-stage → 5.57.4

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 (373) hide show
  1. package/action.d.ts +2 -0
  2. package/animate.d.ts +2 -0
  3. package/compiler/index.js +43266 -0
  4. package/compiler/index.js.map +1 -0
  5. package/compiler/package.json +3 -0
  6. package/compiler.d.ts +2 -0
  7. package/dist/compiler/diagnostics.d.ts +70 -0
  8. package/dist/compiler/diagnostics.d.ts.map +1 -0
  9. package/dist/compiler/diagnostics.js +166 -0
  10. package/dist/compiler/diagnostics.js.map +1 -0
  11. package/dist/compiler/index.d.ts +72 -0
  12. package/dist/compiler/index.d.ts.map +1 -0
  13. package/dist/compiler/index.js +178 -0
  14. package/dist/compiler/index.js.map +1 -0
  15. package/dist/compiler/options.d.ts +7 -0
  16. package/dist/compiler/options.d.ts.map +1 -0
  17. package/dist/compiler/options.js +126 -0
  18. package/dist/compiler/options.js.map +1 -0
  19. package/dist/compiler/preprocess/decode.d.ts +3 -0
  20. package/dist/compiler/preprocess/decode.d.ts.map +1 -0
  21. package/dist/compiler/preprocess/decode.js +60 -0
  22. package/dist/compiler/preprocess/decode.js.map +1 -0
  23. package/dist/compiler/preprocess/index.d.ts +27 -0
  24. package/dist/compiler/preprocess/index.d.ts.map +1 -0
  25. package/dist/compiler/preprocess/index.js +208 -0
  26. package/dist/compiler/preprocess/index.js.map +1 -0
  27. package/dist/compiler/preprocess/mapped.d.ts +25 -0
  28. package/dist/compiler/preprocess/mapped.d.ts.map +1 -0
  29. package/dist/compiler/preprocess/mapped.js +129 -0
  30. package/dist/compiler/preprocess/mapped.js.map +1 -0
  31. package/dist/compiler/proxy.d.ts +3 -0
  32. package/dist/compiler/proxy.d.ts.map +1 -0
  33. package/dist/compiler/proxy.js +133 -0
  34. package/dist/compiler/proxy.js.map +1 -0
  35. package/dist/entries/action.d.ts +2 -0
  36. package/dist/entries/action.d.ts.map +1 -0
  37. package/dist/entries/action.js +1 -0
  38. package/dist/entries/action.js.map +1 -0
  39. package/dist/entries/animate.d.ts +2 -0
  40. package/dist/entries/animate.d.ts.map +1 -0
  41. package/dist/entries/animate.js +2 -0
  42. package/dist/entries/animate.js.map +1 -0
  43. package/dist/entries/attachments.d.ts +2 -0
  44. package/dist/entries/attachments.d.ts.map +1 -0
  45. package/dist/entries/attachments.js +2 -0
  46. package/dist/entries/attachments.js.map +1 -0
  47. package/dist/entries/context.d.ts +15 -0
  48. package/dist/entries/context.d.ts.map +1 -0
  49. package/dist/entries/context.js +32 -0
  50. package/dist/entries/context.js.map +1 -0
  51. package/dist/entries/easing.d.ts +2 -0
  52. package/dist/entries/easing.d.ts.map +1 -0
  53. package/dist/entries/easing.js +2 -0
  54. package/dist/entries/easing.js.map +1 -0
  55. package/dist/entries/events.d.ts +2 -0
  56. package/dist/entries/events.d.ts.map +1 -0
  57. package/dist/entries/events.js +2 -0
  58. package/dist/entries/events.js.map +1 -0
  59. package/dist/entries/index-server.d.ts +4 -0
  60. package/dist/entries/index-server.d.ts.map +1 -0
  61. package/dist/entries/index-server.js +11 -0
  62. package/dist/entries/index-server.js.map +1 -0
  63. package/dist/entries/index.d.ts +10 -0
  64. package/dist/entries/index.d.ts.map +1 -0
  65. package/dist/entries/index.js +24 -0
  66. package/dist/entries/index.js.map +1 -0
  67. package/dist/entries/internal/client.d.ts +4 -0
  68. package/dist/entries/internal/client.d.ts.map +1 -0
  69. package/dist/entries/internal/client.js +9 -0
  70. package/dist/entries/internal/client.js.map +1 -0
  71. package/dist/entries/internal/disclose-version.d.ts +2 -0
  72. package/dist/entries/internal/disclose-version.d.ts.map +1 -0
  73. package/dist/entries/internal/disclose-version.js +4 -0
  74. package/dist/entries/internal/disclose-version.js.map +1 -0
  75. package/dist/entries/internal/index.d.ts +2 -0
  76. package/dist/entries/internal/index.d.ts.map +1 -0
  77. package/dist/entries/internal/index.js +2 -0
  78. package/dist/entries/internal/index.js.map +1 -0
  79. package/dist/entries/internal/server.d.ts +2 -0
  80. package/dist/entries/internal/server.d.ts.map +1 -0
  81. package/dist/entries/internal/server.js +7 -0
  82. package/dist/entries/internal/server.js.map +1 -0
  83. package/dist/entries/internal/tracing.d.ts +2 -0
  84. package/dist/entries/internal/tracing.d.ts.map +1 -0
  85. package/dist/entries/internal/tracing.js +2 -0
  86. package/dist/entries/internal/tracing.js.map +1 -0
  87. package/dist/entries/motion-server.d.ts +2 -0
  88. package/dist/entries/motion-server.d.ts.map +1 -0
  89. package/dist/entries/motion-server.js +2 -0
  90. package/dist/entries/motion-server.js.map +1 -0
  91. package/dist/entries/motion.d.ts +2 -0
  92. package/dist/entries/motion.d.ts.map +1 -0
  93. package/dist/entries/motion.js +2 -0
  94. package/dist/entries/motion.js.map +1 -0
  95. package/dist/entries/proxy.d.ts +6 -0
  96. package/dist/entries/proxy.d.ts.map +1 -0
  97. package/dist/entries/proxy.js +77 -0
  98. package/dist/entries/proxy.js.map +1 -0
  99. package/dist/entries/reactivity-server.d.ts +2 -0
  100. package/dist/entries/reactivity-server.d.ts.map +1 -0
  101. package/dist/entries/reactivity-server.js +2 -0
  102. package/dist/entries/reactivity-server.js.map +1 -0
  103. package/dist/entries/reactivity.d.ts +2 -0
  104. package/dist/entries/reactivity.d.ts.map +1 -0
  105. package/dist/entries/reactivity.js +2 -0
  106. package/dist/entries/reactivity.js.map +1 -0
  107. package/dist/entries/report.d.ts +3 -0
  108. package/dist/entries/report.d.ts.map +1 -0
  109. package/dist/entries/report.js +66 -0
  110. package/dist/entries/report.js.map +1 -0
  111. package/dist/entries/server.d.ts +8 -0
  112. package/dist/entries/server.d.ts.map +1 -0
  113. package/dist/entries/server.js +48 -0
  114. package/dist/entries/server.js.map +1 -0
  115. package/dist/entries/store-client.d.ts +12 -0
  116. package/dist/entries/store-client.d.ts.map +1 -0
  117. package/dist/entries/store-client.js +63 -0
  118. package/dist/entries/store-client.js.map +1 -0
  119. package/dist/entries/store-server.d.ts +12 -0
  120. package/dist/entries/store-server.d.ts.map +1 -0
  121. package/dist/entries/store-server.js +30 -0
  122. package/dist/entries/store-server.js.map +1 -0
  123. package/dist/entries/store.d.ts +25 -0
  124. package/dist/entries/store.d.ts.map +1 -0
  125. package/dist/entries/store.js +139 -0
  126. package/dist/entries/store.js.map +1 -0
  127. package/dist/entries/transition.d.ts +2 -0
  128. package/dist/entries/transition.d.ts.map +1 -0
  129. package/dist/entries/transition.js +2 -0
  130. package/dist/entries/transition.js.map +1 -0
  131. package/dist/entries/window-server.d.ts +2 -0
  132. package/dist/entries/window-server.d.ts.map +1 -0
  133. package/dist/entries/window-server.js +2 -0
  134. package/dist/entries/window-server.js.map +1 -0
  135. package/dist/entries/window.d.ts +2 -0
  136. package/dist/entries/window.d.ts.map +1 -0
  137. package/dist/entries/window.js +2 -0
  138. package/dist/entries/window.js.map +1 -0
  139. package/dist/front/ast.d.ts +290 -0
  140. package/dist/front/ast.d.ts.map +1 -0
  141. package/dist/front/ast.js +1 -0
  142. package/dist/front/ast.js.map +1 -0
  143. package/dist/front/diagnostics.d.ts +13 -0
  144. package/dist/front/diagnostics.d.ts.map +1 -0
  145. package/dist/front/diagnostics.js +38 -0
  146. package/dist/front/diagnostics.js.map +1 -0
  147. package/dist/front/ignores.d.ts +12 -0
  148. package/dist/front/ignores.d.ts.map +1 -0
  149. package/dist/front/ignores.js +75 -0
  150. package/dist/front/ignores.js.map +1 -0
  151. package/dist/front/index.d.ts +17 -0
  152. package/dist/front/index.d.ts.map +1 -0
  153. package/dist/front/index.js +65 -0
  154. package/dist/front/index.js.map +1 -0
  155. package/dist/front/legacy.d.ts +5 -0
  156. package/dist/front/legacy.d.ts.map +1 -0
  157. package/dist/front/legacy.js +408 -0
  158. package/dist/front/legacy.js.map +1 -0
  159. package/dist/front/locate.d.ts +4 -0
  160. package/dist/front/locate.d.ts.map +1 -0
  161. package/dist/front/locate.js +19 -0
  162. package/dist/front/locate.js.map +1 -0
  163. package/dist/front/lower.d.ts +39 -0
  164. package/dist/front/lower.d.ts.map +1 -0
  165. package/dist/front/lower.js +470 -0
  166. package/dist/front/lower.js.map +1 -0
  167. package/dist/front/parse/attribute.d.ts +12 -0
  168. package/dist/front/parse/attribute.d.ts.map +1 -0
  169. package/dist/front/parse/attribute.js +288 -0
  170. package/dist/front/parse/attribute.js.map +1 -0
  171. package/dist/front/parse/bracket.d.ts +3 -0
  172. package/dist/front/parse/bracket.d.ts.map +1 -0
  173. package/dist/front/parse/bracket.js +102 -0
  174. package/dist/front/parse/bracket.js.map +1 -0
  175. package/dist/front/parse/characters.d.ts +4 -0
  176. package/dist/front/parse/characters.d.ts.map +1 -0
  177. package/dist/front/parse/characters.js +6 -0
  178. package/dist/front/parse/characters.js.map +1 -0
  179. package/dist/front/parse/decode.d.ts +2 -0
  180. package/dist/front/parse/decode.d.ts.map +1 -0
  181. package/dist/front/parse/decode.js +89 -0
  182. package/dist/front/parse/decode.js.map +1 -0
  183. package/dist/front/parse/element.d.ts +3 -0
  184. package/dist/front/parse/element.d.ts.map +1 -0
  185. package/dist/front/parse/element.js +311 -0
  186. package/dist/front/parse/element.js.map +1 -0
  187. package/dist/front/parse/entities.d.ts +2 -0
  188. package/dist/front/parse/entities.d.ts.map +1 -0
  189. package/dist/front/parse/entities.js +2234 -0
  190. package/dist/front/parse/entities.js.map +1 -0
  191. package/dist/front/parse/expression.d.ts +5 -0
  192. package/dist/front/parse/expression.d.ts.map +1 -0
  193. package/dist/front/parse/expression.js +86 -0
  194. package/dist/front/parse/expression.js.map +1 -0
  195. package/dist/front/parse/html.d.ts +8 -0
  196. package/dist/front/parse/html.d.ts.map +1 -0
  197. package/dist/front/parse/html.js +146 -0
  198. package/dist/front/parse/html.js.map +1 -0
  199. package/dist/front/parse/identifier.d.ts +4 -0
  200. package/dist/front/parse/identifier.d.ts.map +1 -0
  201. package/dist/front/parse/identifier.js +24 -0
  202. package/dist/front/parse/identifier.js.map +1 -0
  203. package/dist/front/parse/index.d.ts +13 -0
  204. package/dist/front/parse/index.d.ts.map +1 -0
  205. package/dist/front/parse/index.js +74 -0
  206. package/dist/front/parse/index.js.map +1 -0
  207. package/dist/front/parse/js.d.ts +27 -0
  208. package/dist/front/parse/js.d.ts.map +1 -0
  209. package/dist/front/parse/js.js +241 -0
  210. package/dist/front/parse/js.js.map +1 -0
  211. package/dist/front/parse/options.d.ts +3 -0
  212. package/dist/front/parse/options.d.ts.map +1 -0
  213. package/dist/front/parse/options.js +198 -0
  214. package/dist/front/parse/options.js.map +1 -0
  215. package/dist/front/parse/parser.d.ts +50 -0
  216. package/dist/front/parse/parser.d.ts.map +1 -0
  217. package/dist/front/parse/parser.js +157 -0
  218. package/dist/front/parse/parser.js.map +1 -0
  219. package/dist/front/parse/pattern.d.ts +4 -0
  220. package/dist/front/parse/pattern.d.ts.map +1 -0
  221. package/dist/front/parse/pattern.js +53 -0
  222. package/dist/front/parse/pattern.js.map +1 -0
  223. package/dist/front/parse/script.d.ts +4 -0
  224. package/dist/front/parse/script.d.ts.map +1 -0
  225. package/dist/front/parse/script.js +60 -0
  226. package/dist/front/parse/script.js.map +1 -0
  227. package/dist/front/parse/style.d.ts +7 -0
  228. package/dist/front/parse/style.d.ts.map +1 -0
  229. package/dist/front/parse/style.js +397 -0
  230. package/dist/front/parse/style.js.map +1 -0
  231. package/dist/front/parse/tag.d.ts +3 -0
  232. package/dist/front/parse/tag.d.ts.map +1 -0
  233. package/dist/front/parse/tag.js +591 -0
  234. package/dist/front/parse/tag.js.map +1 -0
  235. package/dist/front/print/css.d.ts +5 -0
  236. package/dist/front/print/css.d.ts.map +1 -0
  237. package/dist/front/print/css.js +234 -0
  238. package/dist/front/print/css.js.map +1 -0
  239. package/dist/front/print/index.d.ts +18 -0
  240. package/dist/front/print/index.d.ts.map +1 -0
  241. package/dist/front/print/index.js +24 -0
  242. package/dist/front/print/index.js.map +1 -0
  243. package/dist/front/print/layout.d.ts +11 -0
  244. package/dist/front/print/layout.d.ts.map +1 -0
  245. package/dist/front/print/layout.js +73 -0
  246. package/dist/front/print/layout.js.map +1 -0
  247. package/dist/front/print/template.d.ts +5 -0
  248. package/dist/front/print/template.d.ts.map +1 -0
  249. package/dist/front/print/template.js +455 -0
  250. package/dist/front/print/template.js.map +1 -0
  251. package/dist/front/runes.d.ts +13 -0
  252. package/dist/front/runes.d.ts.map +1 -0
  253. package/dist/front/runes.js +253 -0
  254. package/dist/front/runes.js.map +1 -0
  255. package/dist/front/stores.d.ts +5 -0
  256. package/dist/front/stores.d.ts.map +1 -0
  257. package/dist/front/stores.js +84 -0
  258. package/dist/front/stores.js.map +1 -0
  259. package/dist/front/typescript.d.ts +2 -0
  260. package/dist/front/typescript.d.ts.map +1 -0
  261. package/dist/front/typescript.js +182 -0
  262. package/dist/front/typescript.js.map +1 -0
  263. package/dist/front/validate/anchors.d.ts +15 -0
  264. package/dist/front/validate/anchors.d.ts.map +1 -0
  265. package/dist/front/validate/anchors.js +43 -0
  266. package/dist/front/validate/anchors.js.map +1 -0
  267. package/dist/front/validate/index.d.ts +16 -0
  268. package/dist/front/validate/index.d.ts.map +1 -0
  269. package/dist/front/validate/index.js +139 -0
  270. package/dist/front/validate/index.js.map +1 -0
  271. package/dist/front/validate/legacy.d.ts +9 -0
  272. package/dist/front/validate/legacy.d.ts.map +1 -0
  273. package/dist/front/validate/legacy.js +102 -0
  274. package/dist/front/validate/legacy.js.map +1 -0
  275. package/dist/front/validate/report.d.ts +14 -0
  276. package/dist/front/validate/report.d.ts.map +1 -0
  277. package/dist/front/validate/report.js +29 -0
  278. package/dist/front/validate/report.js.map +1 -0
  279. package/dist/front/validate/template.d.ts +31 -0
  280. package/dist/front/validate/template.d.ts.map +1 -0
  281. package/dist/front/validate/template.js +507 -0
  282. package/dist/front/validate/template.js.map +1 -0
  283. package/dist/front/wording.d.ts +4 -0
  284. package/dist/front/wording.d.ts.map +1 -0
  285. package/dist/front/wording.js +110 -0
  286. package/dist/front/wording.js.map +1 -0
  287. package/dist/shared/format.d.ts +3 -0
  288. package/dist/shared/format.d.ts.map +1 -0
  289. package/dist/shared/format.js +7 -0
  290. package/dist/shared/format.js.map +1 -0
  291. package/easing.d.ts +2 -0
  292. package/elements.d.ts +1220 -0
  293. package/index.d.ts +2 -0
  294. package/motion.d.ts +2 -0
  295. package/package.json +128 -5
  296. package/src/compiler/diagnostics.ts +233 -0
  297. package/src/compiler/index.ts +292 -0
  298. package/src/compiler/options.ts +140 -0
  299. package/src/compiler/preprocess/decode.ts +85 -0
  300. package/src/compiler/preprocess/index.ts +299 -0
  301. package/src/compiler/preprocess/mapped.ts +146 -0
  302. package/src/compiler/proxy.ts +154 -0
  303. package/src/entries/action.ts +1 -0
  304. package/src/entries/animate.ts +1 -0
  305. package/src/entries/attachments.ts +1 -0
  306. package/src/entries/context.ts +50 -0
  307. package/src/entries/easing.ts +1 -0
  308. package/src/entries/events.ts +1 -0
  309. package/src/entries/index-server.ts +17 -0
  310. package/src/entries/index.ts +41 -0
  311. package/src/entries/internal/client.ts +15 -0
  312. package/src/entries/internal/disclose-version.ts +4 -0
  313. package/src/entries/internal/index.ts +3 -0
  314. package/src/entries/internal/server.ts +8 -0
  315. package/src/entries/internal/tracing.ts +1 -0
  316. package/src/entries/motion-server.ts +1 -0
  317. package/src/entries/motion.ts +1 -0
  318. package/src/entries/proxy.ts +86 -0
  319. package/src/entries/reactivity-server.ts +9 -0
  320. package/src/entries/reactivity.ts +9 -0
  321. package/src/entries/report.ts +81 -0
  322. package/src/entries/server.ts +76 -0
  323. package/src/entries/store-client.ts +80 -0
  324. package/src/entries/store-server.ts +44 -0
  325. package/src/entries/store.ts +201 -0
  326. package/src/entries/transition.ts +1 -0
  327. package/src/entries/window-server.ts +1 -0
  328. package/src/entries/window.ts +1 -0
  329. package/src/front/ast.ts +369 -0
  330. package/src/front/diagnostics.ts +53 -0
  331. package/src/front/ignores.ts +84 -0
  332. package/src/front/index.ts +86 -0
  333. package/src/front/legacy.ts +414 -0
  334. package/src/front/locate.ts +20 -0
  335. package/src/front/lower.ts +509 -0
  336. package/src/front/parse/attribute.ts +319 -0
  337. package/src/front/parse/bracket.ts +99 -0
  338. package/src/front/parse/characters.ts +19 -0
  339. package/src/front/parse/decode.ts +87 -0
  340. package/src/front/parse/element.ts +354 -0
  341. package/src/front/parse/entities.ts +2233 -0
  342. package/src/front/parse/expression.ts +85 -0
  343. package/src/front/parse/html.ts +158 -0
  344. package/src/front/parse/identifier.ts +29 -0
  345. package/src/front/parse/index.ts +88 -0
  346. package/src/front/parse/js.ts +284 -0
  347. package/src/front/parse/options.ts +194 -0
  348. package/src/front/parse/parser.ts +189 -0
  349. package/src/front/parse/pattern.ts +57 -0
  350. package/src/front/parse/script.ts +74 -0
  351. package/src/front/parse/style.ts +399 -0
  352. package/src/front/parse/tag.ts +601 -0
  353. package/src/front/print/css.ts +239 -0
  354. package/src/front/print/index.ts +40 -0
  355. package/src/front/print/layout.ts +87 -0
  356. package/src/front/print/template.ts +448 -0
  357. package/src/front/runes.ts +267 -0
  358. package/src/front/stores.ts +98 -0
  359. package/src/front/typescript.ts +178 -0
  360. package/src/front/validate/anchors.ts +54 -0
  361. package/src/front/validate/index.ts +174 -0
  362. package/src/front/validate/legacy.ts +119 -0
  363. package/src/front/validate/report.ts +38 -0
  364. package/src/front/validate/template.ts +549 -0
  365. package/src/front/wording.ts +112 -0
  366. package/src/shared/format.ts +8 -0
  367. package/store.d.ts +2 -0
  368. package/svelte-html.d.ts +53 -0
  369. package/transition.d.ts +2 -0
  370. package/types/compiler/interfaces.d.ts +2 -0
  371. package/types/compiler/preprocess.d.ts +2 -0
  372. package/types/index.d.ts +1453 -0
  373. package/README.md +0 -3
@@ -0,0 +1,234 @@
1
+ import { attributes } from './layout.js';
2
+ const identifierChar = /^[a-zA-Z0-9_-]$/;
3
+ const hexDigit = /[0-9a-fA-F]/;
4
+ function isDigit(char) {
5
+ return char >= '0' && char <= '9';
6
+ }
7
+ export function escapeIdentifier(name) {
8
+ let escaped = '';
9
+ let index = 0;
10
+ while (index < name.length) {
11
+ const char = name[index];
12
+ if (char === '\\') {
13
+ const next = name.charAt(index + 1);
14
+ if (next === '' || hexDigit.test(next)) {
15
+ escaped += '\\5c ';
16
+ index += 1;
17
+ continue;
18
+ }
19
+ escaped += `\\${next}`;
20
+ index += 2;
21
+ continue;
22
+ }
23
+ const code = char.codePointAt(0);
24
+ const leadingDigit = index === 0 && isDigit(char);
25
+ const leadingHyphenDigit = index === 0 && char === '-' && isDigit(name.charAt(index + 1));
26
+ if (leadingDigit || leadingHyphenDigit || !(identifierChar.test(char) || code >= 160)) {
27
+ escaped += `\\${code.toString(16)} `;
28
+ }
29
+ else {
30
+ escaped += char;
31
+ }
32
+ index += 1;
33
+ }
34
+ return escaped;
35
+ }
36
+ export function cssVisitors(comments, scriptComments) {
37
+ let next = 0;
38
+ const before = (end) => {
39
+ const comment = comments[next];
40
+ return comment !== undefined && comment.start < end;
41
+ };
42
+ const writeComment = (context, comment) => {
43
+ context.write(`/*${comment.value}*/`);
44
+ };
45
+ const inline = (context, end) => {
46
+ let written = false;
47
+ while (before(end)) {
48
+ if (written)
49
+ context.write(' ');
50
+ writeComment(context, comments[next++]);
51
+ written = true;
52
+ }
53
+ return written;
54
+ };
55
+ const value = (context, text, end) => {
56
+ let offset = 0;
57
+ while (before(end)) {
58
+ const comment = comments[next++];
59
+ const position = Math.max(offset, Math.min(comment.position ?? 0, text.length));
60
+ context.write(text.slice(offset, position));
61
+ writeComment(context, comment);
62
+ offset = position;
63
+ }
64
+ context.write(text.slice(offset));
65
+ };
66
+ const children = (context, items, end, margins) => {
67
+ let started = false;
68
+ const separate = () => {
69
+ if (!started)
70
+ return;
71
+ if (margins)
72
+ context.margin();
73
+ context.newline();
74
+ };
75
+ for (const child of items) {
76
+ while (before(child.start)) {
77
+ separate();
78
+ writeComment(context, comments[next++]);
79
+ started = true;
80
+ }
81
+ separate();
82
+ context.visit(child);
83
+ started = true;
84
+ }
85
+ while (before(end)) {
86
+ separate();
87
+ writeComment(context, comments[next++]);
88
+ started = true;
89
+ }
90
+ };
91
+ const selectors = (node, context, multiline) => {
92
+ let separated = false;
93
+ let remaining = node.children.length;
94
+ for (const selector of node.children) {
95
+ while (before(selector.start)) {
96
+ if (separated)
97
+ context.write(' ');
98
+ writeComment(context, comments[next++]);
99
+ separated = true;
100
+ }
101
+ if (separated) {
102
+ if (multiline)
103
+ context.newline();
104
+ else
105
+ context.write(' ');
106
+ }
107
+ context.visit(selector);
108
+ separated = true;
109
+ remaining -= 1;
110
+ if (remaining > 0)
111
+ context.write(',');
112
+ }
113
+ };
114
+ const args = (node, context) => {
115
+ if (!node.args)
116
+ return;
117
+ context.write('(');
118
+ context.visit(node.args);
119
+ if (before(node.end)) {
120
+ context.write(' ');
121
+ inline(context, node.end);
122
+ }
123
+ context.write(')');
124
+ };
125
+ const visitors = {
126
+ Atrule(node, context) {
127
+ context.write(`@${escapeIdentifier(node.name)}`);
128
+ const preludeEnd = node.block?.start ?? node.end;
129
+ if (node.prelude || before(preludeEnd)) {
130
+ context.write(' ');
131
+ value(context, node.prelude, preludeEnd);
132
+ }
133
+ if (node.block) {
134
+ context.write(' ');
135
+ context.visit(node.block);
136
+ }
137
+ else {
138
+ context.write(';');
139
+ }
140
+ },
141
+ AttributeSelector(node, context) {
142
+ context.write(`[${escapeIdentifier(node.name)}`);
143
+ if (node.matcher) {
144
+ context.write(node.matcher);
145
+ context.write(`"${node.value}"`);
146
+ if (node.flags)
147
+ context.write(` ${node.flags}`);
148
+ }
149
+ context.write(']');
150
+ },
151
+ Block(node, context) {
152
+ context.write('{');
153
+ if (node.children.length > 0 || before(node.end)) {
154
+ context.indent();
155
+ context.newline();
156
+ children(context, node.children, node.end, false);
157
+ context.dedent();
158
+ context.newline();
159
+ }
160
+ context.write('}');
161
+ },
162
+ ClassSelector(node, context) {
163
+ context.write(`.${escapeIdentifier(node.name)}`);
164
+ },
165
+ ComplexSelector(node, context) {
166
+ for (const selector of node.children)
167
+ context.visit(selector);
168
+ },
169
+ Declaration(node, context) {
170
+ context.write(`${node.property}: `);
171
+ value(context, node.value, node.end);
172
+ context.write(';');
173
+ },
174
+ IdSelector(node, context) {
175
+ context.write(`#${escapeIdentifier(node.name)}`);
176
+ },
177
+ NestingSelector(_, context) {
178
+ context.write('&');
179
+ },
180
+ Nth(node, context) {
181
+ context.write(node.value);
182
+ },
183
+ Percentage(node, context) {
184
+ context.write(node.value);
185
+ },
186
+ PseudoClassSelector(node, context) {
187
+ context.write(`:${escapeIdentifier(node.name)}`);
188
+ args(node, context);
189
+ },
190
+ PseudoElementSelector(node, context) {
191
+ context.write(`::${escapeIdentifier(node.name)}`);
192
+ args(node, context);
193
+ },
194
+ RelativeSelector(node, context) {
195
+ if (node.combinator) {
196
+ context.write(node.combinator.name === ' ' ? ' ' : ` ${node.combinator.name} `);
197
+ }
198
+ for (const selector of node.selectors)
199
+ context.visit(selector);
200
+ },
201
+ Rule(node, context) {
202
+ selectors(node.prelude, context, true);
203
+ context.write(' ');
204
+ if (inline(context, node.block.start))
205
+ context.write(' ');
206
+ context.visit(node.block);
207
+ },
208
+ SelectorList(node, context) {
209
+ selectors(node, context, false);
210
+ },
211
+ StyleSheet(node, context) {
212
+ context.write('<style');
213
+ attributes(node, node.attributes, context, scriptComments);
214
+ context.write('>');
215
+ if (node.children.length > 0 || node.comments.length > 0) {
216
+ context.indent();
217
+ context.newline();
218
+ children(context, node.children, node.content.end, true);
219
+ context.dedent();
220
+ context.newline();
221
+ }
222
+ context.write('</style>');
223
+ },
224
+ TypeSelector(node, context) {
225
+ if (node.namespace !== undefined) {
226
+ context.write(node.namespace === '*' ? '*' : escapeIdentifier(node.namespace));
227
+ context.write('|');
228
+ }
229
+ context.write(node.name === '*' ? node.name : escapeIdentifier(node.name));
230
+ }
231
+ };
232
+ return visitors;
233
+ }
234
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/front/print/css.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type * as AST from '../ast.ts';
2
+ export interface PrintOptions {
3
+ indent?: string;
4
+ getLeadingComments?: (node: unknown) => unknown[] | undefined;
5
+ getTrailingComments?: (node: unknown) => unknown[] | undefined;
6
+ }
7
+ export interface Printed {
8
+ code: string;
9
+ map: unknown;
10
+ }
11
+ type Printable = {
12
+ type: string;
13
+ comments?: AST.JSComment[];
14
+ css?: AST.Css.StyleSheet | null;
15
+ };
16
+ export declare function print(ast: Printable, options?: PrintOptions): Printed;
17
+ export {};
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/front/print/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAKtC,MAAM,WAAW,YAAY;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,SAAS,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACb;AAED,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAA;CAAE,CAAC;AAE/F,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAmBrE"}
@@ -0,0 +1,24 @@
1
+ import { print as render } from 'esrap';
2
+ import ts from 'esrap/languages/ts';
3
+ import { cssVisitors } from './css.js';
4
+ import { templateVisitors } from './template.js';
5
+ export function print(ast, options) {
6
+ const comments = (ast.type === 'Root' && ast.comments) || [];
7
+ const css = (ast.type === 'Root'
8
+ ? ast.css?.comments
9
+ : ast.type === 'StyleSheet'
10
+ ? ast.comments
11
+ : null) ?? [];
12
+ const state = { preserve: 0 };
13
+ const visitors = {
14
+ ...ts({
15
+ comments,
16
+ getLeadingComments: options?.getLeadingComments,
17
+ getTrailingComments: options?.getTrailingComments
18
+ }),
19
+ ...templateVisitors(comments, state),
20
+ ...cssVisitors(css, comments)
21
+ };
22
+ return render(ast, visitors, { indent: options?.indent });
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/front/print/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAiB,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAejD,MAAM,UAAU,KAAK,CAAC,GAAc,EAAE,OAAsB;IAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,GAAG,GACR,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM;QACnB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ;QACnB,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;YAC1B,CAAC,CAAE,GAAqC,CAAC,QAAQ;YACjD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG;QAChB,GAAG,EAAE,CAAC;YACL,QAAQ;YACR,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;YAC/C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;SACrB,CAAC;QAC9B,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC;QACpC,GAAG,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;KACjB,CAAC;IACd,OAAO,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Context } from 'esrap';
2
+ import type * as AST from '../ast.ts';
3
+ export declare const lineBreak = 50;
4
+ export interface State {
5
+ preserve: number;
6
+ }
7
+ export declare function block(context: Context, node: {
8
+ type: string;
9
+ }, preserve?: boolean, inline?: boolean): void;
10
+ export declare function attributes(node: AST.Located, list: readonly AST.AttributeLike[], context: Context, comments: readonly AST.JSComment[]): boolean;
11
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/front/print/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,WAAW,KAAK;IACrB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,KAAK,CACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtB,QAAQ,UAAQ,EAChB,MAAM,UAAQ,GACZ,IAAI,CAiBN;AAED,wBAAgB,UAAU,CACzB,IAAI,EAAE,GAAG,CAAC,OAAO,EACjB,IAAI,EAAE,SAAS,GAAG,CAAC,aAAa,EAAE,EAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,GAChC,OAAO,CAgDT"}
@@ -0,0 +1,73 @@
1
+ export const lineBreak = 50;
2
+ export function block(context, node, preserve = false, inline = false) {
3
+ if (preserve) {
4
+ context.visit(node);
5
+ return;
6
+ }
7
+ const child = context.new();
8
+ child.visit(node);
9
+ if (child.empty())
10
+ return;
11
+ if (inline && !child.multiline) {
12
+ context.append(child);
13
+ return;
14
+ }
15
+ context.indent();
16
+ context.newline();
17
+ context.append(child);
18
+ context.dedent();
19
+ context.newline();
20
+ }
21
+ export function attributes(node, list, context, comments) {
22
+ if (list.length === 0)
23
+ return false;
24
+ let length = -1;
25
+ let index = comments.findIndex((comment) => comment.start > node.start);
26
+ if (index === -1)
27
+ index = comments.length;
28
+ const separator = context.new();
29
+ let previousEnd = node.start;
30
+ const children = list.map((attribute) => {
31
+ const child = context.new();
32
+ while (index < comments.length) {
33
+ const comment = comments[index];
34
+ if (comment.start >= attribute.start)
35
+ break;
36
+ if (comment.start >= previousEnd) {
37
+ if (comment.type === 'Line') {
38
+ child.write(`//${comment.value}`);
39
+ child.newline();
40
+ }
41
+ else {
42
+ child.write(`/*${comment.value}*/`);
43
+ child.append(separator);
44
+ }
45
+ }
46
+ index += 1;
47
+ }
48
+ child.visit(attribute);
49
+ previousEnd = attribute.end;
50
+ length += child.measure() + 1;
51
+ return child;
52
+ });
53
+ const multiline = context.multiline || length > lineBreak;
54
+ if (multiline) {
55
+ separator.newline();
56
+ context.indent();
57
+ for (const child of children) {
58
+ context.newline();
59
+ context.append(child);
60
+ }
61
+ context.dedent();
62
+ context.newline();
63
+ }
64
+ else {
65
+ separator.write(' ');
66
+ for (const child of children) {
67
+ context.write(' ');
68
+ context.append(child);
69
+ }
70
+ }
71
+ return multiline;
72
+ }
73
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/front/print/layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Visitors } from 'esrap';
2
+ import type * as AST from '../ast.ts';
3
+ import { type State } from './layout.ts';
4
+ export declare function templateVisitors(comments: readonly AST.JSComment[], state: State): Visitors;
5
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/front/print/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AA8CvE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CA4Y3F"}