/
astafievk
/
source_code
Обзор
Документация
Войти
/
astafievk
/
source_code
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Api/node_modules/mysql2/lib/packets/text_row.js
47 строк
1 KB
astafievK
source code
21 июн 2024, 21:02
21 июн 2024, 21:02
37a1d03
Код
Авторство
О чём код?
'use strict'; const Packet = require('../packets/packet'); class TextRow { constructor(columns) { this.columns = columns || []; } static fromPacket(packet) { // packet.reset(); // set offset to starting point? const columns = []; while (packet.haveMoreData()) { columns.push(packet.readLengthCodedString()); } return new TextRow(columns); } static toPacket(columns, encoding) { const sequenceId = 0; // TODO remove, this is calculated now in connecton let length = 0; columns.forEach(val => { if (val === null || typeof val === 'undefined') { ++length; return; } length += Packet.lengthCodedStringLength(val.toString(10), encoding); }); const buffer = Buffer.allocUnsafe(length + 4); const packet = new Packet(sequenceId, buffer, 0, length + 4); packet.offset = 4; columns.forEach(val => { if (val === null) { packet.writeNull(); return; } if (typeof val === 'undefined') { packet.writeInt8(0); return; } packet.writeLengthCodedString(val.toString(10), encoding); }); return packet; } } module.exports = TextRow;