@knpkv/confluence-to-markdown 0.2.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +282 -14
  4. package/dist/ConfluenceAuth.d.ts +76 -0
  5. package/dist/ConfluenceAuth.d.ts.map +1 -0
  6. package/dist/ConfluenceAuth.js +356 -0
  7. package/dist/ConfluenceAuth.js.map +1 -0
  8. package/dist/ConfluenceClient.d.ts +26 -2
  9. package/dist/ConfluenceClient.d.ts.map +1 -1
  10. package/dist/ConfluenceClient.js +98 -92
  11. package/dist/ConfluenceClient.js.map +1 -1
  12. package/dist/ConfluenceConfig.d.ts +4 -24
  13. package/dist/ConfluenceConfig.d.ts.map +1 -1
  14. package/dist/ConfluenceConfig.js +45 -7
  15. package/dist/ConfluenceConfig.js.map +1 -1
  16. package/dist/ConfluenceError.d.ts +89 -6
  17. package/dist/ConfluenceError.d.ts.map +1 -1
  18. package/dist/ConfluenceError.js +88 -5
  19. package/dist/ConfluenceError.js.map +1 -1
  20. package/dist/GitError.d.ts +103 -0
  21. package/dist/GitError.d.ts.map +1 -0
  22. package/dist/GitError.js +85 -0
  23. package/dist/GitError.js.map +1 -0
  24. package/dist/GitService.d.ts +175 -0
  25. package/dist/GitService.d.ts.map +1 -0
  26. package/dist/GitService.js +431 -0
  27. package/dist/GitService.js.map +1 -0
  28. package/dist/LocalFileSystem.d.ts +29 -4
  29. package/dist/LocalFileSystem.d.ts.map +1 -1
  30. package/dist/LocalFileSystem.js +80 -6
  31. package/dist/LocalFileSystem.js.map +1 -1
  32. package/dist/MarkdownConverter.d.ts +49 -2
  33. package/dist/MarkdownConverter.d.ts.map +1 -1
  34. package/dist/MarkdownConverter.js +73 -111
  35. package/dist/MarkdownConverter.js.map +1 -1
  36. package/dist/SchemaConverterError.d.ts +108 -0
  37. package/dist/SchemaConverterError.d.ts.map +1 -0
  38. package/dist/SchemaConverterError.js +84 -0
  39. package/dist/SchemaConverterError.js.map +1 -0
  40. package/dist/Schemas.d.ts +225 -1
  41. package/dist/Schemas.d.ts.map +1 -1
  42. package/dist/Schemas.js +155 -6
  43. package/dist/Schemas.js.map +1 -1
  44. package/dist/SyncEngine.d.ts +30 -20
  45. package/dist/SyncEngine.d.ts.map +1 -1
  46. package/dist/SyncEngine.js +566 -117
  47. package/dist/SyncEngine.js.map +1 -1
  48. package/dist/ast/BlockNode.d.ts +468 -0
  49. package/dist/ast/BlockNode.d.ts.map +1 -0
  50. package/dist/ast/BlockNode.js +319 -0
  51. package/dist/ast/BlockNode.js.map +1 -0
  52. package/dist/ast/Document.d.ts +244 -0
  53. package/dist/ast/Document.d.ts.map +1 -0
  54. package/dist/ast/Document.js +69 -0
  55. package/dist/ast/Document.js.map +1 -0
  56. package/dist/ast/InlineNode.d.ts +477 -0
  57. package/dist/ast/InlineNode.d.ts.map +1 -0
  58. package/dist/ast/InlineNode.js +263 -0
  59. package/dist/ast/InlineNode.js.map +1 -0
  60. package/dist/ast/MacroNode.d.ts +267 -0
  61. package/dist/ast/MacroNode.d.ts.map +1 -0
  62. package/dist/ast/MacroNode.js +164 -0
  63. package/dist/ast/MacroNode.js.map +1 -0
  64. package/dist/ast/index.d.ts +10 -0
  65. package/dist/ast/index.d.ts.map +1 -0
  66. package/dist/ast/index.js +14 -0
  67. package/dist/ast/index.js.map +1 -0
  68. package/dist/bin.js +33 -149
  69. package/dist/bin.js.map +1 -1
  70. package/dist/commands/auth.d.ts +15 -0
  71. package/dist/commands/auth.d.ts.map +1 -0
  72. package/dist/commands/auth.js +86 -0
  73. package/dist/commands/auth.js.map +1 -0
  74. package/dist/commands/clone.d.ts +12 -0
  75. package/dist/commands/clone.d.ts.map +1 -0
  76. package/dist/commands/clone.js +93 -0
  77. package/dist/commands/clone.js.map +1 -0
  78. package/dist/commands/delete.d.ts +13 -0
  79. package/dist/commands/delete.d.ts.map +1 -0
  80. package/dist/commands/delete.js +48 -0
  81. package/dist/commands/delete.js.map +1 -0
  82. package/dist/commands/errorHandler.d.ts +14 -0
  83. package/dist/commands/errorHandler.d.ts.map +1 -0
  84. package/dist/commands/errorHandler.js +33 -0
  85. package/dist/commands/errorHandler.js.map +1 -0
  86. package/dist/commands/git.d.ts +22 -0
  87. package/dist/commands/git.d.ts.map +1 -0
  88. package/dist/commands/git.js +72 -0
  89. package/dist/commands/git.js.map +1 -0
  90. package/dist/commands/index.d.ts +11 -0
  91. package/dist/commands/index.d.ts.map +1 -0
  92. package/dist/commands/index.js +11 -0
  93. package/dist/commands/index.js.map +1 -0
  94. package/dist/commands/layers.d.ts +31 -0
  95. package/dist/commands/layers.d.ts.map +1 -0
  96. package/dist/commands/layers.js +137 -0
  97. package/dist/commands/layers.js.map +1 -0
  98. package/dist/commands/new.d.ts +9 -0
  99. package/dist/commands/new.d.ts.map +1 -0
  100. package/dist/commands/new.js +80 -0
  101. package/dist/commands/new.js.map +1 -0
  102. package/dist/commands/pageTree.d.ts +18 -0
  103. package/dist/commands/pageTree.d.ts.map +1 -0
  104. package/dist/commands/pageTree.js +20 -0
  105. package/dist/commands/pageTree.js.map +1 -0
  106. package/dist/commands/shared.d.ts +15 -0
  107. package/dist/commands/shared.d.ts.map +1 -0
  108. package/dist/commands/shared.js +27 -0
  109. package/dist/commands/shared.js.map +1 -0
  110. package/dist/commands/sync.d.ts +15 -0
  111. package/dist/commands/sync.d.ts.map +1 -0
  112. package/dist/commands/sync.js +101 -0
  113. package/dist/commands/sync.js.map +1 -0
  114. package/dist/index.d.ts +10 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +14 -0
  117. package/dist/index.js.map +1 -1
  118. package/dist/internal/NodeLayers.d.ts +7 -0
  119. package/dist/internal/NodeLayers.d.ts.map +1 -0
  120. package/dist/internal/NodeLayers.js +19 -0
  121. package/dist/internal/NodeLayers.js.map +1 -0
  122. package/dist/internal/frontmatter.d.ts +10 -0
  123. package/dist/internal/frontmatter.d.ts.map +1 -1
  124. package/dist/internal/frontmatter.js +16 -0
  125. package/dist/internal/frontmatter.js.map +1 -1
  126. package/dist/internal/gitCommands.d.ts +78 -0
  127. package/dist/internal/gitCommands.d.ts.map +1 -0
  128. package/dist/internal/gitCommands.js +156 -0
  129. package/dist/internal/gitCommands.js.map +1 -0
  130. package/dist/internal/hashUtils.d.ts +42 -1
  131. package/dist/internal/hashUtils.d.ts.map +1 -1
  132. package/dist/internal/hashUtils.js +38 -2
  133. package/dist/internal/hashUtils.js.map +1 -1
  134. package/dist/internal/oauthServer.d.ts +55 -0
  135. package/dist/internal/oauthServer.d.ts.map +1 -0
  136. package/dist/internal/oauthServer.js +110 -0
  137. package/dist/internal/oauthServer.js.map +1 -0
  138. package/dist/internal/pathUtils.d.ts +21 -4
  139. package/dist/internal/pathUtils.d.ts.map +1 -1
  140. package/dist/internal/pathUtils.js +24 -13
  141. package/dist/internal/pathUtils.js.map +1 -1
  142. package/dist/internal/tokenStorage.d.ts +75 -0
  143. package/dist/internal/tokenStorage.d.ts.map +1 -0
  144. package/dist/internal/tokenStorage.js +149 -0
  145. package/dist/internal/tokenStorage.js.map +1 -0
  146. package/dist/internal/userCache.d.ts +42 -0
  147. package/dist/internal/userCache.d.ts.map +1 -0
  148. package/dist/internal/userCache.js +51 -0
  149. package/dist/internal/userCache.js.map +1 -0
  150. package/dist/parsers/ConfluenceParser.d.ts +26 -0
  151. package/dist/parsers/ConfluenceParser.d.ts.map +1 -0
  152. package/dist/parsers/ConfluenceParser.js +792 -0
  153. package/dist/parsers/ConfluenceParser.js.map +1 -0
  154. package/dist/parsers/MarkdownParser.d.ts +26 -0
  155. package/dist/parsers/MarkdownParser.d.ts.map +1 -0
  156. package/dist/parsers/MarkdownParser.js +873 -0
  157. package/dist/parsers/MarkdownParser.js.map +1 -0
  158. package/dist/parsers/index.d.ts +8 -0
  159. package/dist/parsers/index.d.ts.map +1 -0
  160. package/dist/parsers/index.js +8 -0
  161. package/dist/parsers/index.js.map +1 -0
  162. package/dist/schemas/ConfluenceSchema.d.ts +21 -0
  163. package/dist/schemas/ConfluenceSchema.d.ts.map +1 -0
  164. package/dist/schemas/ConfluenceSchema.js +38 -0
  165. package/dist/schemas/ConfluenceSchema.js.map +1 -0
  166. package/dist/schemas/ConversionSchema.d.ts +35 -0
  167. package/dist/schemas/ConversionSchema.d.ts.map +1 -0
  168. package/dist/schemas/ConversionSchema.js +208 -0
  169. package/dist/schemas/ConversionSchema.js.map +1 -0
  170. package/dist/schemas/MarkdownSchema.d.ts +21 -0
  171. package/dist/schemas/MarkdownSchema.d.ts.map +1 -0
  172. package/dist/schemas/MarkdownSchema.js +38 -0
  173. package/dist/schemas/MarkdownSchema.js.map +1 -0
  174. package/dist/schemas/hast/HastFromHtml.d.ts +27 -0
  175. package/dist/schemas/hast/HastFromHtml.d.ts.map +1 -0
  176. package/dist/schemas/hast/HastFromHtml.js +107 -0
  177. package/dist/schemas/hast/HastFromHtml.js.map +1 -0
  178. package/dist/schemas/hast/HastSchema.d.ts +195 -0
  179. package/dist/schemas/hast/HastSchema.d.ts.map +1 -0
  180. package/dist/schemas/hast/HastSchema.js +183 -0
  181. package/dist/schemas/hast/HastSchema.js.map +1 -0
  182. package/dist/schemas/hast/index.d.ts +9 -0
  183. package/dist/schemas/hast/index.d.ts.map +1 -0
  184. package/dist/schemas/hast/index.js +3 -0
  185. package/dist/schemas/hast/index.js.map +1 -0
  186. package/dist/schemas/index.d.ts +14 -0
  187. package/dist/schemas/index.d.ts.map +1 -0
  188. package/dist/schemas/index.js +16 -0
  189. package/dist/schemas/index.js.map +1 -0
  190. package/dist/schemas/mdast/MdastFromMarkdown.d.ts +30 -0
  191. package/dist/schemas/mdast/MdastFromMarkdown.d.ts.map +1 -0
  192. package/dist/schemas/mdast/MdastFromMarkdown.js +79 -0
  193. package/dist/schemas/mdast/MdastFromMarkdown.js.map +1 -0
  194. package/dist/schemas/mdast/MdastSchema.d.ts +385 -0
  195. package/dist/schemas/mdast/MdastSchema.d.ts.map +1 -0
  196. package/dist/schemas/mdast/MdastSchema.js +266 -0
  197. package/dist/schemas/mdast/MdastSchema.js.map +1 -0
  198. package/dist/schemas/mdast/index.d.ts +10 -0
  199. package/dist/schemas/mdast/index.d.ts.map +1 -0
  200. package/dist/schemas/mdast/index.js +4 -0
  201. package/dist/schemas/mdast/index.js.map +1 -0
  202. package/dist/schemas/mdast/mdastToString.d.ts +13 -0
  203. package/dist/schemas/mdast/mdastToString.d.ts.map +1 -0
  204. package/dist/schemas/mdast/mdastToString.js +85 -0
  205. package/dist/schemas/mdast/mdastToString.js.map +1 -0
  206. package/dist/schemas/nodes/block/BlockSchema.d.ts +43 -0
  207. package/dist/schemas/nodes/block/BlockSchema.d.ts.map +1 -0
  208. package/dist/schemas/nodes/block/BlockSchema.js +634 -0
  209. package/dist/schemas/nodes/block/BlockSchema.js.map +1 -0
  210. package/dist/schemas/nodes/block/index.d.ts +7 -0
  211. package/dist/schemas/nodes/block/index.d.ts.map +1 -0
  212. package/dist/schemas/nodes/block/index.js +7 -0
  213. package/dist/schemas/nodes/block/index.js.map +1 -0
  214. package/dist/schemas/nodes/index.d.ts +9 -0
  215. package/dist/schemas/nodes/index.d.ts.map +1 -0
  216. package/dist/schemas/nodes/index.js +12 -0
  217. package/dist/schemas/nodes/index.js.map +1 -0
  218. package/dist/schemas/nodes/inline/InlineSchema.d.ts +48 -0
  219. package/dist/schemas/nodes/inline/InlineSchema.d.ts.map +1 -0
  220. package/dist/schemas/nodes/inline/InlineSchema.js +436 -0
  221. package/dist/schemas/nodes/inline/InlineSchema.js.map +1 -0
  222. package/dist/schemas/nodes/inline/index.d.ts +7 -0
  223. package/dist/schemas/nodes/inline/index.d.ts.map +1 -0
  224. package/dist/schemas/nodes/inline/index.js +7 -0
  225. package/dist/schemas/nodes/inline/index.js.map +1 -0
  226. package/dist/schemas/nodes/macro/MacroSchema.d.ts +27 -0
  227. package/dist/schemas/nodes/macro/MacroSchema.d.ts.map +1 -0
  228. package/dist/schemas/nodes/macro/MacroSchema.js +162 -0
  229. package/dist/schemas/nodes/macro/MacroSchema.js.map +1 -0
  230. package/dist/schemas/nodes/macro/index.d.ts +7 -0
  231. package/dist/schemas/nodes/macro/index.d.ts.map +1 -0
  232. package/dist/schemas/nodes/macro/index.js +7 -0
  233. package/dist/schemas/nodes/macro/index.js.map +1 -0
  234. package/dist/schemas/preprocessing/ConfluencePreprocessor.d.ts +24 -0
  235. package/dist/schemas/preprocessing/ConfluencePreprocessor.d.ts.map +1 -0
  236. package/dist/schemas/preprocessing/ConfluencePreprocessor.js +351 -0
  237. package/dist/schemas/preprocessing/ConfluencePreprocessor.js.map +1 -0
  238. package/dist/schemas/preprocessing/index.d.ts +8 -0
  239. package/dist/schemas/preprocessing/index.d.ts.map +1 -0
  240. package/dist/schemas/preprocessing/index.js +2 -0
  241. package/dist/schemas/preprocessing/index.js.map +1 -0
  242. package/dist/serializers/ConfluenceSerializer.d.ts +30 -0
  243. package/dist/serializers/ConfluenceSerializer.d.ts.map +1 -0
  244. package/dist/serializers/ConfluenceSerializer.js +551 -0
  245. package/dist/serializers/ConfluenceSerializer.js.map +1 -0
  246. package/dist/serializers/MarkdownSerializer.d.ts +34 -0
  247. package/dist/serializers/MarkdownSerializer.d.ts.map +1 -0
  248. package/dist/serializers/MarkdownSerializer.js +355 -0
  249. package/dist/serializers/MarkdownSerializer.js.map +1 -0
  250. package/dist/serializers/index.d.ts +8 -0
  251. package/dist/serializers/index.d.ts.map +1 -0
  252. package/dist/serializers/index.js +8 -0
  253. package/dist/serializers/index.js.map +1 -0
  254. package/package.json +27 -16
  255. package/src/ConfluenceAuth.ts +571 -0
  256. package/src/ConfluenceClient.ts +188 -156
  257. package/src/ConfluenceConfig.ts +63 -7
  258. package/src/ConfluenceError.ts +110 -14
  259. package/src/GitError.ts +92 -0
  260. package/src/GitService.ts +859 -0
  261. package/src/LocalFileSystem.ts +179 -9
  262. package/src/MarkdownConverter.ts +126 -122
  263. package/src/SchemaConverterError.ts +108 -0
  264. package/src/Schemas.ts +223 -6
  265. package/src/SyncEngine.ts +745 -162
  266. package/src/ast/BlockNode.ts +425 -0
  267. package/src/ast/Document.ts +90 -0
  268. package/src/ast/InlineNode.ts +323 -0
  269. package/src/ast/MacroNode.ts +245 -0
  270. package/src/ast/index.ts +83 -0
  271. package/src/bin.ts +50 -249
  272. package/src/commands/auth.ts +117 -0
  273. package/src/commands/clone.ts +145 -0
  274. package/src/commands/delete.ts +57 -0
  275. package/src/commands/errorHandler.ts +32 -0
  276. package/src/commands/git.ts +114 -0
  277. package/src/commands/index.ts +10 -0
  278. package/src/commands/layers.ts +211 -0
  279. package/src/commands/new.ts +99 -0
  280. package/src/commands/pageTree.ts +40 -0
  281. package/src/commands/shared.ts +35 -0
  282. package/src/commands/sync.ts +129 -0
  283. package/src/index.ts +21 -1
  284. package/src/internal/NodeLayers.ts +21 -0
  285. package/src/internal/frontmatter.ts +21 -0
  286. package/src/internal/gitCommands.ts +229 -0
  287. package/src/internal/hashUtils.ts +65 -3
  288. package/src/internal/oauthServer.ts +199 -0
  289. package/src/internal/pathUtils.ts +34 -17
  290. package/src/internal/tokenStorage.ts +240 -0
  291. package/src/internal/userCache.ts +90 -0
  292. package/src/parsers/ConfluenceParser.ts +950 -0
  293. package/src/parsers/MarkdownParser.ts +1198 -0
  294. package/src/parsers/index.ts +8 -0
  295. package/src/schemas/ConfluenceSchema.ts +56 -0
  296. package/src/schemas/ConversionSchema.ts +318 -0
  297. package/src/schemas/MarkdownSchema.ts +56 -0
  298. package/src/schemas/hast/HastFromHtml.ts +153 -0
  299. package/src/schemas/hast/HastSchema.ts +274 -0
  300. package/src/schemas/hast/index.ts +35 -0
  301. package/src/schemas/index.ts +20 -0
  302. package/src/schemas/mdast/MdastFromMarkdown.ts +118 -0
  303. package/src/schemas/mdast/MdastSchema.ts +566 -0
  304. package/src/schemas/mdast/index.ts +59 -0
  305. package/src/schemas/mdast/mdastToString.ts +102 -0
  306. package/src/schemas/nodes/block/BlockSchema.ts +773 -0
  307. package/src/schemas/nodes/block/index.ts +13 -0
  308. package/src/schemas/nodes/index.ts +20 -0
  309. package/src/schemas/nodes/inline/InlineSchema.ts +523 -0
  310. package/src/schemas/nodes/inline/index.ts +14 -0
  311. package/src/schemas/nodes/macro/MacroSchema.ts +226 -0
  312. package/src/schemas/nodes/macro/index.ts +6 -0
  313. package/src/schemas/preprocessing/ConfluencePreprocessor.ts +446 -0
  314. package/src/schemas/preprocessing/index.ts +8 -0
  315. package/src/serializers/ConfluenceSerializer.ts +717 -0
  316. package/src/serializers/MarkdownSerializer.ts +493 -0
  317. package/src/serializers/index.ts +8 -0
  318. package/test/GitService.test.ts +209 -0
  319. package/test/MarkdownConverter.test.ts +37 -3
  320. package/test/Schemas.test.ts +97 -2
  321. package/test/ast/BlockNode.test.ts +265 -0
  322. package/test/ast/Document.test.ts +126 -0
  323. package/test/ast/InlineNode.test.ts +161 -0
  324. package/test/fixtures/integration-test.html.fixture +103 -0
  325. package/test/fixtures/integration-test.md.expected +257 -0
  326. package/test/integration.test.ts +269 -0
  327. package/test/oauthServer.test.ts +50 -0
  328. package/test/parsers/ConfluenceParser.test.ts +283 -0
  329. package/test/schemas/ConfluencePreprocessor.test.ts +180 -0
  330. package/test/schemas/ConversionSchema.test.ts +159 -0
  331. package/test/schemas/HastSchema.test.ts +138 -0
  332. package/test/schemas/MdastSchema.test.ts +145 -0
  333. package/test/schemas/nodes/block/BlockSchema.test.ts +173 -0
  334. package/test/schemas/nodes/inline/InlineSchema.test.ts +198 -0
  335. package/test/schemas/nodes/macro/MacroSchema.test.ts +142 -0
  336. package/test/tokenStorage.test.ts +99 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HastFromHtml.js","sourceRoot":"","sources":["../../../src/schemas/hast/HastFromHtml.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAgBxB;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAY,EAAE;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACvC,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC1C,KAAK,SAAS;YACZ,OAAO,eAAe,EAAE,CAAA;QAC1B,KAAK,SAAS;YACZ,OAAO,eAAe,CACpB,IAAI,CAAC,OAAO,IAAI,KAAK,EACrB,IAAI,CAAC,UAAU,IAAI,EAAE,EACrB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC7C,CAAA;QACH;YACE,mDAAmD;YACnD,OAAO,eAAe,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAa,EAAE;IACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAC5C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAC5B,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC;aACjD,CAAA;IACL,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAY,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE3G;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAa,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC;CACjD,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoC,MAAM,CAAC,eAAe,CACjF,MAAM,CAAC,MAAM,EACb,cAAc,EACd;IACE,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,OAAO,EAAE;iBACrB,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACpC,KAAK,CAAC,IAAI,CAAc,CAAA;YAC3B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,IAAI,CAClB,GAAG,EACH,IAAI,EACJ,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9E;KACJ,CAAC;IACJ,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACvC,8DAA8D;YAC9D,OAAO,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,KAAY,CAAC,CAAA;QAC/D,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,IAAI,CAClB,GAAG,EACH,IAAI,EACJ,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF;KACJ,CAAC;CACL,CACF,CAAA"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Effect Schema definitions for HAST (Hypertext Abstract Syntax Tree) nodes.
3
+ *
4
+ * HAST is the intermediate representation used when parsing HTML.
5
+ * These schemas provide type-safe transformation between raw HTML and our AST.
6
+ *
7
+ * @module
8
+ */
9
+ import * as Schema from "effect/Schema";
10
+ /**
11
+ * HAST element properties type.
12
+ *
13
+ * @category Types
14
+ */
15
+ export type HastProperties = Record<string, unknown>;
16
+ /**
17
+ * HAST text node type.
18
+ *
19
+ * @category Types
20
+ */
21
+ export interface HastText {
22
+ readonly _tag: "text";
23
+ readonly value: string;
24
+ }
25
+ /**
26
+ * HAST comment node type.
27
+ *
28
+ * @category Types
29
+ */
30
+ export interface HastComment {
31
+ readonly _tag: "comment";
32
+ readonly value: string;
33
+ }
34
+ /**
35
+ * HAST doctype node type.
36
+ *
37
+ * @category Types
38
+ */
39
+ export interface HastDoctype {
40
+ readonly _tag: "doctype";
41
+ }
42
+ /**
43
+ * HAST element node type.
44
+ *
45
+ * @category Types
46
+ */
47
+ export interface HastElement {
48
+ readonly _tag: "element";
49
+ readonly tagName: string;
50
+ readonly properties: HastProperties;
51
+ readonly children: ReadonlyArray<HastNode>;
52
+ }
53
+ /**
54
+ * Union of all HAST node types.
55
+ *
56
+ * @category Types
57
+ */
58
+ export type HastNode = HastText | HastElement | HastComment | HastDoctype;
59
+ /**
60
+ * HAST root node type.
61
+ *
62
+ * @category Types
63
+ */
64
+ export interface HastRoot {
65
+ readonly _tag: "root";
66
+ readonly children: ReadonlyArray<HastNode>;
67
+ }
68
+ /**
69
+ * Create a HAST text node.
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * import { makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
74
+ *
75
+ * const text = makeHastText("Hello world")
76
+ * console.log(text.value) // "Hello world"
77
+ * ```
78
+ *
79
+ * @category Constructors
80
+ */
81
+ export declare const makeHastText: (value: string) => HastText;
82
+ /**
83
+ * Create a HAST comment node.
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * import { makeHastComment } from "@knpkv/confluence-to-markdown/schemas/hast"
88
+ *
89
+ * const comment = makeHastComment("cf:layout-start")
90
+ * ```
91
+ *
92
+ * @category Constructors
93
+ */
94
+ export declare const makeHastComment: (value: string) => HastComment;
95
+ /**
96
+ * Create a HAST doctype node.
97
+ *
98
+ * @category Constructors
99
+ */
100
+ export declare const makeHastDoctype: () => HastDoctype;
101
+ /**
102
+ * Create a HAST element node.
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * import { makeHastElement, makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
107
+ *
108
+ * const heading = makeHastElement("h1", { id: "title" }, [makeHastText("Hello")])
109
+ * ```
110
+ *
111
+ * @category Constructors
112
+ */
113
+ export declare const makeHastElement: (tagName: string, properties?: HastProperties, children?: ReadonlyArray<HastNode>) => HastElement;
114
+ /**
115
+ * Create a HAST root node.
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * import { makeHastRoot, makeHastElement, makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
120
+ *
121
+ * const root = makeHastRoot([
122
+ * makeHastElement("p", {}, [makeHastText("Content")])
123
+ * ])
124
+ * ```
125
+ *
126
+ * @category Constructors
127
+ */
128
+ export declare const makeHastRoot: (children: ReadonlyArray<HastNode>) => HastRoot;
129
+ /**
130
+ * Type guard to check if a HastNode is a HastElement.
131
+ *
132
+ * @category Guards
133
+ */
134
+ export declare const isHastElement: (node: HastNode) => node is HastElement;
135
+ /**
136
+ * Type guard to check if a HastNode is a HastText.
137
+ *
138
+ * @category Guards
139
+ */
140
+ export declare const isHastText: (node: HastNode) => node is HastText;
141
+ /**
142
+ * Type guard to check if a HastNode is a HastComment.
143
+ *
144
+ * @category Guards
145
+ */
146
+ export declare const isHastComment: (node: HastNode) => node is HastComment;
147
+ /**
148
+ * Get text content from a HastNode recursively.
149
+ *
150
+ * @category Utilities
151
+ */
152
+ export declare const getTextContent: (node: HastNode) => string;
153
+ /**
154
+ * Schema for HAST text node.
155
+ *
156
+ * @category Schemas
157
+ */
158
+ export declare const HastTextSchema: Schema.Schema<HastText>;
159
+ /**
160
+ * Schema for HAST comment node.
161
+ *
162
+ * @category Schemas
163
+ */
164
+ export declare const HastCommentSchema: Schema.Schema<HastComment>;
165
+ /**
166
+ * Schema for HAST doctype node.
167
+ *
168
+ * @category Schemas
169
+ */
170
+ export declare const HastDoctypeSchema: Schema.Schema<HastDoctype>;
171
+ /**
172
+ * Schema for HAST properties.
173
+ *
174
+ * @category Schemas
175
+ */
176
+ export declare const HastPropertiesSchema: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
177
+ /**
178
+ * Schema for HAST element node.
179
+ *
180
+ * @category Schemas
181
+ */
182
+ export declare const HastElementSchema: Schema.Schema<HastElement>;
183
+ /**
184
+ * Schema for HAST node union.
185
+ *
186
+ * @category Schemas
187
+ */
188
+ export declare const HastNodeSchema: Schema.Schema<HastNode>;
189
+ /**
190
+ * Schema for HAST root.
191
+ *
192
+ * @category Schemas
193
+ */
194
+ export declare const HastRootSchema: Schema.Schema<HastRoot>;
195
+ //# sourceMappingURL=HastSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HastSchema.d.ts","sourceRoot":"","sources":["../../../src/schemas/hast/HastSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Effect Schema definitions for HAST (Hypertext Abstract Syntax Tree) nodes.
3
+ *
4
+ * HAST is the intermediate representation used when parsing HTML.
5
+ * These schemas provide type-safe transformation between raw HTML and our AST.
6
+ *
7
+ * @module
8
+ */
9
+ import * as Schema from "effect/Schema";
10
+ /**
11
+ * Create a HAST text node.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
16
+ *
17
+ * const text = makeHastText("Hello world")
18
+ * console.log(text.value) // "Hello world"
19
+ * ```
20
+ *
21
+ * @category Constructors
22
+ */
23
+ export const makeHastText = (value) => ({
24
+ _tag: "text",
25
+ value
26
+ });
27
+ /**
28
+ * Create a HAST comment node.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * import { makeHastComment } from "@knpkv/confluence-to-markdown/schemas/hast"
33
+ *
34
+ * const comment = makeHastComment("cf:layout-start")
35
+ * ```
36
+ *
37
+ * @category Constructors
38
+ */
39
+ export const makeHastComment = (value) => ({
40
+ _tag: "comment",
41
+ value
42
+ });
43
+ /**
44
+ * Create a HAST doctype node.
45
+ *
46
+ * @category Constructors
47
+ */
48
+ export const makeHastDoctype = () => ({
49
+ _tag: "doctype"
50
+ });
51
+ /**
52
+ * Create a HAST element node.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * import { makeHastElement, makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
57
+ *
58
+ * const heading = makeHastElement("h1", { id: "title" }, [makeHastText("Hello")])
59
+ * ```
60
+ *
61
+ * @category Constructors
62
+ */
63
+ export const makeHastElement = (tagName, properties = {}, children = []) => ({
64
+ _tag: "element",
65
+ tagName,
66
+ properties,
67
+ children
68
+ });
69
+ /**
70
+ * Create a HAST root node.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { makeHastRoot, makeHastElement, makeHastText } from "@knpkv/confluence-to-markdown/schemas/hast"
75
+ *
76
+ * const root = makeHastRoot([
77
+ * makeHastElement("p", {}, [makeHastText("Content")])
78
+ * ])
79
+ * ```
80
+ *
81
+ * @category Constructors
82
+ */
83
+ export const makeHastRoot = (children) => ({
84
+ _tag: "root",
85
+ children
86
+ });
87
+ /**
88
+ * Type guard to check if a HastNode is a HastElement.
89
+ *
90
+ * @category Guards
91
+ */
92
+ export const isHastElement = (node) => node._tag === "element";
93
+ /**
94
+ * Type guard to check if a HastNode is a HastText.
95
+ *
96
+ * @category Guards
97
+ */
98
+ export const isHastText = (node) => node._tag === "text";
99
+ /**
100
+ * Type guard to check if a HastNode is a HastComment.
101
+ *
102
+ * @category Guards
103
+ */
104
+ export const isHastComment = (node) => node._tag === "comment";
105
+ /**
106
+ * Get text content from a HastNode recursively.
107
+ *
108
+ * @category Utilities
109
+ */
110
+ export const getTextContent = (node) => {
111
+ if (isHastText(node)) {
112
+ return node.value;
113
+ }
114
+ if (isHastElement(node)) {
115
+ return node.children.map(getTextContent).join("");
116
+ }
117
+ return "";
118
+ };
119
+ // Schema definitions for validation
120
+ /**
121
+ * Schema for HAST text node.
122
+ *
123
+ * @category Schemas
124
+ */
125
+ export const HastTextSchema = Schema.Struct({
126
+ _tag: Schema.Literal("text"),
127
+ value: Schema.String
128
+ });
129
+ /**
130
+ * Schema for HAST comment node.
131
+ *
132
+ * @category Schemas
133
+ */
134
+ export const HastCommentSchema = Schema.Struct({
135
+ _tag: Schema.Literal("comment"),
136
+ value: Schema.String
137
+ });
138
+ /**
139
+ * Schema for HAST doctype node.
140
+ *
141
+ * @category Schemas
142
+ */
143
+ export const HastDoctypeSchema = Schema.Struct({
144
+ _tag: Schema.Literal("doctype")
145
+ });
146
+ /**
147
+ * Schema for HAST properties.
148
+ *
149
+ * @category Schemas
150
+ */
151
+ export const HastPropertiesSchema = Schema.Record({
152
+ key: Schema.String,
153
+ value: Schema.Unknown
154
+ });
155
+ // Forward reference for recursive schema
156
+ const HastNodeSchemaLazy = Schema.suspend(() => HastNodeSchema);
157
+ /**
158
+ * Schema for HAST element node.
159
+ *
160
+ * @category Schemas
161
+ */
162
+ export const HastElementSchema = Schema.Struct({
163
+ _tag: Schema.Literal("element"),
164
+ tagName: Schema.String,
165
+ properties: HastPropertiesSchema,
166
+ children: Schema.Array(HastNodeSchemaLazy)
167
+ });
168
+ /**
169
+ * Schema for HAST node union.
170
+ *
171
+ * @category Schemas
172
+ */
173
+ export const HastNodeSchema = Schema.Union(HastTextSchema, HastElementSchema, HastCommentSchema, HastDoctypeSchema);
174
+ /**
175
+ * Schema for HAST root.
176
+ *
177
+ * @category Schemas
178
+ */
179
+ export const HastRootSchema = Schema.Struct({
180
+ _tag: Schema.Literal("root"),
181
+ children: Schema.Array(HastNodeSchema)
182
+ });
183
+ //# sourceMappingURL=HastSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HastSchema.js","sourceRoot":"","sources":["../../../src/schemas/hast/HastSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * HAST (Hypertext Abstract Syntax Tree) schemas.
3
+ *
4
+ * @module
5
+ */
6
+ export type { HastComment, HastDoctype, HastElement, HastNode, HastProperties, HastRoot, HastText } from "./HastSchema.js";
7
+ export { getTextContent, HastCommentSchema, HastDoctypeSchema, HastElementSchema, HastNodeSchema, HastPropertiesSchema, HastRootSchema, HastTextSchema, isHastComment, isHastElement, isHastText, makeHastComment, makeHastDoctype, makeHastElement, makeHastRoot, makeHastText } from "./HastSchema.js";
8
+ export { HastFromHtml } from "./HastFromHtml.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/hast/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,QAAQ,EACT,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { getTextContent, HastCommentSchema, HastDoctypeSchema, HastElementSchema, HastNodeSchema, HastPropertiesSchema, HastRootSchema, HastTextSchema, isHastComment, isHastElement, isHastText, makeHastComment, makeHastDoctype, makeHastElement, makeHastRoot, makeHastText } from "./HastSchema.js";
2
+ export { HastFromHtml } from "./HastFromHtml.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/hast/index.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Bi-directional schemas for AST transformations.
3
+ *
4
+ * @module
5
+ */
6
+ export { DocumentFromConfluence } from "./ConfluenceSchema.js";
7
+ export { ConfluenceToMarkdown, DocumentFromHast, DocumentFromMdast } from "./ConversionSchema.js";
8
+ export { DocumentFromMarkdown } from "./MarkdownSchema.js";
9
+ export * from "./nodes/index.js";
10
+ export { PreprocessedHtmlFromConfluence } from "./preprocessing/index.js";
11
+ export type { PreprocessedHtml } from "./preprocessing/index.js";
12
+ export * from "./hast/index.js";
13
+ export * from "./mdast/index.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG1D,cAAc,kBAAkB,CAAA;AAGhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAGhE,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Bi-directional schemas for AST transformations.
3
+ *
4
+ * @module
5
+ */
6
+ export { DocumentFromConfluence } from "./ConfluenceSchema.js";
7
+ export { ConfluenceToMarkdown, DocumentFromHast, DocumentFromMdast } from "./ConversionSchema.js";
8
+ export { DocumentFromMarkdown } from "./MarkdownSchema.js";
9
+ // Re-export node schemas
10
+ export * from "./nodes/index.js";
11
+ // Re-export preprocessing
12
+ export { PreprocessedHtmlFromConfluence } from "./preprocessing/index.js";
13
+ // Re-export HAST/MDAST types and schemas
14
+ export * from "./hast/index.js";
15
+ export * from "./mdast/index.js";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,yBAAyB;AACzB,cAAc,kBAAkB,CAAA;AAEhC,0BAA0B;AAC1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AAGzE,yCAAyC;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import * as Schema from "effect/Schema";
2
+ import type { MdastRoot } from "./MdastSchema.js";
3
+ /**
4
+ * Transform Markdown string to MDAST root.
5
+ *
6
+ * Uses remark-parse to parse Markdown and converts the result to our schema types.
7
+ * Supports bidirectional transformation (decode Markdown -> MDAST, encode MDAST -> Markdown).
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { MdastFromMarkdown } from "@knpkv/confluence-to-markdown/schemas/mdast"
12
+ * import * as Schema from "effect/Schema"
13
+ * import { Effect } from "effect"
14
+ *
15
+ * const program = Effect.gen(function* () {
16
+ * const mdast = yield* Schema.decode(MdastFromMarkdown)("# Hello\n\nWorld")
17
+ * console.log(mdast.children.length) // 2
18
+ * console.log(mdast.children[0].type) // "heading"
19
+ * })
20
+ *
21
+ * Effect.runPromise(program)
22
+ * ```
23
+ *
24
+ * @category Mdast
25
+ */
26
+ export declare const MdastFromMarkdown: Schema.transformOrFail<typeof Schema.String, Schema.Schema<MdastRoot, {
27
+ type: "root";
28
+ children: ReadonlyArray<unknown>;
29
+ }, never>, never>;
30
+ //# sourceMappingURL=MdastFromMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdastFromMarkdown.d.ts","sourceRoot":"","sources":["../../../src/schemas/mdast/MdastFromMarkdown.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAwCjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB;;;iBAwC7B,CAAA"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Schema transformation from Markdown string to MDAST (Markdown Abstract Syntax Tree).
3
+ *
4
+ * Uses remark-parse for Markdown parsing and wraps the result in Effect Schema types.
5
+ *
6
+ * @module
7
+ */
8
+ import * as Effect from "effect/Effect";
9
+ import * as ParseResult from "effect/ParseResult";
10
+ import * as Schema from "effect/Schema";
11
+ import remarkGfm from "remark-gfm";
12
+ import remarkParse from "remark-parse";
13
+ import remarkStringify from "remark-stringify";
14
+ import { unified } from "unified";
15
+ import { makeMdastRoot, MdastRootSchema } from "./MdastSchema.js";
16
+ /**
17
+ * Convert unist node from remark-parse to our MdastNode type.
18
+ * For now, we pass through the structure since MdastNode types match unist closely.
19
+ */
20
+ const convertToMdastRoot = (root) =>
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ makeMdastRoot(root.children);
23
+ /**
24
+ * Convert our MdastRoot type back to unist format for serialization.
25
+ */
26
+ const convertFromMdastRoot = (root) => ({
27
+ type: "root",
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ children: root.children
30
+ });
31
+ /**
32
+ * Transform Markdown string to MDAST root.
33
+ *
34
+ * Uses remark-parse to parse Markdown and converts the result to our schema types.
35
+ * Supports bidirectional transformation (decode Markdown -> MDAST, encode MDAST -> Markdown).
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { MdastFromMarkdown } from "@knpkv/confluence-to-markdown/schemas/mdast"
40
+ * import * as Schema from "effect/Schema"
41
+ * import { Effect } from "effect"
42
+ *
43
+ * const program = Effect.gen(function* () {
44
+ * const mdast = yield* Schema.decode(MdastFromMarkdown)("# Hello\n\nWorld")
45
+ * console.log(mdast.children.length) // 2
46
+ * console.log(mdast.children[0].type) // "heading"
47
+ * })
48
+ *
49
+ * Effect.runPromise(program)
50
+ * ```
51
+ *
52
+ * @category Mdast
53
+ */
54
+ export const MdastFromMarkdown = Schema.transformOrFail(Schema.String, MdastRootSchema, {
55
+ strict: true,
56
+ decode: (markdown, _options, ast) => Effect.try({
57
+ try: () => {
58
+ const result = unified()
59
+ .use(remarkParse)
60
+ .use(remarkGfm)
61
+ .parse(markdown);
62
+ return convertToMdastRoot(result);
63
+ },
64
+ catch: (error) => new ParseResult.Type(ast, markdown, `Markdown parse error: ${error instanceof Error ? error.message : String(error)}`)
65
+ }),
66
+ encode: (mdast, _options, ast) => Effect.try({
67
+ try: () => {
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ const unist = convertFromMdastRoot(mdast);
70
+ return unified()
71
+ .use(remarkGfm)
72
+ .use(remarkStringify, { bullet: "-", emphasis: "_" })
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ .stringify(unist);
75
+ },
76
+ catch: (error) => new ParseResult.Type(ast, mdast, `Markdown stringify error: ${error instanceof Error ? error.message : String(error)}`)
77
+ })
78
+ });
79
+ //# sourceMappingURL=MdastFromMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdastFromMarkdown.js","sourceRoot":"","sources":["../../../src/schemas/mdast/MdastFromMarkdown.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAsBjE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAe,EAAa,EAAE;AACxD,8DAA8D;AAC9D,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAA;AAErC;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAa,EAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM;IACZ,8DAA8D;IAC9D,QAAQ,EAAE,IAAI,CAAC,QAAe;CAC/B,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CACrD,MAAM,CAAC,MAAM,EACb,eAAe,EACf;IACE,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,OAAO,EAAE;iBACrB,GAAG,CAAC,WAAW,CAAC;iBAChB,GAAG,CAAC,SAAS,CAAC;iBACd,KAAK,CAAC,QAAQ,CAAc,CAAA;YAC/B,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,IAAI,CAClB,GAAG,EACH,QAAQ,EACR,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF;KACJ,CAAC;IACJ,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAC/B,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE;YACR,8DAA8D;YAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAY,CAAC,CAAA;YAChD,OAAO,OAAO,EAAE;iBACb,GAAG,CAAC,SAAS,CAAC;iBACd,GAAG,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACrD,8DAA8D;iBAC7D,SAAS,CAAC,KAAY,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,WAAW,CAAC,IAAI,CAClB,GAAG,EACH,KAAK,EACL,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF;KACJ,CAAC;CACL,CACF,CAAA"}