The pug parser (takes an array of tokens and converts it to an abstract syntax tree)
The pug parser (takes an array of tokens and converts it to an abstract syntax tree)




npm install pug-parser
``js`
var parse = require('pug-parser');
Convert Pug tokens to an abstract syntax tree (AST).
options can contain the following properties:
- filename (string): The name of the Pug file; it is included in the produced AST nodes and error handling, if provided.plugins
- (array): An array of plugins, in the order they should be applied.src
- (string): The source of the Pug file; it is used in error handling if provided.
`js
var lex = require('pug-lexer');
var filename = 'my-file.pug';
var src = 'div(data-foo="bar")';
var tokens = lex(src, {filename});
var ast = parse(tokens, {filename, src});
console.log(JSON.stringify(ast, null, ' '))
`
`json`
{
"type": "Block",
"nodes": [
{
"type": "Tag",
"name": "div",
"selfClosing": false,
"block": {
"type": "Block",
"nodes": [],
"line": 1,
"filename": "my-file.pug"
},
"attrs": [
{
"name": "data-foo",
"val": "\"bar\"",
"line": 1,
"column": 5,
"filename": "my-file.pug",
"mustEscape": true
}
],
"attributeBlocks": [],
"isInline": false,
"line": 1,
"column": 1,
"filename": "my-file.pug"
}
],
"line": 0,
"filename": "my-file.pug"
}
Constructor for a Parser class. This is not meant to be used directly unless you know what you are doing.
options may contain the following properties:
- filename (string): The name of the Pug file; it is included in the produced AST nodes and error handling, if provided.plugins
- (array): An array of plugins, in the order they should be applied.src` (string): The source of the Pug file; it is used in error handling if provided.
-
MIT