DuyTa's picture
Upload folder using huggingface_hub
bc20498 verified
raw
history blame
1.12 kB
var through = require('through2');
function defaultComparator(a, b) {
return a.path.localeCompare(b.path);
}
module.exports = function gulpSort(params) {
var asc = true;
var comparator;
var files = [];
var customSortFn;
if (typeof params === 'function') {
// params is the sort comparator
comparator = params;
params = {};
} else {
params = params || {};
asc = typeof params.asc !== 'undefined' ? params.asc : asc;
comparator = params.comparator || defaultComparator;
customSortFn = params.customSortFn;
}
return through.obj(function (file, enc, cb) {
files.push(file);
cb();
}, function (cb) {
if (customSortFn) {
// expect customSortFn to return the files array
files = customSortFn(files, comparator);
} else {
// sort in-place
files.sort(comparator);
}
if (!asc) {
files.reverse();
}
files.forEach(function (file) {
this.push(file);
}, this);
cb();
});
};