@helia/ipns 7.2.3-5ff6998 → 7.2.3-60d8c8a
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/README.md +85 -57
- package/dist/index.min.js +2 -2
- package/dist/src/index.d.ts +85 -57
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +85 -57
- package/dist/src/index.js.map +1 -1
- package/dist/src/routing/index.d.ts +4 -0
- package/dist/src/routing/index.d.ts.map +1 -1
- package/dist/src/routing/index.js.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +85 -57
- package/src/routing/index.ts +5 -0
package/dist/src/index.d.ts
CHANGED
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
* import { createHelia } from 'helia'
|
|
12
12
|
* import { ipns } from '@helia/ipns'
|
|
13
13
|
* import { unixfs } from '@helia/unixfs'
|
|
14
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
14
15
|
*
|
|
15
16
|
* const helia = await createHelia()
|
|
16
17
|
* const name = ipns(helia)
|
|
17
18
|
*
|
|
18
|
-
* // create a
|
|
19
|
-
* const
|
|
20
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
19
|
+
* // create a keypair to publish an IPNS name
|
|
20
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
21
21
|
*
|
|
22
22
|
* // store some data to publish
|
|
23
23
|
* const fs = unixfs(helia)
|
|
24
|
-
* const cid = await fs.
|
|
24
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
25
25
|
*
|
|
26
26
|
* // publish the name
|
|
27
|
-
* await name.publish(
|
|
27
|
+
* await name.publish(privateKey, cid)
|
|
28
28
|
*
|
|
29
29
|
* // resolve the name
|
|
30
|
-
* const result = name.resolve(
|
|
30
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
31
31
|
*
|
|
32
32
|
* console.info(result.cid, result.path)
|
|
33
33
|
* ```
|
|
@@ -41,30 +41,29 @@
|
|
|
41
41
|
* import { createHelia } from 'helia'
|
|
42
42
|
* import { ipns } from '@helia/ipns'
|
|
43
43
|
* import { unixfs } from '@helia/unixfs'
|
|
44
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
44
45
|
*
|
|
45
46
|
* const helia = await createHelia()
|
|
46
47
|
* const name = ipns(helia)
|
|
47
48
|
*
|
|
48
|
-
* // create a
|
|
49
|
-
* const
|
|
50
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
49
|
+
* // create a keypair to publish an IPNS name
|
|
50
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
51
51
|
*
|
|
52
52
|
* // store some data to publish
|
|
53
53
|
* const fs = unixfs(helia)
|
|
54
|
-
* const cid = await fs.
|
|
54
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
55
55
|
*
|
|
56
56
|
* // publish the name
|
|
57
|
-
* await name.publish(
|
|
57
|
+
* await name.publish(privateKey, cid)
|
|
58
58
|
*
|
|
59
|
-
* // create another
|
|
60
|
-
* const
|
|
61
|
-
* const recursivePeerId = await helia.libp2p.services.keychain.exportPeerId(recursiveKeyInfo.name)
|
|
59
|
+
* // create another keypair to re-publish the original record
|
|
60
|
+
* const recursivePrivateKey = await generateKeyPair('Ed25519')
|
|
62
61
|
*
|
|
63
62
|
* // publish the recursive name
|
|
64
|
-
* await name.publish(
|
|
63
|
+
* await name.publish(recursivePrivateKey, privateKey.publicKey)
|
|
65
64
|
*
|
|
66
65
|
* // resolve the name recursively - it resolves until a CID is found
|
|
67
|
-
* const result = name.resolve(
|
|
66
|
+
* const result = await name.resolve(recursivePrivateKey.publicKey)
|
|
68
67
|
* console.info(result.cid.toString() === cid.toString()) // true
|
|
69
68
|
* ```
|
|
70
69
|
*
|
|
@@ -76,27 +75,27 @@
|
|
|
76
75
|
* import { createHelia } from 'helia'
|
|
77
76
|
* import { ipns } from '@helia/ipns'
|
|
78
77
|
* import { unixfs } from '@helia/unixfs'
|
|
78
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
79
79
|
*
|
|
80
80
|
* const helia = await createHelia()
|
|
81
81
|
* const name = ipns(helia)
|
|
82
82
|
*
|
|
83
|
-
* // create a
|
|
84
|
-
* const
|
|
85
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
83
|
+
* // create a keypair to publish an IPNS name
|
|
84
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
86
85
|
*
|
|
87
86
|
* // store some data to publish
|
|
88
87
|
* const fs = unixfs(helia)
|
|
89
|
-
* const fileCid = await fs.
|
|
88
|
+
* const fileCid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
90
89
|
*
|
|
91
90
|
* // store the file in a directory
|
|
92
|
-
* const dirCid = await fs.
|
|
91
|
+
* const dirCid = await fs.addDirectory()
|
|
93
92
|
* const finalDirCid = await fs.cp(fileCid, dirCid, '/foo.txt')
|
|
94
93
|
*
|
|
95
94
|
* // publish the name
|
|
96
|
-
* await name.publish(
|
|
95
|
+
* await name.publish(privateKey, `/ipfs/${finalDirCid}/foo.txt`)
|
|
97
96
|
*
|
|
98
97
|
* // resolve the name
|
|
99
|
-
* const result = name.resolve(
|
|
98
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
100
99
|
*
|
|
101
100
|
* console.info(result.cid, result.path) // QmFoo.. 'foo.txt'
|
|
102
101
|
* ```
|
|
@@ -123,11 +122,14 @@
|
|
|
123
122
|
* import { pubsub } from '@helia/ipns/routing'
|
|
124
123
|
* import { unixfs } from '@helia/unixfs'
|
|
125
124
|
* import { gossipsub } from '@chainsafe/libp2p-gossipsub'
|
|
125
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
126
|
+
* import type { Libp2p, PubSub } from '@libp2p/interface'
|
|
127
|
+
* import type { DefaultLibp2pServices } from 'helia'
|
|
126
128
|
*
|
|
127
129
|
* const libp2pOptions = libp2pDefaults()
|
|
128
130
|
* libp2pOptions.services.pubsub = gossipsub()
|
|
129
131
|
*
|
|
130
|
-
* const helia = await createHelia({
|
|
132
|
+
* const helia = await createHelia<Libp2p<DefaultLibp2pServices & { pubsub: PubSub }>>({
|
|
131
133
|
* libp2p: libp2pOptions
|
|
132
134
|
* })
|
|
133
135
|
* const name = ipns(helia, {
|
|
@@ -136,44 +138,50 @@
|
|
|
136
138
|
* ]
|
|
137
139
|
* })
|
|
138
140
|
*
|
|
139
|
-
* // create a
|
|
140
|
-
* const
|
|
141
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
141
|
+
* // create a keypair to publish an IPNS name
|
|
142
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
142
143
|
*
|
|
143
144
|
* // store some data to publish
|
|
144
145
|
* const fs = unixfs(helia)
|
|
145
|
-
* const cid = await fs.
|
|
146
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
146
147
|
*
|
|
147
148
|
* // publish the name
|
|
148
|
-
* await name.publish(
|
|
149
|
+
* await name.publish(privateKey, cid)
|
|
149
150
|
*
|
|
150
151
|
* // resolve the name
|
|
151
|
-
* const
|
|
152
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
152
153
|
* ```
|
|
153
154
|
*
|
|
154
155
|
* @example Using custom DNS over HTTPS resolvers
|
|
155
156
|
*
|
|
156
|
-
*
|
|
157
|
+
* To use custom resolvers, configure Helia's `dns` option:
|
|
157
158
|
*
|
|
158
159
|
* ```TypeScript
|
|
159
160
|
* import { createHelia } from 'helia'
|
|
160
161
|
* import { ipns } from '@helia/ipns'
|
|
161
|
-
* import {
|
|
162
|
-
* import { dnsOverHttps } from '@
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* const
|
|
166
|
-
*
|
|
167
|
-
*
|
|
162
|
+
* import { dns } from '@multiformats/dns'
|
|
163
|
+
* import { dnsOverHttps } from '@multiformats/dns/resolvers'
|
|
164
|
+
* import { helia } from '@helia/ipns/routing'
|
|
165
|
+
*
|
|
166
|
+
* const node = await createHelia({
|
|
167
|
+
* dns: dns({
|
|
168
|
+
* resolvers: {
|
|
169
|
+
* '.': dnsOverHttps('https://private-dns-server.me/dns-query')
|
|
170
|
+
* }
|
|
171
|
+
* })
|
|
172
|
+
* })
|
|
173
|
+
* const name = ipns(node, {
|
|
174
|
+
* routers: [
|
|
175
|
+
* helia(node.routing)
|
|
168
176
|
* ]
|
|
169
177
|
* })
|
|
170
178
|
*
|
|
171
|
-
* const
|
|
179
|
+
* const result = name.resolveDNSLink('some-domain-with-dnslink-entry.com')
|
|
172
180
|
* ```
|
|
173
181
|
*
|
|
174
182
|
* @example Resolving a domain with a dnslink entry
|
|
175
183
|
*
|
|
176
|
-
* Calling `
|
|
184
|
+
* Calling `resolveDNSLink` with the `@helia/ipns` instance:
|
|
177
185
|
*
|
|
178
186
|
* ```TypeScript
|
|
179
187
|
* // resolve a CID from a TXT record in a DNS zone file, using the default
|
|
@@ -185,10 +193,16 @@
|
|
|
185
193
|
* // ;; ANSWER SECTION:
|
|
186
194
|
* // _dnslink.website.ipfs.io. 60 IN TXT "dnslink=/ipfs/QmWebsite"
|
|
187
195
|
*
|
|
188
|
-
*
|
|
196
|
+
* import { createHelia } from 'helia'
|
|
197
|
+
* import { ipns } from '@helia/ipns'
|
|
198
|
+
*
|
|
199
|
+
* const node = await createHelia()
|
|
200
|
+
* const name = ipns(node)
|
|
189
201
|
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
202
|
+
* const { answer } = await name.resolveDNSLink('ipfs.io')
|
|
203
|
+
*
|
|
204
|
+
* console.info(answer)
|
|
205
|
+
* // { data: '/ipfs/QmWebsite' }
|
|
192
206
|
* ```
|
|
193
207
|
*
|
|
194
208
|
* @example Using DNS-Over-HTTPS
|
|
@@ -200,14 +214,21 @@
|
|
|
200
214
|
* If this is a concern, use the DNS-JSON-Over-HTTPS resolver instead.
|
|
201
215
|
*
|
|
202
216
|
* ```TypeScript
|
|
203
|
-
*
|
|
204
|
-
* import {
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
217
|
+
* import { createHelia } from 'helia'
|
|
218
|
+
* import { ipns } from '@helia/ipns'
|
|
219
|
+
* import { dns } from '@multiformats/dns'
|
|
220
|
+
* import { dnsOverHttps } from '@multiformats/dns/resolvers'
|
|
221
|
+
*
|
|
222
|
+
* const node = await createHelia({
|
|
223
|
+
* dns: dns({
|
|
224
|
+
* resolvers: {
|
|
225
|
+
* '.': dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
|
|
226
|
+
* }
|
|
227
|
+
* })
|
|
210
228
|
* })
|
|
229
|
+
* const name = ipns(node)
|
|
230
|
+
*
|
|
231
|
+
* const result = await name.resolveDNSLink('ipfs.io')
|
|
211
232
|
* ```
|
|
212
233
|
*
|
|
213
234
|
* @example Using DNS-JSON-Over-HTTPS
|
|
@@ -216,14 +237,21 @@
|
|
|
216
237
|
* result in a smaller browser bundle due to the response being plain JSON.
|
|
217
238
|
*
|
|
218
239
|
* ```TypeScript
|
|
219
|
-
*
|
|
220
|
-
* import {
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
240
|
+
* import { createHelia } from 'helia'
|
|
241
|
+
* import { ipns } from '@helia/ipns'
|
|
242
|
+
* import { dns } from '@multiformats/dns'
|
|
243
|
+
* import { dnsJsonOverHttps } from '@multiformats/dns/resolvers'
|
|
244
|
+
*
|
|
245
|
+
* const node = await createHelia({
|
|
246
|
+
* dns: dns({
|
|
247
|
+
* resolvers: {
|
|
248
|
+
* '.': dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
|
|
249
|
+
* }
|
|
250
|
+
* })
|
|
226
251
|
* })
|
|
252
|
+
* const name = ipns(node)
|
|
253
|
+
*
|
|
254
|
+
* const result = await name.resolveDNSLink('ipfs.io')
|
|
227
255
|
* ```
|
|
228
256
|
*/
|
|
229
257
|
import { type IPNSRecord } from 'ipns';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
* import { createHelia } from 'helia'
|
|
12
12
|
* import { ipns } from '@helia/ipns'
|
|
13
13
|
* import { unixfs } from '@helia/unixfs'
|
|
14
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
14
15
|
*
|
|
15
16
|
* const helia = await createHelia()
|
|
16
17
|
* const name = ipns(helia)
|
|
17
18
|
*
|
|
18
|
-
* // create a
|
|
19
|
-
* const
|
|
20
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
19
|
+
* // create a keypair to publish an IPNS name
|
|
20
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
21
21
|
*
|
|
22
22
|
* // store some data to publish
|
|
23
23
|
* const fs = unixfs(helia)
|
|
24
|
-
* const cid = await fs.
|
|
24
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
25
25
|
*
|
|
26
26
|
* // publish the name
|
|
27
|
-
* await name.publish(
|
|
27
|
+
* await name.publish(privateKey, cid)
|
|
28
28
|
*
|
|
29
29
|
* // resolve the name
|
|
30
|
-
* const result = name.resolve(
|
|
30
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
31
31
|
*
|
|
32
32
|
* console.info(result.cid, result.path)
|
|
33
33
|
* ```
|
|
@@ -41,30 +41,29 @@
|
|
|
41
41
|
* import { createHelia } from 'helia'
|
|
42
42
|
* import { ipns } from '@helia/ipns'
|
|
43
43
|
* import { unixfs } from '@helia/unixfs'
|
|
44
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
44
45
|
*
|
|
45
46
|
* const helia = await createHelia()
|
|
46
47
|
* const name = ipns(helia)
|
|
47
48
|
*
|
|
48
|
-
* // create a
|
|
49
|
-
* const
|
|
50
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
49
|
+
* // create a keypair to publish an IPNS name
|
|
50
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
51
51
|
*
|
|
52
52
|
* // store some data to publish
|
|
53
53
|
* const fs = unixfs(helia)
|
|
54
|
-
* const cid = await fs.
|
|
54
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
55
55
|
*
|
|
56
56
|
* // publish the name
|
|
57
|
-
* await name.publish(
|
|
57
|
+
* await name.publish(privateKey, cid)
|
|
58
58
|
*
|
|
59
|
-
* // create another
|
|
60
|
-
* const
|
|
61
|
-
* const recursivePeerId = await helia.libp2p.services.keychain.exportPeerId(recursiveKeyInfo.name)
|
|
59
|
+
* // create another keypair to re-publish the original record
|
|
60
|
+
* const recursivePrivateKey = await generateKeyPair('Ed25519')
|
|
62
61
|
*
|
|
63
62
|
* // publish the recursive name
|
|
64
|
-
* await name.publish(
|
|
63
|
+
* await name.publish(recursivePrivateKey, privateKey.publicKey)
|
|
65
64
|
*
|
|
66
65
|
* // resolve the name recursively - it resolves until a CID is found
|
|
67
|
-
* const result = name.resolve(
|
|
66
|
+
* const result = await name.resolve(recursivePrivateKey.publicKey)
|
|
68
67
|
* console.info(result.cid.toString() === cid.toString()) // true
|
|
69
68
|
* ```
|
|
70
69
|
*
|
|
@@ -76,27 +75,27 @@
|
|
|
76
75
|
* import { createHelia } from 'helia'
|
|
77
76
|
* import { ipns } from '@helia/ipns'
|
|
78
77
|
* import { unixfs } from '@helia/unixfs'
|
|
78
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
79
79
|
*
|
|
80
80
|
* const helia = await createHelia()
|
|
81
81
|
* const name = ipns(helia)
|
|
82
82
|
*
|
|
83
|
-
* // create a
|
|
84
|
-
* const
|
|
85
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
83
|
+
* // create a keypair to publish an IPNS name
|
|
84
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
86
85
|
*
|
|
87
86
|
* // store some data to publish
|
|
88
87
|
* const fs = unixfs(helia)
|
|
89
|
-
* const fileCid = await fs.
|
|
88
|
+
* const fileCid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
90
89
|
*
|
|
91
90
|
* // store the file in a directory
|
|
92
|
-
* const dirCid = await fs.
|
|
91
|
+
* const dirCid = await fs.addDirectory()
|
|
93
92
|
* const finalDirCid = await fs.cp(fileCid, dirCid, '/foo.txt')
|
|
94
93
|
*
|
|
95
94
|
* // publish the name
|
|
96
|
-
* await name.publish(
|
|
95
|
+
* await name.publish(privateKey, `/ipfs/${finalDirCid}/foo.txt`)
|
|
97
96
|
*
|
|
98
97
|
* // resolve the name
|
|
99
|
-
* const result = name.resolve(
|
|
98
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
100
99
|
*
|
|
101
100
|
* console.info(result.cid, result.path) // QmFoo.. 'foo.txt'
|
|
102
101
|
* ```
|
|
@@ -123,11 +122,14 @@
|
|
|
123
122
|
* import { pubsub } from '@helia/ipns/routing'
|
|
124
123
|
* import { unixfs } from '@helia/unixfs'
|
|
125
124
|
* import { gossipsub } from '@chainsafe/libp2p-gossipsub'
|
|
125
|
+
* import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
126
|
+
* import type { Libp2p, PubSub } from '@libp2p/interface'
|
|
127
|
+
* import type { DefaultLibp2pServices } from 'helia'
|
|
126
128
|
*
|
|
127
129
|
* const libp2pOptions = libp2pDefaults()
|
|
128
130
|
* libp2pOptions.services.pubsub = gossipsub()
|
|
129
131
|
*
|
|
130
|
-
* const helia = await createHelia({
|
|
132
|
+
* const helia = await createHelia<Libp2p<DefaultLibp2pServices & { pubsub: PubSub }>>({
|
|
131
133
|
* libp2p: libp2pOptions
|
|
132
134
|
* })
|
|
133
135
|
* const name = ipns(helia, {
|
|
@@ -136,44 +138,50 @@
|
|
|
136
138
|
* ]
|
|
137
139
|
* })
|
|
138
140
|
*
|
|
139
|
-
* // create a
|
|
140
|
-
* const
|
|
141
|
-
* const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
|
|
141
|
+
* // create a keypair to publish an IPNS name
|
|
142
|
+
* const privateKey = await generateKeyPair('Ed25519')
|
|
142
143
|
*
|
|
143
144
|
* // store some data to publish
|
|
144
145
|
* const fs = unixfs(helia)
|
|
145
|
-
* const cid = await fs.
|
|
146
|
+
* const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
146
147
|
*
|
|
147
148
|
* // publish the name
|
|
148
|
-
* await name.publish(
|
|
149
|
+
* await name.publish(privateKey, cid)
|
|
149
150
|
*
|
|
150
151
|
* // resolve the name
|
|
151
|
-
* const
|
|
152
|
+
* const result = await name.resolve(privateKey.publicKey)
|
|
152
153
|
* ```
|
|
153
154
|
*
|
|
154
155
|
* @example Using custom DNS over HTTPS resolvers
|
|
155
156
|
*
|
|
156
|
-
*
|
|
157
|
+
* To use custom resolvers, configure Helia's `dns` option:
|
|
157
158
|
*
|
|
158
159
|
* ```TypeScript
|
|
159
160
|
* import { createHelia } from 'helia'
|
|
160
161
|
* import { ipns } from '@helia/ipns'
|
|
161
|
-
* import {
|
|
162
|
-
* import { dnsOverHttps } from '@
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* const
|
|
166
|
-
*
|
|
167
|
-
*
|
|
162
|
+
* import { dns } from '@multiformats/dns'
|
|
163
|
+
* import { dnsOverHttps } from '@multiformats/dns/resolvers'
|
|
164
|
+
* import { helia } from '@helia/ipns/routing'
|
|
165
|
+
*
|
|
166
|
+
* const node = await createHelia({
|
|
167
|
+
* dns: dns({
|
|
168
|
+
* resolvers: {
|
|
169
|
+
* '.': dnsOverHttps('https://private-dns-server.me/dns-query')
|
|
170
|
+
* }
|
|
171
|
+
* })
|
|
172
|
+
* })
|
|
173
|
+
* const name = ipns(node, {
|
|
174
|
+
* routers: [
|
|
175
|
+
* helia(node.routing)
|
|
168
176
|
* ]
|
|
169
177
|
* })
|
|
170
178
|
*
|
|
171
|
-
* const
|
|
179
|
+
* const result = name.resolveDNSLink('some-domain-with-dnslink-entry.com')
|
|
172
180
|
* ```
|
|
173
181
|
*
|
|
174
182
|
* @example Resolving a domain with a dnslink entry
|
|
175
183
|
*
|
|
176
|
-
* Calling `
|
|
184
|
+
* Calling `resolveDNSLink` with the `@helia/ipns` instance:
|
|
177
185
|
*
|
|
178
186
|
* ```TypeScript
|
|
179
187
|
* // resolve a CID from a TXT record in a DNS zone file, using the default
|
|
@@ -185,10 +193,16 @@
|
|
|
185
193
|
* // ;; ANSWER SECTION:
|
|
186
194
|
* // _dnslink.website.ipfs.io. 60 IN TXT "dnslink=/ipfs/QmWebsite"
|
|
187
195
|
*
|
|
188
|
-
*
|
|
196
|
+
* import { createHelia } from 'helia'
|
|
197
|
+
* import { ipns } from '@helia/ipns'
|
|
198
|
+
*
|
|
199
|
+
* const node = await createHelia()
|
|
200
|
+
* const name = ipns(node)
|
|
189
201
|
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
202
|
+
* const { answer } = await name.resolveDNSLink('ipfs.io')
|
|
203
|
+
*
|
|
204
|
+
* console.info(answer)
|
|
205
|
+
* // { data: '/ipfs/QmWebsite' }
|
|
192
206
|
* ```
|
|
193
207
|
*
|
|
194
208
|
* @example Using DNS-Over-HTTPS
|
|
@@ -200,14 +214,21 @@
|
|
|
200
214
|
* If this is a concern, use the DNS-JSON-Over-HTTPS resolver instead.
|
|
201
215
|
*
|
|
202
216
|
* ```TypeScript
|
|
203
|
-
*
|
|
204
|
-
* import {
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
217
|
+
* import { createHelia } from 'helia'
|
|
218
|
+
* import { ipns } from '@helia/ipns'
|
|
219
|
+
* import { dns } from '@multiformats/dns'
|
|
220
|
+
* import { dnsOverHttps } from '@multiformats/dns/resolvers'
|
|
221
|
+
*
|
|
222
|
+
* const node = await createHelia({
|
|
223
|
+
* dns: dns({
|
|
224
|
+
* resolvers: {
|
|
225
|
+
* '.': dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
|
|
226
|
+
* }
|
|
227
|
+
* })
|
|
210
228
|
* })
|
|
229
|
+
* const name = ipns(node)
|
|
230
|
+
*
|
|
231
|
+
* const result = await name.resolveDNSLink('ipfs.io')
|
|
211
232
|
* ```
|
|
212
233
|
*
|
|
213
234
|
* @example Using DNS-JSON-Over-HTTPS
|
|
@@ -216,14 +237,21 @@
|
|
|
216
237
|
* result in a smaller browser bundle due to the response being plain JSON.
|
|
217
238
|
*
|
|
218
239
|
* ```TypeScript
|
|
219
|
-
*
|
|
220
|
-
* import {
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
240
|
+
* import { createHelia } from 'helia'
|
|
241
|
+
* import { ipns } from '@helia/ipns'
|
|
242
|
+
* import { dns } from '@multiformats/dns'
|
|
243
|
+
* import { dnsJsonOverHttps } from '@multiformats/dns/resolvers'
|
|
244
|
+
*
|
|
245
|
+
* const node = await createHelia({
|
|
246
|
+
* dns: dns({
|
|
247
|
+
* resolvers: {
|
|
248
|
+
* '.': dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
|
|
249
|
+
* }
|
|
250
|
+
* })
|
|
226
251
|
* })
|
|
252
|
+
* const name = ipns(node)
|
|
253
|
+
*
|
|
254
|
+
* const result = await name.resolveDNSLink('ipfs.io')
|
|
227
255
|
* ```
|
|
228
256
|
*/
|
|
229
257
|
import { NotFoundError, isPublicKey } from '@libp2p/interface';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+PG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,mBAAmB,EAAmB,MAAM,MAAM,CAAA;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAC9I,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAUpE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AAEhC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAA;AACxB,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAA;AAExB,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAA;AACrC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAU,CAAA;AAqJhD,MAAM,KAAK,GAA6C;IACtD,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM;IACvB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS;CAC9B,CAAA;AAED,MAAM,WAAW;IACE,OAAO,CAAe;IACtB,UAAU,CAAY;IAC/B,OAAO,CAAgC;IAC9B,GAAG,CAAK;IACR,GAAG,CAAQ;IAE5B,YAAa,UAA0B,EAAE,UAAyB,EAAE;QAClE,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YACzB,GAAG,OAAO;SACX,CAAA;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,GAAe,EAAE,KAA8D,EAAE,UAA0B,EAAE;QAC1H,IAAI,CAAC;YACH,IAAI,cAAc,GAAG,EAAE,CAAA;YACvB,MAAM,UAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;YAEzE,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBACnD,4EAA4E;gBAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBACjE,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;gBAClD,cAAc,GAAG,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAA;YAC/C,CAAC;YAED,gBAAgB;YAChB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,IAAI,mBAAmB,EAAE,OAAO,CAAC,CAAA;YACnH,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAEjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;YAE/D,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC7B,4BAA4B;gBAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAA;YACvG,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAA;YAC/E,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,GAA6C,EAAE,UAA0B,EAAE;QACxF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QACzD,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAE9D,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM;SACP,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,MAAc,EAAE,UAAiC,EAAE;QACvE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzE,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAA;IACH,CAAC;IAED,SAAS,CAAE,UAA4B,EAAE;QACvC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,KAAK,UAAU,SAAS;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAE5B,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAErE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC7B,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;YACxC,IAAI,YAAY,GAAG,6BAA6B,GAAG,SAAS,CAAA;YAE5D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,6BAA6B,CAAA;YAClE,CAAC;YAED,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACtB,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;gBACtC,CAAC,CAAC,CAAA;YACJ,CAAC,EAAE,YAAY,CAAC,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,6BAA6B,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,QAAgB,EAAE,UAA0B,EAAE;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAEvB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClC,IAAI,GAA2B,CAAA;gBAE/B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACrC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;gBACnC,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACjC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,+BAA+B,CAAC,iCAAiC,MAAM,GAAG,CAAC,CAAA;gBACvF,CAAC;gBAED,IAAI,MAA+B,CAAA;gBAEnC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;gBACpC,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;oBACzE,MAAM,IAAI,8BAA8B,CAAC,gCAAgC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;gBAC1F,CAAC;gBAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACnD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACrC,OAAO;oBACL,GAAG;oBACH,IAAI;iBACL,CAAA;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACrC,OAAO;oBACL,GAAG;oBACH,IAAI;iBACL,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;QAC3C,MAAM,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,UAAsB,EAAE,UAA0B,EAAE;QACzE,MAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAE7D,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAErC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,8BAA8B;oBAC9B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;oBAE1E,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;oBAEvC,sBAAsB;oBACtB,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;oBAEvC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;oBAE5B,gBAAgB;oBAChB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;oBAE9C,sEAAsE;oBACtE,OAAO;oBACP,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,QAAU,CAAC,CAAA;oBACrE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAA;oBAE5C,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBAC5B,wDAAwD;wBACxD,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;wBAChC,OAAO,UAAU,CAAA;oBACnB,CAAC;oBAED,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBAC7B,6DAA6D;wBAC7D,IAAI,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAA;wBAC3F,OAAO,UAAU,CAAA;oBACnB,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;oBAEtE,gEAAgE;oBAChE,sEAAsE;oBACtE,WAAW;oBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;oBAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,iDAAiD,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CAAC,oDAAoD,CAAC,CAAA;QAC/E,CAAC;QAED,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAElC,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChC,IAAI,MAAkB,CAAA;YAEtB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE;oBACpC,GAAG,OAAO;oBACV,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;gBAE3C,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;gBAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mDAAmD;gBACnD,YAAY,EAAE,CAAA;gBACd,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,4BAA4B,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,0BAA0B,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAA;YACzK,CAAC;YAED,MAAM,IAAI,aAAa,CAAC,uCAAuC,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;QAEzD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEtD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;CACF;AAMD,MAAM,UAAU,IAAI,CAAE,UAA0B,EAAE,EAAE,OAAO,GAAG,EAAE,KAAkB,EAAE;IAClF,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,OAAO,EAAE,aAAa,EAA0B,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -17,7 +17,11 @@ export interface IPNSRouting {
|
|
|
17
17
|
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: PutOptions): Promise<void>;
|
|
18
18
|
get(routingKey: Uint8Array, options?: GetOptions): Promise<Uint8Array>;
|
|
19
19
|
}
|
|
20
|
+
export type { DatastoreProgressEvents };
|
|
21
|
+
export type { HeliaRoutingProgressEvents };
|
|
22
|
+
export type { PubSubProgressEvents };
|
|
20
23
|
export type IPNSRoutingEvents = DatastoreProgressEvents | HeliaRoutingProgressEvents | PubSubProgressEvents;
|
|
21
24
|
export { helia } from './helia.js';
|
|
22
25
|
export { pubsub } from './pubsub.js';
|
|
26
|
+
export type { PubsubRoutingComponents } from './pubsub.js';
|
|
23
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;CAEhE;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACvE;AAED,MAAM,MAAM,iBAAiB,GAC3B,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,CAAA;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;CAEhE;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACvE;AAED,YAAY,EAAE,uBAAuB,EAAE,CAAA;AACvC,YAAY,EAAE,0BAA0B,EAAE,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,CAAA;AAEpC,MAAM,MAAM,iBAAiB,GAC3B,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,CAAA;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/ipns",
|
|
3
|
-
"version": "7.2.3-
|
|
3
|
+
"version": "7.2.3-60d8c8a",
|
|
4
4
|
"description": "An implementation of IPNS for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/ipns#readme",
|
|
@@ -152,6 +152,7 @@
|
|
|
152
152
|
"clean": "aegir clean",
|
|
153
153
|
"lint": "aegir lint",
|
|
154
154
|
"dep-check": "aegir dep-check",
|
|
155
|
+
"doc-check": "aegir doc-check",
|
|
155
156
|
"build": "aegir build",
|
|
156
157
|
"docs": "aegir docs",
|
|
157
158
|
"test": "aegir test",
|
|
@@ -164,9 +165,9 @@
|
|
|
164
165
|
"release": "aegir release"
|
|
165
166
|
},
|
|
166
167
|
"dependencies": {
|
|
167
|
-
"@helia/interface": "4.3.1-
|
|
168
|
+
"@helia/interface": "4.3.1-60d8c8a",
|
|
168
169
|
"@libp2p/interface": "^2.0.0",
|
|
169
|
-
"@libp2p/kad-dht": "^
|
|
170
|
+
"@libp2p/kad-dht": "^14.0.0",
|
|
170
171
|
"@libp2p/logger": "^5.0.0",
|
|
171
172
|
"@libp2p/peer-id": "^5.0.0",
|
|
172
173
|
"@multiformats/dns": "^1.0.1",
|
|
@@ -182,7 +183,7 @@
|
|
|
182
183
|
"aegir": "^44.0.1",
|
|
183
184
|
"datastore-core": "^10.0.0",
|
|
184
185
|
"it-drain": "^3.0.5",
|
|
185
|
-
"sinon": "^
|
|
186
|
+
"sinon": "^19.0.2",
|
|
186
187
|
"sinon-ts": "^2.0.0"
|
|
187
188
|
},
|
|
188
189
|
"browser": {
|