rocambole-whitespace
Helpers to manipulate rocambole
WhiteSpace
tokens.
Used mainly by esformatter and its plugins.
API
var ws = require('rocambole-whitespace');
setOptions(opts)
setOptions
is just a way to store some constants so later on the
limit
/limitBefore
/limitAfter
you can reference the values by Id.
setOptions({
value: ' ',
before: {
parenthesis: 0
},
after: {
parenthesis: 1
}
});
Important: calling this method will override all the options.
limitBefore(token, typeOrValue)
limits the amount of WhiteSpace
before a given token.
limitBefore(node.startToken, 0);
limitBefore(node.startToken, 2);
limitBefore(node.startToken, 'parenthesis');
limitBefore(node.startToken, -1);
limitAfter(token, typeOrValue)
limits the amount of WhiteSpace
after a given token.
limitAfter(node.startToken, 0);
limitAfter(node.startToken, 1);
limitAfter(node.startToken, 'parenthesis');
limitAfter(node.startToken, -1);
limit(token, typeOrvalue)
limits the amount of WhiteSpace
around a given token.
limit(node.startToken, 1);
limitBefore(node.startToken, 1);
limitAfter(node.startToken, 1);
expectedBefore(type)
reads value stored during setOptions
for a given type
, or returns -1
if
not found.
assert( expectedBefore('parenthesis') === 0 );
expectedAfter(type)
reads value stored during setOptions
for a given type
, or returns -1
if
not found.
assert( expectedAfter('parenthesis') === 1 );
Debug
This module uses debug internally. To
make it easier to identify what is wrong we sometimes run the esformatter tests
with a DEBUG
flag, like:
DEBUG=rocambole:ws:* npm test
License
Released under the MIT License