@jesscss/core 2.0.0-alpha.4 → 2.0.0-alpha.6

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 (637) hide show
  1. package/lib/index.cjs +20159 -0
  2. package/lib/index.d.cts +5993 -0
  3. package/lib/index.d.cts.map +1 -0
  4. package/lib/index.d.ts +5992 -21
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +19926 -22
  7. package/lib/index.js.map +1 -1
  8. package/package.json +15 -14
  9. package/src/__tests__/define-function-record.test.ts +58 -0
  10. package/src/__tests__/define-function-simple.test.ts +55 -0
  11. package/src/__tests__/define-function-split-sequence.test.ts +547 -0
  12. package/src/__tests__/define-function-type-parity.test.ts +9 -0
  13. package/src/__tests__/define-function.test.ts +763 -0
  14. package/src/__tests__/num-operations.test.ts +91 -0
  15. package/src/__tests__/safe-parse.test.ts +374 -0
  16. package/src/context.ts +896 -0
  17. package/src/conversions.ts +282 -0
  18. package/src/debug-log.ts +29 -0
  19. package/src/define-function.ts +1006 -0
  20. package/src/deprecation.ts +67 -0
  21. package/src/globals.d.ts +26 -0
  22. package/src/index.ts +31 -0
  23. package/src/jess-error.ts +773 -0
  24. package/src/logger/deprecation-processing.ts +109 -0
  25. package/src/logger.ts +31 -0
  26. package/src/plugin.ts +292 -0
  27. package/src/tree/LOOKUP_CHAINS.md +35 -0
  28. package/src/tree/README.md +18 -0
  29. package/src/tree/__tests__/__snapshots__/extend-eval-integration.test.ts.snap +1455 -0
  30. package/src/tree/__tests__/ampersand.test.ts +382 -0
  31. package/src/tree/__tests__/at-rule.test.ts +2047 -0
  32. package/src/tree/__tests__/basic-render.test.ts +212 -0
  33. package/src/tree/__tests__/block.test.ts +40 -0
  34. package/src/tree/__tests__/call.test.ts +346 -0
  35. package/src/tree/__tests__/color.test.ts +537 -0
  36. package/src/tree/__tests__/condition.test.ts +186 -0
  37. package/src/tree/__tests__/control.test.ts +564 -0
  38. package/src/tree/__tests__/declaration.test.ts +253 -0
  39. package/src/tree/__tests__/dependency-graph.test.ts +177 -0
  40. package/src/tree/__tests__/detached-rulesets.test.ts +213 -0
  41. package/src/tree/__tests__/dimension.test.ts +236 -0
  42. package/src/tree/__tests__/expression.test.ts +73 -0
  43. package/src/tree/__tests__/ext-node.test.ts +31 -0
  44. package/src/tree/__tests__/extend-eval-integration.test.ts +1033 -0
  45. package/src/tree/__tests__/extend-import-style.test.ts +929 -0
  46. package/src/tree/__tests__/extend-less-fixtures.test.ts +851 -0
  47. package/src/tree/__tests__/extend-list.test.ts +31 -0
  48. package/src/tree/__tests__/extend-roots.test.ts +1045 -0
  49. package/src/tree/__tests__/extend-rules.test.ts +740 -0
  50. package/src/tree/__tests__/func.test.ts +171 -0
  51. package/src/tree/__tests__/import-js.test.ts +33 -0
  52. package/src/tree/__tests__/import-style-test-helpers.ts +56 -0
  53. package/src/tree/__tests__/import-style.test.ts +1967 -0
  54. package/src/tree/__tests__/interpolated-reference.test.ts +44 -0
  55. package/src/tree/__tests__/interpolated.test.ts +41 -0
  56. package/src/tree/__tests__/list.test.ts +177 -0
  57. package/src/tree/__tests__/log.test.ts +83 -0
  58. package/src/tree/__tests__/mixin-recursion.test.ts +639 -0
  59. package/src/tree/__tests__/mixin.test.ts +2171 -0
  60. package/src/tree/__tests__/negative.test.ts +45 -0
  61. package/src/tree/__tests__/nesting-collapse.test.ts +519 -0
  62. package/src/tree/__tests__/node-flags-perf.test.ts +195 -0
  63. package/src/tree/__tests__/node-flags.test.ts +410 -0
  64. package/src/tree/__tests__/node-graph.test.ts +598 -0
  65. package/src/tree/__tests__/node-mutation.test.ts +182 -0
  66. package/src/tree/__tests__/operation.test.ts +18 -0
  67. package/src/tree/__tests__/paren.test.ts +90 -0
  68. package/src/tree/__tests__/preserve-mode-output.test.ts +50 -0
  69. package/src/tree/__tests__/quoted.test.ts +72 -0
  70. package/src/tree/__tests__/range.test.ts +59 -0
  71. package/src/tree/__tests__/reference.test.ts +743 -0
  72. package/src/tree/__tests__/rest.test.ts +29 -0
  73. package/src/tree/__tests__/rules-raw.test.ts +14 -0
  74. package/src/tree/__tests__/rules.test.ts +1271 -0
  75. package/src/tree/__tests__/ruleset.test.ts +597 -0
  76. package/src/tree/__tests__/selector-attr.test.ts +50 -0
  77. package/src/tree/__tests__/selector-basic.test.ts +44 -0
  78. package/src/tree/__tests__/selector-capture.test.ts +22 -0
  79. package/src/tree/__tests__/selector-complex.test.ts +120 -0
  80. package/src/tree/__tests__/selector-compound.test.ts +74 -0
  81. package/src/tree/__tests__/selector-interpolated.test.ts +50 -0
  82. package/src/tree/__tests__/selector-list.test.ts +59 -0
  83. package/src/tree/__tests__/selector-pseudo.test.ts +23 -0
  84. package/src/tree/__tests__/selector.test.ts +182 -0
  85. package/src/tree/__tests__/sequence.test.ts +226 -0
  86. package/src/tree/__tests__/serialize-types.test.ts +529 -0
  87. package/src/tree/__tests__/spaced.test.ts +8 -0
  88. package/src/tree/__tests__/url.test.ts +72 -0
  89. package/src/tree/__tests__/var-declaration.test.ts +90 -0
  90. package/src/tree/ampersand.ts +538 -0
  91. package/src/tree/any.ts +169 -0
  92. package/src/tree/at-rule.ts +760 -0
  93. package/src/tree/block.ts +72 -0
  94. package/src/tree/bool.ts +46 -0
  95. package/src/tree/call.ts +593 -0
  96. package/src/tree/collection.ts +52 -0
  97. package/src/tree/color.ts +629 -0
  98. package/src/tree/combinator.ts +30 -0
  99. package/src/tree/comment.ts +36 -0
  100. package/src/tree/condition.ts +194 -0
  101. package/src/tree/control.ts +452 -0
  102. package/src/tree/declaration-custom.ts +56 -0
  103. package/src/tree/declaration-var.ts +87 -0
  104. package/src/tree/declaration.ts +742 -0
  105. package/src/tree/default-guard.ts +35 -0
  106. package/src/tree/dimension.ts +392 -0
  107. package/src/tree/expression.ts +97 -0
  108. package/src/tree/extend-list.ts +51 -0
  109. package/src/tree/extend.ts +391 -0
  110. package/src/tree/function.ts +254 -0
  111. package/src/tree/import-js.ts +130 -0
  112. package/src/tree/import-style.ts +875 -0
  113. package/{lib/tree/index.js → src/tree/index.ts} +49 -22
  114. package/src/tree/interpolated.ts +346 -0
  115. package/src/tree/js-array.ts +21 -0
  116. package/src/tree/js-expr.ts +50 -0
  117. package/src/tree/js-function.ts +31 -0
  118. package/src/tree/js-object.ts +22 -0
  119. package/src/tree/list.ts +415 -0
  120. package/src/tree/log.ts +89 -0
  121. package/src/tree/mixin.ts +331 -0
  122. package/src/tree/negative.ts +58 -0
  123. package/src/tree/nil.ts +57 -0
  124. package/src/tree/node-base.ts +1716 -0
  125. package/src/tree/node-type.ts +122 -0
  126. package/src/tree/node.ts +118 -0
  127. package/src/tree/number.ts +54 -0
  128. package/src/tree/operation.ts +187 -0
  129. package/src/tree/paren.ts +132 -0
  130. package/src/tree/query-condition.ts +47 -0
  131. package/src/tree/quoted.ts +119 -0
  132. package/src/tree/range.ts +101 -0
  133. package/src/tree/reference.ts +1099 -0
  134. package/src/tree/rest.ts +55 -0
  135. package/src/tree/rules-raw.ts +52 -0
  136. package/src/tree/rules.ts +2896 -0
  137. package/src/tree/ruleset.ts +1217 -0
  138. package/src/tree/selector-attr.ts +172 -0
  139. package/src/tree/selector-basic.ts +75 -0
  140. package/src/tree/selector-capture.ts +85 -0
  141. package/src/tree/selector-complex.ts +189 -0
  142. package/src/tree/selector-compound.ts +205 -0
  143. package/src/tree/selector-interpolated.ts +95 -0
  144. package/src/tree/selector-list.ts +245 -0
  145. package/src/tree/selector-pseudo.ts +173 -0
  146. package/src/tree/selector-simple.ts +10 -0
  147. package/src/tree/selector.ts +152 -0
  148. package/src/tree/sequence.ts +463 -0
  149. package/src/tree/tree.ts +130 -0
  150. package/src/tree/url.ts +95 -0
  151. package/src/tree/util/EXTEND_ARCHITECTURE_ANALYSIS.md +215 -0
  152. package/src/tree/util/EXTEND_AUDIT.md +233 -0
  153. package/src/tree/util/EXTEND_BASELINE.md +64 -0
  154. package/src/tree/util/EXTEND_CALL_GRAPH_ANALYSIS.md +244 -0
  155. package/src/tree/util/EXTEND_DOCS.md +24 -0
  156. package/src/tree/util/EXTEND_FINAL_SUMMARY.md +95 -0
  157. package/src/tree/util/EXTEND_FUNCTION_AUDIT.md +1433 -0
  158. package/src/tree/util/EXTEND_OPTIMIZATION_PLAN.md +114 -0
  159. package/src/tree/util/EXTEND_REFACTORING_SUMMARY.md +152 -0
  160. package/src/tree/util/EXTEND_RULES.md +74 -0
  161. package/src/tree/util/EXTEND_UNUSED_FUNCTIONS.md +127 -0
  162. package/src/tree/util/EXTEND_UNUSED_FUNCTIONS_ANALYSIS.md +227 -0
  163. package/src/tree/util/NODE_COPY_REDUCTION_PLAN.md +12 -0
  164. package/src/tree/util/__tests__/EXTEND_TEST_INDEX.md +59 -0
  165. package/src/tree/util/__tests__/OPTIMIZATION-ANALYSIS.md +130 -0
  166. package/src/tree/util/__tests__/WALK_AND_CONSUME_DESIGN.md +138 -0
  167. package/src/tree/util/__tests__/_archive/2026-02-09__OPTIMIZATION-ANALYSIS.md +9 -0
  168. package/src/tree/util/__tests__/_archive/README.md +4 -0
  169. package/src/tree/util/__tests__/bitset.test.ts +142 -0
  170. package/src/tree/util/__tests__/debug-log.ts +50 -0
  171. package/src/tree/util/__tests__/extend-comment-handling.test.ts +187 -0
  172. package/src/tree/util/__tests__/extend-core-unit.test.ts +941 -0
  173. package/src/tree/util/__tests__/extend-pipeline-bench.test.ts +154 -0
  174. package/src/tree/util/__tests__/extend-pipeline-bench.ts +190 -0
  175. package/src/tree/util/__tests__/fast-reject.test.ts +377 -0
  176. package/src/tree/util/__tests__/is-node.test.ts +63 -0
  177. package/src/tree/util/__tests__/list-like.test.ts +63 -0
  178. package/src/tree/util/__tests__/outputwriter.test.ts +523 -0
  179. package/src/tree/util/__tests__/print.test.ts +183 -0
  180. package/src/tree/util/__tests__/process-extends.test.ts +226 -0
  181. package/src/tree/util/__tests__/process-leading-is.test.ts +205 -0
  182. package/src/tree/util/__tests__/recursion-helper.test.ts +184 -0
  183. package/src/tree/util/__tests__/selector-match-unit.test.ts +1427 -0
  184. package/src/tree/util/__tests__/sourcemap.test.ts +117 -0
  185. package/src/tree/util/ampersand-template.ts +9 -0
  186. package/src/tree/util/bitset.ts +194 -0
  187. package/src/tree/util/calculate.ts +11 -0
  188. package/src/tree/util/cast.ts +89 -0
  189. package/src/tree/util/cloning.ts +8 -0
  190. package/src/tree/util/collections.ts +299 -0
  191. package/src/tree/util/compare.ts +90 -0
  192. package/src/tree/util/cursor.ts +171 -0
  193. package/src/tree/util/extend-core.ts +2139 -0
  194. package/src/tree/util/extend-roots.ts +1108 -0
  195. package/src/tree/util/field-helpers.ts +354 -0
  196. package/src/tree/util/is-node.ts +43 -0
  197. package/src/tree/util/list-like.ts +93 -0
  198. package/src/tree/util/mixin-instance-primitives.ts +2020 -0
  199. package/src/tree/util/print.ts +303 -0
  200. package/src/tree/util/process-leading-is.ts +421 -0
  201. package/src/tree/util/recursion-helper.ts +54 -0
  202. package/src/tree/util/regex.ts +2 -0
  203. package/src/tree/util/registry-utils.ts +1953 -0
  204. package/src/tree/util/ruleset-trace.ts +17 -0
  205. package/src/tree/util/scoped-body-eval.ts +320 -0
  206. package/src/tree/util/selector-match-core.ts +2005 -0
  207. package/src/tree/util/selector-utils.ts +757 -0
  208. package/src/tree/util/serialize-helper.ts +535 -0
  209. package/src/tree/util/serialize-types.ts +318 -0
  210. package/src/tree/util/should-operate.ts +78 -0
  211. package/src/tree/util/sourcemap.ts +37 -0
  212. package/src/types/config.ts +247 -0
  213. package/src/types/index.ts +12 -0
  214. package/{lib/types/modes.d.ts → src/types/modes.ts} +2 -1
  215. package/src/types.d.ts +9 -0
  216. package/src/types.ts +68 -0
  217. package/src/use-webpack-resolver.ts +56 -0
  218. package/src/visitor/__tests__/visitor.test.ts +136 -0
  219. package/src/visitor/index.ts +263 -0
  220. package/{lib/visitor/less-visitor.js → src/visitor/less-visitor.ts} +3 -2
  221. package/lib/context.d.ts +0 -352
  222. package/lib/context.d.ts.map +0 -1
  223. package/lib/context.js +0 -636
  224. package/lib/context.js.map +0 -1
  225. package/lib/conversions.d.ts +0 -73
  226. package/lib/conversions.d.ts.map +0 -1
  227. package/lib/conversions.js +0 -253
  228. package/lib/conversions.js.map +0 -1
  229. package/lib/debug-log.d.ts +0 -2
  230. package/lib/debug-log.d.ts.map +0 -1
  231. package/lib/debug-log.js +0 -27
  232. package/lib/debug-log.js.map +0 -1
  233. package/lib/define-function.d.ts +0 -587
  234. package/lib/define-function.d.ts.map +0 -1
  235. package/lib/define-function.js +0 -726
  236. package/lib/define-function.js.map +0 -1
  237. package/lib/deprecation.d.ts +0 -34
  238. package/lib/deprecation.d.ts.map +0 -1
  239. package/lib/deprecation.js +0 -57
  240. package/lib/deprecation.js.map +0 -1
  241. package/lib/jess-error.d.ts +0 -343
  242. package/lib/jess-error.d.ts.map +0 -1
  243. package/lib/jess-error.js +0 -508
  244. package/lib/jess-error.js.map +0 -1
  245. package/lib/logger/deprecation-processing.d.ts +0 -41
  246. package/lib/logger/deprecation-processing.d.ts.map +0 -1
  247. package/lib/logger/deprecation-processing.js +0 -81
  248. package/lib/logger/deprecation-processing.js.map +0 -1
  249. package/lib/logger.d.ts +0 -10
  250. package/lib/logger.d.ts.map +0 -1
  251. package/lib/logger.js +0 -20
  252. package/lib/logger.js.map +0 -1
  253. package/lib/plugin.d.ts +0 -94
  254. package/lib/plugin.d.ts.map +0 -1
  255. package/lib/plugin.js +0 -174
  256. package/lib/plugin.js.map +0 -1
  257. package/lib/tree/ampersand.d.ts +0 -94
  258. package/lib/tree/ampersand.d.ts.map +0 -1
  259. package/lib/tree/ampersand.js +0 -269
  260. package/lib/tree/ampersand.js.map +0 -1
  261. package/lib/tree/any.d.ts +0 -58
  262. package/lib/tree/any.d.ts.map +0 -1
  263. package/lib/tree/any.js +0 -104
  264. package/lib/tree/any.js.map +0 -1
  265. package/lib/tree/at-rule.d.ts +0 -53
  266. package/lib/tree/at-rule.d.ts.map +0 -1
  267. package/lib/tree/at-rule.js +0 -503
  268. package/lib/tree/at-rule.js.map +0 -1
  269. package/lib/tree/block.d.ts +0 -22
  270. package/lib/tree/block.d.ts.map +0 -1
  271. package/lib/tree/block.js +0 -24
  272. package/lib/tree/block.js.map +0 -1
  273. package/lib/tree/bool.d.ts +0 -18
  274. package/lib/tree/bool.d.ts.map +0 -1
  275. package/lib/tree/bool.js +0 -28
  276. package/lib/tree/bool.js.map +0 -1
  277. package/lib/tree/call.d.ts +0 -66
  278. package/lib/tree/call.d.ts.map +0 -1
  279. package/lib/tree/call.js +0 -306
  280. package/lib/tree/call.js.map +0 -1
  281. package/lib/tree/collection.d.ts +0 -30
  282. package/lib/tree/collection.d.ts.map +0 -1
  283. package/lib/tree/collection.js +0 -37
  284. package/lib/tree/collection.js.map +0 -1
  285. package/lib/tree/color.d.ts +0 -101
  286. package/lib/tree/color.d.ts.map +0 -1
  287. package/lib/tree/color.js +0 -513
  288. package/lib/tree/color.js.map +0 -1
  289. package/lib/tree/combinator.d.ts +0 -13
  290. package/lib/tree/combinator.d.ts.map +0 -1
  291. package/lib/tree/combinator.js +0 -12
  292. package/lib/tree/combinator.js.map +0 -1
  293. package/lib/tree/comment.d.ts +0 -20
  294. package/lib/tree/comment.d.ts.map +0 -1
  295. package/lib/tree/comment.js +0 -19
  296. package/lib/tree/comment.js.map +0 -1
  297. package/lib/tree/condition.d.ts +0 -31
  298. package/lib/tree/condition.d.ts.map +0 -1
  299. package/lib/tree/condition.js +0 -103
  300. package/lib/tree/condition.js.map +0 -1
  301. package/lib/tree/control.d.ts +0 -104
  302. package/lib/tree/control.d.ts.map +0 -1
  303. package/lib/tree/control.js +0 -430
  304. package/lib/tree/control.js.map +0 -1
  305. package/lib/tree/declaration-custom.d.ts +0 -18
  306. package/lib/tree/declaration-custom.d.ts.map +0 -1
  307. package/lib/tree/declaration-custom.js +0 -24
  308. package/lib/tree/declaration-custom.js.map +0 -1
  309. package/lib/tree/declaration-var.d.ts +0 -35
  310. package/lib/tree/declaration-var.d.ts.map +0 -1
  311. package/lib/tree/declaration-var.js +0 -63
  312. package/lib/tree/declaration-var.js.map +0 -1
  313. package/lib/tree/declaration.d.ts +0 -78
  314. package/lib/tree/declaration.d.ts.map +0 -1
  315. package/lib/tree/declaration.js +0 -286
  316. package/lib/tree/declaration.js.map +0 -1
  317. package/lib/tree/default-guard.d.ts +0 -15
  318. package/lib/tree/default-guard.d.ts.map +0 -1
  319. package/lib/tree/default-guard.js +0 -19
  320. package/lib/tree/default-guard.js.map +0 -1
  321. package/lib/tree/dimension.d.ts +0 -34
  322. package/lib/tree/dimension.d.ts.map +0 -1
  323. package/lib/tree/dimension.js +0 -294
  324. package/lib/tree/dimension.js.map +0 -1
  325. package/lib/tree/expression.d.ts +0 -25
  326. package/lib/tree/expression.d.ts.map +0 -1
  327. package/lib/tree/expression.js +0 -32
  328. package/lib/tree/expression.js.map +0 -1
  329. package/lib/tree/extend-list.d.ts +0 -23
  330. package/lib/tree/extend-list.d.ts.map +0 -1
  331. package/lib/tree/extend-list.js +0 -23
  332. package/lib/tree/extend-list.js.map +0 -1
  333. package/lib/tree/extend.d.ts +0 -47
  334. package/lib/tree/extend.d.ts.map +0 -1
  335. package/lib/tree/extend.js +0 -296
  336. package/lib/tree/extend.js.map +0 -1
  337. package/lib/tree/function.d.ts +0 -48
  338. package/lib/tree/function.d.ts.map +0 -1
  339. package/lib/tree/function.js +0 -74
  340. package/lib/tree/function.js.map +0 -1
  341. package/lib/tree/import-js.d.ts +0 -35
  342. package/lib/tree/import-js.d.ts.map +0 -1
  343. package/lib/tree/import-js.js +0 -45
  344. package/lib/tree/import-js.js.map +0 -1
  345. package/lib/tree/import-style.d.ts +0 -156
  346. package/lib/tree/import-style.d.ts.map +0 -1
  347. package/lib/tree/import-style.js +0 -566
  348. package/lib/tree/import-style.js.map +0 -1
  349. package/lib/tree/index.d.ts +0 -71
  350. package/lib/tree/index.d.ts.map +0 -1
  351. package/lib/tree/index.js.map +0 -1
  352. package/lib/tree/interpolated-reference.d.ts +0 -24
  353. package/lib/tree/interpolated-reference.d.ts.map +0 -1
  354. package/lib/tree/interpolated-reference.js +0 -37
  355. package/lib/tree/interpolated-reference.js.map +0 -1
  356. package/lib/tree/interpolated.d.ts +0 -62
  357. package/lib/tree/interpolated.d.ts.map +0 -1
  358. package/lib/tree/interpolated.js +0 -204
  359. package/lib/tree/interpolated.js.map +0 -1
  360. package/lib/tree/js-array.d.ts +0 -10
  361. package/lib/tree/js-array.d.ts.map +0 -1
  362. package/lib/tree/js-array.js +0 -10
  363. package/lib/tree/js-array.js.map +0 -1
  364. package/lib/tree/js-expr.d.ts +0 -23
  365. package/lib/tree/js-expr.d.ts.map +0 -1
  366. package/lib/tree/js-expr.js +0 -28
  367. package/lib/tree/js-expr.js.map +0 -1
  368. package/lib/tree/js-function.d.ts +0 -20
  369. package/lib/tree/js-function.d.ts.map +0 -1
  370. package/lib/tree/js-function.js +0 -16
  371. package/lib/tree/js-function.js.map +0 -1
  372. package/lib/tree/js-object.d.ts +0 -10
  373. package/lib/tree/js-object.d.ts.map +0 -1
  374. package/lib/tree/js-object.js +0 -10
  375. package/lib/tree/js-object.js.map +0 -1
  376. package/lib/tree/list.d.ts +0 -38
  377. package/lib/tree/list.d.ts.map +0 -1
  378. package/lib/tree/list.js +0 -83
  379. package/lib/tree/list.js.map +0 -1
  380. package/lib/tree/log.d.ts +0 -29
  381. package/lib/tree/log.d.ts.map +0 -1
  382. package/lib/tree/log.js +0 -56
  383. package/lib/tree/log.js.map +0 -1
  384. package/lib/tree/mixin.d.ts +0 -87
  385. package/lib/tree/mixin.d.ts.map +0 -1
  386. package/lib/tree/mixin.js +0 -112
  387. package/lib/tree/mixin.js.map +0 -1
  388. package/lib/tree/negative.d.ts +0 -17
  389. package/lib/tree/negative.d.ts.map +0 -1
  390. package/lib/tree/negative.js +0 -22
  391. package/lib/tree/negative.js.map +0 -1
  392. package/lib/tree/nil.d.ts +0 -30
  393. package/lib/tree/nil.d.ts.map +0 -1
  394. package/lib/tree/nil.js +0 -35
  395. package/lib/tree/nil.js.map +0 -1
  396. package/lib/tree/node-base.d.ts +0 -361
  397. package/lib/tree/node-base.d.ts.map +0 -1
  398. package/lib/tree/node-base.js +0 -930
  399. package/lib/tree/node-base.js.map +0 -1
  400. package/lib/tree/node.d.ts +0 -10
  401. package/lib/tree/node.d.ts.map +0 -1
  402. package/lib/tree/node.js +0 -45
  403. package/lib/tree/node.js.map +0 -1
  404. package/lib/tree/number.d.ts +0 -21
  405. package/lib/tree/number.d.ts.map +0 -1
  406. package/lib/tree/number.js +0 -27
  407. package/lib/tree/number.js.map +0 -1
  408. package/lib/tree/operation.d.ts +0 -26
  409. package/lib/tree/operation.d.ts.map +0 -1
  410. package/lib/tree/operation.js +0 -103
  411. package/lib/tree/operation.js.map +0 -1
  412. package/lib/tree/paren.d.ts +0 -19
  413. package/lib/tree/paren.d.ts.map +0 -1
  414. package/lib/tree/paren.js +0 -92
  415. package/lib/tree/paren.js.map +0 -1
  416. package/lib/tree/query-condition.d.ts +0 -17
  417. package/lib/tree/query-condition.d.ts.map +0 -1
  418. package/lib/tree/query-condition.js +0 -39
  419. package/lib/tree/query-condition.js.map +0 -1
  420. package/lib/tree/quoted.d.ts +0 -28
  421. package/lib/tree/quoted.d.ts.map +0 -1
  422. package/lib/tree/quoted.js +0 -75
  423. package/lib/tree/quoted.js.map +0 -1
  424. package/lib/tree/range.d.ts +0 -33
  425. package/lib/tree/range.d.ts.map +0 -1
  426. package/lib/tree/range.js +0 -47
  427. package/lib/tree/range.js.map +0 -1
  428. package/lib/tree/reference.d.ts +0 -76
  429. package/lib/tree/reference.d.ts.map +0 -1
  430. package/lib/tree/reference.js +0 -521
  431. package/lib/tree/reference.js.map +0 -1
  432. package/lib/tree/rest.d.ts +0 -15
  433. package/lib/tree/rest.d.ts.map +0 -1
  434. package/lib/tree/rest.js +0 -32
  435. package/lib/tree/rest.js.map +0 -1
  436. package/lib/tree/rules-raw.d.ts +0 -17
  437. package/lib/tree/rules-raw.d.ts.map +0 -1
  438. package/lib/tree/rules-raw.js +0 -37
  439. package/lib/tree/rules-raw.js.map +0 -1
  440. package/lib/tree/rules.d.ts +0 -262
  441. package/lib/tree/rules.d.ts.map +0 -1
  442. package/lib/tree/rules.js +0 -2359
  443. package/lib/tree/rules.js.map +0 -1
  444. package/lib/tree/ruleset.d.ts +0 -92
  445. package/lib/tree/ruleset.d.ts.map +0 -1
  446. package/lib/tree/ruleset.js +0 -528
  447. package/lib/tree/ruleset.js.map +0 -1
  448. package/lib/tree/selector-attr.d.ts +0 -31
  449. package/lib/tree/selector-attr.d.ts.map +0 -1
  450. package/lib/tree/selector-attr.js +0 -99
  451. package/lib/tree/selector-attr.js.map +0 -1
  452. package/lib/tree/selector-basic.d.ts +0 -24
  453. package/lib/tree/selector-basic.d.ts.map +0 -1
  454. package/lib/tree/selector-basic.js +0 -38
  455. package/lib/tree/selector-basic.js.map +0 -1
  456. package/lib/tree/selector-capture.d.ts +0 -23
  457. package/lib/tree/selector-capture.d.ts.map +0 -1
  458. package/lib/tree/selector-capture.js +0 -34
  459. package/lib/tree/selector-capture.js.map +0 -1
  460. package/lib/tree/selector-complex.d.ts +0 -40
  461. package/lib/tree/selector-complex.d.ts.map +0 -1
  462. package/lib/tree/selector-complex.js +0 -143
  463. package/lib/tree/selector-complex.js.map +0 -1
  464. package/lib/tree/selector-compound.d.ts +0 -16
  465. package/lib/tree/selector-compound.d.ts.map +0 -1
  466. package/lib/tree/selector-compound.js +0 -114
  467. package/lib/tree/selector-compound.js.map +0 -1
  468. package/lib/tree/selector-interpolated.d.ts +0 -23
  469. package/lib/tree/selector-interpolated.d.ts.map +0 -1
  470. package/lib/tree/selector-interpolated.js +0 -27
  471. package/lib/tree/selector-interpolated.js.map +0 -1
  472. package/lib/tree/selector-list.d.ts +0 -17
  473. package/lib/tree/selector-list.d.ts.map +0 -1
  474. package/lib/tree/selector-list.js +0 -174
  475. package/lib/tree/selector-list.js.map +0 -1
  476. package/lib/tree/selector-pseudo.d.ts +0 -42
  477. package/lib/tree/selector-pseudo.d.ts.map +0 -1
  478. package/lib/tree/selector-pseudo.js +0 -204
  479. package/lib/tree/selector-pseudo.js.map +0 -1
  480. package/lib/tree/selector-simple.d.ts +0 -5
  481. package/lib/tree/selector-simple.d.ts.map +0 -1
  482. package/lib/tree/selector-simple.js +0 -6
  483. package/lib/tree/selector-simple.js.map +0 -1
  484. package/lib/tree/selector.d.ts +0 -43
  485. package/lib/tree/selector.d.ts.map +0 -1
  486. package/lib/tree/selector.js +0 -56
  487. package/lib/tree/selector.js.map +0 -1
  488. package/lib/tree/sequence.d.ts +0 -43
  489. package/lib/tree/sequence.d.ts.map +0 -1
  490. package/lib/tree/sequence.js +0 -151
  491. package/lib/tree/sequence.js.map +0 -1
  492. package/lib/tree/tree.d.ts +0 -87
  493. package/lib/tree/tree.d.ts.map +0 -1
  494. package/lib/tree/tree.js +0 -2
  495. package/lib/tree/tree.js.map +0 -1
  496. package/lib/tree/url.d.ts +0 -18
  497. package/lib/tree/url.d.ts.map +0 -1
  498. package/lib/tree/url.js +0 -35
  499. package/lib/tree/url.js.map +0 -1
  500. package/lib/tree/util/__tests__/debug-log.d.ts +0 -1
  501. package/lib/tree/util/__tests__/debug-log.d.ts.map +0 -1
  502. package/lib/tree/util/__tests__/debug-log.js +0 -36
  503. package/lib/tree/util/__tests__/debug-log.js.map +0 -1
  504. package/lib/tree/util/calculate.d.ts +0 -3
  505. package/lib/tree/util/calculate.d.ts.map +0 -1
  506. package/lib/tree/util/calculate.js +0 -10
  507. package/lib/tree/util/calculate.js.map +0 -1
  508. package/lib/tree/util/cast.d.ts +0 -10
  509. package/lib/tree/util/cast.d.ts.map +0 -1
  510. package/lib/tree/util/cast.js +0 -87
  511. package/lib/tree/util/cast.js.map +0 -1
  512. package/lib/tree/util/cloning.d.ts +0 -4
  513. package/lib/tree/util/cloning.d.ts.map +0 -1
  514. package/lib/tree/util/cloning.js +0 -8
  515. package/lib/tree/util/cloning.js.map +0 -1
  516. package/lib/tree/util/collections.d.ts +0 -57
  517. package/lib/tree/util/collections.d.ts.map +0 -1
  518. package/lib/tree/util/collections.js +0 -136
  519. package/lib/tree/util/collections.js.map +0 -1
  520. package/lib/tree/util/compare.d.ts +0 -11
  521. package/lib/tree/util/compare.d.ts.map +0 -1
  522. package/lib/tree/util/compare.js +0 -89
  523. package/lib/tree/util/compare.js.map +0 -1
  524. package/lib/tree/util/extend-helpers.d.ts +0 -2
  525. package/lib/tree/util/extend-helpers.d.ts.map +0 -1
  526. package/lib/tree/util/extend-helpers.js +0 -2
  527. package/lib/tree/util/extend-helpers.js.map +0 -1
  528. package/lib/tree/util/extend-roots.d.ts +0 -37
  529. package/lib/tree/util/extend-roots.d.ts.map +0 -1
  530. package/lib/tree/util/extend-roots.js +0 -700
  531. package/lib/tree/util/extend-roots.js.map +0 -1
  532. package/lib/tree/util/extend-roots.old.d.ts +0 -132
  533. package/lib/tree/util/extend-roots.old.d.ts.map +0 -1
  534. package/lib/tree/util/extend-roots.old.js +0 -2272
  535. package/lib/tree/util/extend-roots.old.js.map +0 -1
  536. package/lib/tree/util/extend-trace-debug.d.ts +0 -13
  537. package/lib/tree/util/extend-trace-debug.d.ts.map +0 -1
  538. package/lib/tree/util/extend-trace-debug.js +0 -34
  539. package/lib/tree/util/extend-trace-debug.js.map +0 -1
  540. package/lib/tree/util/extend-walk.d.ts +0 -53
  541. package/lib/tree/util/extend-walk.d.ts.map +0 -1
  542. package/lib/tree/util/extend-walk.js +0 -881
  543. package/lib/tree/util/extend-walk.js.map +0 -1
  544. package/lib/tree/util/extend.d.ts +0 -218
  545. package/lib/tree/util/extend.d.ts.map +0 -1
  546. package/lib/tree/util/extend.js +0 -3182
  547. package/lib/tree/util/extend.js.map +0 -1
  548. package/lib/tree/util/find-extendable-locations.d.ts +0 -2
  549. package/lib/tree/util/find-extendable-locations.d.ts.map +0 -1
  550. package/lib/tree/util/find-extendable-locations.js +0 -2
  551. package/lib/tree/util/find-extendable-locations.js.map +0 -1
  552. package/lib/tree/util/format.d.ts +0 -20
  553. package/lib/tree/util/format.d.ts.map +0 -1
  554. package/lib/tree/util/format.js +0 -67
  555. package/lib/tree/util/format.js.map +0 -1
  556. package/lib/tree/util/is-node.d.ts +0 -13
  557. package/lib/tree/util/is-node.d.ts.map +0 -1
  558. package/lib/tree/util/is-node.js +0 -43
  559. package/lib/tree/util/is-node.js.map +0 -1
  560. package/lib/tree/util/print.d.ts +0 -80
  561. package/lib/tree/util/print.d.ts.map +0 -1
  562. package/lib/tree/util/print.js +0 -205
  563. package/lib/tree/util/print.js.map +0 -1
  564. package/lib/tree/util/process-leading-is.d.ts +0 -25
  565. package/lib/tree/util/process-leading-is.d.ts.map +0 -1
  566. package/lib/tree/util/process-leading-is.js +0 -364
  567. package/lib/tree/util/process-leading-is.js.map +0 -1
  568. package/lib/tree/util/recursion-helper.d.ts +0 -15
  569. package/lib/tree/util/recursion-helper.d.ts.map +0 -1
  570. package/lib/tree/util/recursion-helper.js +0 -43
  571. package/lib/tree/util/recursion-helper.js.map +0 -1
  572. package/lib/tree/util/regex.d.ts +0 -4
  573. package/lib/tree/util/regex.d.ts.map +0 -1
  574. package/lib/tree/util/regex.js +0 -4
  575. package/lib/tree/util/regex.js.map +0 -1
  576. package/lib/tree/util/registry-utils.d.ts +0 -192
  577. package/lib/tree/util/registry-utils.d.ts.map +0 -1
  578. package/lib/tree/util/registry-utils.js +0 -1214
  579. package/lib/tree/util/registry-utils.js.map +0 -1
  580. package/lib/tree/util/ruleset-trace.d.ts +0 -4
  581. package/lib/tree/util/ruleset-trace.d.ts.map +0 -1
  582. package/lib/tree/util/ruleset-trace.js +0 -14
  583. package/lib/tree/util/ruleset-trace.js.map +0 -1
  584. package/lib/tree/util/selector-compare.d.ts +0 -2
  585. package/lib/tree/util/selector-compare.d.ts.map +0 -1
  586. package/lib/tree/util/selector-compare.js +0 -2
  587. package/lib/tree/util/selector-compare.js.map +0 -1
  588. package/lib/tree/util/selector-match-core.d.ts +0 -184
  589. package/lib/tree/util/selector-match-core.d.ts.map +0 -1
  590. package/lib/tree/util/selector-match-core.js +0 -1603
  591. package/lib/tree/util/selector-match-core.js.map +0 -1
  592. package/lib/tree/util/selector-utils.d.ts +0 -30
  593. package/lib/tree/util/selector-utils.d.ts.map +0 -1
  594. package/lib/tree/util/selector-utils.js +0 -100
  595. package/lib/tree/util/selector-utils.js.map +0 -1
  596. package/lib/tree/util/serialize-helper.d.ts +0 -13
  597. package/lib/tree/util/serialize-helper.d.ts.map +0 -1
  598. package/lib/tree/util/serialize-helper.js +0 -387
  599. package/lib/tree/util/serialize-helper.js.map +0 -1
  600. package/lib/tree/util/serialize-types.d.ts +0 -9
  601. package/lib/tree/util/serialize-types.d.ts.map +0 -1
  602. package/lib/tree/util/serialize-types.js +0 -216
  603. package/lib/tree/util/serialize-types.js.map +0 -1
  604. package/lib/tree/util/should-operate.d.ts +0 -23
  605. package/lib/tree/util/should-operate.d.ts.map +0 -1
  606. package/lib/tree/util/should-operate.js +0 -46
  607. package/lib/tree/util/should-operate.js.map +0 -1
  608. package/lib/tree/util/sourcemap.d.ts +0 -7
  609. package/lib/tree/util/sourcemap.d.ts.map +0 -1
  610. package/lib/tree/util/sourcemap.js +0 -25
  611. package/lib/tree/util/sourcemap.js.map +0 -1
  612. package/lib/types/config.d.ts +0 -205
  613. package/lib/types/config.d.ts.map +0 -1
  614. package/lib/types/config.js +0 -2
  615. package/lib/types/config.js.map +0 -1
  616. package/lib/types/index.d.ts +0 -15
  617. package/lib/types/index.d.ts.map +0 -1
  618. package/lib/types/index.js +0 -3
  619. package/lib/types/index.js.map +0 -1
  620. package/lib/types/modes.d.ts.map +0 -1
  621. package/lib/types/modes.js +0 -2
  622. package/lib/types/modes.js.map +0 -1
  623. package/lib/types.d.ts +0 -61
  624. package/lib/types.d.ts.map +0 -1
  625. package/lib/types.js +0 -2
  626. package/lib/types.js.map +0 -1
  627. package/lib/use-webpack-resolver.d.ts +0 -9
  628. package/lib/use-webpack-resolver.d.ts.map +0 -1
  629. package/lib/use-webpack-resolver.js +0 -41
  630. package/lib/use-webpack-resolver.js.map +0 -1
  631. package/lib/visitor/index.d.ts +0 -136
  632. package/lib/visitor/index.d.ts.map +0 -1
  633. package/lib/visitor/index.js +0 -135
  634. package/lib/visitor/index.js.map +0 -1
  635. package/lib/visitor/less-visitor.d.ts +0 -7
  636. package/lib/visitor/less-visitor.d.ts.map +0 -1
  637. package/lib/visitor/less-visitor.js.map +0 -1
@@ -1,361 +0,0 @@
1
- import { type TreeContext, type Context } from '../context.js';
2
- import { type Visitor } from '../visitor/index.js';
3
- import { type Operator } from './util/calculate.js';
4
- import type { Class, AbstractClass, Tagged } from 'type-fest';
5
- import type { Comment } from './comment.js';
6
- import { type PrintOptions } from './util/print.js';
7
- import { type MaybePromise } from '@jesscss/awaitable-pipe';
8
- import type { Rules } from './rules.js';
9
- import type { Nil } from './nil.js';
10
- export type { TreeContext };
11
- type AllNodeOptions = {
12
- /**
13
- * This seems harder to implement. For now, for anything that needs
14
- * to be flattened, we hoist it to the root.
15
- */
16
- /**
17
- * For statements with optional semis,
18
- * we flag this for accurate re-serialization.
19
- *
20
- * @todo - Not sure if we actually need this, but it's here
21
- * if we wanted a concrete syntax tree.
22
- */
23
- semi?: boolean;
24
- };
25
- /**
26
- * @todo - Clean up and delete these types and symbols, if not used.
27
- */
28
- export type Primitive = undefined | boolean | string | number;
29
- export type PrimitiveOrFunc = Primitive | ((...args: any[]) => any);
30
- export declare const ABORT: unique symbol;
31
- export declare const REMOVE: unique symbol;
32
- export declare const IS_PROXY: unique symbol;
33
- export type NodeVisitReturn = void | Node | symbol;
34
- export type NodeOptions = Record<string, any> & AllNodeOptions;
35
- export declare const DEFAULT_DATA = "value";
36
- type BasicNodeTypes = PrimitiveOrFunc | Node;
37
- type NodeRecordValue = BasicNodeTypes | Array<BasicNodeTypes | PrimitiveOrFunc[]> | Record<string, any>;
38
- export type NodeValueObject = Record<string, NodeRecordValue>;
39
- export type NodeValue = BasicNodeTypes | BasicNodeTypes[] | NodeValueObject;
40
- export type NodeMapArray<T extends NodeValueObject = NodeValueObject, K = keyof T, V = T[string]> = Array<[K, V]>;
41
- export type LocationInfo = [
42
- startOffset: number,
43
- startLine: number,
44
- startColumn: number,
45
- endOffset: number,
46
- endLine: number,
47
- endColumn: number
48
- ];
49
- /**
50
- * Utility type to mark a node's value as generated
51
- */
52
- export type GeneratedNodeValue<T> = T extends object ? T & {
53
- generated: true;
54
- } : T;
55
- /**
56
- * @todo I think the only utility for this now is we collect
57
- * the types of nodes in the tree at first evaluation time.
58
- */
59
- export declare const defineType: <V = never, T extends AbstractClass<Node> = AbstractClass<Node>, P extends ConstructorParameters<T> = ConstructorParameters<T>>(Clazz: T, type: string, shortType?: string) => (...args: [value?: V | P[0] | undefined, options?: P[1] | undefined, location?: P[2] | undefined]) => T extends Class<infer C> ? C : never;
60
- export type ConditionOperator = 'and' | 'or' | '=' | '>' | '<' | '>=' | '<=';
61
- export type NoOverride<T> = Tagged<T, 'NoOverride'>;
62
- export declare const F_VISIBLE = 1;
63
- export declare const F_MAY_ASYNC = 2;
64
- /**
65
- * @todo - The plan is to use these as signals for evaluation. If we
66
- * bubble these correctly, then we can exit early from evaluation for
67
- * a speed boost. However, bubbling is not yet water-tight and needs
68
- * test coverage.
69
- */
70
- export declare const F_STATIC = 4;
71
- export declare const F_NON_STATIC = 8;
72
- /** Whether or not a physical ampersand is in this selector */
73
- export declare const F_AMPERSAND = 16;
74
- /** Whether an ampersand was implicitly added (not written by user) */
75
- export declare const F_IMPLICIT_AMPERSAND = 32;
76
- /** Selector item produced by extend and eligible for reference-mode rendering. */
77
- export declare const F_EXTENDED = 64;
78
- /** Selector item that matches an extend target and should be suppressed in reference-mode output. */
79
- export declare const F_EXTEND_TARGET = 128;
80
- export declare const F_DEFAULT = 1;
81
- /**
82
- * The underlying type for all Jess nodes
83
- */
84
- export declare abstract class Node<Data = unknown, O extends NodeOptions = NodeOptions> {
85
- _location: LocationInfo | [] | undefined;
86
- get location(): LocationInfo | [];
87
- private _treeContext;
88
- /** Assigned in index to avoid circularity */
89
- readonly treeContext: TreeContext;
90
- private _options;
91
- get options(): O & AllNodeOptions;
92
- set options(options: O & AllNodeOptions);
93
- /**
94
- * Assigned on the prototype, make sure we don't initialize
95
- */
96
- abstract type: string;
97
- abstract shortType: string;
98
- get types(): Set<string>;
99
- /**
100
- * Whitespace or comments before or after a Node.
101
- *
102
- * If this is `1`, it represents a single space character (' ').
103
- * If it's 0, it means there were no pre/post tokens when parsed.
104
- * If undefined, it means this was created using the API, and default
105
- * formatting can be used.
106
- * In a NodeList, any whitespace tokens outside of comments are individually represented,
107
- * because they are preserved while the comment may not be.
108
- */
109
- /** Nil type is resolved at runtime via prototype patching */
110
- pre: Array<Comment | Node | string> | 1 | 0 | undefined;
111
- post: Array<Comment | Node | string> | 1 | 0 | undefined;
112
- /** Will be copied during inherit */
113
- state: number;
114
- /** Runtime tracking: has preEval been run on this node? */
115
- preEvaluated: boolean;
116
- /** Runtime tracking: has eval been run on this node? */
117
- evaluated: boolean;
118
- get visible(): boolean;
119
- fullRender: boolean;
120
- allowRoot: boolean;
121
- allowRuleRoot: boolean;
122
- hoistToRoot: boolean | undefined;
123
- /**
124
- * Code internally should call .create() when making new
125
- * nodes, which will automatically mark the node as generated.
126
- */
127
- generated: boolean;
128
- /**
129
- * If the node must have a semi separator before
130
- * the next node when in a declaration list or main
131
- * rules list.
132
- */
133
- _requiredSemi: boolean;
134
- get requiredSemi(): boolean;
135
- set requiredSemi(value: boolean);
136
- /**
137
- * Track the original source when cloned / copied,
138
- * rather than keeping the entire tree
139
- * Note: This property is defined in constructor as non-enumerable
140
- */
141
- sourceNode: Node;
142
- /**
143
- * When evaluating, nodes are assigned an index and depth by the Rules node.
144
- * This is used for lookup order. Note, this _will_ be undefined
145
- * initially, but we assign it in the Rules node, which is also
146
- * where we read it, so this makes the type easier.
147
- */
148
- index: number;
149
- /** @todo - Is there a reliable way to cache this? */
150
- get depth(): number;
151
- /**
152
- * If true, prevents re-parenting of this node.
153
- * This is used to maintain source lookup chains.
154
- */
155
- frozen: boolean;
156
- /**
157
- * The parent node of this node. Usually, this
158
- * shouldn't be set directly. Instead, a parent should use
159
- * parent.adopt(thisNode);
160
- */
161
- readonly parent: Node | undefined;
162
- sourceParent: Node | undefined;
163
- /** Patched at runtime in node.ts to return Nil instance */
164
- nil: () => Nil;
165
- protected _value: Data;
166
- /**
167
- * This is the internal `data` of the node.
168
- */
169
- get value(): Data;
170
- set value(val: Data);
171
- /**
172
- * This wraps the value in a proxy if it's an object or array.
173
- * We do this so that assignment to the sub-nodes will properly
174
- * set the parent of the sub-nodes.
175
- *
176
- * @todo - Test parent setting for objects / arrays.
177
- */
178
- private _tryProxyWrap;
179
- /**
180
- * Add a flag to the node's state
181
- * Handles STATIC/NON_STATIC exclusivity automatically
182
- */
183
- addFlag(flag: number): void;
184
- /**
185
- * Remove a flag from the node's state
186
- */
187
- removeFlag(flag: number): void;
188
- /**
189
- * Check if the node has a specific flag
190
- */
191
- hasFlag(flag: number): boolean;
192
- /**
193
- * Add multiple flags to the node's state
194
- */
195
- addFlags(...flags: number[]): void;
196
- adopt(node: Node): void;
197
- /**
198
- * Assign parent to sub-nodes
199
- * @note - This will not process the children nodes of children nodes.
200
- */
201
- private _processNodes;
202
- constructor(value: Data, options?: O, location?: LocationInfo, treeContext?: TreeContext);
203
- /**
204
- * Static factory method to create a generated node.
205
- * Has the exact same signature as the constructor but automatically marks the node as generated.
206
- *
207
- * @param value - The node's value data
208
- * @param options - Node options
209
- * @param location - Location information
210
- * @param treeContext - Tree context
211
- * @returns A new node instance with generated flag set if applicable
212
- */
213
- static create<T extends new (...args: any[]) => Node>(this: T, value: ConstructorParameters<T>[0], options?: ConstructorParameters<T>[1], location?: ConstructorParameters<T>[2], treeContext?: ConstructorParameters<T>[3]): InstanceType<T>;
214
- get rulesParent(): Rules | undefined;
215
- get sourceRulesParent(): Rules | undefined;
216
- /**
217
- * Mutates node children in place. Used by eval()?
218
- *
219
- * Processed nodes must always return a Node.
220
- */
221
- forEachNode(func: (n: Node, idx?: number) => MaybePromise<Node>): MaybePromise<void | undefined>;
222
- private _forEachNodeSync;
223
- static nodeAndPrePost(node: Node): Generator<Node<unknown, NodeOptions> | Comment, void, unknown>;
224
- /**
225
- * Return an iterator for all nodes / children nodes, including this one
226
- */
227
- nodes(reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
228
- /**
229
- * An iterator for all node children
230
- * @todo - Replace `walkNodes` with this?
231
- */
232
- children(deep?: boolean, reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
233
- /**
234
- * @todo - Remove?
235
- */
236
- /**
237
- * Accept a visitor (classic visitor pattern).
238
- *
239
- * Visits the node itself first, then recursively visits children.
240
- * This matches the Less.js visitor pattern and allows nodes to control
241
- * their own traversal if needed by overriding this method.
242
- *
243
- * @param visitor - The visitor to accept
244
- * @returns The result from visiting this node (may be a replacement node)
245
- */
246
- accept(visitor: Visitor): Node;
247
- /**
248
- * @todo
249
- * Write tests that make sure that a maybe clone without preserveOriginalNodes
250
- * does not clone the nodes, but a maybeClone with preserveOriginalNodes
251
- * does clone the nodes all through the tree.
252
- */
253
- maybeClone(context: Context, deep?: boolean, cloneFn?: (n: Node) => Node): this;
254
- clonedEval(context: Context): MaybePromise<Node>;
255
- /**
256
- * Creates a copy of the current node.
257
- *
258
- * @note - In the Less source, nodes were always cloned before
259
- * mutating, which is why I did it here. However... the only
260
- * utility for cloning is to preserve the original node,
261
- * or (maybe?) to create a copy which is output differently.
262
- *
263
- * But... considering the high cost of cloning in terms of
264
- * object creation, and the low utility of preserving the original
265
- * node, I think we should just only clone when we need to.
266
- */
267
- clone(deep?: boolean, cloneFn?: (n: Node) => Node): this;
268
- /** Remove comments from pre/post */
269
- stripPrePost(n: Node, preOrPost: 'pre' | 'post'): void;
270
- /** Minimal nil fallback for edge cases where prototype method isn't attached yet */
271
- private _createMinimalNil;
272
- /**
273
- * Same as clone except comments are stripped.
274
- * This is used for variable referencing and
275
- * selector extending.
276
- */
277
- copy(deep?: boolean, cloneFn?: (n: Node) => Node): this;
278
- /**
279
- * `preEval` takes the following steps, which are extended in subclasses:
280
- * 1. Clone the node (if the source node is wanted/needed)
281
- * 2. Set `preEvaluated` to true
282
- * 3. pre-evaluate all children
283
- * 4. Return the node
284
- *
285
- * Mostly this is overridden to resolve names before registering.
286
- *
287
- * @todo - Update preEval / eval to use static evaluation based on flags.
288
- */
289
- preEval(context: Context): MaybePromise<Node>;
290
- /**
291
- * This is the method all nodes will override.
292
- * Individual nodes will specify / narrow return type
293
- *
294
- * By default, evals all children
295
- */
296
- protected evalNode(context: Context): MaybePromise<Node>;
297
- static evalStatic(node: Node, context: Context): MaybePromise<Node>;
298
- private static _evalStaticSync;
299
- /**
300
- * @note - Make sure you don't call super.eval while evaluating a node. Call it indirectly
301
- * from another node.
302
- */
303
- eval(context: Context): MaybePromise<Node>;
304
- /**
305
- * This is used when a Node will replace another node.
306
- */
307
- inherit(node: Node): this;
308
- /**
309
- * Represents the normalized string value of the node,
310
- * for the purposes of comparison with other nodes,
311
- * regardless of type.
312
- *
313
- * Derived nodes will override this with different
314
- * normalization algorithms.
315
- */
316
- valueOf(): Primitive;
317
- processPrePost(key: 'pre' | 'post', defaultVal: string | undefined, options: PrintOptions): string;
318
- /**
319
- * This re-serializes the node, if needed. Will
320
- * likely be over-ridden in some cases.
321
- *
322
- * Note that this is the "as-is" representation of the
323
- * node, not the "evaluated" version.
324
- *
325
- * Note that the ToCssVisitor will be a little
326
- * more sophisticated, as it will re-format
327
- * to some extent by replacing newlines + spacing
328
- * with the appropriate amount of whitespace.
329
- *
330
- * @note toString() will, by default, include pre/post
331
- * white-space and comments, to make serialization
332
- * easy.
333
- *
334
- * In almost all Node cases, this should not be overriden,
335
- * and toTrimmedString() should be overridden instead.
336
- */
337
- toString(options?: PrintOptions): string;
338
- /**
339
- * The form of the node without pre/post comments and white-space
340
- *
341
- * @note - Internally, this still calls `toString()` on each value,
342
- * so that the internal spacing of the node serialization is
343
- * correct. This method just serializes a node without the outer
344
- * pre/post nodes.
345
- */
346
- toTrimmedString(options?: PrintOptions): string;
347
- /**
348
- * Individual node types will override this.
349
- *
350
- * This is just a default implementation.
351
- * 0 = equal (==)
352
- * 1 = greater than (>)
353
- * -1 = less than (<)
354
- * undefined = not comparable
355
- */
356
- compare(b: Node, context?: Context): 0 | 1 | -1 | undefined;
357
- /** Overridden in index.ts to avoid circularity */
358
- operate(b: Node, op: Operator, context: Context): Node;
359
- static numericCompare(a: number, b: number): 0 | 1 | -1;
360
- }
361
- //# sourceMappingURL=node-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-base.d.ts","sourceRoot":"","sources":["../../src/tree/node-base.ts"],"names":[],"mappings":"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"}