| import { Block, Tokens } from '../primitives'; | |
| export type Stringifier = (block: Block) => string; | |
| function join(tokens: Tokens): string { | |
| return ( | |
| tokens.start + | |
| tokens.delimiter + | |
| tokens.postDelimiter + | |
| tokens.tag + | |
| tokens.postTag + | |
| tokens.type + | |
| tokens.postType + | |
| tokens.name + | |
| tokens.postName + | |
| tokens.description + | |
| tokens.end + | |
| tokens.lineEnd | |
| ); | |
| } | |
| export default function getStringifier(): Stringifier { | |
| return (block: Block): string => | |
| block.source.map(({ tokens }) => join(tokens)).join('\n'); | |
| } |