| 12345678910111213141516171819202122232425262728293031323334 |
- /**
- * @typedef {import('hast').Nodes} Nodes
- */
- // HTML whitespace expression.
- // See <https://infra.spec.whatwg.org/#ascii-whitespace>.
- const re = /[ \t\n\f\r]/g
- /**
- * Check if the given value is *inter-element whitespace*.
- *
- * @param {Nodes | string} thing
- * Thing to check (`Node` or `string`).
- * @returns {boolean}
- * Whether the `value` is inter-element whitespace (`boolean`): consisting of
- * zero or more of space, tab (`\t`), line feed (`\n`), carriage return
- * (`\r`), or form feed (`\f`); if a node is passed it must be a `Text` node,
- * whose `value` field is checked.
- */
- export function whitespace(thing) {
- return typeof thing === 'object'
- ? thing.type === 'text'
- ? empty(thing.value)
- : false
- : empty(thing)
- }
- /**
- * @param {string} value
- * @returns {boolean}
- */
- function empty(value) {
- return value.replace(re, '') === ''
- }
|