@@ -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,14 @@ 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 , {
54
+ const result = ipld . put ( [ node ] , {
55
55
version : 0 ,
56
- hashAlg : 'sha2-256' ,
57
- format : 'dag-pb'
58
- } , ( err , cid ) => {
59
- cb ( err , { file : file , node : node , cid : cid } )
56
+ hashAlg : multicodec . SHA2_256 ,
57
+ format : multicodec . DAG_PB
60
58
} )
59
+ result . first ( )
60
+ . then ( ( cid ) => cb ( null , { file : file , node : node , cid : cid } ) )
61
+ . catch ( ( error ) => cb ( error ) )
61
62
} )
62
63
}
63
64
@@ -182,47 +183,41 @@ describe('exporter', () => {
182
183
} )
183
184
184
185
it ( 'ensure hash inputs are sanitized' , ( done ) => {
185
- dagPut ( ( err , result ) => {
186
+ dagPut ( async ( err , result ) => {
186
187
expect ( err ) . to . not . exist ( )
187
188
188
- ipld . get ( result . cid , ( err , res ) => {
189
- expect ( err ) . to . not . exist ( )
190
- const unmarsh = UnixFS . unmarshal ( result . node . data )
189
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
190
+ const unmarsh = UnixFS . unmarshal ( node . data )
191
191
192
- expect ( unmarsh . data ) . to . deep . equal ( result . file . data )
192
+ expect ( unmarsh . data ) . to . deep . equal ( result . file . data )
193
193
194
- pull (
195
- exporter ( result . cid , ipld ) ,
196
- pull . collect ( onFiles )
197
- )
194
+ pull (
195
+ exporter ( result . cid , ipld ) ,
196
+ pull . collect ( onFiles )
197
+ )
198
198
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
- } )
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
+ }
207
206
} )
208
207
} )
209
208
210
209
it ( 'exports a file with no links' , ( done ) => {
211
- dagPut ( ( err , result ) => {
210
+ dagPut ( async ( err , result ) => {
212
211
expect ( err ) . to . not . exist ( )
213
212
213
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
214
+ const unmarsh = UnixFS . unmarshal ( node . data )
215
+
214
216
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
- ) ,
217
+ exporter ( result . cid , ipld ) ,
222
218
pull . collect ( ( err , values ) => {
223
219
expect ( err ) . to . not . exist ( )
224
- const unmarsh = values [ 0 ] [ 0 ]
225
- const file = values [ 0 ] [ 1 ]
220
+ const file = values [ 0 ]
226
221
227
222
fileEql ( file , unmarsh . data , done )
228
223
} )
@@ -292,25 +287,20 @@ describe('exporter', () => {
292
287
293
288
dagPut ( {
294
289
content : randomBytes ( 100 )
295
- } , ( err , result ) => {
290
+ } , async ( err , result ) => {
296
291
expect ( err ) . to . not . exist ( )
297
292
293
+ const node = await ipld . get ( [ result . cid ] ) . first ( )
294
+ const unmarsh = UnixFS . unmarshal ( node . data )
295
+
298
296
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
- ) ,
297
+ exporter ( result . cid , ipld , {
298
+ offset,
299
+ length
300
+ } ) ,
309
301
pull . collect ( ( err , values ) => {
310
302
expect ( err ) . to . not . exist ( )
311
-
312
- const unmarsh = values [ 0 ] [ 0 ]
313
- const file = values [ 0 ] [ 1 ]
303
+ const file = values [ 0 ]
314
304
315
305
fileEql ( file , unmarsh . data . slice ( offset , offset + length ) , done )
316
306
} )
@@ -1118,13 +1108,13 @@ function createAndPersistNode (ipld, type, data, children, callback) {
1118
1108
return callback ( error )
1119
1109
}
1120
1110
1121
- ipld . put ( node , {
1111
+ const result = ipld . put ( [ node ] , {
1122
1112
version : 1 ,
1123
- hashAlg : 'sha2-256' ,
1124
- format : 'dag-pb'
1125
- } , ( error , cid ) => callback ( error , {
1126
- node ,
1127
- cid
1128
- } ) )
1113
+ hashAlg : multicodec . SHA2_256 ,
1114
+ format : multicodec . DAG_PB
1115
+ } )
1116
+ result . first ( )
1117
+ . then ( ( cid ) => callback ( null , { node , cid } ) )
1118
+ . catch ( ( error ) => callback ( error ) )
1129
1119
} )
1130
1120
}
0 commit comments