mirror of https://gitee.com/antv-l7/antv-l7
128 lines
4.9 KiB
JavaScript
128 lines
4.9 KiB
JavaScript
var defaults = {
|
|
// If you want to use a different branch of esprima, or any other
|
|
// module that supports a .parse function, pass that module object to
|
|
// recast.parse as options.parser (legacy synonym: options.esprima).
|
|
parser: require("../parsers/esprima"),
|
|
|
|
// Number of spaces the pretty-printer should use per tab for
|
|
// indentation. If you do not pass this option explicitly, it will be
|
|
// (quite reliably!) inferred from the original code.
|
|
tabWidth: 4,
|
|
|
|
// If you really want the pretty-printer to use tabs instead of
|
|
// spaces, make this option true.
|
|
useTabs: false,
|
|
|
|
// The reprinting code leaves leading whitespace untouched unless it
|
|
// has to reindent a line, or you pass false for this option.
|
|
reuseWhitespace: true,
|
|
|
|
// Override this option to use a different line terminator, e.g. \r\n.
|
|
lineTerminator: require("os").EOL,
|
|
|
|
// Some of the pretty-printer code (such as that for printing function
|
|
// parameter lists) makes a valiant attempt to prevent really long
|
|
// lines. You can adjust the limit by changing this option; however,
|
|
// there is no guarantee that line length will fit inside this limit.
|
|
wrapColumn: 74, // Aspirational for now.
|
|
|
|
// Pass a string as options.sourceFileName to recast.parse to tell the
|
|
// reprinter to keep track of reused code so that it can construct a
|
|
// source map automatically.
|
|
sourceFileName: null,
|
|
|
|
// Pass a string as options.sourceMapName to recast.print, and
|
|
// (provided you passed options.sourceFileName earlier) the
|
|
// PrintResult of recast.print will have a .map property for the
|
|
// generated source map.
|
|
sourceMapName: null,
|
|
|
|
// If provided, this option will be passed along to the source map
|
|
// generator as a root directory for relative source file paths.
|
|
sourceRoot: null,
|
|
|
|
// If you provide a source map that was generated from a previous call
|
|
// to recast.print as options.inputSourceMap, the old source map will
|
|
// be composed with the new source map.
|
|
inputSourceMap: null,
|
|
|
|
// If you want esprima to generate .range information (recast only
|
|
// uses .loc internally), pass true for this option.
|
|
range: false,
|
|
|
|
// If you want esprima not to throw exceptions when it encounters
|
|
// non-fatal errors, keep this option true.
|
|
tolerant: true,
|
|
|
|
// If you want to override the quotes used in string literals, specify
|
|
// either "single", "double", or "auto" here ("auto" will select the one
|
|
// which results in the shorter literal)
|
|
// Otherwise, double quotes are used.
|
|
quote: null,
|
|
|
|
// Controls the printing of trailing commas in object literals,
|
|
// array expressions and function parameters.
|
|
//
|
|
// This option could either be:
|
|
// * Boolean - enable/disable in all contexts (objects, arrays and function params).
|
|
// * Object - enable/disable per context.
|
|
//
|
|
// Example:
|
|
// trailingComma: {
|
|
// objects: true,
|
|
// arrays: true,
|
|
// parameters: false,
|
|
// }
|
|
trailingComma: false,
|
|
|
|
// Controls the printing of spaces inside array brackets.
|
|
// See: http://eslint.org/docs/rules/array-bracket-spacing
|
|
arrayBracketSpacing: false,
|
|
|
|
// Controls the printing of spaces inside object literals,
|
|
// destructuring assignments, and import/export specifiers.
|
|
// See: http://eslint.org/docs/rules/object-curly-spacing
|
|
objectCurlySpacing: true,
|
|
|
|
// If you want parenthesis to wrap single-argument arrow function parameter
|
|
// lists, pass true for this option.
|
|
arrowParensAlways: false,
|
|
|
|
// There are 2 supported syntaxes (`,` and `;`) in Flow Object Types;
|
|
// The use of commas is in line with the more popular style and matches
|
|
// how objects are defined in JS, making it a bit more natural to write.
|
|
flowObjectCommas: true,
|
|
}, hasOwn = defaults.hasOwnProperty;
|
|
|
|
// Copy options and fill in default values.
|
|
exports.normalize = function(options) {
|
|
options = options || defaults;
|
|
|
|
function get(key) {
|
|
return hasOwn.call(options, key)
|
|
? options[key]
|
|
: defaults[key];
|
|
}
|
|
|
|
return {
|
|
tabWidth: +get("tabWidth"),
|
|
useTabs: !!get("useTabs"),
|
|
reuseWhitespace: !!get("reuseWhitespace"),
|
|
lineTerminator: get("lineTerminator"),
|
|
wrapColumn: Math.max(get("wrapColumn"), 0),
|
|
sourceFileName: get("sourceFileName"),
|
|
sourceMapName: get("sourceMapName"),
|
|
sourceRoot: get("sourceRoot"),
|
|
inputSourceMap: get("inputSourceMap"),
|
|
parser: get("esprima") || get("parser"),
|
|
range: get("range"),
|
|
tolerant: get("tolerant"),
|
|
quote: get("quote"),
|
|
trailingComma: get("trailingComma"),
|
|
arrayBracketSpacing: get("arrayBracketSpacing"),
|
|
objectCurlySpacing: get("objectCurlySpacing"),
|
|
arrowParensAlways: get("arrowParensAlways"),
|
|
flowObjectCommas: get("flowObjectCommas"),
|
|
};
|
|
};
|