Skip to content

Commit c0f3b86

Browse files
committedJun 5, 2015
tweak how errors are handled with custom data functions.
1 parent 1138d5f commit c0f3b86

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed
 

‎lib/core.js

+18-4
Original file line numberDiff line numberDiff line change
@@ -397,8 +397,15 @@ Archiver.prototype.bulk = function(mappings) {
397397
}
398398

399399
try {
400-
entryData = dataFunction(entryData) || entryData;
401-
} catch(e) {}
400+
entryData = dataFunction ? dataFunction(entryData) : entryData;
401+
402+
if (dataFunction && typeof entryData !== 'object') {
403+
throw new Error('bulk: invalid data returned from custom function');
404+
}
405+
} catch(e) {
406+
self.emit('error', e);
407+
return;
408+
}
402409

403410
self._append(filepath, entryData);
404411
});
@@ -446,8 +453,15 @@ Archiver.prototype.directory = function(dirpath, destpath, data) {
446453
entryData.stats = file.stats;
447454

448455
try {
449-
entryData = dataFunction(entryData) || entryData;
450-
} catch(e) {}
456+
entryData = dataFunction ? dataFunction(entryData) : entryData;
457+
458+
if (dataFunction && typeof entryData !== 'object') {
459+
throw new Error('directory: invalid data returned from custom function');
460+
}
461+
} catch(e) {
462+
self.emit('error', e);
463+
return;
464+
}
451465

452466
self._append(file.path, entryData);
453467
});

0 commit comments

Comments
 (0)
Please sign in to comment.