@helia/dnslink 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +3 -3
- package/dist/src/dnslink.d.ts.map +1 -1
- package/dist/src/dnslink.js +8 -1
- package/dist/src/dnslink.js.map +1 -1
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/namespaces/ipns.d.ts +2 -2
- package/dist/src/namespaces/ipns.d.ts.map +1 -1
- package/dist/src/namespaces/ipns.js +18 -7
- package/dist/src/namespaces/ipns.js.map +1 -1
- package/dist/typedoc-urls.json +2 -0
- package/package.json +2 -2
- package/src/dnslink.ts +10 -1
- package/src/index.ts +22 -0
- package/src/namespaces/ipns.ts +18 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dnslink.d.ts","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAI5J,qBAAa,OAAO,CAAE,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAE,YAAW,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;IACjK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8E;IACpG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,iBAAiB,EAAE,IAAI,GAAE,cAAc,CAAC,UAAU,CAAM;IAe3E,OAAO,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAmDvH,sBAAsB,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAkCrJ,uBAAuB,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"dnslink.d.ts","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAI5J,qBAAa,OAAO,CAAE,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAE,YAAW,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;IACjK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8E;IACpG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE3B,UAAU,EAAE,iBAAiB,EAAE,IAAI,GAAE,cAAc,CAAC,UAAU,CAAM;IAe3E,OAAO,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAmDvH,sBAAsB,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAkCrJ,uBAAuB,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;CAmG7J"}
|
package/dist/src/dnslink.js
CHANGED
|
@@ -127,13 +127,20 @@ export class DNSLink {
|
|
|
127
127
|
const [, protocol, domainOrCID] = result.split('/'); // e.g. ["", "ipfs", "<cid>"]
|
|
128
128
|
if (protocol === 'dnslink') {
|
|
129
129
|
// if the result was another DNSLink domain, try to follow it
|
|
130
|
-
|
|
130
|
+
output.push(...await this.recursiveResolveDomain(domainOrCID, depth - 1, options));
|
|
131
|
+
continue;
|
|
131
132
|
}
|
|
132
133
|
const parser = this.namespaces[protocol];
|
|
133
134
|
if (parser == null) {
|
|
134
135
|
this.log('unknown protocol "%s" in DNSLink record for domain: %s', protocol, domain);
|
|
135
136
|
continue;
|
|
136
137
|
}
|
|
138
|
+
const record = parser(result, answer);
|
|
139
|
+
if (record.namespace === 'dnslink') {
|
|
140
|
+
// if the result was another DNSLink domain, try to follow it
|
|
141
|
+
output.push(...await this.recursiveResolveDomain(record.value, depth - 1, options));
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
137
144
|
output.push(parser(result, answer));
|
|
138
145
|
}
|
|
139
146
|
catch (err) {
|
package/dist/src/dnslink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dnslink.js","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dnslink.js","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -166,6 +166,24 @@ export interface DNSLinkIPNSResult {
|
|
|
166
166
|
*/
|
|
167
167
|
path: string;
|
|
168
168
|
}
|
|
169
|
+
export interface DNSLinkDNSLinkResult {
|
|
170
|
+
/**
|
|
171
|
+
* The resolved record
|
|
172
|
+
*/
|
|
173
|
+
answer: Answer;
|
|
174
|
+
/**
|
|
175
|
+
* The IPNS namespace
|
|
176
|
+
*/
|
|
177
|
+
namespace: 'dnslink';
|
|
178
|
+
/**
|
|
179
|
+
* The resolved value
|
|
180
|
+
*/
|
|
181
|
+
value: string;
|
|
182
|
+
/**
|
|
183
|
+
* If the resolved value is an IPFS path, it will be present here
|
|
184
|
+
*/
|
|
185
|
+
path: string;
|
|
186
|
+
}
|
|
169
187
|
export interface DNSLinkResolveResult {
|
|
170
188
|
/**
|
|
171
189
|
* The resolved record
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAkLtD,MAAM,UAAU,OAAO,CAAE,UAA6B,EAAE,UAA0B,EAAE;IAClF,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DNSLinkParser, DNSLinkIPNSResult } from '../index.js';
|
|
2
|
-
export declare const ipns: DNSLinkParser<DNSLinkIPNSResult>;
|
|
1
|
+
import type { DNSLinkParser, DNSLinkIPNSResult, DNSLinkDNSLinkResult } from '../index.js';
|
|
2
|
+
export declare const ipns: DNSLinkParser<DNSLinkIPNSResult | DNSLinkDNSLinkResult>;
|
|
3
3
|
//# sourceMappingURL=ipns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../../src/namespaces/ipns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../../src/namespaces/ipns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGzF,eAAO,MAAM,IAAI,EAAE,aAAa,CAAC,iBAAiB,GAAG,oBAAoB,CAwBxE,CAAA"}
|
|
@@ -5,12 +5,23 @@ export const ipns = (value, answer) => {
|
|
|
5
5
|
if (protocol !== 'ipns') {
|
|
6
6
|
throw new InvalidNamespaceError(`Namespace ${protocol} was not "ipns"`);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
try {
|
|
9
|
+
// if the result parses as a PeerId, we've reached the end of the recursion
|
|
10
|
+
return {
|
|
11
|
+
namespace: 'ipns',
|
|
12
|
+
peerId: peerIdFromString(peerId),
|
|
13
|
+
path: rest.length > 0 ? `/${rest.join('/')}` : '',
|
|
14
|
+
answer
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// if the value did not parse as a PeerId, it's probably another DNSLink
|
|
19
|
+
return {
|
|
20
|
+
namespace: 'dnslink',
|
|
21
|
+
value: peerId,
|
|
22
|
+
path: rest.length > 0 ? `/${rest.join('/')}` : '',
|
|
23
|
+
answer
|
|
24
|
+
};
|
|
25
|
+
}
|
|
15
26
|
};
|
|
16
27
|
//# sourceMappingURL=ipns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.js","sourceRoot":"","sources":["../../../src/namespaces/ipns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAIpD,MAAM,CAAC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"ipns.js","sourceRoot":"","sources":["../../../src/namespaces/ipns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAIpD,MAAM,CAAC,MAAM,IAAI,GAA4D,CAAC,KAAa,EAAE,MAAc,EAA4C,EAAE;IACvJ,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEtD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,qBAAqB,CAAC,aAAa,QAAQ,iBAAiB,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,CAAC;QACH,2EAA2E;QAC3E,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACjD,MAAM;SACP,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACjD,MAAM;SACP,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
".:DNSLink": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLink.html",
|
|
4
4
|
"DNSLinkComponents": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkComponents.html",
|
|
5
5
|
".:DNSLinkComponents": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkComponents.html",
|
|
6
|
+
"DNSLinkDNSLinkResult": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkDNSLinkResult.html",
|
|
7
|
+
".:DNSLinkDNSLinkResult": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkDNSLinkResult.html",
|
|
6
8
|
"DNSLinkIPFSResult": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkIPFSResult.html",
|
|
7
9
|
".:DNSLinkIPFSResult": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkIPFSResult.html",
|
|
8
10
|
"DNSLinkIPNSResult": "https://ipfs.github.io/helia/interfaces/_helia_dnslink.DNSLinkIPNSResult.html",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/dnslink",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "DNSLink operations using Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/dnslink#readme",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"@libp2p/logger": "^6.0.5",
|
|
76
76
|
"@types/dns-packet": "^5.6.5",
|
|
77
77
|
"aegir": "^47.0.22",
|
|
78
|
-
"delay": "^
|
|
78
|
+
"delay": "^7.0.0",
|
|
79
79
|
"sinon-ts": "^2.0.0"
|
|
80
80
|
},
|
|
81
81
|
"browser": {
|
package/src/dnslink.ts
CHANGED
|
@@ -159,7 +159,8 @@ export class DNSLink <Namespaces extends Record<string, DNSLinkParser<DNSLinkRes
|
|
|
159
159
|
|
|
160
160
|
if (protocol === 'dnslink') {
|
|
161
161
|
// if the result was another DNSLink domain, try to follow it
|
|
162
|
-
|
|
162
|
+
output.push(...await this.recursiveResolveDomain(domainOrCID, depth - 1, options))
|
|
163
|
+
continue
|
|
163
164
|
}
|
|
164
165
|
|
|
165
166
|
const parser = this.namespaces[protocol]
|
|
@@ -169,6 +170,14 @@ export class DNSLink <Namespaces extends Record<string, DNSLinkParser<DNSLinkRes
|
|
|
169
170
|
continue
|
|
170
171
|
}
|
|
171
172
|
|
|
173
|
+
const record = parser(result, answer)
|
|
174
|
+
|
|
175
|
+
if (record.namespace === 'dnslink') {
|
|
176
|
+
// if the result was another DNSLink domain, try to follow it
|
|
177
|
+
output.push(...await this.recursiveResolveDomain(record.value, depth - 1, options))
|
|
178
|
+
continue
|
|
179
|
+
}
|
|
180
|
+
|
|
172
181
|
output.push(parser(result, answer))
|
|
173
182
|
} catch (err: any) {
|
|
174
183
|
this.log.error('could not parse DNS link record for domain %s, %s - %e', domain, answer.data, err)
|
package/src/index.ts
CHANGED
|
@@ -181,6 +181,28 @@ export interface DNSLinkIPNSResult {
|
|
|
181
181
|
path: string
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
export interface DNSLinkDNSLinkResult {
|
|
185
|
+
/**
|
|
186
|
+
* The resolved record
|
|
187
|
+
*/
|
|
188
|
+
answer: Answer
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* The IPNS namespace
|
|
192
|
+
*/
|
|
193
|
+
namespace: 'dnslink'
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* The resolved value
|
|
197
|
+
*/
|
|
198
|
+
value: string
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* If the resolved value is an IPFS path, it will be present here
|
|
202
|
+
*/
|
|
203
|
+
path: string
|
|
204
|
+
}
|
|
205
|
+
|
|
184
206
|
export interface DNSLinkResolveResult {
|
|
185
207
|
/**
|
|
186
208
|
* The resolved record
|
package/src/namespaces/ipns.ts
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
2
2
|
import { InvalidNamespaceError } from '../errors.ts'
|
|
3
|
-
import type { DNSLinkParser, DNSLinkIPNSResult } from '../index.js'
|
|
3
|
+
import type { DNSLinkParser, DNSLinkIPNSResult, DNSLinkDNSLinkResult } from '../index.js'
|
|
4
4
|
import type { Answer } from '@multiformats/dns'
|
|
5
5
|
|
|
6
|
-
export const ipns: DNSLinkParser<DNSLinkIPNSResult> = (value: string, answer: Answer): DNSLinkIPNSResult => {
|
|
6
|
+
export const ipns: DNSLinkParser<DNSLinkIPNSResult | DNSLinkDNSLinkResult> = (value: string, answer: Answer): DNSLinkIPNSResult | DNSLinkDNSLinkResult => {
|
|
7
7
|
const [, protocol, peerId, ...rest] = value.split('/')
|
|
8
8
|
|
|
9
9
|
if (protocol !== 'ipns') {
|
|
10
10
|
throw new InvalidNamespaceError(`Namespace ${protocol} was not "ipns"`)
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
try {
|
|
14
|
+
// if the result parses as a PeerId, we've reached the end of the recursion
|
|
15
|
+
return {
|
|
16
|
+
namespace: 'ipns',
|
|
17
|
+
peerId: peerIdFromString(peerId),
|
|
18
|
+
path: rest.length > 0 ? `/${rest.join('/')}` : '',
|
|
19
|
+
answer
|
|
20
|
+
}
|
|
21
|
+
} catch {
|
|
22
|
+
// if the value did not parse as a PeerId, it's probably another DNSLink
|
|
23
|
+
return {
|
|
24
|
+
namespace: 'dnslink',
|
|
25
|
+
value: peerId,
|
|
26
|
+
path: rest.length > 0 ? `/${rest.join('/')}` : '',
|
|
27
|
+
answer
|
|
28
|
+
}
|
|
19
29
|
}
|
|
20
30
|
}
|