"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toRcode = toRcode; exports.toString = toString; /* * Traditional DNS header RCODEs (4-bits) defined by IANA in * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml */ function toString(rcode) { switch (rcode) { case 0: return 'NOERROR'; case 1: return 'FORMERR'; case 2: return 'SERVFAIL'; case 3: return 'NXDOMAIN'; case 4: return 'NOTIMP'; case 5: return 'REFUSED'; case 6: return 'YXDOMAIN'; case 7: return 'YXRRSET'; case 8: return 'NXRRSET'; case 9: return 'NOTAUTH'; case 10: return 'NOTZONE'; case 11: return 'RCODE_11'; case 12: return 'RCODE_12'; case 13: return 'RCODE_13'; case 14: return 'RCODE_14'; case 15: return 'RCODE_15'; } return 'RCODE_' + rcode; } function toRcode(code) { switch (code.toUpperCase()) { case 'NOERROR': return 0; case 'FORMERR': return 1; case 'SERVFAIL': return 2; case 'NXDOMAIN': return 3; case 'NOTIMP': return 4; case 'REFUSED': return 5; case 'YXDOMAIN': return 6; case 'YXRRSET': return 7; case 'NXRRSET': return 8; case 'NOTAUTH': return 9; case 'NOTZONE': return 10; case 'RCODE_11': return 11; case 'RCODE_12': return 12; case 'RCODE_13': return 13; case 'RCODE_14': return 14; case 'RCODE_15': return 15; } return 0; }