@@ -460,12 +460,9 @@ function createAbstractMapReduce(localDocName, mapper, reducer, ddocValidator) {
460460 const purgeSeq = res . purgeSeq ;
461461 return view . db . get ( '_local/purgeSeq' ) . then ( function ( res ) {
462462 return res . _rev ;
463- } ) . catch ( function ( err ) {
464- if ( err . status !== 404 ) {
465- throw err ;
466- }
467- return undefined ;
468- } ) . then ( function ( rev ) {
463+ } )
464+ . catch ( defaultsTo ( undefined ) )
465+ . then ( function ( rev ) {
469466 return view . db . put ( {
470467 _id : '_local/purgeSeq' ,
471468 _rev : rev ,
@@ -577,12 +574,9 @@ function createAbstractMapReduce(localDocName, mapper, reducer, ddocValidator) {
577574 function getRecentPurges ( ) {
578575 return view . db . get ( '_local/purgeSeq' ) . then ( function ( res ) {
579576 return res . purgeSeq ;
580- } ) . catch ( function ( err ) {
581- if ( err && err . status !== 404 ) {
582- throw err ;
583- }
584- return - 1 ;
585- } ) . then ( function ( purgeSeq ) {
577+ } )
578+ . catch ( defaultsTo ( - 1 ) )
579+ . then ( function ( purgeSeq ) {
586580 return view . sourceDB . get ( '_local/purges' ) . then ( function ( res ) {
587581 const recentPurges = res . purges . filter ( function ( purge , index ) {
588582 return index > purgeSeq ;
@@ -595,19 +589,11 @@ function createAbstractMapReduce(localDocName, mapper, reducer, ddocValidator) {
595589 return Promise . all ( uniquePurges . map ( function ( docId ) {
596590 return view . sourceDB . get ( docId ) . then ( function ( doc ) {
597591 return { docId, doc } ;
598- } ) . catch ( function ( err ) {
599- if ( err . status !== 404 ) {
600- throw err ;
601- }
602- return { docId } ;
603- } ) ;
592+ } )
593+ . catch ( defaultsTo ( { docId } ) ) ;
604594 } ) ) ;
605- } ) . catch ( function ( err ) {
606- if ( err && err . status !== 404 ) {
607- throw err ;
608- }
609- return [ ] ;
610- } ) ;
595+ } )
596+ . catch ( defaultsTo ( [ ] ) ) ;
611597 } ) ;
612598 }
613599
0 commit comments