pu
php-unparser
npm i php-unparser
pu

php-unparser

A JavaScript based code generator, to unparse glayzzle/php-parser compatible AST back to code.

by Christopher Luna

0.2.9 (see all)License:MITTypeScript:Not Found
npm i php-unparser
Readme

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

optionvaluedefaultdescription
indentstringThe indentation size, default is four white spaces.
dontUseWhitespacesbooleanfalseIf enabled removes all the whitespaces between stuff.
shortArraybooleanfalseIf enabled write arrays in short array syntax enabled since PHP 5.4.0
bracketsNewLinebooleantrueIf enabled will put brackets on new line.
forceNamespaceBracketsbooleanfalseForce the namespace bracketed syntax (recommended for combining namespaces)
collapseEmptyLinesbooleantrueIf enabled it will remove all empty lines between sections and properties.

Demo

See it working

License

MIT License, Copyright 2016 Christopher Luna

Downloads/wk

13

GitHub Stars

27

LAST COMMIT

4yrs ago

MAINTAINERS

1

CONTRIBUTORS

6

OPEN ISSUES

4

OPEN PRs

1
VersionTagPublished
0.2.9
latest
4yrs ago
No alternatives found
No tutorials found
Add a tutorial