types.js (2728B)
1 'use strict' 2 3 exports.toString = function (type) { 4 switch (type) { 5 case 1: return 'A' 6 case 10: return 'NULL' 7 case 28: return 'AAAA' 8 case 18: return 'AFSDB' 9 case 42: return 'APL' 10 case 257: return 'CAA' 11 case 60: return 'CDNSKEY' 12 case 59: return 'CDS' 13 case 37: return 'CERT' 14 case 5: return 'CNAME' 15 case 49: return 'DHCID' 16 case 32769: return 'DLV' 17 case 39: return 'DNAME' 18 case 48: return 'DNSKEY' 19 case 43: return 'DS' 20 case 55: return 'HIP' 21 case 13: return 'HINFO' 22 case 45: return 'IPSECKEY' 23 case 25: return 'KEY' 24 case 36: return 'KX' 25 case 29: return 'LOC' 26 case 15: return 'MX' 27 case 35: return 'NAPTR' 28 case 2: return 'NS' 29 case 47: return 'NSEC' 30 case 50: return 'NSEC3' 31 case 51: return 'NSEC3PARAM' 32 case 12: return 'PTR' 33 case 46: return 'RRSIG' 34 case 17: return 'RP' 35 case 24: return 'SIG' 36 case 6: return 'SOA' 37 case 99: return 'SPF' 38 case 33: return 'SRV' 39 case 44: return 'SSHFP' 40 case 32768: return 'TA' 41 case 249: return 'TKEY' 42 case 52: return 'TLSA' 43 case 250: return 'TSIG' 44 case 16: return 'TXT' 45 case 252: return 'AXFR' 46 case 251: return 'IXFR' 47 case 41: return 'OPT' 48 case 255: return 'ANY' 49 case 65: return 'HTTPS' 50 } 51 return 'UNKNOWN_' + type 52 } 53 54 exports.toType = function (name) { 55 switch (name.toUpperCase()) { 56 case 'A': return 1 57 case 'NULL': return 10 58 case 'AAAA': return 28 59 case 'AFSDB': return 18 60 case 'APL': return 42 61 case 'CAA': return 257 62 case 'CDNSKEY': return 60 63 case 'CDS': return 59 64 case 'CERT': return 37 65 case 'CNAME': return 5 66 case 'DHCID': return 49 67 case 'DLV': return 32769 68 case 'DNAME': return 39 69 case 'DNSKEY': return 48 70 case 'DS': return 43 71 case 'HIP': return 55 72 case 'HINFO': return 13 73 case 'IPSECKEY': return 45 74 case 'KEY': return 25 75 case 'KX': return 36 76 case 'LOC': return 29 77 case 'MX': return 15 78 case 'NAPTR': return 35 79 case 'NS': return 2 80 case 'NSEC': return 47 81 case 'NSEC3': return 50 82 case 'NSEC3PARAM': return 51 83 case 'PTR': return 12 84 case 'RRSIG': return 46 85 case 'RP': return 17 86 case 'SIG': return 24 87 case 'SOA': return 6 88 case 'SPF': return 99 89 case 'SRV': return 33 90 case 'SSHFP': return 44 91 case 'TA': return 32768 92 case 'TKEY': return 249 93 case 'TLSA': return 52 94 case 'TSIG': return 250 95 case 'TXT': return 16 96 case 'AXFR': return 252 97 case 'IXFR': return 251 98 case 'OPT': return 41 99 case 'ANY': return 255 100 case 'HTTPS': return 65 101 case '*': return 255 102 } 103 if (name.toUpperCase().startsWith('UNKNOWN_')) return parseInt(name.slice(8)) 104 return 0 105 }