amqplib
Version:
An AMQP 0-9-1 (e.g., RabbitMQ) library and client.
1,519 lines (1,453 loc) • 134 kB
JavaScript
/** @preserve This file is generated by the script
* ../bin/generate-defs.js, which is not in general included in a
* distribution, but is available in the source repository e.g. at
* https://github.com/squaremo/amqp.node/
*/
"use strict";
function decodeConnectionStart(buffer) {
var val, len, offset = 0, fields = {
versionMajor: void 0,
versionMinor: void 0,
serverProperties: void 0,
mechanisms: void 0,
locales: void 0
};
val = buffer[offset];
offset++;
fields.versionMajor = val;
val = buffer[offset];
offset++;
fields.versionMinor = val;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.serverProperties = val;
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.mechanisms = val;
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.locales = val;
return fields;
}
function encodeConnectionStart(channel, fields) {
var len, offset = 0, val = null, varyingSize = 0, scratchOffset = 0;
val = fields.serverProperties;
if (void 0 === val) throw new Error("Missing value for mandatory field 'serverProperties'");
if ("object" != typeof val) throw new TypeError("Field 'serverProperties' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var serverProperties_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += serverProperties_encoded.length;
val = fields.mechanisms;
if (void 0 === val) val = Buffer.from("PLAIN"); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'mechanisms' is the wrong type; must be a Buffer");
varyingSize += val.length;
val = fields.locales;
if (void 0 === val) val = Buffer.from("en_US"); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'locales' is the wrong type; must be a Buffer");
varyingSize += val.length;
var buffer = Buffer.alloc(22 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655370, 7);
offset = 11;
val = fields.versionMajor;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'versionMajor' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt8(val, offset);
offset++;
val = fields.versionMinor;
if (void 0 === val) val = 9; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'versionMinor' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt8(val, offset);
offset++;
offset += serverProperties_encoded.copy(buffer, offset);
val = fields.mechanisms;
void 0 === val && (val = Buffer.from("PLAIN"));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
val = fields.locales;
void 0 === val && (val = Buffer.from("en_US"));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionStartOk(buffer) {
var val, len, offset = 0, fields = {
clientProperties: void 0,
mechanism: void 0,
response: void 0,
locale: void 0
};
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.clientProperties = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.mechanism = val;
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.response = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.locale = val;
return fields;
}
function encodeConnectionStartOk(channel, fields) {
var len, offset = 0, val = null, varyingSize = 0, scratchOffset = 0;
val = fields.clientProperties;
if (void 0 === val) throw new Error("Missing value for mandatory field 'clientProperties'");
if ("object" != typeof val) throw new TypeError("Field 'clientProperties' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var clientProperties_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += clientProperties_encoded.length;
val = fields.mechanism;
if (void 0 === val) val = "PLAIN"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'mechanism' is the wrong type; must be a string (up to 255 chars)");
var mechanism_len = Buffer.byteLength(val, "utf8");
varyingSize += mechanism_len;
val = fields.response;
if (void 0 === val) throw new Error("Missing value for mandatory field 'response'");
if (!Buffer.isBuffer(val)) throw new TypeError("Field 'response' is the wrong type; must be a Buffer");
varyingSize += val.length;
val = fields.locale;
if (void 0 === val) val = "en_US"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'locale' is the wrong type; must be a string (up to 255 chars)");
var locale_len = Buffer.byteLength(val, "utf8");
varyingSize += locale_len;
var buffer = Buffer.alloc(18 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655371, 7);
offset = 11;
offset += clientProperties_encoded.copy(buffer, offset);
val = fields.mechanism;
void 0 === val && (val = "PLAIN");
buffer[offset] = mechanism_len;
offset++;
buffer.write(val, offset, "utf8");
offset += mechanism_len;
val = fields.response;
void 0 === val && (val = Buffer.from(void 0));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
val = fields.locale;
void 0 === val && (val = "en_US");
buffer[offset] = locale_len;
offset++;
buffer.write(val, offset, "utf8");
offset += locale_len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionSecure(buffer) {
var val, len, offset = 0, fields = {
challenge: void 0
};
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.challenge = val;
return fields;
}
function encodeConnectionSecure(channel, fields) {
var len, offset = 0, val = null, varyingSize = 0;
val = fields.challenge;
if (void 0 === val) throw new Error("Missing value for mandatory field 'challenge'");
if (!Buffer.isBuffer(val)) throw new TypeError("Field 'challenge' is the wrong type; must be a Buffer");
varyingSize += val.length;
var buffer = Buffer.alloc(16 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655380, 7);
offset = 11;
val = fields.challenge;
void 0 === val && (val = Buffer.from(void 0));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionSecureOk(buffer) {
var val, len, offset = 0, fields = {
response: void 0
};
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.response = val;
return fields;
}
function encodeConnectionSecureOk(channel, fields) {
var len, offset = 0, val = null, varyingSize = 0;
val = fields.response;
if (void 0 === val) throw new Error("Missing value for mandatory field 'response'");
if (!Buffer.isBuffer(val)) throw new TypeError("Field 'response' is the wrong type; must be a Buffer");
varyingSize += val.length;
var buffer = Buffer.alloc(16 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655381, 7);
offset = 11;
val = fields.response;
void 0 === val && (val = Buffer.from(void 0));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionTune(buffer) {
var val, offset = 0, fields = {
channelMax: void 0,
frameMax: void 0,
heartbeat: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.channelMax = val;
val = buffer.readUInt32BE(offset);
offset += 4;
fields.frameMax = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.heartbeat = val;
return fields;
}
function encodeConnectionTune(channel, fields) {
var offset = 0, val = null, buffer = Buffer.alloc(20);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655390, 7);
offset = 11;
val = fields.channelMax;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.frameMax;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt32BE(val, offset);
offset += 4;
val = fields.heartbeat;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionTuneOk(buffer) {
var val, offset = 0, fields = {
channelMax: void 0,
frameMax: void 0,
heartbeat: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.channelMax = val;
val = buffer.readUInt32BE(offset);
offset += 4;
fields.frameMax = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.heartbeat = val;
return fields;
}
function encodeConnectionTuneOk(channel, fields) {
var offset = 0, val = null, buffer = Buffer.alloc(20);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655391, 7);
offset = 11;
val = fields.channelMax;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.frameMax;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt32BE(val, offset);
offset += 4;
val = fields.heartbeat;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionOpen(buffer) {
var val, len, offset = 0, fields = {
virtualHost: void 0,
capabilities: void 0,
insist: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.virtualHost = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.capabilities = val;
val = !!(1 & buffer[offset]);
fields.insist = val;
return fields;
}
function encodeConnectionOpen(channel, fields) {
var offset = 0, val = null, bits = 0, varyingSize = 0;
val = fields.virtualHost;
if (void 0 === val) val = "/"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'virtualHost' is the wrong type; must be a string (up to 255 chars)");
var virtualHost_len = Buffer.byteLength(val, "utf8");
varyingSize += virtualHost_len;
val = fields.capabilities;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'capabilities' is the wrong type; must be a string (up to 255 chars)");
var capabilities_len = Buffer.byteLength(val, "utf8");
varyingSize += capabilities_len;
var buffer = Buffer.alloc(15 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655400, 7);
offset = 11;
val = fields.virtualHost;
void 0 === val && (val = "/");
buffer[offset] = virtualHost_len;
offset++;
buffer.write(val, offset, "utf8");
offset += virtualHost_len;
val = fields.capabilities;
void 0 === val && (val = "");
buffer[offset] = capabilities_len;
offset++;
buffer.write(val, offset, "utf8");
offset += capabilities_len;
val = fields.insist;
void 0 === val && (val = !1);
val && (bits += 1);
buffer[offset] = bits;
offset++;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionOpenOk(buffer) {
var val, len, offset = 0, fields = {
knownHosts: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.knownHosts = val;
return fields;
}
function encodeConnectionOpenOk(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.knownHosts;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'knownHosts' is the wrong type; must be a string (up to 255 chars)");
var knownHosts_len = Buffer.byteLength(val, "utf8");
varyingSize += knownHosts_len;
var buffer = Buffer.alloc(13 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655401, 7);
offset = 11;
val = fields.knownHosts;
void 0 === val && (val = "");
buffer[offset] = knownHosts_len;
offset++;
buffer.write(val, offset, "utf8");
offset += knownHosts_len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionClose(buffer) {
var val, len, offset = 0, fields = {
replyCode: void 0,
replyText: void 0,
classId: void 0,
methodId: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.replyCode = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.replyText = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.classId = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.methodId = val;
return fields;
}
function encodeConnectionClose(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.replyText;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");
var replyText_len = Buffer.byteLength(val, "utf8");
varyingSize += replyText_len;
var buffer = Buffer.alloc(19 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655410, 7);
offset = 11;
val = fields.replyCode;
if (void 0 === val) throw new Error("Missing value for mandatory field 'replyCode'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.replyText;
void 0 === val && (val = "");
buffer[offset] = replyText_len;
offset++;
buffer.write(val, offset, "utf8");
offset += replyText_len;
val = fields.classId;
if (void 0 === val) throw new Error("Missing value for mandatory field 'classId'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.methodId;
if (void 0 === val) throw new Error("Missing value for mandatory field 'methodId'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionCloseOk(buffer) {
return {};
}
function encodeConnectionCloseOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655411, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionBlocked(buffer) {
var val, len, offset = 0, fields = {
reason: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.reason = val;
return fields;
}
function encodeConnectionBlocked(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.reason;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'reason' is the wrong type; must be a string (up to 255 chars)");
var reason_len = Buffer.byteLength(val, "utf8");
varyingSize += reason_len;
var buffer = Buffer.alloc(13 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655420, 7);
offset = 11;
val = fields.reason;
void 0 === val && (val = "");
buffer[offset] = reason_len;
offset++;
buffer.write(val, offset, "utf8");
offset += reason_len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeConnectionUnblocked(buffer) {
return {};
}
function encodeConnectionUnblocked(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(655421, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelOpen(buffer) {
var val, len, offset = 0, fields = {
outOfBand: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.outOfBand = val;
return fields;
}
function encodeChannelOpen(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.outOfBand;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'outOfBand' is the wrong type; must be a string (up to 255 chars)");
var outOfBand_len = Buffer.byteLength(val, "utf8");
varyingSize += outOfBand_len;
var buffer = Buffer.alloc(13 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310730, 7);
offset = 11;
val = fields.outOfBand;
void 0 === val && (val = "");
buffer[offset] = outOfBand_len;
offset++;
buffer.write(val, offset, "utf8");
offset += outOfBand_len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelOpenOk(buffer) {
var val, len, offset = 0, fields = {
channelId: void 0
};
len = buffer.readUInt32BE(offset);
offset += 4;
val = buffer.slice(offset, offset + len);
offset += len;
fields.channelId = val;
return fields;
}
function encodeChannelOpenOk(channel, fields) {
var len, offset = 0, val = null, varyingSize = 0;
val = fields.channelId;
if (void 0 === val) val = Buffer.from(""); else if (!Buffer.isBuffer(val)) throw new TypeError("Field 'channelId' is the wrong type; must be a Buffer");
varyingSize += val.length;
var buffer = Buffer.alloc(16 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310731, 7);
offset = 11;
val = fields.channelId;
void 0 === val && (val = Buffer.from(""));
len = val.length;
buffer.writeUInt32BE(len, offset);
offset += 4;
val.copy(buffer, offset);
offset += len;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelFlow(buffer) {
var val, fields = {
active: void 0
};
val = !!(1 & buffer[0]);
fields.active = val;
return fields;
}
function encodeChannelFlow(channel, fields) {
var offset = 0, val = null, bits = 0, buffer = Buffer.alloc(13);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310740, 7);
offset = 11;
val = fields.active;
if (void 0 === val) throw new Error("Missing value for mandatory field 'active'");
val && (bits += 1);
buffer[offset] = bits;
offset++;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelFlowOk(buffer) {
var val, fields = {
active: void 0
};
val = !!(1 & buffer[0]);
fields.active = val;
return fields;
}
function encodeChannelFlowOk(channel, fields) {
var offset = 0, val = null, bits = 0, buffer = Buffer.alloc(13);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310741, 7);
offset = 11;
val = fields.active;
if (void 0 === val) throw new Error("Missing value for mandatory field 'active'");
val && (bits += 1);
buffer[offset] = bits;
offset++;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelClose(buffer) {
var val, len, offset = 0, fields = {
replyCode: void 0,
replyText: void 0,
classId: void 0,
methodId: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.replyCode = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.replyText = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.classId = val;
val = buffer.readUInt16BE(offset);
offset += 2;
fields.methodId = val;
return fields;
}
function encodeChannelClose(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.replyText;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");
var replyText_len = Buffer.byteLength(val, "utf8");
varyingSize += replyText_len;
var buffer = Buffer.alloc(19 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310760, 7);
offset = 11;
val = fields.replyCode;
if (void 0 === val) throw new Error("Missing value for mandatory field 'replyCode'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.replyText;
void 0 === val && (val = "");
buffer[offset] = replyText_len;
offset++;
buffer.write(val, offset, "utf8");
offset += replyText_len;
val = fields.classId;
if (void 0 === val) throw new Error("Missing value for mandatory field 'classId'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.methodId;
if (void 0 === val) throw new Error("Missing value for mandatory field 'methodId'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeChannelCloseOk(buffer) {
return {};
}
function encodeChannelCloseOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1310761, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeAccessRequest(buffer) {
var val, len, offset = 0, fields = {
realm: void 0,
exclusive: void 0,
passive: void 0,
active: void 0,
write: void 0,
read: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.realm = val;
val = !!(1 & buffer[offset]);
fields.exclusive = val;
val = !!(2 & buffer[offset]);
fields.passive = val;
val = !!(4 & buffer[offset]);
fields.active = val;
val = !!(8 & buffer[offset]);
fields.write = val;
val = !!(16 & buffer[offset]);
fields.read = val;
return fields;
}
function encodeAccessRequest(channel, fields) {
var offset = 0, val = null, bits = 0, varyingSize = 0;
val = fields.realm;
if (void 0 === val) val = "/data"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'realm' is the wrong type; must be a string (up to 255 chars)");
var realm_len = Buffer.byteLength(val, "utf8");
varyingSize += realm_len;
var buffer = Buffer.alloc(14 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1966090, 7);
offset = 11;
val = fields.realm;
void 0 === val && (val = "/data");
buffer[offset] = realm_len;
offset++;
buffer.write(val, offset, "utf8");
offset += realm_len;
val = fields.exclusive;
void 0 === val && (val = !1);
val && (bits += 1);
val = fields.passive;
void 0 === val && (val = !0);
val && (bits += 2);
val = fields.active;
void 0 === val && (val = !0);
val && (bits += 4);
val = fields.write;
void 0 === val && (val = !0);
val && (bits += 8);
val = fields.read;
void 0 === val && (val = !0);
val && (bits += 16);
buffer[offset] = bits;
offset++;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeAccessRequestOk(buffer) {
var val, offset = 0, fields = {
ticket: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
return fields;
}
function encodeAccessRequestOk(channel, fields) {
var offset = 0, val = null, buffer = Buffer.alloc(14);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(1966091, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 1; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeDeclare(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
exchange: void 0,
type: void 0,
passive: void 0,
durable: void 0,
autoDelete: void 0,
internal: void 0,
nowait: void 0,
arguments: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.exchange = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.type = val;
val = !!(1 & buffer[offset]);
fields.passive = val;
val = !!(2 & buffer[offset]);
fields.durable = val;
val = !!(4 & buffer[offset]);
fields.autoDelete = val;
val = !!(8 & buffer[offset]);
fields.internal = val;
val = !!(16 & buffer[offset]);
fields.nowait = val;
offset++;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.arguments = val;
return fields;
}
function encodeExchangeDeclare(channel, fields) {
var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0;
val = fields.exchange;
if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");
var exchange_len = Buffer.byteLength(val, "utf8");
varyingSize += exchange_len;
val = fields.type;
if (void 0 === val) val = "direct"; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)");
var type_len = Buffer.byteLength(val, "utf8");
varyingSize += type_len;
val = fields.arguments;
if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += arguments_encoded.length;
var buffer = Buffer.alloc(17 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621450, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.exchange;
void 0 === val && (val = void 0);
buffer[offset] = exchange_len;
offset++;
buffer.write(val, offset, "utf8");
offset += exchange_len;
val = fields.type;
void 0 === val && (val = "direct");
buffer[offset] = type_len;
offset++;
buffer.write(val, offset, "utf8");
offset += type_len;
val = fields.passive;
void 0 === val && (val = !1);
val && (bits += 1);
val = fields.durable;
void 0 === val && (val = !1);
val && (bits += 2);
val = fields.autoDelete;
void 0 === val && (val = !1);
val && (bits += 4);
val = fields.internal;
void 0 === val && (val = !1);
val && (bits += 8);
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 16);
buffer[offset] = bits;
offset++;
bits = 0;
offset += arguments_encoded.copy(buffer, offset);
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeDeclareOk(buffer) {
return {};
}
function encodeExchangeDeclareOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621451, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeDelete(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
exchange: void 0,
ifUnused: void 0,
nowait: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.exchange = val;
val = !!(1 & buffer[offset]);
fields.ifUnused = val;
val = !!(2 & buffer[offset]);
fields.nowait = val;
return fields;
}
function encodeExchangeDelete(channel, fields) {
var offset = 0, val = null, bits = 0, varyingSize = 0;
val = fields.exchange;
if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");
var exchange_len = Buffer.byteLength(val, "utf8");
varyingSize += exchange_len;
var buffer = Buffer.alloc(16 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621460, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.exchange;
void 0 === val && (val = void 0);
buffer[offset] = exchange_len;
offset++;
buffer.write(val, offset, "utf8");
offset += exchange_len;
val = fields.ifUnused;
void 0 === val && (val = !1);
val && (bits += 1);
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 2);
buffer[offset] = bits;
offset++;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeDeleteOk(buffer) {
return {};
}
function encodeExchangeDeleteOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621461, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeBind(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
destination: void 0,
source: void 0,
routingKey: void 0,
nowait: void 0,
arguments: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.destination = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.source = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.routingKey = val;
val = !!(1 & buffer[offset]);
fields.nowait = val;
offset++;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.arguments = val;
return fields;
}
function encodeExchangeBind(channel, fields) {
var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0;
val = fields.destination;
if (void 0 === val) throw new Error("Missing value for mandatory field 'destination'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");
var destination_len = Buffer.byteLength(val, "utf8");
varyingSize += destination_len;
val = fields.source;
if (void 0 === val) throw new Error("Missing value for mandatory field 'source'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");
var source_len = Buffer.byteLength(val, "utf8");
varyingSize += source_len;
val = fields.routingKey;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");
var routingKey_len = Buffer.byteLength(val, "utf8");
varyingSize += routingKey_len;
val = fields.arguments;
if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += arguments_encoded.length;
var buffer = Buffer.alloc(18 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621470, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.destination;
void 0 === val && (val = void 0);
buffer[offset] = destination_len;
offset++;
buffer.write(val, offset, "utf8");
offset += destination_len;
val = fields.source;
void 0 === val && (val = void 0);
buffer[offset] = source_len;
offset++;
buffer.write(val, offset, "utf8");
offset += source_len;
val = fields.routingKey;
void 0 === val && (val = "");
buffer[offset] = routingKey_len;
offset++;
buffer.write(val, offset, "utf8");
offset += routingKey_len;
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 1);
buffer[offset] = bits;
offset++;
bits = 0;
offset += arguments_encoded.copy(buffer, offset);
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeBindOk(buffer) {
return {};
}
function encodeExchangeBindOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621471, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeUnbind(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
destination: void 0,
source: void 0,
routingKey: void 0,
nowait: void 0,
arguments: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.destination = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.source = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.routingKey = val;
val = !!(1 & buffer[offset]);
fields.nowait = val;
offset++;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.arguments = val;
return fields;
}
function encodeExchangeUnbind(channel, fields) {
var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0;
val = fields.destination;
if (void 0 === val) throw new Error("Missing value for mandatory field 'destination'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");
var destination_len = Buffer.byteLength(val, "utf8");
varyingSize += destination_len;
val = fields.source;
if (void 0 === val) throw new Error("Missing value for mandatory field 'source'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");
var source_len = Buffer.byteLength(val, "utf8");
varyingSize += source_len;
val = fields.routingKey;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");
var routingKey_len = Buffer.byteLength(val, "utf8");
varyingSize += routingKey_len;
val = fields.arguments;
if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += arguments_encoded.length;
var buffer = Buffer.alloc(18 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621480, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.destination;
void 0 === val && (val = void 0);
buffer[offset] = destination_len;
offset++;
buffer.write(val, offset, "utf8");
offset += destination_len;
val = fields.source;
void 0 === val && (val = void 0);
buffer[offset] = source_len;
offset++;
buffer.write(val, offset, "utf8");
offset += source_len;
val = fields.routingKey;
void 0 === val && (val = "");
buffer[offset] = routingKey_len;
offset++;
buffer.write(val, offset, "utf8");
offset += routingKey_len;
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 1);
buffer[offset] = bits;
offset++;
bits = 0;
offset += arguments_encoded.copy(buffer, offset);
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeExchangeUnbindOk(buffer) {
return {};
}
function encodeExchangeUnbindOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(2621491, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeQueueDeclare(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
queue: void 0,
passive: void 0,
durable: void 0,
exclusive: void 0,
autoDelete: void 0,
nowait: void 0,
arguments: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.queue = val;
val = !!(1 & buffer[offset]);
fields.passive = val;
val = !!(2 & buffer[offset]);
fields.durable = val;
val = !!(4 & buffer[offset]);
fields.exclusive = val;
val = !!(8 & buffer[offset]);
fields.autoDelete = val;
val = !!(16 & buffer[offset]);
fields.nowait = val;
offset++;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.arguments = val;
return fields;
}
function encodeQueueDeclare(channel, fields) {
var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0;
val = fields.queue;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");
var queue_len = Buffer.byteLength(val, "utf8");
varyingSize += queue_len;
val = fields.arguments;
if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += arguments_encoded.length;
var buffer = Buffer.alloc(16 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(3276810, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.queue;
void 0 === val && (val = "");
buffer[offset] = queue_len;
offset++;
buffer.write(val, offset, "utf8");
offset += queue_len;
val = fields.passive;
void 0 === val && (val = !1);
val && (bits += 1);
val = fields.durable;
void 0 === val && (val = !1);
val && (bits += 2);
val = fields.exclusive;
void 0 === val && (val = !1);
val && (bits += 4);
val = fields.autoDelete;
void 0 === val && (val = !1);
val && (bits += 8);
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 16);
buffer[offset] = bits;
offset++;
bits = 0;
offset += arguments_encoded.copy(buffer, offset);
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeQueueDeclareOk(buffer) {
var val, len, offset = 0, fields = {
queue: void 0,
messageCount: void 0,
consumerCount: void 0
};
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.queue = val;
val = buffer.readUInt32BE(offset);
offset += 4;
fields.messageCount = val;
val = buffer.readUInt32BE(offset);
offset += 4;
fields.consumerCount = val;
return fields;
}
function encodeQueueDeclareOk(channel, fields) {
var offset = 0, val = null, varyingSize = 0;
val = fields.queue;
if (void 0 === val) throw new Error("Missing value for mandatory field 'queue'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");
var queue_len = Buffer.byteLength(val, "utf8");
varyingSize += queue_len;
var buffer = Buffer.alloc(21 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(3276811, 7);
offset = 11;
val = fields.queue;
void 0 === val && (val = void 0);
buffer[offset] = queue_len;
offset++;
buffer.write(val, offset, "utf8");
offset += queue_len;
val = fields.messageCount;
if (void 0 === val) throw new Error("Missing value for mandatory field 'messageCount'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt32BE(val, offset);
offset += 4;
val = fields.consumerCount;
if (void 0 === val) throw new Error("Missing value for mandatory field 'consumerCount'");
if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'consumerCount' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt32BE(val, offset);
offset += 4;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeQueueBind(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
queue: void 0,
exchange: void 0,
routingKey: void 0,
nowait: void 0,
arguments: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.queue = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.exchange = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.routingKey = val;
val = !!(1 & buffer[offset]);
fields.nowait = val;
offset++;
len = buffer.readUInt32BE(offset);
offset += 4;
val = decodeFields(buffer.slice(offset, offset + len));
offset += len;
fields.arguments = val;
return fields;
}
function encodeQueueBind(channel, fields) {
var len, offset = 0, val = null, bits = 0, varyingSize = 0, scratchOffset = 0;
val = fields.queue;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");
var queue_len = Buffer.byteLength(val, "utf8");
varyingSize += queue_len;
val = fields.exchange;
if (void 0 === val) throw new Error("Missing value for mandatory field 'exchange'");
if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");
var exchange_len = Buffer.byteLength(val, "utf8");
varyingSize += exchange_len;
val = fields.routingKey;
if (void 0 === val) val = ""; else if (!("string" == typeof val && Buffer.byteLength(val) < 256)) throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");
var routingKey_len = Buffer.byteLength(val, "utf8");
varyingSize += routingKey_len;
val = fields.arguments;
if (void 0 === val) val = {}; else if ("object" != typeof val) throw new TypeError("Field 'arguments' is the wrong type; must be an object");
len = encodeTable(SCRATCH, val, scratchOffset);
var arguments_encoded = SCRATCH.slice(scratchOffset, scratchOffset + len);
scratchOffset += len;
varyingSize += arguments_encoded.length;
var buffer = Buffer.alloc(18 + varyingSize);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(3276820, 7);
offset = 11;
val = fields.ticket;
if (void 0 === val) val = 0; else if ("number" != typeof val || isNaN(val)) throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");
buffer.writeUInt16BE(val, offset);
offset += 2;
val = fields.queue;
void 0 === val && (val = "");
buffer[offset] = queue_len;
offset++;
buffer.write(val, offset, "utf8");
offset += queue_len;
val = fields.exchange;
void 0 === val && (val = void 0);
buffer[offset] = exchange_len;
offset++;
buffer.write(val, offset, "utf8");
offset += exchange_len;
val = fields.routingKey;
void 0 === val && (val = "");
buffer[offset] = routingKey_len;
offset++;
buffer.write(val, offset, "utf8");
offset += routingKey_len;
val = fields.nowait;
void 0 === val && (val = !1);
val && (bits += 1);
buffer[offset] = bits;
offset++;
bits = 0;
offset += arguments_encoded.copy(buffer, offset);
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeQueueBindOk(buffer) {
return {};
}
function encodeQueueBindOk(channel, fields) {
var offset = 0, buffer = Buffer.alloc(12);
buffer[0] = 1;
buffer.writeUInt16BE(channel, 1);
buffer.writeUInt32BE(3276821, 7);
offset = 11;
buffer[offset] = 206;
buffer.writeUInt32BE(offset - 7, 3);
return buffer;
}
function decodeQueuePurge(buffer) {
var val, len, offset = 0, fields = {
ticket: void 0,
queue: void 0,
nowait: void 0
};
val = buffer.readUInt16BE(offset);
offset += 2;
fields.ticket = val;
len = buffer.readUInt8(offset);
offset++;
val = buffer.toString("utf8", offset, offset + len);
offset += len;
fields.queue = val;
val = !!(1 & buffer[offset]);
fields.nowait = val;
return fields;
}
function encodeQueuePurge(channel, fields) {
var offset = 0, val = null, bits = 0, varyingSize