mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-26 18:35:14 +00:00
32 lines
968 B
JavaScript
32 lines
968 B
JavaScript
|
function removeItemAndRedundantWhiteSpace(list, item) {
|
||
|
var prev = item.prev;
|
||
|
var next = item.next;
|
||
|
|
||
|
if (next !== null) {
|
||
|
if (next.data.type === 'WhiteSpace' && (prev === null || prev.data.type === 'WhiteSpace')) {
|
||
|
list.remove(next);
|
||
|
}
|
||
|
} else if (prev !== null && prev.data.type === 'WhiteSpace') {
|
||
|
list.remove(prev);
|
||
|
}
|
||
|
|
||
|
list.remove(item);
|
||
|
}
|
||
|
|
||
|
module.exports = function compressBorder(node) {
|
||
|
node.children.each(function(node, item, list) {
|
||
|
if (node.type === 'Identifier' && node.name.toLowerCase() === 'none') {
|
||
|
if (list.head === list.tail) {
|
||
|
// replace `none` for zero when `none` is a single term
|
||
|
item.data = {
|
||
|
type: 'Number',
|
||
|
loc: node.loc,
|
||
|
value: '0'
|
||
|
};
|
||
|
} else {
|
||
|
removeItemAndRedundantWhiteSpace(list, item);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
};
|