UNPKG

themes-switch

Version:

Toolset for switch multiple themes in application based on webpack

67 lines (54 loc) 1.46 kB
"use strict"; var path = require('path'); var fs = require('fs-extra'); function collectFiles(filePath, results, fileFilter, dirFilter) { var files = fs.readdirSync(filePath); if (!files) { console.warn(err); } else { files.forEach(function (filename) { var filedir = path.posix.join(filePath, filename); var stats = fs.statSync(filedir); if (!stats) { console.warn("".concat(filedir, ": invalid file stats.")); } else { var isFile = stats.isFile(); var isDir = stats.isDirectory(); if (isFile) { if (fileFilter && typeof fileFilter === 'function') { if (fileFilter(filedir)) { results.push(filedir); } } else { results.push(filedir); } } var digIn = true; if (dirFilter && typeof dirFilter === 'function') { if (!dirFilter(filedir)) { digIn = false; } } if (isDir && digIn) { collectFiles(filedir, results, fileFilter, dirFilter); } } }); } } function randomNum(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } function recursiveIssuer(m) { if (m.issuer) { return recursiveIssuer(m.issuer); } else if (m.name) { return m.name; } return false; } module.exports = { collectFiles: collectFiles, randomNum: randomNum, recursiveIssuer: recursiveIssuer };