UNPKG

node-readfiles

Version:

A lightweight Node.js module to recursively read files in a directory using ES6 Promises

25 lines (22 loc) 718 B
export const buildFilter = (filtersParam: string | string[]) => { const filters = filtersParam instanceof Array ? filtersParam.slice() : [filtersParam]; const filterArray = []; if (filters.length === 0) return null; while (filters.length > 0) { const filter = filters.shift(); filterArray.push( `\\/?${filter .replace(/([./\\])/g, '\\$1') .replace(/(\*?)(\*)(?!\*)/g, (match, prefix) => { if (prefix === '*') { return match; } return '[^\\/]*'; }) .replace(/\?/g, '[^\\/]?') .replace(/\*\*/g, '.*') .replace(/([\-\+\|])/g, '\\$1')}`, ); } return new RegExp(`^${filterArray.join('|')}$`, 'i'); };