@atlaskit/editor-wikimarkup-transformer 9.5.3

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 (432) hide show
  1. package/CHANGELOG.md +2299 -0
  2. package/LICENSE +13 -0
  3. package/build/tsconfig.json +17 -0
  4. package/char/package.json +7 -0
  5. package/dist/cjs/char.js +8 -0
  6. package/dist/cjs/encoder/emoji-unicode-mapping.js +1618 -0
  7. package/dist/cjs/encoder/index.js +76 -0
  8. package/dist/cjs/encoder/marks/__base.js +24 -0
  9. package/dist/cjs/encoder/marks/code.js +12 -0
  10. package/dist/cjs/encoder/marks/color.js +12 -0
  11. package/dist/cjs/encoder/marks/em.js +19 -0
  12. package/dist/cjs/encoder/marks/link.js +12 -0
  13. package/dist/cjs/encoder/marks/strike.js +14 -0
  14. package/dist/cjs/encoder/marks/strong.js +18 -0
  15. package/dist/cjs/encoder/marks/subsup.js +18 -0
  16. package/dist/cjs/encoder/marks/underline.js +14 -0
  17. package/dist/cjs/encoder/nodes/block-card.js +18 -0
  18. package/dist/cjs/encoder/nodes/blockquote.js +21 -0
  19. package/dist/cjs/encoder/nodes/bullet-list.js +21 -0
  20. package/dist/cjs/encoder/nodes/code-block.js +27 -0
  21. package/dist/cjs/encoder/nodes/date.js +21 -0
  22. package/dist/cjs/encoder/nodes/decisionItem.js +23 -0
  23. package/dist/cjs/encoder/nodes/decisionList.js +18 -0
  24. package/dist/cjs/encoder/nodes/doc.js +21 -0
  25. package/dist/cjs/encoder/nodes/embed-card.js +18 -0
  26. package/dist/cjs/encoder/nodes/emoji.js +26 -0
  27. package/dist/cjs/encoder/nodes/expand.js +22 -0
  28. package/dist/cjs/encoder/nodes/hard-break.js +12 -0
  29. package/dist/cjs/encoder/nodes/heading.js +18 -0
  30. package/dist/cjs/encoder/nodes/inline-card.js +26 -0
  31. package/dist/cjs/encoder/nodes/inlines.js +44 -0
  32. package/dist/cjs/encoder/nodes/listItem.js +77 -0
  33. package/dist/cjs/encoder/nodes/media-group.js +24 -0
  34. package/dist/cjs/encoder/nodes/media.js +66 -0
  35. package/dist/cjs/encoder/nodes/mention.js +27 -0
  36. package/dist/cjs/encoder/nodes/ordered-list.js +21 -0
  37. package/dist/cjs/encoder/nodes/panel.js +29 -0
  38. package/dist/cjs/encoder/nodes/paragraph.js +23 -0
  39. package/dist/cjs/encoder/nodes/rule.js +12 -0
  40. package/dist/cjs/encoder/nodes/status.js +43 -0
  41. package/dist/cjs/encoder/nodes/table.js +77 -0
  42. package/dist/cjs/encoder/nodes/taskItem.js +32 -0
  43. package/dist/cjs/encoder/nodes/taskList.js +27 -0
  44. package/dist/cjs/encoder/nodes/text.js +67 -0
  45. package/dist/cjs/encoder/nodes/unknown.js +17 -0
  46. package/dist/cjs/index.js +93 -0
  47. package/dist/cjs/interfaces.js +5 -0
  48. package/dist/cjs/parser/abstract-tree.js +44 -0
  49. package/dist/cjs/parser/builder/list-builder.js +350 -0
  50. package/dist/cjs/parser/builder/table-builder.js +156 -0
  51. package/dist/cjs/parser/color.js +13 -0
  52. package/dist/cjs/parser/error.js +22 -0
  53. package/dist/cjs/parser/nodes/mediaGroup.js +25 -0
  54. package/dist/cjs/parser/nodes/mediaSingle.js +107 -0
  55. package/dist/cjs/parser/nodes/paragraph.js +72 -0
  56. package/dist/cjs/parser/nodes/rule.js +27 -0
  57. package/dist/cjs/parser/nodes/text.js +15 -0
  58. package/dist/cjs/parser/text.js +165 -0
  59. package/dist/cjs/parser/tokenize/adf-macro.js +49 -0
  60. package/dist/cjs/parser/tokenize/anchor-macro.js +31 -0
  61. package/dist/cjs/parser/tokenize/blockquote.js +42 -0
  62. package/dist/cjs/parser/tokenize/citation.js +71 -0
  63. package/dist/cjs/parser/tokenize/code-macro.js +95 -0
  64. package/dist/cjs/parser/tokenize/color-macro.js +64 -0
  65. package/dist/cjs/parser/tokenize/common-formatter.js +230 -0
  66. package/dist/cjs/parser/tokenize/common-macro.js +62 -0
  67. package/dist/cjs/parser/tokenize/dash-token-creator.js +42 -0
  68. package/dist/cjs/parser/tokenize/deleted.js +66 -0
  69. package/dist/cjs/parser/tokenize/double-dash-symbol.js +30 -0
  70. package/dist/cjs/parser/tokenize/emoji.js +184 -0
  71. package/dist/cjs/parser/tokenize/emphasis.js +65 -0
  72. package/dist/cjs/parser/tokenize/file-link.js +36 -0
  73. package/dist/cjs/parser/tokenize/force-line-break.js +48 -0
  74. package/dist/cjs/parser/tokenize/hardbreak.js +33 -0
  75. package/dist/cjs/parser/tokenize/heading.js +70 -0
  76. package/dist/cjs/parser/tokenize/index.js +144 -0
  77. package/dist/cjs/parser/tokenize/inserted.js +65 -0
  78. package/dist/cjs/parser/tokenize/issue-key.js +107 -0
  79. package/dist/cjs/parser/tokenize/keyword.js +159 -0
  80. package/dist/cjs/parser/tokenize/link-text.js +77 -0
  81. package/dist/cjs/parser/tokenize/links/attachment-link.js +18 -0
  82. package/dist/cjs/parser/tokenize/links/issue-link.js +41 -0
  83. package/dist/cjs/parser/tokenize/links/link-format.js +65 -0
  84. package/dist/cjs/parser/tokenize/links/link-parser.js +224 -0
  85. package/dist/cjs/parser/tokenize/links/link-resolver.js +57 -0
  86. package/dist/cjs/parser/tokenize/links/mention-link.js +24 -0
  87. package/dist/cjs/parser/tokenize/links/url-link.js +64 -0
  88. package/dist/cjs/parser/tokenize/list.js +339 -0
  89. package/dist/cjs/parser/tokenize/media.js +51 -0
  90. package/dist/cjs/parser/tokenize/monospace.js +59 -0
  91. package/dist/cjs/parser/tokenize/noformat-macro.js +46 -0
  92. package/dist/cjs/parser/tokenize/panel-macro.js +106 -0
  93. package/dist/cjs/parser/tokenize/quadruple-dash-symbol.js +30 -0
  94. package/dist/cjs/parser/tokenize/quote-macro.js +166 -0
  95. package/dist/cjs/parser/tokenize/ruler.js +33 -0
  96. package/dist/cjs/parser/tokenize/strong.js +65 -0
  97. package/dist/cjs/parser/tokenize/subscript.js +67 -0
  98. package/dist/cjs/parser/tokenize/superscript.js +67 -0
  99. package/dist/cjs/parser/tokenize/table.js +353 -0
  100. package/dist/cjs/parser/tokenize/triple-dash-symbol.js +30 -0
  101. package/dist/cjs/parser/tokenize/whitespace.js +56 -0
  102. package/dist/cjs/parser/utils/attrs.js +33 -0
  103. package/dist/cjs/parser/utils/color-name-mapping.js +700 -0
  104. package/dist/cjs/parser/utils/escape.js +36 -0
  105. package/dist/cjs/parser/utils/normalize.js +209 -0
  106. package/dist/cjs/parser/utils/panel-type.js +120 -0
  107. package/dist/cjs/parser/utils/text.js +98 -0
  108. package/dist/cjs/parser/utils/title.js +17 -0
  109. package/dist/cjs/parser/utils/url.js +31 -0
  110. package/dist/cjs/version.json +5 -0
  111. package/dist/es2019/char.js +1 -0
  112. package/dist/es2019/encoder/emoji-unicode-mapping.js +1611 -0
  113. package/dist/es2019/encoder/index.js +51 -0
  114. package/dist/es2019/encoder/marks/__base.js +15 -0
  115. package/dist/es2019/encoder/marks/code.js +3 -0
  116. package/dist/es2019/encoder/marks/color.js +3 -0
  117. package/dist/es2019/encoder/marks/em.js +9 -0
  118. package/dist/es2019/encoder/marks/link.js +3 -0
  119. package/dist/es2019/encoder/marks/strike.js +4 -0
  120. package/dist/es2019/encoder/marks/strong.js +9 -0
  121. package/dist/es2019/encoder/marks/subsup.js +8 -0
  122. package/dist/es2019/encoder/marks/underline.js +4 -0
  123. package/dist/es2019/encoder/nodes/block-card.js +8 -0
  124. package/dist/es2019/encoder/nodes/blockquote.js +10 -0
  125. package/dist/es2019/encoder/nodes/bullet-list.js +10 -0
  126. package/dist/es2019/encoder/nodes/code-block.js +16 -0
  127. package/dist/es2019/encoder/nodes/date.js +12 -0
  128. package/dist/es2019/encoder/nodes/decisionItem.js +12 -0
  129. package/dist/es2019/encoder/nodes/decisionList.js +8 -0
  130. package/dist/es2019/encoder/nodes/doc.js +10 -0
  131. package/dist/es2019/encoder/nodes/embed-card.js +8 -0
  132. package/dist/es2019/encoder/nodes/emoji.js +15 -0
  133. package/dist/es2019/encoder/nodes/expand.js +11 -0
  134. package/dist/es2019/encoder/nodes/hard-break.js +3 -0
  135. package/dist/es2019/encoder/nodes/heading.js +8 -0
  136. package/dist/es2019/encoder/nodes/inline-card.js +15 -0
  137. package/dist/es2019/encoder/nodes/inlines.js +26 -0
  138. package/dist/es2019/encoder/nodes/listItem.js +63 -0
  139. package/dist/es2019/encoder/nodes/media-group.js +13 -0
  140. package/dist/es2019/encoder/nodes/media.js +54 -0
  141. package/dist/es2019/encoder/nodes/mention.js +16 -0
  142. package/dist/es2019/encoder/nodes/ordered-list.js +10 -0
  143. package/dist/es2019/encoder/nodes/panel.js +19 -0
  144. package/dist/es2019/encoder/nodes/paragraph.js +12 -0
  145. package/dist/es2019/encoder/nodes/rule.js +3 -0
  146. package/dist/es2019/encoder/nodes/status.js +23 -0
  147. package/dist/es2019/encoder/nodes/table.js +62 -0
  148. package/dist/es2019/encoder/nodes/taskItem.js +21 -0
  149. package/dist/es2019/encoder/nodes/taskList.js +17 -0
  150. package/dist/es2019/encoder/nodes/text.js +46 -0
  151. package/dist/es2019/encoder/nodes/unknown.js +8 -0
  152. package/dist/es2019/index.js +58 -0
  153. package/dist/es2019/interfaces.js +1 -0
  154. package/dist/es2019/parser/abstract-tree.js +23 -0
  155. package/dist/es2019/parser/builder/list-builder.js +294 -0
  156. package/dist/es2019/parser/builder/table-builder.js +135 -0
  157. package/dist/es2019/parser/color.js +5 -0
  158. package/dist/es2019/parser/error.js +15 -0
  159. package/dist/es2019/parser/nodes/mediaGroup.js +18 -0
  160. package/dist/es2019/parser/nodes/mediaSingle.js +95 -0
  161. package/dist/es2019/parser/nodes/paragraph.js +43 -0
  162. package/dist/es2019/parser/nodes/rule.js +21 -0
  163. package/dist/es2019/parser/nodes/text.js +8 -0
  164. package/dist/es2019/parser/text.js +145 -0
  165. package/dist/es2019/parser/tokenize/adf-macro.js +40 -0
  166. package/dist/es2019/parser/tokenize/anchor-macro.js +22 -0
  167. package/dist/es2019/parser/tokenize/blockquote.js +26 -0
  168. package/dist/es2019/parser/tokenize/citation.js +53 -0
  169. package/dist/es2019/parser/tokenize/code-macro.js +57 -0
  170. package/dist/es2019/parser/tokenize/color-macro.js +46 -0
  171. package/dist/es2019/parser/tokenize/common-formatter.js +215 -0
  172. package/dist/es2019/parser/tokenize/common-macro.js +48 -0
  173. package/dist/es2019/parser/tokenize/dash-token-creator.js +31 -0
  174. package/dist/es2019/parser/tokenize/deleted.js +49 -0
  175. package/dist/es2019/parser/tokenize/double-dash-symbol.js +11 -0
  176. package/dist/es2019/parser/tokenize/emoji.js +174 -0
  177. package/dist/es2019/parser/tokenize/emphasis.js +48 -0
  178. package/dist/es2019/parser/tokenize/file-link.js +25 -0
  179. package/dist/es2019/parser/tokenize/force-line-break.js +38 -0
  180. package/dist/es2019/parser/tokenize/hardbreak.js +24 -0
  181. package/dist/es2019/parser/tokenize/heading.js +58 -0
  182. package/dist/es2019/parser/tokenize/index.js +129 -0
  183. package/dist/es2019/parser/tokenize/inserted.js +48 -0
  184. package/dist/es2019/parser/tokenize/issue-key.js +81 -0
  185. package/dist/es2019/parser/tokenize/keyword.js +142 -0
  186. package/dist/es2019/parser/tokenize/link-text.js +65 -0
  187. package/dist/es2019/parser/tokenize/links/attachment-link.js +8 -0
  188. package/dist/es2019/parser/tokenize/links/issue-link.js +35 -0
  189. package/dist/es2019/parser/tokenize/links/link-format.js +52 -0
  190. package/dist/es2019/parser/tokenize/links/link-parser.js +208 -0
  191. package/dist/es2019/parser/tokenize/links/link-resolver.js +39 -0
  192. package/dist/es2019/parser/tokenize/links/mention-link.js +17 -0
  193. package/dist/es2019/parser/tokenize/links/url-link.js +49 -0
  194. package/dist/es2019/parser/tokenize/list.js +296 -0
  195. package/dist/es2019/parser/tokenize/media.js +30 -0
  196. package/dist/es2019/parser/tokenize/monospace.js +47 -0
  197. package/dist/es2019/parser/tokenize/noformat-macro.js +37 -0
  198. package/dist/es2019/parser/tokenize/panel-macro.js +63 -0
  199. package/dist/es2019/parser/tokenize/quadruple-dash-symbol.js +22 -0
  200. package/dist/es2019/parser/tokenize/quote-macro.js +129 -0
  201. package/dist/es2019/parser/tokenize/ruler.js +23 -0
  202. package/dist/es2019/parser/tokenize/strong.js +48 -0
  203. package/dist/es2019/parser/tokenize/subscript.js +50 -0
  204. package/dist/es2019/parser/tokenize/superscript.js +50 -0
  205. package/dist/es2019/parser/tokenize/table.js +333 -0
  206. package/dist/es2019/parser/tokenize/triple-dash-symbol.js +11 -0
  207. package/dist/es2019/parser/tokenize/whitespace.js +45 -0
  208. package/dist/es2019/parser/utils/attrs.js +17 -0
  209. package/dist/es2019/parser/utils/color-name-mapping.js +693 -0
  210. package/dist/es2019/parser/utils/escape.js +28 -0
  211. package/dist/es2019/parser/utils/normalize.js +161 -0
  212. package/dist/es2019/parser/utils/panel-type.js +109 -0
  213. package/dist/es2019/parser/utils/text.js +58 -0
  214. package/dist/es2019/parser/utils/title.js +10 -0
  215. package/dist/es2019/parser/utils/url.js +24 -0
  216. package/dist/es2019/version.json +5 -0
  217. package/dist/esm/char.js +1 -0
  218. package/dist/esm/encoder/emoji-unicode-mapping.js +1611 -0
  219. package/dist/esm/encoder/index.js +51 -0
  220. package/dist/esm/encoder/marks/__base.js +15 -0
  221. package/dist/esm/encoder/marks/code.js +3 -0
  222. package/dist/esm/encoder/marks/color.js +3 -0
  223. package/dist/esm/encoder/marks/em.js +9 -0
  224. package/dist/esm/encoder/marks/link.js +3 -0
  225. package/dist/esm/encoder/marks/strike.js +4 -0
  226. package/dist/esm/encoder/marks/strong.js +9 -0
  227. package/dist/esm/encoder/marks/subsup.js +8 -0
  228. package/dist/esm/encoder/marks/underline.js +4 -0
  229. package/dist/esm/encoder/nodes/block-card.js +8 -0
  230. package/dist/esm/encoder/nodes/blockquote.js +11 -0
  231. package/dist/esm/encoder/nodes/bullet-list.js +11 -0
  232. package/dist/esm/encoder/nodes/code-block.js +16 -0
  233. package/dist/esm/encoder/nodes/date.js +12 -0
  234. package/dist/esm/encoder/nodes/decisionItem.js +13 -0
  235. package/dist/esm/encoder/nodes/decisionList.js +8 -0
  236. package/dist/esm/encoder/nodes/doc.js +11 -0
  237. package/dist/esm/encoder/nodes/embed-card.js +8 -0
  238. package/dist/esm/encoder/nodes/emoji.js +15 -0
  239. package/dist/esm/encoder/nodes/expand.js +12 -0
  240. package/dist/esm/encoder/nodes/hard-break.js +3 -0
  241. package/dist/esm/encoder/nodes/heading.js +8 -0
  242. package/dist/esm/encoder/nodes/inline-card.js +15 -0
  243. package/dist/esm/encoder/nodes/inlines.js +26 -0
  244. package/dist/esm/encoder/nodes/listItem.js +63 -0
  245. package/dist/esm/encoder/nodes/media-group.js +14 -0
  246. package/dist/esm/encoder/nodes/media.js +57 -0
  247. package/dist/esm/encoder/nodes/mention.js +19 -0
  248. package/dist/esm/encoder/nodes/ordered-list.js +11 -0
  249. package/dist/esm/encoder/nodes/panel.js +18 -0
  250. package/dist/esm/encoder/nodes/paragraph.js +13 -0
  251. package/dist/esm/encoder/nodes/rule.js +3 -0
  252. package/dist/esm/encoder/nodes/status.js +29 -0
  253. package/dist/esm/encoder/nodes/table.js +66 -0
  254. package/dist/esm/encoder/nodes/taskItem.js +22 -0
  255. package/dist/esm/encoder/nodes/taskList.js +18 -0
  256. package/dist/esm/encoder/nodes/text.js +51 -0
  257. package/dist/esm/encoder/nodes/unknown.js +6 -0
  258. package/dist/esm/index.js +78 -0
  259. package/dist/esm/interfaces.js +1 -0
  260. package/dist/esm/parser/abstract-tree.js +34 -0
  261. package/dist/esm/parser/builder/list-builder.js +338 -0
  262. package/dist/esm/parser/builder/table-builder.js +150 -0
  263. package/dist/esm/parser/color.js +5 -0
  264. package/dist/esm/parser/error.js +15 -0
  265. package/dist/esm/parser/nodes/mediaGroup.js +18 -0
  266. package/dist/esm/parser/nodes/mediaSingle.js +97 -0
  267. package/dist/esm/parser/nodes/paragraph.js +61 -0
  268. package/dist/esm/parser/nodes/rule.js +18 -0
  269. package/dist/esm/parser/nodes/text.js +8 -0
  270. package/dist/esm/parser/text.js +149 -0
  271. package/dist/esm/parser/tokenize/adf-macro.js +39 -0
  272. package/dist/esm/parser/tokenize/anchor-macro.js +21 -0
  273. package/dist/esm/parser/tokenize/blockquote.js +28 -0
  274. package/dist/esm/parser/tokenize/citation.js +54 -0
  275. package/dist/esm/parser/tokenize/code-macro.js +80 -0
  276. package/dist/esm/parser/tokenize/color-macro.js +46 -0
  277. package/dist/esm/parser/tokenize/common-formatter.js +216 -0
  278. package/dist/esm/parser/tokenize/common-macro.js +52 -0
  279. package/dist/esm/parser/tokenize/dash-token-creator.js +33 -0
  280. package/dist/esm/parser/tokenize/deleted.js +50 -0
  281. package/dist/esm/parser/tokenize/double-dash-symbol.js +19 -0
  282. package/dist/esm/parser/tokenize/emoji.js +173 -0
  283. package/dist/esm/parser/tokenize/emphasis.js +49 -0
  284. package/dist/esm/parser/tokenize/file-link.js +25 -0
  285. package/dist/esm/parser/tokenize/force-line-break.js +38 -0
  286. package/dist/esm/parser/tokenize/hardbreak.js +23 -0
  287. package/dist/esm/parser/tokenize/heading.js +58 -0
  288. package/dist/esm/parser/tokenize/index.js +102 -0
  289. package/dist/esm/parser/tokenize/inserted.js +49 -0
  290. package/dist/esm/parser/tokenize/issue-key.js +89 -0
  291. package/dist/esm/parser/tokenize/keyword.js +142 -0
  292. package/dist/esm/parser/tokenize/link-text.js +64 -0
  293. package/dist/esm/parser/tokenize/links/attachment-link.js +8 -0
  294. package/dist/esm/parser/tokenize/links/issue-link.js +33 -0
  295. package/dist/esm/parser/tokenize/links/link-format.js +51 -0
  296. package/dist/esm/parser/tokenize/links/link-parser.js +213 -0
  297. package/dist/esm/parser/tokenize/links/link-resolver.js +55 -0
  298. package/dist/esm/parser/tokenize/links/mention-link.js +17 -0
  299. package/dist/esm/parser/tokenize/links/url-link.js +50 -0
  300. package/dist/esm/parser/tokenize/list.js +318 -0
  301. package/dist/esm/parser/tokenize/media.js +36 -0
  302. package/dist/esm/parser/tokenize/monospace.js +47 -0
  303. package/dist/esm/parser/tokenize/noformat-macro.js +34 -0
  304. package/dist/esm/parser/tokenize/panel-macro.js +88 -0
  305. package/dist/esm/parser/tokenize/quadruple-dash-symbol.js +21 -0
  306. package/dist/esm/parser/tokenize/quote-macro.js +148 -0
  307. package/dist/esm/parser/tokenize/ruler.js +22 -0
  308. package/dist/esm/parser/tokenize/strong.js +49 -0
  309. package/dist/esm/parser/tokenize/subscript.js +51 -0
  310. package/dist/esm/parser/tokenize/superscript.js +51 -0
  311. package/dist/esm/parser/tokenize/table.js +336 -0
  312. package/dist/esm/parser/tokenize/triple-dash-symbol.js +19 -0
  313. package/dist/esm/parser/tokenize/whitespace.js +45 -0
  314. package/dist/esm/parser/utils/attrs.js +23 -0
  315. package/dist/esm/parser/utils/color-name-mapping.js +693 -0
  316. package/dist/esm/parser/utils/escape.js +28 -0
  317. package/dist/esm/parser/utils/normalize.js +195 -0
  318. package/dist/esm/parser/utils/panel-type.js +109 -0
  319. package/dist/esm/parser/utils/text.js +81 -0
  320. package/dist/esm/parser/utils/title.js +10 -0
  321. package/dist/esm/parser/utils/url.js +24 -0
  322. package/dist/esm/version.json +5 -0
  323. package/dist/types/char.d.ts +1 -0
  324. package/dist/types/encoder/emoji-unicode-mapping.d.ts +3 -0
  325. package/dist/types/encoder/index.d.ts +9 -0
  326. package/dist/types/encoder/marks/__base.d.ts +5 -0
  327. package/dist/types/encoder/marks/code.d.ts +2 -0
  328. package/dist/types/encoder/marks/color.d.ts +2 -0
  329. package/dist/types/encoder/marks/em.d.ts +2 -0
  330. package/dist/types/encoder/marks/link.d.ts +2 -0
  331. package/dist/types/encoder/marks/strike.d.ts +2 -0
  332. package/dist/types/encoder/marks/strong.d.ts +6 -0
  333. package/dist/types/encoder/marks/subsup.d.ts +2 -0
  334. package/dist/types/encoder/marks/underline.d.ts +2 -0
  335. package/dist/types/encoder/nodes/block-card.d.ts +2 -0
  336. package/dist/types/encoder/nodes/blockquote.d.ts +2 -0
  337. package/dist/types/encoder/nodes/bullet-list.d.ts +2 -0
  338. package/dist/types/encoder/nodes/code-block.d.ts +2 -0
  339. package/dist/types/encoder/nodes/date.d.ts +2 -0
  340. package/dist/types/encoder/nodes/decisionItem.d.ts +3 -0
  341. package/dist/types/encoder/nodes/decisionList.d.ts +2 -0
  342. package/dist/types/encoder/nodes/doc.d.ts +2 -0
  343. package/dist/types/encoder/nodes/embed-card.d.ts +2 -0
  344. package/dist/types/encoder/nodes/emoji.d.ts +2 -0
  345. package/dist/types/encoder/nodes/expand.d.ts +2 -0
  346. package/dist/types/encoder/nodes/hard-break.d.ts +2 -0
  347. package/dist/types/encoder/nodes/heading.d.ts +2 -0
  348. package/dist/types/encoder/nodes/inline-card.d.ts +2 -0
  349. package/dist/types/encoder/nodes/inlines.d.ts +2 -0
  350. package/dist/types/encoder/nodes/listItem.d.ts +3 -0
  351. package/dist/types/encoder/nodes/media-group.d.ts +2 -0
  352. package/dist/types/encoder/nodes/media.d.ts +2 -0
  353. package/dist/types/encoder/nodes/mention.d.ts +2 -0
  354. package/dist/types/encoder/nodes/ordered-list.d.ts +2 -0
  355. package/dist/types/encoder/nodes/panel.d.ts +2 -0
  356. package/dist/types/encoder/nodes/paragraph.d.ts +2 -0
  357. package/dist/types/encoder/nodes/rule.d.ts +2 -0
  358. package/dist/types/encoder/nodes/status.d.ts +2 -0
  359. package/dist/types/encoder/nodes/table.d.ts +2 -0
  360. package/dist/types/encoder/nodes/taskItem.d.ts +3 -0
  361. package/dist/types/encoder/nodes/taskList.d.ts +2 -0
  362. package/dist/types/encoder/nodes/text.d.ts +2 -0
  363. package/dist/types/encoder/nodes/unknown.d.ts +2 -0
  364. package/dist/types/index.d.ts +15 -0
  365. package/dist/types/interfaces.d.ts +68 -0
  366. package/dist/types/parser/abstract-tree.d.ts +11 -0
  367. package/dist/types/parser/builder/list-builder.d.ts +66 -0
  368. package/dist/types/parser/builder/table-builder.d.ts +45 -0
  369. package/dist/types/parser/color.d.ts +3 -0
  370. package/dist/types/parser/error.d.ts +1 -0
  371. package/dist/types/parser/nodes/mediaGroup.d.ts +3 -0
  372. package/dist/types/parser/nodes/mediaSingle.d.ts +5 -0
  373. package/dist/types/parser/nodes/paragraph.d.ts +7 -0
  374. package/dist/types/parser/nodes/rule.d.ts +3 -0
  375. package/dist/types/parser/nodes/text.d.ts +2 -0
  376. package/dist/types/parser/text.d.ts +10 -0
  377. package/dist/types/parser/tokenize/adf-macro.d.ts +2 -0
  378. package/dist/types/parser/tokenize/anchor-macro.d.ts +2 -0
  379. package/dist/types/parser/tokenize/blockquote.d.ts +2 -0
  380. package/dist/types/parser/tokenize/citation.d.ts +2 -0
  381. package/dist/types/parser/tokenize/code-macro.d.ts +2 -0
  382. package/dist/types/parser/tokenize/color-macro.d.ts +2 -0
  383. package/dist/types/parser/tokenize/common-formatter.d.ts +10 -0
  384. package/dist/types/parser/tokenize/common-macro.d.ts +10 -0
  385. package/dist/types/parser/tokenize/dash-token-creator.d.ts +2 -0
  386. package/dist/types/parser/tokenize/deleted.d.ts +2 -0
  387. package/dist/types/parser/tokenize/double-dash-symbol.d.ts +1 -0
  388. package/dist/types/parser/tokenize/emoji.d.ts +15 -0
  389. package/dist/types/parser/tokenize/emphasis.d.ts +2 -0
  390. package/dist/types/parser/tokenize/file-link.d.ts +3 -0
  391. package/dist/types/parser/tokenize/force-line-break.d.ts +2 -0
  392. package/dist/types/parser/tokenize/hardbreak.d.ts +2 -0
  393. package/dist/types/parser/tokenize/heading.d.ts +2 -0
  394. package/dist/types/parser/tokenize/index.d.ts +55 -0
  395. package/dist/types/parser/tokenize/inserted.d.ts +2 -0
  396. package/dist/types/parser/tokenize/issue-key.d.ts +20 -0
  397. package/dist/types/parser/tokenize/keyword.d.ts +13 -0
  398. package/dist/types/parser/tokenize/link-text.d.ts +3 -0
  399. package/dist/types/parser/tokenize/links/attachment-link.d.ts +4 -0
  400. package/dist/types/parser/tokenize/links/issue-link.d.ts +4 -0
  401. package/dist/types/parser/tokenize/links/link-format.d.ts +2 -0
  402. package/dist/types/parser/tokenize/links/link-parser.d.ts +17 -0
  403. package/dist/types/parser/tokenize/links/link-resolver.d.ts +5 -0
  404. package/dist/types/parser/tokenize/links/mention-link.d.ts +4 -0
  405. package/dist/types/parser/tokenize/links/url-link.d.ts +4 -0
  406. package/dist/types/parser/tokenize/list.d.ts +3 -0
  407. package/dist/types/parser/tokenize/media.d.ts +2 -0
  408. package/dist/types/parser/tokenize/monospace.d.ts +2 -0
  409. package/dist/types/parser/tokenize/noformat-macro.d.ts +2 -0
  410. package/dist/types/parser/tokenize/panel-macro.d.ts +2 -0
  411. package/dist/types/parser/tokenize/quadruple-dash-symbol.d.ts +2 -0
  412. package/dist/types/parser/tokenize/quote-macro.d.ts +5 -0
  413. package/dist/types/parser/tokenize/ruler.d.ts +2 -0
  414. package/dist/types/parser/tokenize/strong.d.ts +2 -0
  415. package/dist/types/parser/tokenize/subscript.d.ts +2 -0
  416. package/dist/types/parser/tokenize/superscript.d.ts +2 -0
  417. package/dist/types/parser/tokenize/table.d.ts +2 -0
  418. package/dist/types/parser/tokenize/triple-dash-symbol.d.ts +1 -0
  419. package/dist/types/parser/tokenize/whitespace.d.ts +3 -0
  420. package/dist/types/parser/utils/attrs.d.ts +3 -0
  421. package/dist/types/parser/utils/color-name-mapping.d.ts +10 -0
  422. package/dist/types/parser/utils/escape.d.ts +2 -0
  423. package/dist/types/parser/utils/normalize.d.ts +4 -0
  424. package/dist/types/parser/utils/panel-type.d.ts +3 -0
  425. package/dist/types/parser/utils/text.d.ts +21 -0
  426. package/dist/types/parser/utils/title.d.ts +7 -0
  427. package/dist/types/parser/utils/url.d.ts +8 -0
  428. package/docs/0-intro.tsx +24 -0
  429. package/interfaces/package.json +7 -0
  430. package/package.json +53 -0
  431. package/tsconfig.json +12 -0
  432. package/typings/json.d.ts +1 -0
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.parseToken = parseToken;
9
+ exports.TokenType = void 0;
10
+
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+
13
+ var _media = require("./media");
14
+
15
+ var _blockquote = require("./blockquote");
16
+
17
+ var _citation = require("./citation");
18
+
19
+ var _deleted = require("./deleted");
20
+
21
+ var _doubleDashSymbol = require("./double-dash-symbol");
22
+
23
+ var _emoji = require("./emoji");
24
+
25
+ var _emphasis = require("./emphasis");
26
+
27
+ var _hardbreak = require("./hardbreak");
28
+
29
+ var _heading = require("./heading");
30
+
31
+ var _inserted = require("./inserted");
32
+
33
+ var _linkFormat = require("./links/link-format");
34
+
35
+ var _linkText = require("./link-text");
36
+
37
+ var _list = require("./list");
38
+
39
+ var _monospace = require("./monospace");
40
+
41
+ var _quadrupleDashSymbol = require("./quadruple-dash-symbol");
42
+
43
+ var _ruler = require("./ruler");
44
+
45
+ var _strong = require("./strong");
46
+
47
+ var _subscript = require("./subscript");
48
+
49
+ var _superscript = require("./superscript");
50
+
51
+ var _table = require("./table");
52
+
53
+ var _tripleDashSymbol = require("./triple-dash-symbol");
54
+
55
+ var _panelMacro = require("./panel-macro");
56
+
57
+ var _adfMacro = require("./adf-macro");
58
+
59
+ var _anchorMacro = require("./anchor-macro");
60
+
61
+ var _codeMacro = require("./code-macro");
62
+
63
+ var _quoteMacro = require("./quote-macro");
64
+
65
+ var _colorMacro = require("./color-macro");
66
+
67
+ var _noformatMacro = require("./noformat-macro");
68
+
69
+ var _forceLineBreak = require("./force-line-break");
70
+
71
+ var _issueKey = require("./issue-key");
72
+
73
+ var _tokenToTokenParserMa;
74
+
75
+ var TokenType;
76
+ exports.TokenType = TokenType;
77
+
78
+ (function (TokenType) {
79
+ TokenType["ADF_MACRO"] = "ADF_MACRO";
80
+ TokenType["ANCHOR_MACRO"] = "ANCHOR_MACRO";
81
+ TokenType["CODE_MACRO"] = "CODE_MACRO";
82
+ TokenType["QUOTE_MACRO"] = "QUOTE_MACRO";
83
+ TokenType["NOFORMAT_MACRO"] = "NOFORMAT_MACRO";
84
+ TokenType["PANEL_MACRO"] = "PANEL_MACRO";
85
+ TokenType["COLOR_MACRO"] = "COLOR_MACRO";
86
+ TokenType["LOREM_MACRO"] = "LOREM_MACRO";
87
+ TokenType["QUOTE"] = "QUOTE";
88
+ TokenType["STRING"] = "STRING";
89
+ TokenType["ISSUE_KEY"] = "ISSUE_KEY";
90
+ TokenType["LINK_FORMAT"] = "LINK_FORMAT";
91
+ TokenType["LINK_TEXT"] = "LINK_TEXT";
92
+ TokenType["MEDIA"] = "MEDIA";
93
+ TokenType["HEADING"] = "HEADING";
94
+ TokenType["LIST"] = "LIST";
95
+ TokenType["TABLE"] = "TABLE";
96
+ TokenType["RULER"] = "RULER";
97
+ TokenType["HARD_BREAK"] = "HARD_BREAK";
98
+ TokenType["DOUBLE_DASH_SYMBOL"] = "DOUBLE_DASH_SYMBOL";
99
+ TokenType["TRIPLE_DASH_SYMBOL"] = "TRIPLE_DASH_SYMBOL";
100
+ TokenType["QUADRUPLE_DASH_SYMBOL"] = "QUADRUPLE_DASH_SYMBOL";
101
+ TokenType["STRONG"] = "STRONG";
102
+ TokenType["MONOSPACE"] = "MONOSPACE";
103
+ TokenType["SUPERSCRIPT"] = "SUPERSCRIPT";
104
+ TokenType["SUBSCRIPT"] = "SUBSCRIPT";
105
+ TokenType["EMPHASIS"] = "EMPHASIS";
106
+ TokenType["CITATION"] = "CITATION";
107
+ TokenType["DELETED"] = "DELETED";
108
+ TokenType["INSERTED"] = "INSERTED";
109
+ TokenType["EMOJI"] = "EMOJI";
110
+ TokenType["FORCE_LINE_BREAK"] = "FORCE_LINE_BREAK";
111
+ })(TokenType || (exports.TokenType = TokenType = {}));
112
+
113
+ var tokenToTokenParserMapping = (_tokenToTokenParserMa = {}, (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.DOUBLE_DASH_SYMBOL, _doubleDashSymbol.doubleDashSymbol), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.TRIPLE_DASH_SYMBOL, _tripleDashSymbol.tripleDashSymbol), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.QUADRUPLE_DASH_SYMBOL, _quadrupleDashSymbol.quadrupleDashSymbol), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.RULER, _ruler.ruler), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.STRONG, _strong.strong), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.MONOSPACE, _monospace.monospace), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.SUPERSCRIPT, _superscript.superscript), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.SUBSCRIPT, _subscript.subscript), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.EMPHASIS, _emphasis.emphasis), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.CITATION, _citation.citation), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.DELETED, _deleted.deleted), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.INSERTED, _inserted.inserted), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.HARD_BREAK, _hardbreak.hardbreak), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.LINK_FORMAT, _linkFormat.linkFormat), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.LINK_TEXT, _linkText.linkText), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.HEADING, _heading.heading), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.MEDIA, _media.media), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.LIST, _list.list), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.QUOTE, _blockquote.blockquote), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.TABLE, _table.table), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.EMOJI, _emoji.emoji), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.ADF_MACRO, _adfMacro.adfMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.ANCHOR_MACRO, _anchorMacro.anchorMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.CODE_MACRO, _codeMacro.codeMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.QUOTE_MACRO, _quoteMacro.quoteMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.NOFORMAT_MACRO, _noformatMacro.noformatMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.PANEL_MACRO, _panelMacro.panelMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.COLOR_MACRO, _colorMacro.colorMacro), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.FORCE_LINE_BREAK, _forceLineBreak.forceLineBreak), (0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.ISSUE_KEY, _issueKey.issueKey), _tokenToTokenParserMa);
114
+
115
+ function parseToken(input, type, position, schema, context) {
116
+ var tokenParser = tokenToTokenParserMapping[type];
117
+
118
+ if (tokenParser) {
119
+ try {
120
+ return tokenParser({
121
+ input: input,
122
+ position: position,
123
+ schema: schema,
124
+ context: context
125
+ });
126
+ } catch (err) {
127
+ if (context.tokenErrCallback) {
128
+ context.tokenErrCallback(err, type);
129
+ }
130
+
131
+ return fallback(input, position);
132
+ }
133
+ }
134
+
135
+ return fallback(input, position);
136
+ }
137
+
138
+ function fallback(input, position) {
139
+ return {
140
+ type: 'text',
141
+ text: input.substr(position, 1),
142
+ length: 1
143
+ };
144
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.inserted = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _ = require("./");
13
+
14
+ var _text = require("../utils/text");
15
+
16
+ var _commonFormatter = require("./common-formatter");
17
+
18
+ var _text2 = require("../text");
19
+
20
+ var inserted = function inserted(_ref) {
21
+ var input = _ref.input,
22
+ position = _ref.position,
23
+ schema = _ref.schema,
24
+ context = _ref.context;
25
+
26
+ /**
27
+ * The following token types will be ignored in parsing
28
+ * the content
29
+ */
30
+ var ignoreTokenTypes = [_.TokenType.DOUBLE_DASH_SYMBOL, _.TokenType.TRIPLE_DASH_SYMBOL, _.TokenType.QUADRUPLE_DASH_SYMBOL, _.TokenType.ISSUE_KEY, _.TokenType.TABLE]; // Add underline mark to each text
31
+
32
+ var contentDecorator = function contentDecorator(n) {
33
+ var mark = schema.marks.underline.create(); // We don't want to mix `code` mark with others
34
+
35
+ if (n.type.name === 'text' && !(0, _text.hasAnyOfMarks)(n, ['underline', 'code'])) {
36
+ return n.mark([].concat((0, _toConsumableArray2.default)(n.marks), [mark]));
37
+ }
38
+
39
+ return n;
40
+ };
41
+
42
+ var rawContentProcessor = function rawContentProcessor(raw, length) {
43
+ var content = (0, _text2.parseString)({
44
+ ignoreTokenTypes: ignoreTokenTypes,
45
+ schema: schema,
46
+ context: context,
47
+ input: raw
48
+ });
49
+ var decoratedContent = content.map(contentDecorator);
50
+ return {
51
+ type: 'pmnode',
52
+ nodes: decoratedContent,
53
+ length: length
54
+ };
55
+ };
56
+
57
+ return (0, _commonFormatter.commonFormatter)(input, position, schema, {
58
+ opening: '+',
59
+ closing: '+',
60
+ context: context,
61
+ rawContentProcessor: rawContentProcessor
62
+ });
63
+ };
64
+
65
+ exports.inserted = inserted;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildIssueKeyRegex = exports.buildInlineCard = exports.getIssue = exports.issueKey = exports.INLINE_CARD_FROM_TEXT_STAMP = void 0;
7
+
8
+ var _text = require("../utils/text");
9
+
10
+ /**
11
+ * Inline Card From Text (ICFT).
12
+ *
13
+ * When we convert WikiMarkup to ADF we stamp all issue keys URLs with the
14
+ * #icft= syntax to identify which keys should be involved by brackets
15
+ * [XX-999] from the ones which should be blue links in the ADF to WikiMarkup
16
+ * convertion.
17
+ */
18
+ var INLINE_CARD_FROM_TEXT_STAMP = /(#icft=)([A-Z][A-Z]+-[0-9]+)/;
19
+ exports.INLINE_CARD_FROM_TEXT_STAMP = INLINE_CARD_FROM_TEXT_STAMP;
20
+
21
+ var issueKey = function issueKey(_ref) {
22
+ var input = _ref.input,
23
+ position = _ref.position,
24
+ schema = _ref.schema,
25
+ context = _ref.context;
26
+
27
+ // This scenario happens when context is empty
28
+ if (!context.issueKeyRegex) {
29
+ return fallback(input, position);
30
+ }
31
+
32
+ var match = input.substring(position).match(context.issueKeyRegex);
33
+
34
+ if (!match) {
35
+ return fallback(input, position);
36
+ }
37
+
38
+ var issue = getIssue(context, match[0]); // This scenario happens when context doesn't has all the issues inside a markup
39
+
40
+ if (!issue) {
41
+ return fallback(input, position);
42
+ }
43
+
44
+ var charBefore = input.charAt(position - 1);
45
+ var charAfter = input.charAt(position + issue.key.length);
46
+
47
+ if ((0, _text.isNotBlank)(charBefore) && isNotAllowedChars(charBefore) || (0, _text.isNotBlank)(charAfter) && isNotAllowedChars(charAfter)) {
48
+ return fallback(input, position);
49
+ }
50
+
51
+ return {
52
+ type: 'pmnode',
53
+ nodes: buildInlineCard(schema, issue),
54
+ length: match[0].length
55
+ };
56
+ };
57
+
58
+ exports.issueKey = issueKey;
59
+
60
+ var fallback = function fallback(input, position) {
61
+ return {
62
+ type: 'text',
63
+ text: input.substr(position, 1),
64
+ length: 1
65
+ };
66
+ };
67
+
68
+ var getIssue = function getIssue(context, key) {
69
+ return context.conversion && context.conversion.inlineCardConversion && context.conversion.inlineCardConversion[key] ? {
70
+ key: key,
71
+ url: context.conversion.inlineCardConversion[key]
72
+ } : null;
73
+ };
74
+
75
+ exports.getIssue = getIssue;
76
+
77
+ var buildInlineCard = function buildInlineCard(schema, issue) {
78
+ return [schema.nodes.inlineCard.createChecked({
79
+ url: withInlineCardFromTextStamp(issue)
80
+ })];
81
+ };
82
+
83
+ exports.buildInlineCard = buildInlineCard;
84
+
85
+ var withInlineCardFromTextStamp = function withInlineCardFromTextStamp(issue) {
86
+ return INLINE_CARD_FROM_TEXT_STAMP.test(issue.url) ? issue.url : "".concat(issue.url, "#icft=").concat(issue.key);
87
+ };
88
+
89
+ var isNotAllowedChars = function isNotAllowedChars(char) {
90
+ return !/\s|\(|\)|!/.test(char);
91
+ };
92
+
93
+ var buildIssueKeyRegex = function buildIssueKeyRegex(inlineCardConversion) {
94
+ if (!inlineCardConversion) {
95
+ return undefined;
96
+ }
97
+
98
+ var pattern = Object.keys(inlineCardConversion).join('|');
99
+
100
+ if (!pattern) {
101
+ return undefined;
102
+ }
103
+
104
+ return new RegExp("^(".concat(pattern, ")"));
105
+ };
106
+
107
+ exports.buildIssueKeyRegex = buildIssueKeyRegex;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseMacroKeyword = parseMacroKeyword;
7
+ exports.parseOtherKeyword = parseOtherKeyword;
8
+ exports.parseLeadingKeyword = parseLeadingKeyword;
9
+ exports.parseIssueKeyword = parseIssueKeyword;
10
+
11
+ var _ = require("./");
12
+
13
+ var _list = require("./list");
14
+
15
+ var macroKeywordTokenMap = [{
16
+ type: _.TokenType.ADF_MACRO,
17
+ regex: /^{adf/i
18
+ }, {
19
+ type: _.TokenType.ANCHOR_MACRO,
20
+ regex: /^{anchor/i
21
+ }, {
22
+ type: _.TokenType.CODE_MACRO,
23
+ regex: /^{code/i
24
+ }, {
25
+ type: _.TokenType.QUOTE_MACRO,
26
+ regex: /^{quote/i
27
+ }, {
28
+ type: _.TokenType.NOFORMAT_MACRO,
29
+ regex: /^{noformat/i
30
+ }, {
31
+ type: _.TokenType.PANEL_MACRO,
32
+ regex: /^{panel/i
33
+ }, {
34
+ type: _.TokenType.COLOR_MACRO,
35
+ regex: /^{color/
36
+ }, {
37
+ type: _.TokenType.LOREM_MACRO,
38
+ regex: /^{loremipsum/i
39
+ }];
40
+ /**
41
+ * The order of this mapping determind which keyword
42
+ * will be checked first, so it matters.
43
+ */
44
+
45
+ var keywordTokenMap = {
46
+ '[': _.TokenType.LINK_FORMAT,
47
+ http: _.TokenType.LINK_TEXT,
48
+ ftp: _.TokenType.LINK_TEXT,
49
+ irc: _.TokenType.LINK_TEXT,
50
+ mailto: _.TokenType.LINK_TEXT,
51
+ '\\\\': _.TokenType.FORCE_LINE_BREAK,
52
+ '\r': _.TokenType.HARD_BREAK,
53
+ '\n': _.TokenType.HARD_BREAK,
54
+ '\r\n': _.TokenType.HARD_BREAK,
55
+ '!': _.TokenType.MEDIA,
56
+ '----': _.TokenType.QUADRUPLE_DASH_SYMBOL,
57
+ '---': _.TokenType.TRIPLE_DASH_SYMBOL,
58
+ '--': _.TokenType.DOUBLE_DASH_SYMBOL,
59
+ '-': _.TokenType.DELETED,
60
+ '+': _.TokenType.INSERTED,
61
+ '*': _.TokenType.STRONG,
62
+ '^': _.TokenType.SUPERSCRIPT,
63
+ '~': _.TokenType.SUBSCRIPT,
64
+ _: _.TokenType.EMPHASIS,
65
+ '{{': _.TokenType.MONOSPACE,
66
+ '??': _.TokenType.CITATION
67
+ };
68
+ var keywordTokenMapKeys = Object.keys(keywordTokenMap);
69
+
70
+ function parseMacroKeyword(input) {
71
+ for (var i = 0; i < macroKeywordTokenMap.length; i++) {
72
+ var keyword = macroKeywordTokenMap[i];
73
+
74
+ if (keyword.regex.test(input)) {
75
+ return {
76
+ type: keyword.type
77
+ };
78
+ }
79
+ }
80
+
81
+ return null;
82
+ }
83
+
84
+ function parseOtherKeyword(input) {
85
+ for (var i = 0; i < keywordTokenMapKeys.length; i++) {
86
+ if (input.startsWith(keywordTokenMapKeys[i])) {
87
+ return {
88
+ type: keywordTokenMap[keywordTokenMapKeys[i]]
89
+ };
90
+ }
91
+ } // Look for a emoji
92
+
93
+
94
+ var char = input.charAt(0);
95
+
96
+ if ([':', '(', ';'].indexOf(char) !== -1) {
97
+ return {
98
+ // This potentially can be a emoji. The emoji parser will fail out if it's not
99
+ type: _.TokenType.EMOJI
100
+ };
101
+ }
102
+
103
+ return null;
104
+ }
105
+ /**
106
+ * These keywords only take effect when it's at the
107
+ * beginning of the line
108
+ * The order of the mapping matters. We should not put
109
+ * LIST in front of RULER for example.
110
+ */
111
+
112
+
113
+ var leadingKeywordTokenMap = [{
114
+ type: _.TokenType.QUOTE,
115
+ regex: /^bq\./
116
+ }, {
117
+ type: _.TokenType.HEADING,
118
+ regex: /^h[1-6]\./
119
+ }, {
120
+ type: _.TokenType.RULER,
121
+ regex: /^-{4,5}(\s|$)/
122
+ }, {
123
+ type: _.TokenType.TRIPLE_DASH_SYMBOL,
124
+ regex: /^-{3}\s/
125
+ }, {
126
+ type: _.TokenType.DOUBLE_DASH_SYMBOL,
127
+ regex: /^-{2}\s/
128
+ }, {
129
+ // Lists are limited to max 20 levels of depth
130
+ type: _.TokenType.LIST,
131
+ regex: new RegExp("^([*#]{1,".concat(_list.MAX_LIST_DEPTH, "}|-) "))
132
+ }, {
133
+ type: _.TokenType.TABLE,
134
+ regex: /^\|{1,2}/
135
+ }];
136
+
137
+ function parseLeadingKeyword(input) {
138
+ for (var i = 0; i < leadingKeywordTokenMap.length; i++) {
139
+ var keyword = leadingKeywordTokenMap[i];
140
+
141
+ if (keyword.regex.test(input)) {
142
+ return {
143
+ type: keyword.type
144
+ };
145
+ }
146
+ }
147
+
148
+ return null;
149
+ }
150
+
151
+ function parseIssueKeyword(input, issueKeyRegex) {
152
+ if (issueKeyRegex && issueKeyRegex.test(input)) {
153
+ return {
154
+ type: _.TokenType.ISSUE_KEY
155
+ };
156
+ }
157
+
158
+ return null;
159
+ }