@@ -8,7 +8,6 @@ const IPLD = require('ipld')
8
8
const inMemory = require ( 'ipld-in-memory' )
9
9
const UnixFS = require ( 'ipfs-unixfs' )
10
10
const pull = require ( 'pull-stream' )
11
- const zip = require ( 'pull-zip' )
12
11
const CID = require ( 'cids' )
13
12
const doUntil = require ( 'async/doUntil' )
14
13
const waterfall = require ( 'async/waterfall' )
@@ -25,6 +24,7 @@ const {
25
24
} = require ( 'ipld-dag-pb' )
26
25
const isNode = require ( 'detect-node' )
27
26
const randomBytes = require ( './helpers/random-bytes' )
27
+ const multicodec = require ( 'multicodec' )
28
28
29
29
const exporter = require ( '../src' )
30
30
const importer = require ( 'ipfs-unixfs-importer' )
@@ -51,13 +51,13 @@ describe('exporter', () => {
51
51
DAGNode . create ( file . marshal ( ) , options . links , ( err , node ) => {
52
52
expect ( err ) . to . not . exist ( )
53
53
54
- ipld . put ( node , {
55
- version : 0 ,
56
- hashAlg : 'sha2-256' ,
57
- format : 'dag-pb'
58
- } , ( err , cid ) => {
59
- cb ( err , { file : file , node : node , cid : cid } )
54
+ const result = ipld . put ( [ node ] , multicodec . DAG_PB , {
55
+ cidVersion : 0 ,
56
+ hashAlg : multicodec . SHA2_256 ,
60
57
} )
58
+ result . first ( )
59
+ . then ( ( cid ) => cb ( null , { file : file , node : node , cid : cid } ) )
60
+ . catch ( ( error ) => cb ( error ) )
61
61
} )
62
62
}
63
63
@@ -182,47 +182,41 @@ describe('exporter', () => {
182
182
} )
183
183
184
184
it ( 'ensure hash inputs are sanitized' , ( done ) => {
185
- dagPut ( ( err , result ) => {
185
+ dagPut ( async ( err , result ) => {
186
186
expect ( err ) . to . not . exist ( )
187
187
188
- ipld . get ( result . cid , ( err , res ) => {
189
- expect ( err ) . to . not . exist ( )
190
- const unmarsh = UnixFS . unmarshal ( result . node . data )
188
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
189
+ const unmarsh = UnixFS . unmarshal ( node . data )
191
190
192
- expect ( unmarsh . data ) . to . deep . equal ( result . file . data )
191
+ expect ( unmarsh . data ) . to . deep . equal ( result . file . data )
193
192
194
- pull (
195
- exporter ( result . cid , ipld ) ,
196
- pull . collect ( onFiles )
197
- )
193
+ pull (
194
+ exporter ( result . cid , ipld ) ,
195
+ pull . collect ( onFiles )
196
+ )
198
197
199
- function onFiles ( err , files ) {
200
- expect ( err ) . to . equal ( null )
201
- expect ( files ) . to . have . length ( 1 )
202
- expect ( files [ 0 ] ) . to . have . property ( 'hash' )
203
- expect ( files [ 0 ] ) . to . have . property ( 'path' , result . cid . toBaseEncodedString ( ) )
204
- fileEql ( files [ 0 ] , unmarsh . data , done )
205
- }
206
- } )
198
+ function onFiles ( err , files ) {
199
+ expect ( err ) . to . equal ( null )
200
+ expect ( files ) . to . have . length ( 1 )
201
+ expect ( files [ 0 ] ) . to . have . property ( 'hash' )
202
+ expect ( files [ 0 ] ) . to . have . property ( 'path' , result . cid . toBaseEncodedString ( ) )
203
+ fileEql ( files [ 0 ] , unmarsh . data , done )
204
+ }
207
205
} )
208
206
} )
209
207
210
208
it ( 'exports a file with no links' , ( done ) => {
211
- dagPut ( ( err , result ) => {
209
+ dagPut ( async ( err , result ) => {
212
210
expect ( err ) . to . not . exist ( )
213
211
212
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
213
+ const unmarsh = UnixFS . unmarshal ( node . data )
214
+
214
215
pull (
215
- zip (
216
- pull (
217
- ipld . getStream ( result . cid ) ,
218
- pull . map ( ( res ) => UnixFS . unmarshal ( res . value . data ) )
219
- ) ,
220
- exporter ( result . cid , ipld )
221
- ) ,
216
+ exporter ( result . cid , ipld ) ,
222
217
pull . collect ( ( err , values ) => {
223
218
expect ( err ) . to . not . exist ( )
224
- const unmarsh = values [ 0 ] [ 0 ]
225
- const file = values [ 0 ] [ 1 ]
219
+ const file = values [ 0 ]
226
220
227
221
fileEql ( file , unmarsh . data , done )
228
222
} )
@@ -292,25 +286,20 @@ describe('exporter', () => {
292
286
293
287
dagPut ( {
294
288
content : randomBytes ( 100 )
295
- } , ( err , result ) => {
289
+ } , async ( err , result ) => {
296
290
expect ( err ) . to . not . exist ( )
297
291
292
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
293
+ const unmarsh = UnixFS . unmarshal ( node . data )
294
+
298
295
pull (
299
- zip (
300
- pull (
301
- ipld . getStream ( result . cid ) ,
302
- pull . map ( ( res ) => UnixFS . unmarshal ( res . value . data ) )
303
- ) ,
304
- exporter ( result . cid , ipld , {
305
- offset,
306
- length
307
- } )
308
- ) ,
296
+ exporter ( result . cid , ipld , {
297
+ offset,
298
+ length
299
+ } ) ,
309
300
pull . collect ( ( err , values ) => {
310
301
expect ( err ) . to . not . exist ( )
311
-
312
- const unmarsh = values [ 0 ] [ 0 ]
313
- const file = values [ 0 ] [ 1 ]
302
+ const file = values [ 0 ]
314
303
315
304
fileEql ( file , unmarsh . data . slice ( offset , offset + length ) , done )
316
305
} )
@@ -1118,13 +1107,12 @@ function createAndPersistNode (ipld, type, data, children, callback) {
1118
1107
return callback ( error )
1119
1108
}
1120
1109
1121
- ipld . put ( node , {
1122
- version : 1 ,
1123
- hashAlg : 'sha2-256' ,
1124
- format : 'dag-pb'
1125
- } , ( error , cid ) => callback ( error , {
1126
- node,
1127
- cid
1128
- } ) )
1110
+ const result = ipld . put ( [ node ] , multicodec . DAG_PB , {
1111
+ cidVersion : 1 ,
1112
+ hashAlg : multicodec . SHA2_256 ,
1113
+ } )
1114
+ result . first ( )
1115
+ . then ( ( cid ) => callback ( null , { node, cid } ) )
1116
+ . catch ( ( error ) => callback ( error ) )
1129
1117
} )
1130
1118
}
0 commit comments