Terrace/docs/dsl/index.js
Joshua Bemenderfer 0196cd5c87 Reorganize repo.
2022-11-01 14:57:07 -04:00

31 lines
912 B
JavaScript

import { document } from '../../../implementations/js/packages/core/src/terrace.js'
import fs from 'node:fs'
import readline from 'node:readline/promises'
import markdown from '../../../packages/js/block-markdown/index.js'
async function main() {
const mdHandler = markdown({})
const it = readline.createInterface({
input: fs.createReadStream('./test.tce', 'utf-8'),
})[Symbol.asyncIterator]()
const doc = document(async () => (await it.next()).value)
async function mainHandler({ line, lineData, ended, next, current }, page) {
if (ended) return page
if (line.startsWith('markdown')) {
lineData.offset = 'markdown'.length
page.body += await mdHandler(current(), mainHandler)
lineData.offset = 0
return mainHandler(current(), page)
}
return mainHandler(await next(), page)
}
console.log(await mainHandler(await doc.next(), { body: '' }))
}
main()