Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 2.17 KB

README.md

File metadata and controls

67 lines (51 loc) · 2.17 KB

php-unparser

Build Status Coverage Status

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.

How to use

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));

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.

Demo

See it working

License

MIT License, Copyright 2016 Christopher Luna