@jesscss/core 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/lib/context.d.ts +352 -0
  4. package/lib/context.d.ts.map +1 -0
  5. package/lib/context.js +636 -0
  6. package/lib/context.js.map +1 -0
  7. package/lib/conversions.d.ts +73 -0
  8. package/lib/conversions.d.ts.map +1 -0
  9. package/lib/conversions.js +253 -0
  10. package/lib/conversions.js.map +1 -0
  11. package/lib/debug-log.d.ts +2 -0
  12. package/lib/debug-log.d.ts.map +1 -0
  13. package/lib/debug-log.js +27 -0
  14. package/lib/debug-log.js.map +1 -0
  15. package/lib/define-function.d.ts +587 -0
  16. package/lib/define-function.d.ts.map +1 -0
  17. package/lib/define-function.js +726 -0
  18. package/lib/define-function.js.map +1 -0
  19. package/lib/deprecation.d.ts +34 -0
  20. package/lib/deprecation.d.ts.map +1 -0
  21. package/lib/deprecation.js +57 -0
  22. package/lib/deprecation.js.map +1 -0
  23. package/lib/index.d.ts +22 -0
  24. package/lib/index.d.ts.map +1 -0
  25. package/lib/index.js +23 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/jess-error.d.ts +343 -0
  28. package/lib/jess-error.d.ts.map +1 -0
  29. package/lib/jess-error.js +508 -0
  30. package/lib/jess-error.js.map +1 -0
  31. package/lib/logger/deprecation-processing.d.ts +41 -0
  32. package/lib/logger/deprecation-processing.d.ts.map +1 -0
  33. package/lib/logger/deprecation-processing.js +81 -0
  34. package/lib/logger/deprecation-processing.js.map +1 -0
  35. package/lib/logger.d.ts +10 -0
  36. package/lib/logger.d.ts.map +1 -0
  37. package/lib/logger.js +20 -0
  38. package/lib/logger.js.map +1 -0
  39. package/lib/plugin.d.ts +94 -0
  40. package/lib/plugin.d.ts.map +1 -0
  41. package/lib/plugin.js +174 -0
  42. package/lib/plugin.js.map +1 -0
  43. package/lib/tree/ampersand.d.ts +94 -0
  44. package/lib/tree/ampersand.d.ts.map +1 -0
  45. package/lib/tree/ampersand.js +269 -0
  46. package/lib/tree/ampersand.js.map +1 -0
  47. package/lib/tree/any.d.ts +58 -0
  48. package/lib/tree/any.d.ts.map +1 -0
  49. package/lib/tree/any.js +101 -0
  50. package/lib/tree/any.js.map +1 -0
  51. package/lib/tree/at-rule.d.ts +53 -0
  52. package/lib/tree/at-rule.d.ts.map +1 -0
  53. package/lib/tree/at-rule.js +503 -0
  54. package/lib/tree/at-rule.js.map +1 -0
  55. package/lib/tree/block.d.ts +22 -0
  56. package/lib/tree/block.d.ts.map +1 -0
  57. package/lib/tree/block.js +24 -0
  58. package/lib/tree/block.js.map +1 -0
  59. package/lib/tree/bool.d.ts +17 -0
  60. package/lib/tree/bool.d.ts.map +1 -0
  61. package/lib/tree/bool.js +24 -0
  62. package/lib/tree/bool.js.map +1 -0
  63. package/lib/tree/call.d.ts +66 -0
  64. package/lib/tree/call.d.ts.map +1 -0
  65. package/lib/tree/call.js +306 -0
  66. package/lib/tree/call.js.map +1 -0
  67. package/lib/tree/collection.d.ts +30 -0
  68. package/lib/tree/collection.d.ts.map +1 -0
  69. package/lib/tree/collection.js +37 -0
  70. package/lib/tree/collection.js.map +1 -0
  71. package/lib/tree/color.d.ts +101 -0
  72. package/lib/tree/color.d.ts.map +1 -0
  73. package/lib/tree/color.js +513 -0
  74. package/lib/tree/color.js.map +1 -0
  75. package/lib/tree/combinator.d.ts +12 -0
  76. package/lib/tree/combinator.d.ts.map +1 -0
  77. package/lib/tree/combinator.js +8 -0
  78. package/lib/tree/combinator.js.map +1 -0
  79. package/lib/tree/comment.d.ts +20 -0
  80. package/lib/tree/comment.d.ts.map +1 -0
  81. package/lib/tree/comment.js +18 -0
  82. package/lib/tree/comment.js.map +1 -0
  83. package/lib/tree/condition.d.ts +31 -0
  84. package/lib/tree/condition.d.ts.map +1 -0
  85. package/lib/tree/condition.js +103 -0
  86. package/lib/tree/condition.js.map +1 -0
  87. package/lib/tree/control.d.ts +104 -0
  88. package/lib/tree/control.d.ts.map +1 -0
  89. package/lib/tree/control.js +430 -0
  90. package/lib/tree/control.js.map +1 -0
  91. package/lib/tree/declaration-custom.d.ts +18 -0
  92. package/lib/tree/declaration-custom.d.ts.map +1 -0
  93. package/lib/tree/declaration-custom.js +24 -0
  94. package/lib/tree/declaration-custom.js.map +1 -0
  95. package/lib/tree/declaration-var.d.ts +36 -0
  96. package/lib/tree/declaration-var.d.ts.map +1 -0
  97. package/lib/tree/declaration-var.js +63 -0
  98. package/lib/tree/declaration-var.js.map +1 -0
  99. package/lib/tree/declaration.d.ts +78 -0
  100. package/lib/tree/declaration.d.ts.map +1 -0
  101. package/lib/tree/declaration.js +289 -0
  102. package/lib/tree/declaration.js.map +1 -0
  103. package/lib/tree/default-guard.d.ts +15 -0
  104. package/lib/tree/default-guard.d.ts.map +1 -0
  105. package/lib/tree/default-guard.js +19 -0
  106. package/lib/tree/default-guard.js.map +1 -0
  107. package/lib/tree/dimension.d.ts +33 -0
  108. package/lib/tree/dimension.d.ts.map +1 -0
  109. package/lib/tree/dimension.js +291 -0
  110. package/lib/tree/dimension.js.map +1 -0
  111. package/lib/tree/expression.d.ts +24 -0
  112. package/lib/tree/expression.d.ts.map +1 -0
  113. package/lib/tree/expression.js +28 -0
  114. package/lib/tree/expression.js.map +1 -0
  115. package/lib/tree/extend-list.d.ts +23 -0
  116. package/lib/tree/extend-list.d.ts.map +1 -0
  117. package/lib/tree/extend-list.js +20 -0
  118. package/lib/tree/extend-list.js.map +1 -0
  119. package/lib/tree/extend.d.ts +47 -0
  120. package/lib/tree/extend.d.ts.map +1 -0
  121. package/lib/tree/extend.js +292 -0
  122. package/lib/tree/extend.js.map +1 -0
  123. package/lib/tree/function.d.ts +48 -0
  124. package/lib/tree/function.d.ts.map +1 -0
  125. package/lib/tree/function.js +74 -0
  126. package/lib/tree/function.js.map +1 -0
  127. package/lib/tree/import-js.d.ts +35 -0
  128. package/lib/tree/import-js.d.ts.map +1 -0
  129. package/lib/tree/import-js.js +45 -0
  130. package/lib/tree/import-js.js.map +1 -0
  131. package/lib/tree/import-style.d.ts +156 -0
  132. package/lib/tree/import-style.d.ts.map +1 -0
  133. package/lib/tree/import-style.js +556 -0
  134. package/lib/tree/import-style.js.map +1 -0
  135. package/lib/tree/index.d.ts +71 -0
  136. package/lib/tree/index.d.ts.map +1 -0
  137. package/lib/tree/index.js +95 -0
  138. package/lib/tree/index.js.map +1 -0
  139. package/lib/tree/interpolated-reference.d.ts +24 -0
  140. package/lib/tree/interpolated-reference.d.ts.map +1 -0
  141. package/lib/tree/interpolated-reference.js +37 -0
  142. package/lib/tree/interpolated-reference.js.map +1 -0
  143. package/lib/tree/interpolated.d.ts +62 -0
  144. package/lib/tree/interpolated.d.ts.map +1 -0
  145. package/lib/tree/interpolated.js +204 -0
  146. package/lib/tree/interpolated.js.map +1 -0
  147. package/lib/tree/js-array.d.ts +10 -0
  148. package/lib/tree/js-array.d.ts.map +1 -0
  149. package/lib/tree/js-array.js +10 -0
  150. package/lib/tree/js-array.js.map +1 -0
  151. package/lib/tree/js-expr.d.ts +23 -0
  152. package/lib/tree/js-expr.d.ts.map +1 -0
  153. package/lib/tree/js-expr.js +28 -0
  154. package/lib/tree/js-expr.js.map +1 -0
  155. package/lib/tree/js-function.d.ts +20 -0
  156. package/lib/tree/js-function.d.ts.map +1 -0
  157. package/lib/tree/js-function.js +16 -0
  158. package/lib/tree/js-function.js.map +1 -0
  159. package/lib/tree/js-object.d.ts +10 -0
  160. package/lib/tree/js-object.d.ts.map +1 -0
  161. package/lib/tree/js-object.js +10 -0
  162. package/lib/tree/js-object.js.map +1 -0
  163. package/lib/tree/list.d.ts +38 -0
  164. package/lib/tree/list.d.ts.map +1 -0
  165. package/lib/tree/list.js +83 -0
  166. package/lib/tree/list.js.map +1 -0
  167. package/lib/tree/log.d.ts +29 -0
  168. package/lib/tree/log.d.ts.map +1 -0
  169. package/lib/tree/log.js +56 -0
  170. package/lib/tree/log.js.map +1 -0
  171. package/lib/tree/mixin.d.ts +87 -0
  172. package/lib/tree/mixin.d.ts.map +1 -0
  173. package/lib/tree/mixin.js +112 -0
  174. package/lib/tree/mixin.js.map +1 -0
  175. package/lib/tree/negative.d.ts +17 -0
  176. package/lib/tree/negative.d.ts.map +1 -0
  177. package/lib/tree/negative.js +22 -0
  178. package/lib/tree/negative.js.map +1 -0
  179. package/lib/tree/nil.d.ts +31 -0
  180. package/lib/tree/nil.d.ts.map +1 -0
  181. package/lib/tree/nil.js +36 -0
  182. package/lib/tree/nil.js.map +1 -0
  183. package/lib/tree/node-base.d.ts +359 -0
  184. package/lib/tree/node-base.d.ts.map +1 -0
  185. package/lib/tree/node-base.js +884 -0
  186. package/lib/tree/node-base.js.map +1 -0
  187. package/lib/tree/node.d.ts +10 -0
  188. package/lib/tree/node.d.ts.map +1 -0
  189. package/lib/tree/node.js +45 -0
  190. package/lib/tree/node.js.map +1 -0
  191. package/lib/tree/number.d.ts +21 -0
  192. package/lib/tree/number.d.ts.map +1 -0
  193. package/lib/tree/number.js +27 -0
  194. package/lib/tree/number.js.map +1 -0
  195. package/lib/tree/operation.d.ts +26 -0
  196. package/lib/tree/operation.d.ts.map +1 -0
  197. package/lib/tree/operation.js +103 -0
  198. package/lib/tree/operation.js.map +1 -0
  199. package/lib/tree/paren.d.ts +18 -0
  200. package/lib/tree/paren.d.ts.map +1 -0
  201. package/lib/tree/paren.js +86 -0
  202. package/lib/tree/paren.js.map +1 -0
  203. package/lib/tree/query-condition.d.ts +17 -0
  204. package/lib/tree/query-condition.d.ts.map +1 -0
  205. package/lib/tree/query-condition.js +39 -0
  206. package/lib/tree/query-condition.js.map +1 -0
  207. package/lib/tree/quoted.d.ts +27 -0
  208. package/lib/tree/quoted.d.ts.map +1 -0
  209. package/lib/tree/quoted.js +66 -0
  210. package/lib/tree/quoted.js.map +1 -0
  211. package/lib/tree/range.d.ts +33 -0
  212. package/lib/tree/range.d.ts.map +1 -0
  213. package/lib/tree/range.js +47 -0
  214. package/lib/tree/range.js.map +1 -0
  215. package/lib/tree/reference.d.ts +76 -0
  216. package/lib/tree/reference.d.ts.map +1 -0
  217. package/lib/tree/reference.js +521 -0
  218. package/lib/tree/reference.js.map +1 -0
  219. package/lib/tree/rest.d.ts +15 -0
  220. package/lib/tree/rest.d.ts.map +1 -0
  221. package/lib/tree/rest.js +32 -0
  222. package/lib/tree/rest.js.map +1 -0
  223. package/lib/tree/rules-raw.d.ts +17 -0
  224. package/lib/tree/rules-raw.d.ts.map +1 -0
  225. package/lib/tree/rules-raw.js +37 -0
  226. package/lib/tree/rules-raw.js.map +1 -0
  227. package/lib/tree/rules.d.ts +255 -0
  228. package/lib/tree/rules.d.ts.map +1 -0
  229. package/lib/tree/rules.js +2293 -0
  230. package/lib/tree/rules.js.map +1 -0
  231. package/lib/tree/ruleset.d.ts +91 -0
  232. package/lib/tree/ruleset.d.ts.map +1 -0
  233. package/lib/tree/ruleset.js +506 -0
  234. package/lib/tree/ruleset.js.map +1 -0
  235. package/lib/tree/selector-attr.d.ts +31 -0
  236. package/lib/tree/selector-attr.d.ts.map +1 -0
  237. package/lib/tree/selector-attr.js +99 -0
  238. package/lib/tree/selector-attr.js.map +1 -0
  239. package/lib/tree/selector-basic.d.ts +23 -0
  240. package/lib/tree/selector-basic.d.ts.map +1 -0
  241. package/lib/tree/selector-basic.js +34 -0
  242. package/lib/tree/selector-basic.js.map +1 -0
  243. package/lib/tree/selector-capture.d.ts +23 -0
  244. package/lib/tree/selector-capture.d.ts.map +1 -0
  245. package/lib/tree/selector-capture.js +34 -0
  246. package/lib/tree/selector-capture.js.map +1 -0
  247. package/lib/tree/selector-complex.d.ts +40 -0
  248. package/lib/tree/selector-complex.d.ts.map +1 -0
  249. package/lib/tree/selector-complex.js +143 -0
  250. package/lib/tree/selector-complex.js.map +1 -0
  251. package/lib/tree/selector-compound.d.ts +16 -0
  252. package/lib/tree/selector-compound.d.ts.map +1 -0
  253. package/lib/tree/selector-compound.js +114 -0
  254. package/lib/tree/selector-compound.js.map +1 -0
  255. package/lib/tree/selector-interpolated.d.ts +23 -0
  256. package/lib/tree/selector-interpolated.d.ts.map +1 -0
  257. package/lib/tree/selector-interpolated.js +27 -0
  258. package/lib/tree/selector-interpolated.js.map +1 -0
  259. package/lib/tree/selector-list.d.ts +17 -0
  260. package/lib/tree/selector-list.d.ts.map +1 -0
  261. package/lib/tree/selector-list.js +184 -0
  262. package/lib/tree/selector-list.js.map +1 -0
  263. package/lib/tree/selector-pseudo.d.ts +42 -0
  264. package/lib/tree/selector-pseudo.d.ts.map +1 -0
  265. package/lib/tree/selector-pseudo.js +191 -0
  266. package/lib/tree/selector-pseudo.js.map +1 -0
  267. package/lib/tree/selector-simple.d.ts +5 -0
  268. package/lib/tree/selector-simple.d.ts.map +1 -0
  269. package/lib/tree/selector-simple.js +6 -0
  270. package/lib/tree/selector-simple.js.map +1 -0
  271. package/lib/tree/selector.d.ts +43 -0
  272. package/lib/tree/selector.d.ts.map +1 -0
  273. package/lib/tree/selector.js +56 -0
  274. package/lib/tree/selector.js.map +1 -0
  275. package/lib/tree/sequence.d.ts +43 -0
  276. package/lib/tree/sequence.d.ts.map +1 -0
  277. package/lib/tree/sequence.js +148 -0
  278. package/lib/tree/sequence.js.map +1 -0
  279. package/lib/tree/tree.d.ts +87 -0
  280. package/lib/tree/tree.d.ts.map +1 -0
  281. package/lib/tree/tree.js +2 -0
  282. package/lib/tree/tree.js.map +1 -0
  283. package/lib/tree/url.d.ts +18 -0
  284. package/lib/tree/url.d.ts.map +1 -0
  285. package/lib/tree/url.js +35 -0
  286. package/lib/tree/url.js.map +1 -0
  287. package/lib/tree/util/__tests__/debug-log.d.ts +1 -0
  288. package/lib/tree/util/__tests__/debug-log.d.ts.map +1 -0
  289. package/lib/tree/util/__tests__/debug-log.js +36 -0
  290. package/lib/tree/util/__tests__/debug-log.js.map +1 -0
  291. package/lib/tree/util/calculate.d.ts +3 -0
  292. package/lib/tree/util/calculate.d.ts.map +1 -0
  293. package/lib/tree/util/calculate.js +10 -0
  294. package/lib/tree/util/calculate.js.map +1 -0
  295. package/lib/tree/util/cast.d.ts +10 -0
  296. package/lib/tree/util/cast.d.ts.map +1 -0
  297. package/lib/tree/util/cast.js +87 -0
  298. package/lib/tree/util/cast.js.map +1 -0
  299. package/lib/tree/util/cloning.d.ts +4 -0
  300. package/lib/tree/util/cloning.d.ts.map +1 -0
  301. package/lib/tree/util/cloning.js +8 -0
  302. package/lib/tree/util/cloning.js.map +1 -0
  303. package/lib/tree/util/collections.d.ts +57 -0
  304. package/lib/tree/util/collections.d.ts.map +1 -0
  305. package/lib/tree/util/collections.js +136 -0
  306. package/lib/tree/util/collections.js.map +1 -0
  307. package/lib/tree/util/compare.d.ts +11 -0
  308. package/lib/tree/util/compare.d.ts.map +1 -0
  309. package/lib/tree/util/compare.js +89 -0
  310. package/lib/tree/util/compare.js.map +1 -0
  311. package/lib/tree/util/extend-helpers.d.ts +2 -0
  312. package/lib/tree/util/extend-helpers.d.ts.map +1 -0
  313. package/lib/tree/util/extend-helpers.js +2 -0
  314. package/lib/tree/util/extend-helpers.js.map +1 -0
  315. package/lib/tree/util/extend-roots.d.ts +37 -0
  316. package/lib/tree/util/extend-roots.d.ts.map +1 -0
  317. package/lib/tree/util/extend-roots.js +682 -0
  318. package/lib/tree/util/extend-roots.js.map +1 -0
  319. package/lib/tree/util/extend-roots.old.d.ts +132 -0
  320. package/lib/tree/util/extend-roots.old.d.ts.map +1 -0
  321. package/lib/tree/util/extend-roots.old.js +2272 -0
  322. package/lib/tree/util/extend-roots.old.js.map +1 -0
  323. package/lib/tree/util/extend-trace-debug.d.ts +13 -0
  324. package/lib/tree/util/extend-trace-debug.d.ts.map +1 -0
  325. package/lib/tree/util/extend-trace-debug.js +34 -0
  326. package/lib/tree/util/extend-trace-debug.js.map +1 -0
  327. package/lib/tree/util/extend.d.ts +218 -0
  328. package/lib/tree/util/extend.d.ts.map +1 -0
  329. package/lib/tree/util/extend.js +3033 -0
  330. package/lib/tree/util/extend.js.map +1 -0
  331. package/lib/tree/util/find-extendable-locations.d.ts +2 -0
  332. package/lib/tree/util/find-extendable-locations.d.ts.map +1 -0
  333. package/lib/tree/util/find-extendable-locations.js +2 -0
  334. package/lib/tree/util/find-extendable-locations.js.map +1 -0
  335. package/lib/tree/util/format.d.ts +20 -0
  336. package/lib/tree/util/format.d.ts.map +1 -0
  337. package/lib/tree/util/format.js +67 -0
  338. package/lib/tree/util/format.js.map +1 -0
  339. package/lib/tree/util/is-node.d.ts +13 -0
  340. package/lib/tree/util/is-node.d.ts.map +1 -0
  341. package/lib/tree/util/is-node.js +43 -0
  342. package/lib/tree/util/is-node.js.map +1 -0
  343. package/lib/tree/util/print.d.ts +80 -0
  344. package/lib/tree/util/print.d.ts.map +1 -0
  345. package/lib/tree/util/print.js +205 -0
  346. package/lib/tree/util/print.js.map +1 -0
  347. package/lib/tree/util/process-leading-is.d.ts +25 -0
  348. package/lib/tree/util/process-leading-is.d.ts.map +1 -0
  349. package/lib/tree/util/process-leading-is.js +364 -0
  350. package/lib/tree/util/process-leading-is.js.map +1 -0
  351. package/lib/tree/util/recursion-helper.d.ts +15 -0
  352. package/lib/tree/util/recursion-helper.d.ts.map +1 -0
  353. package/lib/tree/util/recursion-helper.js +43 -0
  354. package/lib/tree/util/recursion-helper.js.map +1 -0
  355. package/lib/tree/util/regex.d.ts +4 -0
  356. package/lib/tree/util/regex.d.ts.map +1 -0
  357. package/lib/tree/util/regex.js +4 -0
  358. package/lib/tree/util/regex.js.map +1 -0
  359. package/lib/tree/util/registry-utils.d.ts +192 -0
  360. package/lib/tree/util/registry-utils.d.ts.map +1 -0
  361. package/lib/tree/util/registry-utils.js +1242 -0
  362. package/lib/tree/util/registry-utils.js.map +1 -0
  363. package/lib/tree/util/ruleset-trace.d.ts +4 -0
  364. package/lib/tree/util/ruleset-trace.d.ts.map +1 -0
  365. package/lib/tree/util/ruleset-trace.js +14 -0
  366. package/lib/tree/util/ruleset-trace.js.map +1 -0
  367. package/lib/tree/util/selector-compare.d.ts +2 -0
  368. package/lib/tree/util/selector-compare.d.ts.map +1 -0
  369. package/lib/tree/util/selector-compare.js +2 -0
  370. package/lib/tree/util/selector-compare.js.map +1 -0
  371. package/lib/tree/util/selector-match-core.d.ts +171 -0
  372. package/lib/tree/util/selector-match-core.d.ts.map +1 -0
  373. package/lib/tree/util/selector-match-core.js +1578 -0
  374. package/lib/tree/util/selector-match-core.js.map +1 -0
  375. package/lib/tree/util/selector-utils.d.ts +30 -0
  376. package/lib/tree/util/selector-utils.d.ts.map +1 -0
  377. package/lib/tree/util/selector-utils.js +100 -0
  378. package/lib/tree/util/selector-utils.js.map +1 -0
  379. package/lib/tree/util/serialize-helper.d.ts +13 -0
  380. package/lib/tree/util/serialize-helper.d.ts.map +1 -0
  381. package/lib/tree/util/serialize-helper.js +387 -0
  382. package/lib/tree/util/serialize-helper.js.map +1 -0
  383. package/lib/tree/util/serialize-types.d.ts +9 -0
  384. package/lib/tree/util/serialize-types.d.ts.map +1 -0
  385. package/lib/tree/util/serialize-types.js +216 -0
  386. package/lib/tree/util/serialize-types.js.map +1 -0
  387. package/lib/tree/util/should-operate.d.ts +23 -0
  388. package/lib/tree/util/should-operate.d.ts.map +1 -0
  389. package/lib/tree/util/should-operate.js +46 -0
  390. package/lib/tree/util/should-operate.js.map +1 -0
  391. package/lib/tree/util/sourcemap.d.ts +7 -0
  392. package/lib/tree/util/sourcemap.d.ts.map +1 -0
  393. package/lib/tree/util/sourcemap.js +25 -0
  394. package/lib/tree/util/sourcemap.js.map +1 -0
  395. package/lib/types/config.d.ts +205 -0
  396. package/lib/types/config.d.ts.map +1 -0
  397. package/lib/types/config.js +2 -0
  398. package/lib/types/config.js.map +1 -0
  399. package/lib/types/index.d.ts +15 -0
  400. package/lib/types/index.d.ts.map +1 -0
  401. package/lib/types/index.js +3 -0
  402. package/lib/types/index.js.map +1 -0
  403. package/lib/types/modes.d.ts +24 -0
  404. package/lib/types/modes.d.ts.map +1 -0
  405. package/lib/types/modes.js +2 -0
  406. package/lib/types/modes.js.map +1 -0
  407. package/lib/types.d.ts +61 -0
  408. package/lib/types.d.ts.map +1 -0
  409. package/lib/types.js +2 -0
  410. package/lib/types.js.map +1 -0
  411. package/lib/use-webpack-resolver.d.ts +9 -0
  412. package/lib/use-webpack-resolver.d.ts.map +1 -0
  413. package/lib/use-webpack-resolver.js +41 -0
  414. package/lib/use-webpack-resolver.js.map +1 -0
  415. package/lib/visitor/index.d.ts +136 -0
  416. package/lib/visitor/index.d.ts.map +1 -0
  417. package/lib/visitor/index.js +135 -0
  418. package/lib/visitor/index.js.map +1 -0
  419. package/lib/visitor/less-visitor.d.ts +7 -0
  420. package/lib/visitor/less-visitor.d.ts.map +1 -0
  421. package/lib/visitor/less-visitor.js +7 -0
  422. package/lib/visitor/less-visitor.js.map +1 -0
  423. package/package.json +66 -0
@@ -0,0 +1,359 @@
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
+ static nodeAndPrePost(node: Node): Generator<Node<unknown, NodeOptions> | Comment, void, unknown>;
223
+ /**
224
+ * Return an iterator for all nodes / children nodes, including this one
225
+ */
226
+ nodes(reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
227
+ /**
228
+ * An iterator for all node children
229
+ * @todo - Replace `walkNodes` with this?
230
+ */
231
+ children(deep?: boolean, reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
232
+ /**
233
+ * @todo - Remove?
234
+ */
235
+ /**
236
+ * Accept a visitor (classic visitor pattern).
237
+ *
238
+ * Visits the node itself first, then recursively visits children.
239
+ * This matches the Less.js visitor pattern and allows nodes to control
240
+ * their own traversal if needed by overriding this method.
241
+ *
242
+ * @param visitor - The visitor to accept
243
+ * @returns The result from visiting this node (may be a replacement node)
244
+ */
245
+ accept(visitor: Visitor): Node;
246
+ /**
247
+ * @todo
248
+ * Write tests that make sure that a maybe clone without preserveOriginalNodes
249
+ * does not clone the nodes, but a maybeClone with preserveOriginalNodes
250
+ * does clone the nodes all through the tree.
251
+ */
252
+ maybeClone(context: Context, deep?: boolean, cloneFn?: (n: Node) => Node): this;
253
+ clonedEval(context: Context): MaybePromise<Node>;
254
+ /**
255
+ * Creates a copy of the current node.
256
+ *
257
+ * @note - In the Less source, nodes were always cloned before
258
+ * mutating, which is why I did it here. However... the only
259
+ * utility for cloning is to preserve the original node,
260
+ * or (maybe?) to create a copy which is output differently.
261
+ *
262
+ * But... considering the high cost of cloning in terms of
263
+ * object creation, and the low utility of preserving the original
264
+ * node, I think we should just only clone when we need to.
265
+ */
266
+ clone(deep?: boolean, cloneFn?: (n: Node) => Node): this;
267
+ /** Remove comments from pre/post */
268
+ stripPrePost(n: Node, preOrPost: 'pre' | 'post'): void;
269
+ /** Minimal nil fallback for edge cases where prototype method isn't attached yet */
270
+ private _createMinimalNil;
271
+ /**
272
+ * Same as clone except comments are stripped.
273
+ * This is used for variable referencing and
274
+ * selector extending.
275
+ */
276
+ copy(deep?: boolean, cloneFn?: (n: Node) => Node): this;
277
+ /**
278
+ * `preEval` takes the following steps, which are extended in subclasses:
279
+ * 1. Clone the node (if the source node is wanted/needed)
280
+ * 2. Set `preEvaluated` to true
281
+ * 3. pre-evaluate all children
282
+ * 4. Return the node
283
+ *
284
+ * Mostly this is overridden to resolve names before registering.
285
+ *
286
+ * @todo - Update preEval / eval to use static evaluation based on flags.
287
+ */
288
+ preEval(context: Context): MaybePromise<Node>;
289
+ /**
290
+ * This is the method all nodes will override.
291
+ * Individual nodes will specify / narrow return type
292
+ *
293
+ * By default, evals all children
294
+ */
295
+ protected evalNode(context: Context): MaybePromise<Node>;
296
+ static evalStatic(node: Node, context: Context): MaybePromise<Node>;
297
+ /**
298
+ * @note - Make sure you don't call super.eval while evaluating a node. Call it indirectly
299
+ * from another node.
300
+ */
301
+ eval(context: Context): MaybePromise<Node>;
302
+ /**
303
+ * This is used when a Node will replace another node.
304
+ */
305
+ inherit(node: Node): this;
306
+ /**
307
+ * Represents the normalized string value of the node,
308
+ * for the purposes of comparison with other nodes,
309
+ * regardless of type.
310
+ *
311
+ * Derived nodes will override this with different
312
+ * normalization algorithms.
313
+ */
314
+ valueOf(): Primitive;
315
+ processPrePost(key: 'pre' | 'post', defaultVal: string | undefined, options: PrintOptions): string;
316
+ /**
317
+ * This re-serializes the node, if needed. Will
318
+ * likely be over-ridden in some cases.
319
+ *
320
+ * Note that this is the "as-is" representation of the
321
+ * node, not the "evaluated" version.
322
+ *
323
+ * Note that the ToCssVisitor will be a little
324
+ * more sophisticated, as it will re-format
325
+ * to some extent by replacing newlines + spacing
326
+ * with the appropriate amount of whitespace.
327
+ *
328
+ * @note toString() will, by default, include pre/post
329
+ * white-space and comments, to make serialization
330
+ * easy.
331
+ *
332
+ * In almost all Node cases, this should not be overriden,
333
+ * and toTrimmedString() should be overridden instead.
334
+ */
335
+ toString(options?: PrintOptions): string;
336
+ /**
337
+ * The form of the node without pre/post comments and white-space
338
+ *
339
+ * @note - Internally, this still calls `toString()` on each value,
340
+ * so that the internal spacing of the node serialization is
341
+ * correct. This method just serializes a node without the outer
342
+ * pre/post nodes.
343
+ */
344
+ toTrimmedString(options?: PrintOptions): string;
345
+ /**
346
+ * Individual node types will override this.
347
+ *
348
+ * This is just a default implementation.
349
+ * 0 = equal (==)
350
+ * 1 = greater than (>)
351
+ * -1 = less than (<)
352
+ * undefined = not comparable
353
+ */
354
+ compare(b: Node, context?: Context): 0 | 1 | -1 | undefined;
355
+ /** Overridden in index.ts to avoid circularity */
356
+ operate(b: Node, op: Operator, context: Context): Node;
357
+ static numericCompare(a: number, b: number): 0 | 1 | -1;
358
+ }
359
+ //# sourceMappingURL=node-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-base.d.ts","sourceRoot":"","sources":["../../src/tree/node-base.ts"],"names":[],"mappings":"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"}