UNPKG

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