Skip to content

chris-l/php-unparser

Repository files navigation

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 | If enabled 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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6