- Add full Telegram bot functionality with Z.AI API integration
- Implement 4 tools: Bash, FileEdit, WebSearch, Git
- Add 3 agents: Code Reviewer, Architect, DevOps Engineer
- Add 6 skills for common coding tasks
- Add systemd service file for 24/7 operation
- Add nginx configuration for HTTPS webhook
- Add comprehensive documentation
- Implement WebSocket server for real-time updates
- Add logging system with Winston
- Add environment validation
🤖 zCode CLI X - Agentic coder with Z.AI + Telegram integration
39 lines
820 B
JavaScript
39 lines
820 B
JavaScript
export default function indentString(string, count = 1, options = {}) {
|
|
const {
|
|
indent = ' ',
|
|
includeEmptyLines = false
|
|
} = options;
|
|
|
|
if (typeof string !== 'string') {
|
|
throw new TypeError(
|
|
`Expected \`input\` to be a \`string\`, got \`${typeof string}\``
|
|
);
|
|
}
|
|
|
|
if (typeof count !== 'number') {
|
|
throw new TypeError(
|
|
`Expected \`count\` to be a \`number\`, got \`${typeof count}\``
|
|
);
|
|
}
|
|
|
|
if (count < 0) {
|
|
throw new RangeError(
|
|
`Expected \`count\` to be at least 0, got \`${count}\``
|
|
);
|
|
}
|
|
|
|
if (typeof indent !== 'string') {
|
|
throw new TypeError(
|
|
`Expected \`options.indent\` to be a \`string\`, got \`${typeof indent}\``
|
|
);
|
|
}
|
|
|
|
if (count === 0) {
|
|
return string;
|
|
}
|
|
|
|
const regex = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
|
|
|
|
return string.replace(regex, indent.repeat(count));
|
|
}
|