Package Exports
- pug-parser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pug-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
pug-parser
The pug parser (takes an array of tokens and converts it to an abstract syntax tree)
Installation
npm install pug-parser
Usage
var parse = require('pug-parser');
parse(tokens, options)
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.
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, ' '))
{
"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"
}
new parse.Parser(tokens, options)
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.
License
MIT