Skip to content

Commit

Permalink
Add support for camel-case properties
Browse files Browse the repository at this point in the history
...because the CLI parses argv arguments and camelizes them.

Closes GH-25.
  • Loading branch information
wooorm committed Sep 12, 2015
1 parent 8c2d884 commit 35c4066
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 59 deletions.
21 changes: 20 additions & 1 deletion lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* Dependencies.
*/

var decamelize = require('decamelize');
var sort = require('vfile-sort');
var range = require('mdast-range');
var zone = require('mdast-zone');
Expand Down Expand Up @@ -172,6 +173,24 @@ function loadExternals(externals) {
return rules;
}

/**
* Helper to ensure ruleId’s are dash-cased instead of
* camel-cased.
*
* @param {Object} source - Original settings.
* @return {Object} - Dash-cased settings.
*/
function decamelizeSettings(source) {
var result = {};
var key;

for (key in source) {
result[decamelize(key, '-')] = source[key];
}

return result;
}

/**
* Lint attacher.
*
Expand All @@ -190,7 +209,7 @@ function loadExternals(externals) {
* rule options.
*/
function lint(mdast, options) {
var settings = options || {};
var settings = decamelizeSettings(options || {});
var reset = settings.reset;
var rules = loadExternals(settings.external);
var id;
Expand Down
Loading

0 comments on commit 35c4066

Please sign in to comment.