This project is a JavaScript based unparser for the AST produced by glayzzle's php-parser.
It aims to produce code that uses the style format recommended by PSR-1 and PSR-2.
It's at an early development stage, but it is already able to generate code for most of the produced AST.
It has no dependencies.
var unparse = require('php-unparser');
var options = {
indent: true,
dontUseWhitespaces: false,
shortArray: true,
bracketsNewLine: true,
forceNamespaceBrackets: false,
collapseEmptyLines: true
};
var ast = {
"kind": "program",
"children": [
{
"kind": "echo",
"arguments": [
{
"kind": "string",
"value": "hello world",
"isDoubleQuote": true
}
]
}
],
"errors": []
};
// Will output -> echo "hello world";
console.log(unparse(ast, options));
option | value | default | description |
---|---|---|---|
indent | string | The indentation size, default is four white spaces. | |
dontUseWhitespaces | boolean | false |
If enabled removes all the whitespaces between stuff. |
shortArray | boolean | false |
If enabled write arrays in short array syntax enabled since PHP 5.4.0 |
bracketsNewLine | boolean | true |
If enabled will put brackets on new line. |
forceNamespaceBrackets | boolean | false |
Force the namespace bracketed syntax (recommended for combining namespaces) |
collapseEmptyLines | boolean | true |
If enabled it will remove all empty lines between sections and properties. |
MIT License, Copyright 2016 Christopher Luna