| 6dd74de | | | 1 | import jison from 'jison'; |
| 6dd74de | | | 2 | |
| 6dd74de | | | 3 | export const transformJison = (src: string): string => { |
| 6dd74de | | | 4 | // @ts-ignore - Jison is not typed properly |
| 6dd74de | | | 5 | const parser = new jison.Generator(src, { |
| 6dd74de | | | 6 | moduleType: 'js', |
| 6dd74de | | | 7 | 'token-stack': true, |
| 6dd74de | | | 8 | }); |
| 6dd74de | | | 9 | const source = parser.generate({ moduleMain: '() => {}' }); |
| 6dd74de | | | 10 | const exporter = ` |
| 6dd74de | | | 11 | parser.parser = parser; |
| 6dd74de | | | 12 | export { parser }; |
| 6dd74de | | | 13 | export default parser; |
| 6dd74de | | | 14 | `; |
| 6dd74de | | | 15 | return `${source} ${exporter}`; |
| 6dd74de | | | 16 | }; |