swc/bundler/tests/.cache/deno/beb6cbc6e8a4f063a14998239969c408ed878fe0.ts

33 lines
815 B
TypeScript
Raw Normal View History

// Loaded from https://deno.land/x/mysql/src/packets/parsers/err.ts
import type { BufferReader } from "../../buffer.ts";
import type { Connection } from "../../connection.ts";
import ServerCapabilities from "../../constant/capabilities.ts";
/** @ignore */
export interface ErrorPacket {
code: number;
sqlStateMarker?: number;
sqlState?: number;
message: string;
}
/** @ignore */
export function parseError(
reader: BufferReader,
conn: Connection,
): ErrorPacket {
const code = reader.readUint16();
const packet: ErrorPacket = {
code,
message: "",
};
if (conn.capabilities & ServerCapabilities.CLIENT_PROTOCOL_41) {
packet.sqlStateMarker = reader.readUint8();
packet.sqlState = reader.readUints(5);
}
packet.message = reader.readNullTerminatedString();
return packet;
}