UNPKG

dns-packet-typescript

Version:

An abstract-encoding compliant module for encoding / decoding DNS packets

45 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.encodingLength = exports.decode = exports.encode = void 0; function encode(data, buf, offset) { if (offset === void 0) { offset = 0; } if (!buf) buf = Buffer.allocUnsafe(encodingLength(data)); if (!offset) offset = 0; if (typeof data === 'string') data = Buffer.from(data); if (!data) data = Buffer.allocUnsafe(0); var oldOffset = offset; offset += 2; var len = data.length; data.copy(buf, offset, 0, len); offset += len; buf.writeUInt16BE(offset - oldOffset - 2, oldOffset); encode.bytes = offset - oldOffset; return buf; } exports.encode = encode; encode.bytes = 0; function decode(buf, offset) { if (offset === void 0) { offset = 0; } if (!offset) offset = 0; var oldOffset = offset; var len = buf.readUInt16BE(offset); offset += 2; var data = buf.slice(offset, offset + len); offset += len; decode.bytes = offset - oldOffset; return data; } exports.decode = decode; decode.bytes = 0; function encodingLength(data) { if (!data) return 2; return (Buffer.isBuffer(data) ? data.length : Buffer.byteLength(data)) + 2; } exports.encodingLength = encodingLength; //# sourceMappingURL=rnull.js.map