Skip to content
RGustBardon edited this page Jul 21, 2012 · 25 revisions

Generator

syntax

escodegen.generate(AST[, options]);

options

{
    format: {
        indent: {
            style: '    ',
            base: 0
        },
        json: false,
        renumber: false,
        hexadecimal: false,
        quotes: 'single',
        escapeless: false,
        compact: false,
        parentheses: true,
        semicolons: true
    },
    parse: null,
    comment: false
}
  • option.format.indent.style: Indent string. Default is 4 spaces (' ').

  • option.format.indent.base: Base indent level. Default is 0.

  • option.format.json: Enforce JSON format of numeric and string literals. This option is takes precedence over option.format.hexadecimal and option.format.quotes. Default is false.

  • option.format.renumber: Try to generate shorter numeric literals than toString() (9.8.1). Default is false.

  • option.format.hexadecimal: Generate hexadecimal a numeric literal if it is shorter than its equivalents. Requires option.format.renumber. Default is false.

  • option.format.quotes: Delimiter to use for string literals. Accepted values are: 'single', 'double', and 'auto'. When 'auto' is specified, escodegen selects a delimiter that results in a shorter literal. Default is 'single'.

  • option.format.escapeless: Escape as few characters in string literals as necessary. Default is false.

  • option.format.compact: Do not include superfluous whitespace characters and line terminators. Default is false.

  • option.format.parentheses: Preserve parentheses in new expressions that have no arguments. Default is true.

  • option.format.semicolons: Preserve semicolons at the end of blocks and programs. Default is true.

  • option.parse: Mozilla Parser API compatible parse function. If it is provided, generator tries to use the 'raw' representation. See esprima raw information. Default is null.

  • option.comment: If comments are attached to AST, escodegen is going to emit comments to output code. Default is false.

Clone this wiki locally