详细说明: - 添加了V2版本的工作流页面和结果页面 - 更新了Serena记忆文件 - 添加了详细实施计划文档 - 优化了Vite配置 - 更新了项目文档CLAUDE.md - 构建了演示系统的dist版本 - 包含了exhibition-demo的完整依赖
35 lines
885 B
JavaScript
35 lines
885 B
JavaScript
/**
|
|
* @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, '') === ''
|
|
}
|