UNPKG

463 BJavaScriptView Raw
1'use strict'
2
3var remove = require('unist-util-remove')
4
5module.exports = squeeze
6
7var whiteSpaceOnly = /^\s*$/
8
9function squeeze(ast) {
10 return remove(ast, {cascade: false}, isEmptyParagraph)
11}
12
13// Whether paragraph is empty or composed only of whitespace.
14function isEmptyParagraph(node) {
15 return node.type === 'paragraph' && node.children.every(isEmptyText)
16}
17
18function isEmptyText(node) {
19 return node.type === 'text' && whiteSpaceOnly.test(node.value)
20}