UNPKG

gulp-replace-assets

Version:
47 lines (32 loc) 1.17 kB
var es = require('event-stream'); module.exports = function(arr) { var doReplace = function(file, callback) { var isStream = file.contents && typeof file.contents.on === 'function' && typeof file.contents.pipe === 'function'; var isBuffer = file.contents instanceof Buffer; if (isStream) { file.contents = file.contents.pipe(es.map(function(chunk,cb){ for (var search in arr) { var replace = arr[search]; var isRegExp = search instanceof RegExp; var result = isRegExp ? String( chunk ).replace( search, replace ) : String( chunk ).split( search ).join( replace ); chunk = new Buffer(result); }; cb(null,chunk); })); } else if(isBuffer) { for (var search in arr) { var replace = arr[search]; file.contents = search instanceof RegExp ? new Buffer( String( file.contents ).replace( search, replace ) ) : new Buffer( String( file.contents ).split( search ).join( replace ) ); } } callback(null,file); }; return es.map(doReplace); };