@alexlit/lint-kit 214.0.0 → 214.1.0

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 (429) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +4 -4
  3. package/packages/config-markdownlint/node_modules/ansi-regex/index.d.ts +33 -0
  4. package/packages/config-markdownlint/node_modules/ansi-regex/index.js +15 -0
  5. package/packages/config-markdownlint/node_modules/ansi-regex/license +9 -0
  6. package/packages/config-markdownlint/node_modules/ansi-regex/package.json +61 -0
  7. package/packages/config-markdownlint/node_modules/ansi-regex/readme.md +66 -0
  8. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +553 -0
  9. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +77 -0
  10. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
  11. package/packages/config-markdownlint/node_modules/markdownlint/README.md +1112 -0
  12. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +196 -0
  13. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
  14. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
  15. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2909 -0
  16. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +51 -0
  17. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
  18. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +50 -0
  19. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
  20. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
  21. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +50 -0
  22. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +61 -0
  23. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
  24. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
  25. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +58 -0
  26. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
  27. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
  28. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
  29. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
  30. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
  31. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +67 -0
  32. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
  33. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +44 -0
  34. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
  35. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
  36. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +32 -0
  37. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +44 -0
  38. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +110 -0
  39. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
  40. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
  41. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
  42. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +33 -0
  43. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +55 -0
  44. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +44 -0
  45. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
  46. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
  47. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +52 -0
  48. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
  49. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
  50. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +64 -0
  51. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +38 -0
  52. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +125 -0
  53. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +45 -0
  54. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +48 -0
  55. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
  56. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
  57. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +42 -0
  58. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +36 -0
  59. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +35 -0
  60. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +117 -0
  61. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +52 -0
  62. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
  63. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
  64. package/packages/config-markdownlint/node_modules/markdownlint/doc/md055.md +58 -0
  65. package/packages/config-markdownlint/node_modules/markdownlint/doc/md056.md +37 -0
  66. package/packages/config-markdownlint/node_modules/markdownlint/doc/md058.md +48 -0
  67. package/packages/config-markdownlint/node_modules/markdownlint/doc/md059.md +33 -0
  68. package/packages/config-markdownlint/node_modules/markdownlint/doc/md060.md +131 -0
  69. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
  70. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +29 -0
  71. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.cjs +711 -0
  72. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark-helpers.cjs +328 -0
  73. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +22 -0
  74. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.cjs +16 -0
  75. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.mjs +81 -0
  76. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration-strict.d.ts +2429 -0
  77. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +8 -0
  78. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.mjs +14 -0
  79. package/packages/config-markdownlint/node_modules/markdownlint/lib/defer-require.cjs +19 -0
  80. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.d.mts +1 -0
  81. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.mjs +3 -0
  82. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.d.mts +1 -0
  83. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.mjs +3 -0
  84. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.d.mts +1 -0
  85. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.mjs +3 -0
  86. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.d.mts +58 -0
  87. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.mjs +33 -0
  88. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownit.cjs +178 -0
  89. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.mts +757 -0
  90. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.mjs +1588 -0
  91. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.mjs +32 -0
  92. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.mjs +47 -0
  93. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.mjs +73 -0
  94. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.mjs +69 -0
  95. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.mjs +84 -0
  96. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.mjs +95 -0
  97. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.mjs +78 -0
  98. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.mjs +59 -0
  99. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.mjs +40 -0
  100. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.mjs +95 -0
  101. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.mjs +47 -0
  102. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.mjs +43 -0
  103. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019-md021.mjs +78 -0
  104. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.mjs +68 -0
  105. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.mjs +103 -0
  106. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.mjs +37 -0
  107. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.mjs +45 -0
  108. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.mjs +45 -0
  109. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.mjs +46 -0
  110. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.mjs +50 -0
  111. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.mjs +38 -0
  112. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.mjs +95 -0
  113. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.mjs +57 -0
  114. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.mjs +61 -0
  115. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.mjs +79 -0
  116. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.mjs +46 -0
  117. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.mjs +92 -0
  118. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.mjs +23 -0
  119. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.mjs +55 -0
  120. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.mjs +93 -0
  121. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.mjs +73 -0
  122. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.mjs +63 -0
  123. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.mjs +32 -0
  124. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.mjs +71 -0
  125. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.mjs +58 -0
  126. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.mjs +126 -0
  127. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.mjs +110 -0
  128. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.mjs +61 -0
  129. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.mjs +31 -0
  130. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.mjs +28 -0
  131. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.mjs +45 -0
  132. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.mjs +115 -0
  133. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.mjs +173 -0
  134. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.mjs +40 -0
  135. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.mjs +60 -0
  136. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.mjs +122 -0
  137. package/packages/config-markdownlint/node_modules/markdownlint/lib/md055.mjs +82 -0
  138. package/packages/config-markdownlint/node_modules/markdownlint/lib/md056.mjs +50 -0
  139. package/packages/config-markdownlint/node_modules/markdownlint/lib/md058.mjs +57 -0
  140. package/packages/config-markdownlint/node_modules/markdownlint/lib/md059.mjs +71 -0
  141. package/packages/config-markdownlint/node_modules/markdownlint/lib/md060.mjs +229 -0
  142. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-parse.mjs +338 -0
  143. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-types.d.mts +11 -0
  144. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-browser.mjs +22 -0
  145. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-node.mjs +11 -0
  146. package/packages/config-markdownlint/node_modules/markdownlint/lib/parse-configuration.mjs +47 -0
  147. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.cjs +53 -0
  148. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.d.cts +39 -0
  149. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.mjs +122 -0
  150. package/packages/config-markdownlint/node_modules/markdownlint/lib/types.d.mts +13 -0
  151. package/packages/config-markdownlint/node_modules/markdownlint/package.json +119 -0
  152. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +349 -0
  153. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +310 -0
  154. package/packages/config-markdownlint/node_modules/markdownlint/schema/ValidatingConfiguration.md +26 -0
  155. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema-strict.json +5146 -0
  156. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +5151 -0
  157. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
  158. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
  159. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +27 -0
  160. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
  161. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts +82 -0
  162. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts.map +1 -0
  163. package/packages/config-markdownlint/node_modules/micromark/dev/index.js +68 -0
  164. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts +16 -0
  165. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts.map +1 -0
  166. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.js +1162 -0
  167. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts +73 -0
  168. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts.map +1 -0
  169. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.js +101 -0
  170. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts +46 -0
  171. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +1 -0
  172. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.js +718 -0
  173. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts +4 -0
  174. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts.map +1 -0
  175. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.js +99 -0
  176. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts +10 -0
  177. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts.map +1 -0
  178. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.js +449 -0
  179. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts +4 -0
  180. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +1 -0
  181. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.js +86 -0
  182. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts +8 -0
  183. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts.map +1 -0
  184. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.js +248 -0
  185. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts +10 -0
  186. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts.map +1 -0
  187. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.js +58 -0
  188. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts +9 -0
  189. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts.map +1 -0
  190. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.js +19 -0
  191. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts +13 -0
  192. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts.map +1 -0
  193. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.js +139 -0
  194. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts +35 -0
  195. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts.map +1 -0
  196. package/packages/config-markdownlint/node_modules/micromark/dev/stream.js +270 -0
  197. package/packages/config-markdownlint/node_modules/micromark/index.d.ts +82 -0
  198. package/packages/config-markdownlint/node_modules/micromark/index.d.ts.map +1 -0
  199. package/packages/config-markdownlint/node_modules/micromark/index.js +60 -0
  200. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts +16 -0
  201. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts.map +1 -0
  202. package/packages/config-markdownlint/node_modules/micromark/lib/compile.js +1068 -0
  203. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts +73 -0
  204. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts.map +1 -0
  205. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.js +85 -0
  206. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts +46 -0
  207. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts.map +1 -0
  208. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.js +613 -0
  209. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts +4 -0
  210. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts.map +1 -0
  211. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.js +79 -0
  212. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts +10 -0
  213. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts.map +1 -0
  214. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.js +370 -0
  215. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts +4 -0
  216. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts.map +1 -0
  217. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.js +58 -0
  218. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts +8 -0
  219. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts.map +1 -0
  220. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.js +216 -0
  221. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts +10 -0
  222. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts.map +1 -0
  223. package/packages/config-markdownlint/node_modules/micromark/lib/parse.js +56 -0
  224. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts +9 -0
  225. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts.map +1 -0
  226. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.js +18 -0
  227. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts +13 -0
  228. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts.map +1 -0
  229. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.js +112 -0
  230. package/packages/config-markdownlint/node_modules/micromark/license +22 -0
  231. package/packages/config-markdownlint/node_modules/micromark/package.json +87 -0
  232. package/packages/config-markdownlint/node_modules/micromark/readme.md +488 -0
  233. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts +35 -0
  234. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts.map +1 -0
  235. package/packages/config-markdownlint/node_modules/micromark/stream.js +256 -0
  236. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts +23 -0
  237. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts.map +1 -0
  238. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.js +22 -0
  239. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +4 -0
  240. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +1 -0
  241. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.js +294 -0
  242. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +4 -0
  243. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +1 -0
  244. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.js +269 -0
  245. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +4 -0
  246. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +1 -0
  247. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +62 -0
  248. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +4 -0
  249. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +1 -0
  250. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +162 -0
  251. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +4 -0
  252. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +1 -0
  253. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +69 -0
  254. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +4 -0
  255. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +1 -0
  256. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +166 -0
  257. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +4 -0
  258. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +1 -0
  259. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +472 -0
  260. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +4 -0
  261. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +1 -0
  262. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +178 -0
  263. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +4 -0
  264. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +1 -0
  265. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.js +257 -0
  266. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +7 -0
  267. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +1 -0
  268. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.js +185 -0
  269. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +4 -0
  270. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +1 -0
  271. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.js +295 -0
  272. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +4 -0
  273. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +1 -0
  274. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +65 -0
  275. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +4 -0
  276. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +1 -0
  277. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +229 -0
  278. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +4 -0
  279. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +1 -0
  280. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +938 -0
  281. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +4 -0
  282. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +1 -0
  283. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.js +783 -0
  284. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +4 -0
  285. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +1 -0
  286. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.js +658 -0
  287. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +4 -0
  288. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +1 -0
  289. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +119 -0
  290. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +4 -0
  291. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +1 -0
  292. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +71 -0
  293. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +4 -0
  294. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +1 -0
  295. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +34 -0
  296. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +4 -0
  297. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +1 -0
  298. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.js +306 -0
  299. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +4 -0
  300. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  301. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +67 -0
  302. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +4 -0
  303. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +1 -0
  304. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +213 -0
  305. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +4 -0
  306. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +1 -0
  307. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +120 -0
  308. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts +23 -0
  309. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts.map +1 -0
  310. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.js +22 -0
  311. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts +4 -0
  312. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +1 -0
  313. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.js +231 -0
  314. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts +4 -0
  315. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +1 -0
  316. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.js +233 -0
  317. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +4 -0
  318. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +1 -0
  319. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.js +61 -0
  320. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +4 -0
  321. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +1 -0
  322. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.js +143 -0
  323. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +4 -0
  324. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +1 -0
  325. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.js +64 -0
  326. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +4 -0
  327. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +1 -0
  328. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.js +149 -0
  329. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +4 -0
  330. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +1 -0
  331. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.js +422 -0
  332. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +4 -0
  333. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +1 -0
  334. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.js +159 -0
  335. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts +4 -0
  336. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +1 -0
  337. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.js +225 -0
  338. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts +7 -0
  339. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts.map +1 -0
  340. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.js +163 -0
  341. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts +4 -0
  342. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +1 -0
  343. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.js +254 -0
  344. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +4 -0
  345. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +1 -0
  346. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +60 -0
  347. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +4 -0
  348. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +1 -0
  349. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.js +191 -0
  350. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +4 -0
  351. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +1 -0
  352. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.js +827 -0
  353. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts +4 -0
  354. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +1 -0
  355. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.js +678 -0
  356. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts +4 -0
  357. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +1 -0
  358. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.js +561 -0
  359. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +4 -0
  360. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +1 -0
  361. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.js +110 -0
  362. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +4 -0
  363. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +1 -0
  364. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.js +63 -0
  365. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +4 -0
  366. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +1 -0
  367. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.js +33 -0
  368. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts +4 -0
  369. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts.map +1 -0
  370. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.js +213 -0
  371. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +4 -0
  372. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  373. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +61 -0
  374. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +4 -0
  375. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +1 -0
  376. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.js +187 -0
  377. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +4 -0
  378. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +1 -0
  379. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.js +102 -0
  380. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/license +22 -0
  381. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/package.json +62 -0
  382. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/readme.md +171 -0
  383. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.d.ts +55 -0
  384. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.js +2 -0
  385. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts +51 -0
  386. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts.map +1 -0
  387. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js +231 -0
  388. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts +11 -0
  389. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts.map +1 -0
  390. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.js +153 -0
  391. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts +14 -0
  392. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts.map +1 -0
  393. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.js +64 -0
  394. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts +18 -0
  395. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts.map +1 -0
  396. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js +964 -0
  397. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.d.ts +55 -0
  398. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.js +2 -0
  399. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts +51 -0
  400. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts.map +1 -0
  401. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.js +222 -0
  402. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts +11 -0
  403. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts.map +1 -0
  404. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.js +135 -0
  405. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts +14 -0
  406. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts.map +1 -0
  407. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.js +52 -0
  408. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts +18 -0
  409. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts.map +1 -0
  410. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.js +846 -0
  411. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/license +22 -0
  412. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/package.json +86 -0
  413. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/readme.md +515 -0
  414. package/packages/config-markdownlint/node_modules/micromark-util-types/index.d.ts +1315 -0
  415. package/packages/config-markdownlint/node_modules/micromark-util-types/index.js +2 -0
  416. package/packages/config-markdownlint/node_modules/micromark-util-types/license +22 -0
  417. package/packages/config-markdownlint/node_modules/micromark-util-types/package.json +37 -0
  418. package/packages/config-markdownlint/node_modules/micromark-util-types/readme.md +151 -0
  419. package/packages/config-markdownlint/node_modules/string-width/index.d.ts +39 -0
  420. package/packages/config-markdownlint/node_modules/string-width/index.js +203 -0
  421. package/packages/config-markdownlint/node_modules/string-width/license +9 -0
  422. package/packages/config-markdownlint/node_modules/string-width/package.json +65 -0
  423. package/packages/config-markdownlint/node_modules/string-width/readme.md +66 -0
  424. package/packages/config-markdownlint/node_modules/strip-ansi/index.d.ts +15 -0
  425. package/packages/config-markdownlint/node_modules/strip-ansi/index.js +19 -0
  426. package/packages/config-markdownlint/node_modules/strip-ansi/license +9 -0
  427. package/packages/config-markdownlint/node_modules/strip-ansi/package.json +59 -0
  428. package/packages/config-markdownlint/node_modules/strip-ansi/readme.md +37 -0
  429. package/packages/config-markdownlint/package.json +2 -2
@@ -0,0 +1,846 @@
1
+ /**
2
+ * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
3
+ */
4
+
5
+ /**
6
+ * @typedef {[number, number, number, number]} Range
7
+ * Cell info.
8
+ *
9
+ * @typedef {0 | 1 | 2 | 3} RowKind
10
+ * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.
11
+ */
12
+
13
+ import { factorySpace } from 'micromark-factory-space';
14
+ import { markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';
15
+ import { EditMap } from './edit-map.js';
16
+ import { gfmTableAlign } from './infer.js';
17
+
18
+ /**
19
+ * Create an HTML extension for `micromark` to support GitHub tables syntax.
20
+ *
21
+ * @returns {Extension}
22
+ * Extension for `micromark` that can be passed in `extensions` to enable GFM
23
+ * table syntax.
24
+ */
25
+ export function gfmTable() {
26
+ return {
27
+ flow: {
28
+ null: {
29
+ name: 'table',
30
+ tokenize: tokenizeTable,
31
+ resolveAll: resolveTable
32
+ }
33
+ }
34
+ };
35
+ }
36
+
37
+ /**
38
+ * Tokenizer for GFM tables.
39
+ *
40
+ * @this {TokenizeContext}
41
+ * @type {Tokenizer}
42
+ */
43
+ function tokenizeTable(effects, ok, nok) {
44
+ const self = this;
45
+ let size = 0;
46
+ let sizeB = 0;
47
+ /** @type {boolean | undefined} */
48
+ let seen;
49
+ return start;
50
+
51
+ /**
52
+ * Start of a GFM table.
53
+ *
54
+ * If there is a valid table row or table head before, then we try to parse
55
+ * another row.
56
+ * Otherwise, we try to parse a head.
57
+ *
58
+ * ```markdown
59
+ * > | | a |
60
+ * ^
61
+ * | | - |
62
+ * > | | b |
63
+ * ^
64
+ * ```
65
+ * @type {State}
66
+ */
67
+ function start(code) {
68
+ let index = self.events.length - 1;
69
+ while (index > -1) {
70
+ const {
71
+ type
72
+ } = self.events[index][1];
73
+ if (type === "lineEnding" ||
74
+ // Note: markdown-rs uses `whitespace` instead of `linePrefix`
75
+ type === "linePrefix") {
76
+ index--;
77
+ } else {
78
+ break;
79
+ }
80
+ }
81
+ const tail = index > -1 ? self.events[index][1].type : null;
82
+ const next = tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore;
83
+
84
+ // Don’t allow lazy body rows.
85
+ if (next === bodyRowStart && self.parser.lazy[self.now().line]) {
86
+ return nok(code);
87
+ }
88
+ return next(code);
89
+ }
90
+
91
+ /**
92
+ * Before table head row.
93
+ *
94
+ * ```markdown
95
+ * > | | a |
96
+ * ^
97
+ * | | - |
98
+ * | | b |
99
+ * ```
100
+ *
101
+ * @type {State}
102
+ */
103
+ function headRowBefore(code) {
104
+ effects.enter('tableHead');
105
+ effects.enter('tableRow');
106
+ return headRowStart(code);
107
+ }
108
+
109
+ /**
110
+ * Before table head row, after whitespace.
111
+ *
112
+ * ```markdown
113
+ * > | | a |
114
+ * ^
115
+ * | | - |
116
+ * | | b |
117
+ * ```
118
+ *
119
+ * @type {State}
120
+ */
121
+ function headRowStart(code) {
122
+ if (code === 124) {
123
+ return headRowBreak(code);
124
+ }
125
+
126
+ // To do: micromark-js should let us parse our own whitespace in extensions,
127
+ // like `markdown-rs`:
128
+ //
129
+ // ```js
130
+ // // 4+ spaces.
131
+ // if (markdownSpace(code)) {
132
+ // return nok(code)
133
+ // }
134
+ // ```
135
+
136
+ seen = true;
137
+ // Count the first character, that isn’t a pipe, double.
138
+ sizeB += 1;
139
+ return headRowBreak(code);
140
+ }
141
+
142
+ /**
143
+ * At break in table head row.
144
+ *
145
+ * ```markdown
146
+ * > | | a |
147
+ * ^
148
+ * ^
149
+ * ^
150
+ * | | - |
151
+ * | | b |
152
+ * ```
153
+ *
154
+ * @type {State}
155
+ */
156
+ function headRowBreak(code) {
157
+ if (code === null) {
158
+ // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.
159
+ return nok(code);
160
+ }
161
+ if (markdownLineEnding(code)) {
162
+ // If anything other than one pipe (ignoring whitespace) was used, it’s fine.
163
+ if (sizeB > 1) {
164
+ sizeB = 0;
165
+ // To do: check if this works.
166
+ // Feel free to interrupt:
167
+ self.interrupt = true;
168
+ effects.exit('tableRow');
169
+ effects.enter("lineEnding");
170
+ effects.consume(code);
171
+ effects.exit("lineEnding");
172
+ return headDelimiterStart;
173
+ }
174
+
175
+ // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.
176
+ return nok(code);
177
+ }
178
+ if (markdownSpace(code)) {
179
+ // To do: check if this is fine.
180
+ // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok)
181
+ // State::Retry(space_or_tab(tokenizer))
182
+ return factorySpace(effects, headRowBreak, "whitespace")(code);
183
+ }
184
+ sizeB += 1;
185
+ if (seen) {
186
+ seen = false;
187
+ // Header cell count.
188
+ size += 1;
189
+ }
190
+ if (code === 124) {
191
+ effects.enter('tableCellDivider');
192
+ effects.consume(code);
193
+ effects.exit('tableCellDivider');
194
+ // Whether a delimiter was seen.
195
+ seen = true;
196
+ return headRowBreak;
197
+ }
198
+
199
+ // Anything else is cell data.
200
+ effects.enter("data");
201
+ return headRowData(code);
202
+ }
203
+
204
+ /**
205
+ * In table head row data.
206
+ *
207
+ * ```markdown
208
+ * > | | a |
209
+ * ^
210
+ * | | - |
211
+ * | | b |
212
+ * ```
213
+ *
214
+ * @type {State}
215
+ */
216
+ function headRowData(code) {
217
+ if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {
218
+ effects.exit("data");
219
+ return headRowBreak(code);
220
+ }
221
+ effects.consume(code);
222
+ return code === 92 ? headRowEscape : headRowData;
223
+ }
224
+
225
+ /**
226
+ * In table head row escape.
227
+ *
228
+ * ```markdown
229
+ * > | | a\-b |
230
+ * ^
231
+ * | | ---- |
232
+ * | | c |
233
+ * ```
234
+ *
235
+ * @type {State}
236
+ */
237
+ function headRowEscape(code) {
238
+ if (code === 92 || code === 124) {
239
+ effects.consume(code);
240
+ return headRowData;
241
+ }
242
+ return headRowData(code);
243
+ }
244
+
245
+ /**
246
+ * Before delimiter row.
247
+ *
248
+ * ```markdown
249
+ * | | a |
250
+ * > | | - |
251
+ * ^
252
+ * | | b |
253
+ * ```
254
+ *
255
+ * @type {State}
256
+ */
257
+ function headDelimiterStart(code) {
258
+ // Reset `interrupt`.
259
+ self.interrupt = false;
260
+
261
+ // Note: in `markdown-rs`, we need to handle piercing here too.
262
+ if (self.parser.lazy[self.now().line]) {
263
+ return nok(code);
264
+ }
265
+ effects.enter('tableDelimiterRow');
266
+ // Track if we’ve seen a `:` or `|`.
267
+ seen = false;
268
+ if (markdownSpace(code)) {
269
+ return factorySpace(effects, headDelimiterBefore, "linePrefix", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);
270
+ }
271
+ return headDelimiterBefore(code);
272
+ }
273
+
274
+ /**
275
+ * Before delimiter row, after optional whitespace.
276
+ *
277
+ * Reused when a `|` is found later, to parse another cell.
278
+ *
279
+ * ```markdown
280
+ * | | a |
281
+ * > | | - |
282
+ * ^
283
+ * | | b |
284
+ * ```
285
+ *
286
+ * @type {State}
287
+ */
288
+ function headDelimiterBefore(code) {
289
+ if (code === 45 || code === 58) {
290
+ return headDelimiterValueBefore(code);
291
+ }
292
+ if (code === 124) {
293
+ seen = true;
294
+ // If we start with a pipe, we open a cell marker.
295
+ effects.enter('tableCellDivider');
296
+ effects.consume(code);
297
+ effects.exit('tableCellDivider');
298
+ return headDelimiterCellBefore;
299
+ }
300
+
301
+ // More whitespace / empty row not allowed at start.
302
+ return headDelimiterNok(code);
303
+ }
304
+
305
+ /**
306
+ * After `|`, before delimiter cell.
307
+ *
308
+ * ```markdown
309
+ * | | a |
310
+ * > | | - |
311
+ * ^
312
+ * ```
313
+ *
314
+ * @type {State}
315
+ */
316
+ function headDelimiterCellBefore(code) {
317
+ if (markdownSpace(code)) {
318
+ return factorySpace(effects, headDelimiterValueBefore, "whitespace")(code);
319
+ }
320
+ return headDelimiterValueBefore(code);
321
+ }
322
+
323
+ /**
324
+ * Before delimiter cell value.
325
+ *
326
+ * ```markdown
327
+ * | | a |
328
+ * > | | - |
329
+ * ^
330
+ * ```
331
+ *
332
+ * @type {State}
333
+ */
334
+ function headDelimiterValueBefore(code) {
335
+ // Align: left.
336
+ if (code === 58) {
337
+ sizeB += 1;
338
+ seen = true;
339
+ effects.enter('tableDelimiterMarker');
340
+ effects.consume(code);
341
+ effects.exit('tableDelimiterMarker');
342
+ return headDelimiterLeftAlignmentAfter;
343
+ }
344
+
345
+ // Align: none.
346
+ if (code === 45) {
347
+ sizeB += 1;
348
+ // To do: seems weird that this *isn’t* left aligned, but that state is used?
349
+ return headDelimiterLeftAlignmentAfter(code);
350
+ }
351
+ if (code === null || markdownLineEnding(code)) {
352
+ return headDelimiterCellAfter(code);
353
+ }
354
+ return headDelimiterNok(code);
355
+ }
356
+
357
+ /**
358
+ * After delimiter cell left alignment marker.
359
+ *
360
+ * ```markdown
361
+ * | | a |
362
+ * > | | :- |
363
+ * ^
364
+ * ```
365
+ *
366
+ * @type {State}
367
+ */
368
+ function headDelimiterLeftAlignmentAfter(code) {
369
+ if (code === 45) {
370
+ effects.enter('tableDelimiterFiller');
371
+ return headDelimiterFiller(code);
372
+ }
373
+
374
+ // Anything else is not ok after the left-align colon.
375
+ return headDelimiterNok(code);
376
+ }
377
+
378
+ /**
379
+ * In delimiter cell filler.
380
+ *
381
+ * ```markdown
382
+ * | | a |
383
+ * > | | - |
384
+ * ^
385
+ * ```
386
+ *
387
+ * @type {State}
388
+ */
389
+ function headDelimiterFiller(code) {
390
+ if (code === 45) {
391
+ effects.consume(code);
392
+ return headDelimiterFiller;
393
+ }
394
+
395
+ // Align is `center` if it was `left`, `right` otherwise.
396
+ if (code === 58) {
397
+ seen = true;
398
+ effects.exit('tableDelimiterFiller');
399
+ effects.enter('tableDelimiterMarker');
400
+ effects.consume(code);
401
+ effects.exit('tableDelimiterMarker');
402
+ return headDelimiterRightAlignmentAfter;
403
+ }
404
+ effects.exit('tableDelimiterFiller');
405
+ return headDelimiterRightAlignmentAfter(code);
406
+ }
407
+
408
+ /**
409
+ * After delimiter cell right alignment marker.
410
+ *
411
+ * ```markdown
412
+ * | | a |
413
+ * > | | -: |
414
+ * ^
415
+ * ```
416
+ *
417
+ * @type {State}
418
+ */
419
+ function headDelimiterRightAlignmentAfter(code) {
420
+ if (markdownSpace(code)) {
421
+ return factorySpace(effects, headDelimiterCellAfter, "whitespace")(code);
422
+ }
423
+ return headDelimiterCellAfter(code);
424
+ }
425
+
426
+ /**
427
+ * After delimiter cell.
428
+ *
429
+ * ```markdown
430
+ * | | a |
431
+ * > | | -: |
432
+ * ^
433
+ * ```
434
+ *
435
+ * @type {State}
436
+ */
437
+ function headDelimiterCellAfter(code) {
438
+ if (code === 124) {
439
+ return headDelimiterBefore(code);
440
+ }
441
+ if (code === null || markdownLineEnding(code)) {
442
+ // Exit when:
443
+ // * there was no `:` or `|` at all (it’s a thematic break or setext
444
+ // underline instead)
445
+ // * the header cell count is not the delimiter cell count
446
+ if (!seen || size !== sizeB) {
447
+ return headDelimiterNok(code);
448
+ }
449
+
450
+ // Note: in markdown-rs`, a reset is needed here.
451
+ effects.exit('tableDelimiterRow');
452
+ effects.exit('tableHead');
453
+ // To do: in `markdown-rs`, resolvers need to be registered manually.
454
+ // effects.register_resolver(ResolveName::GfmTable)
455
+ return ok(code);
456
+ }
457
+ return headDelimiterNok(code);
458
+ }
459
+
460
+ /**
461
+ * In delimiter row, at a disallowed byte.
462
+ *
463
+ * ```markdown
464
+ * | | a |
465
+ * > | | x |
466
+ * ^
467
+ * ```
468
+ *
469
+ * @type {State}
470
+ */
471
+ function headDelimiterNok(code) {
472
+ // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.
473
+ return nok(code);
474
+ }
475
+
476
+ /**
477
+ * Before table body row.
478
+ *
479
+ * ```markdown
480
+ * | | a |
481
+ * | | - |
482
+ * > | | b |
483
+ * ^
484
+ * ```
485
+ *
486
+ * @type {State}
487
+ */
488
+ function bodyRowStart(code) {
489
+ // Note: in `markdown-rs` we need to manually take care of a prefix,
490
+ // but in `micromark-js` that is done for us, so if we’re here, we’re
491
+ // never at whitespace.
492
+ effects.enter('tableRow');
493
+ return bodyRowBreak(code);
494
+ }
495
+
496
+ /**
497
+ * At break in table body row.
498
+ *
499
+ * ```markdown
500
+ * | | a |
501
+ * | | - |
502
+ * > | | b |
503
+ * ^
504
+ * ^
505
+ * ^
506
+ * ```
507
+ *
508
+ * @type {State}
509
+ */
510
+ function bodyRowBreak(code) {
511
+ if (code === 124) {
512
+ effects.enter('tableCellDivider');
513
+ effects.consume(code);
514
+ effects.exit('tableCellDivider');
515
+ return bodyRowBreak;
516
+ }
517
+ if (code === null || markdownLineEnding(code)) {
518
+ effects.exit('tableRow');
519
+ return ok(code);
520
+ }
521
+ if (markdownSpace(code)) {
522
+ return factorySpace(effects, bodyRowBreak, "whitespace")(code);
523
+ }
524
+
525
+ // Anything else is cell content.
526
+ effects.enter("data");
527
+ return bodyRowData(code);
528
+ }
529
+
530
+ /**
531
+ * In table body row data.
532
+ *
533
+ * ```markdown
534
+ * | | a |
535
+ * | | - |
536
+ * > | | b |
537
+ * ^
538
+ * ```
539
+ *
540
+ * @type {State}
541
+ */
542
+ function bodyRowData(code) {
543
+ if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {
544
+ effects.exit("data");
545
+ return bodyRowBreak(code);
546
+ }
547
+ effects.consume(code);
548
+ return code === 92 ? bodyRowEscape : bodyRowData;
549
+ }
550
+
551
+ /**
552
+ * In table body row escape.
553
+ *
554
+ * ```markdown
555
+ * | | a |
556
+ * | | ---- |
557
+ * > | | b\-c |
558
+ * ^
559
+ * ```
560
+ *
561
+ * @type {State}
562
+ */
563
+ function bodyRowEscape(code) {
564
+ if (code === 92 || code === 124) {
565
+ effects.consume(code);
566
+ return bodyRowData;
567
+ }
568
+ return bodyRowData(code);
569
+ }
570
+ }
571
+
572
+ /** @type {Resolver} */
573
+
574
+ function resolveTable(events, context) {
575
+ let index = -1;
576
+ let inFirstCellAwaitingPipe = true;
577
+ /** @type {RowKind} */
578
+ let rowKind = 0;
579
+ /** @type {Range} */
580
+ let lastCell = [0, 0, 0, 0];
581
+ /** @type {Range} */
582
+ let cell = [0, 0, 0, 0];
583
+ let afterHeadAwaitingFirstBodyRow = false;
584
+ let lastTableEnd = 0;
585
+ /** @type {Token | undefined} */
586
+ let currentTable;
587
+ /** @type {Token | undefined} */
588
+ let currentBody;
589
+ /** @type {Token | undefined} */
590
+ let currentCell;
591
+ const map = new EditMap();
592
+ while (++index < events.length) {
593
+ const event = events[index];
594
+ const token = event[1];
595
+ if (event[0] === 'enter') {
596
+ // Start of head.
597
+ if (token.type === 'tableHead') {
598
+ afterHeadAwaitingFirstBodyRow = false;
599
+
600
+ // Inject previous (body end and) table end.
601
+ if (lastTableEnd !== 0) {
602
+ flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);
603
+ currentBody = undefined;
604
+ lastTableEnd = 0;
605
+ }
606
+
607
+ // Inject table start.
608
+ currentTable = {
609
+ type: 'table',
610
+ start: Object.assign({}, token.start),
611
+ // Note: correct end is set later.
612
+ end: Object.assign({}, token.end)
613
+ };
614
+ map.add(index, 0, [['enter', currentTable, context]]);
615
+ } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {
616
+ inFirstCellAwaitingPipe = true;
617
+ currentCell = undefined;
618
+ lastCell = [0, 0, 0, 0];
619
+ cell = [0, index + 1, 0, 0];
620
+
621
+ // Inject table body start.
622
+ if (afterHeadAwaitingFirstBodyRow) {
623
+ afterHeadAwaitingFirstBodyRow = false;
624
+ currentBody = {
625
+ type: 'tableBody',
626
+ start: Object.assign({}, token.start),
627
+ // Note: correct end is set later.
628
+ end: Object.assign({}, token.end)
629
+ };
630
+ map.add(index, 0, [['enter', currentBody, context]]);
631
+ }
632
+ rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1;
633
+ }
634
+ // Cell data.
635
+ else if (rowKind && (token.type === "data" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {
636
+ inFirstCellAwaitingPipe = false;
637
+
638
+ // First value in cell.
639
+ if (cell[2] === 0) {
640
+ if (lastCell[1] !== 0) {
641
+ cell[0] = cell[1];
642
+ currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);
643
+ lastCell = [0, 0, 0, 0];
644
+ }
645
+ cell[2] = index;
646
+ }
647
+ } else if (token.type === 'tableCellDivider') {
648
+ if (inFirstCellAwaitingPipe) {
649
+ inFirstCellAwaitingPipe = false;
650
+ } else {
651
+ if (lastCell[1] !== 0) {
652
+ cell[0] = cell[1];
653
+ currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);
654
+ }
655
+ lastCell = cell;
656
+ cell = [lastCell[1], index, 0, 0];
657
+ }
658
+ }
659
+ }
660
+ // Exit events.
661
+ else if (token.type === 'tableHead') {
662
+ afterHeadAwaitingFirstBodyRow = true;
663
+ lastTableEnd = index;
664
+ } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {
665
+ lastTableEnd = index;
666
+ if (lastCell[1] !== 0) {
667
+ cell[0] = cell[1];
668
+ currentCell = flushCell(map, context, lastCell, rowKind, index, currentCell);
669
+ } else if (cell[1] !== 0) {
670
+ currentCell = flushCell(map, context, cell, rowKind, index, currentCell);
671
+ }
672
+ rowKind = 0;
673
+ } else if (rowKind && (token.type === "data" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {
674
+ cell[3] = index;
675
+ }
676
+ }
677
+ if (lastTableEnd !== 0) {
678
+ flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);
679
+ }
680
+ map.consume(context.events);
681
+
682
+ // To do: move this into `html`, when events are exposed there.
683
+ // That’s what `markdown-rs` does.
684
+ // That needs updates to `mdast-util-gfm-table`.
685
+ index = -1;
686
+ while (++index < context.events.length) {
687
+ const event = context.events[index];
688
+ if (event[0] === 'enter' && event[1].type === 'table') {
689
+ event[1]._align = gfmTableAlign(context.events, index);
690
+ }
691
+ }
692
+ return events;
693
+ }
694
+
695
+ /**
696
+ * Generate a cell.
697
+ *
698
+ * @param {EditMap} map
699
+ * Edit map to apply to.
700
+ * @param {Readonly<TokenizeContext>} context
701
+ * Tokenize context.
702
+ * @param {Readonly<Range>} range
703
+ * Range of the cell within events.
704
+ * @param {RowKind} rowKind
705
+ * Type of row.
706
+ * @param {number | undefined} rowEnd
707
+ * Index of the end of the row, if known.
708
+ * @param {Token | undefined} previousCell
709
+ * Previous cell token, if any.
710
+ * @returns {Token | undefined}
711
+ * Current cell token after flushing, if any.
712
+ */
713
+ // eslint-disable-next-line max-params
714
+ function flushCell(map, context, range, rowKind, rowEnd, previousCell) {
715
+ // `markdown-rs` uses:
716
+ // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell'
717
+ const groupName = rowKind === 1 ? 'tableHeader' : rowKind === 2 ? 'tableDelimiter' : 'tableData';
718
+ // `markdown-rs` uses:
719
+ // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText'
720
+ const valueName = 'tableContent';
721
+
722
+ // Insert an exit for the previous cell, if there is one.
723
+ //
724
+ // ```markdown
725
+ // > | | aa | bb | cc |
726
+ // ^-- exit
727
+ // ^^^^-- this cell
728
+ // ```
729
+ if (range[0] !== 0) {
730
+ previousCell.end = Object.assign({}, getPoint(context.events, range[0]));
731
+ map.add(range[0], 0, [['exit', previousCell, context]]);
732
+ }
733
+
734
+ // Insert enter of this cell.
735
+ //
736
+ // ```markdown
737
+ // > | | aa | bb | cc |
738
+ // ^-- enter
739
+ // ^^^^-- this cell
740
+ // ```
741
+ const now = getPoint(context.events, range[1]);
742
+ previousCell = {
743
+ type: groupName,
744
+ start: Object.assign({}, now),
745
+ // Note: correct end is set later.
746
+ end: Object.assign({}, now)
747
+ };
748
+ map.add(range[1], 0, [['enter', previousCell, context]]);
749
+
750
+ // Insert text start at first data start and end at last data end, and
751
+ // remove events between.
752
+ //
753
+ // ```markdown
754
+ // > | | aa | bb | cc |
755
+ // ^-- enter
756
+ // ^-- exit
757
+ // ^^^^-- this cell
758
+ // ```
759
+ if (range[2] !== 0) {
760
+ const relatedStart = getPoint(context.events, range[2]);
761
+ const relatedEnd = getPoint(context.events, range[3]);
762
+ /** @type {Token} */
763
+ const valueToken = {
764
+ type: valueName,
765
+ start: Object.assign({}, relatedStart),
766
+ end: Object.assign({}, relatedEnd)
767
+ };
768
+ map.add(range[2], 0, [['enter', valueToken, context]]);
769
+ if (rowKind !== 2) {
770
+ // Fix positional info on remaining events
771
+ const start = context.events[range[2]];
772
+ const end = context.events[range[3]];
773
+ start[1].end = Object.assign({}, end[1].end);
774
+ start[1].type = "chunkText";
775
+ start[1].contentType = "text";
776
+
777
+ // Remove if needed.
778
+ if (range[3] > range[2] + 1) {
779
+ const a = range[2] + 1;
780
+ const b = range[3] - range[2] - 1;
781
+ map.add(a, b, []);
782
+ }
783
+ }
784
+ map.add(range[3] + 1, 0, [['exit', valueToken, context]]);
785
+ }
786
+
787
+ // Insert an exit for the last cell, if at the row end.
788
+ //
789
+ // ```markdown
790
+ // > | | aa | bb | cc |
791
+ // ^-- exit
792
+ // ^^^^^^-- this cell (the last one contains two “between” parts)
793
+ // ```
794
+ if (rowEnd !== undefined) {
795
+ previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));
796
+ map.add(rowEnd, 0, [['exit', previousCell, context]]);
797
+ previousCell = undefined;
798
+ }
799
+ return previousCell;
800
+ }
801
+
802
+ /**
803
+ * Generate table end (and table body end).
804
+ *
805
+ * @param {Readonly<EditMap>} map
806
+ * Edit map to apply to.
807
+ * @param {Readonly<TokenizeContext>} context
808
+ * Tokenize context.
809
+ * @param {number} index
810
+ * Index within the events where the table end should be inserted.
811
+ * @param {Token} table
812
+ * Table token.
813
+ * @param {Token | undefined} tableBody
814
+ * Table body token, if any.
815
+ * @returns {undefined}
816
+ * Nothing.
817
+ */
818
+ // eslint-disable-next-line max-params
819
+ function flushTableEnd(map, context, index, table, tableBody) {
820
+ /** @type {Array<Event>} */
821
+ const exits = [];
822
+ const related = getPoint(context.events, index);
823
+ if (tableBody) {
824
+ tableBody.end = Object.assign({}, related);
825
+ exits.push(['exit', tableBody, context]);
826
+ }
827
+ table.end = Object.assign({}, related);
828
+ exits.push(['exit', table, context]);
829
+ map.add(index + 1, 0, exits);
830
+ }
831
+
832
+ /**
833
+ * Get the point (start or end) for a given event in the list of events.
834
+ *
835
+ * @param {Readonly<Array<Event>>} events
836
+ * List of events.
837
+ * @param {number} index
838
+ * Index of the event to get the point for.
839
+ * @returns {Readonly<Point>}
840
+ * Start point for enter and end point for exit.
841
+ */
842
+ function getPoint(events, index) {
843
+ const event = events[index];
844
+ const side = event[0] === 'enter' ? 'start' : 'end';
845
+ return event[1][side];
846
+ }