hy-object-to-string

2.0.3 • Public • Published

to-source Build

Turns code back into source! Doesn't support functions (but you can override that) or comments though.

This is currently used for code generation, hence why you have more control over how the output is going to look like.

Parameters

  • any data This is the javascript value to convert back into source text.
  • object options The options object is also optional, See below for the options to modify the output along with the defaults.

Options

  • number tabDepth Is the indentation level that the value is starting at.
  • number quoteDepth Specifies how far deep into the object you want the key to be single quoted.
  • boolean enclose If false, the object output won't have the openeing and closing brackets. This is useful is you want to insert the output into an existing object.
  • string tabChar specifies what to use for the height character. By default this will use a single tab character. You can specify two, three, four spaces instead if you want (or whatever you want).
  • function functionFormatter If you want to parse functions, you will need to specify this argument. The function will feed the tab height and the function object to the formatter, from there you will need to source it and change the format to preference. If this argument is not specified the default will be an empty function.
  • string quoteChar This will specify what kind of character to use to escape keys in objects and what to use for strings. By default, this is a single quote.

Overriding the default function serializer

You can override the default formatter globally. A utility function is provided which can make a decent serializer that should indent things properly for most use cases.

var string = require('hy-object-to-string');
 
// By default mkFnFormatter will use tabs, but you can specify what kind of
// character you want to use for a single indentation level.
string.defaultFnFormatter = string.mkFnFormatter();
 
var example = function() {
    return 'foobar';
};
 
string(example); // -> outputs the whole function!

Preferably, you should use a proper code formatter like beautify-js to format the function block. This is why you can specify your own formatter.

Readme

Keywords

Package Sidebar

Install

npm i hy-object-to-string

Weekly Downloads

0

Version

2.0.3

License

MIT

Last publish

Collaborators

  • zhangyujie