@gram-data/gram-stringify
Version:
Pretty print gram data graphs
25 lines (19 loc) • 640 B
text/typescript
import { CompilerFunction, Plugin } from 'unified';
import { Node as UnistNode } from 'unist';
// import {VFile} from 'vfile'
import { isGramPath, isGramSeq } from '@gram-data/gram-ast';
import stringify from './gram-stringify';
const stringifyCompiler: CompilerFunction = (element: UnistNode) => {
if (isGramPath(element)) {
return stringify(element);
}
if (isGramSeq(element)) {
return stringify(element);
} else {
throw new Error(`Don't know how to stringify "${element.type}"`);
}
};
const gramStringifyPlugin: Plugin = function() {
this.Compiler = stringifyCompiler;
};
export default gramStringifyPlugin;