24 lines
813 B
JavaScript
24 lines
813 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const CRLF = '\r\n';
|
|
function encodeCommand(args) {
|
|
const toWrite = [];
|
|
let strings = '*' + args.length + CRLF;
|
|
for (let i = 0; i < args.length; i++) {
|
|
const arg = args[i];
|
|
if (typeof arg === 'string') {
|
|
strings += '$' + Buffer.byteLength(arg) + CRLF + arg + CRLF;
|
|
}
|
|
else if (arg instanceof Buffer) {
|
|
toWrite.push(strings + '$' + arg.length.toString() + CRLF, arg);
|
|
strings = CRLF;
|
|
}
|
|
else {
|
|
throw new TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`);
|
|
}
|
|
}
|
|
toWrite.push(strings);
|
|
return toWrite;
|
|
}
|
|
exports.default = encodeCommand;
|
|
//# sourceMappingURL=encoder.js.map
|