1
+ /* eslint-disable complexity */
1
2
import { base58btc } from 'multiformats/bases/base58'
2
3
import { CID } from 'multiformats/cid'
3
4
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
@@ -73,7 +74,7 @@ export class Multiaddr implements MultiaddrInterface {
73
74
74
75
toOptions ( ) : MultiaddrObject {
75
76
let family : 4 | 6 | undefined
76
- let transport : string | undefined
77
+ let transport : 'tcp' | 'udp' | undefined
77
78
let host : string | undefined
78
79
let port : number | undefined
79
80
let zone = ''
@@ -92,19 +93,19 @@ export class Multiaddr implements MultiaddrInterface {
92
93
93
94
// default to https when protocol & port are omitted from DNS addrs
94
95
if ( DNS_CODES . includes ( code ) ) {
95
- transport = tcp . name
96
+ transport = tcp . name === 'tcp' ? 'tcp' : 'udp'
96
97
port = 443
97
98
host = `${ value ?? '' } ${ zone } `
98
99
family = code === dns6 . code ? 6 : 4
99
100
}
100
101
101
102
if ( code === tcp . code || code === udp . code ) {
102
- transport = getProtocol ( code ) . name
103
+ transport = getProtocol ( code ) . name === 'tcp' ? 'tcp' : 'udp'
103
104
port = parseInt ( value ?? '' )
104
105
}
105
106
106
107
if ( code === ip4 . code || code === ip6 . code ) {
107
- transport = getProtocol ( code ) . name
108
+ transport = getProtocol ( code ) . name === 'tcp' ? 'tcp' : 'udp'
108
109
host = `${ value ?? '' } ${ zone } `
109
110
family = code === ip6 . code ? 6 : 4
110
111
}
0 commit comments