Terrace/docs/parser/nodes/CodeExample.js
2023-02-12 16:52:47 -05:00

21 lines
530 B
JavaScript

const { contentAsText } = require('../helpers')
const languages = ['terrace', 'json', 'yaml', 'toml', 'javascript', 'typescript', 'c', 'python']
module.exports = async (doc, rootLevel) => {
const { next, level, line, head, tail } = doc
const codeExample = {
type: 'CodeExample',
languages: {}
}
while (await next(rootLevel)) {
const languageLevel = level()
if (languages.includes(head())) {
codeExample.languages[head()] = await contentAsText(doc, languageLevel)
}
}
return codeExample
}