- 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
27 lines
681 B
JavaScript
27 lines
681 B
JavaScript
export default function stripFinalNewline(input) {
|
|
if (typeof input === 'string') {
|
|
return stripFinalNewlineString(input);
|
|
}
|
|
|
|
if (!(ArrayBuffer.isView(input) && input.BYTES_PER_ELEMENT === 1)) {
|
|
throw new Error('Input must be a string or a Uint8Array');
|
|
}
|
|
|
|
return stripFinalNewlineBinary(input);
|
|
}
|
|
|
|
const stripFinalNewlineString = input =>
|
|
input.at(-1) === LF
|
|
? input.slice(0, input.at(-2) === CR ? -2 : -1)
|
|
: input;
|
|
|
|
const stripFinalNewlineBinary = input =>
|
|
input.at(-1) === LF_BINARY
|
|
? input.subarray(0, input.at(-2) === CR_BINARY ? -2 : -1)
|
|
: input;
|
|
|
|
const LF = '\n';
|
|
const LF_BINARY = LF.codePointAt(0);
|
|
const CR = '\r';
|
|
const CR_BINARY = CR.codePointAt(0);
|