Files
Agent-n8n/backups/exhibition-demo-backup-20250928-210916/node_modules/trim-lines/index.js
Yep_Q 67f5dfbe50 feat: 实现多订单班支持系统
主要功能:
- 修改RequirementModal支持12个订单班选择
- 添加OrderClassIconMap图标映射组件
- Store中添加selectedOrderClass状态管理
- WorkflowPage支持传递orderClass参数
- web_result添加URL参数切换功能
- 创建order-class-handler.js动态处理页面主题

技术改进:
- 创建软链接关联订单班数据目录
- 生成wenlu.json和food.json数据结构
- 删除重复的web_result目录
- 添加测试页面test-order-class.html

影响范围:
- 展会策划系统现支持12个订单班
- 结果展示页面自动适配不同订单班主题
- 用户可选择不同行业生成对应方案

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 10:02:15 +08:00

70 lines
1.5 KiB
JavaScript

const tab = 9 /* `\t` */
const space = 32 /* ` ` */
/**
* Remove initial and final spaces and tabs at the line breaks in `value`.
* Does not trim initial and final spaces and tabs of the value itself.
*
* @param {string} value
* Value to trim.
* @returns {string}
* Trimmed value.
*/
export function trimLines(value) {
const source = String(value)
const search = /\r?\n|\r/g
let match = search.exec(source)
let last = 0
/** @type {Array<string>} */
const lines = []
while (match) {
lines.push(
trimLine(source.slice(last, match.index), last > 0, true),
match[0]
)
last = match.index + match[0].length
match = search.exec(source)
}
lines.push(trimLine(source.slice(last), last > 0, false))
return lines.join('')
}
/**
* @param {string} value
* Line to trim.
* @param {boolean} start
* Whether to trim the start of the line.
* @param {boolean} end
* Whether to trim the end of the line.
* @returns {string}
* Trimmed line.
*/
function trimLine(value, start, end) {
let startIndex = 0
let endIndex = value.length
if (start) {
let code = value.codePointAt(startIndex)
while (code === tab || code === space) {
startIndex++
code = value.codePointAt(startIndex)
}
}
if (end) {
let code = value.codePointAt(endIndex - 1)
while (code === tab || code === space) {
endIndex--
code = value.codePointAt(endIndex - 1)
}
}
return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''
}