12345678910111213141516171819202122232425262728293031323334353637 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.build = void 0;
- function pushDirectoryWithRelativePath(root) {
- return function (directoryPath, paths) {
- paths.push(directoryPath.substring(root.length) || ".");
- };
- }
- function pushDirectoryFilterWithRelativePath(root) {
- return function (directoryPath, paths, filters) {
- const relativePath = directoryPath.substring(root.length) || ".";
- if (filters.every((filter) => filter(relativePath, true))) {
- paths.push(relativePath);
- }
- };
- }
- const pushDirectory = (directoryPath, paths) => {
- paths.push(directoryPath || ".");
- };
- const pushDirectoryFilter = (directoryPath, paths, filters) => {
- const path = directoryPath || ".";
- if (filters.every((filter) => filter(path, true))) {
- paths.push(path);
- }
- };
- const empty = () => { };
- function build(root, options) {
- const { includeDirs, filters, relativePaths } = options;
- if (!includeDirs)
- return empty;
- if (relativePaths)
- return filters && filters.length
- ? pushDirectoryFilterWithRelativePath(root)
- : pushDirectoryWithRelativePath(root);
- return filters && filters.length ? pushDirectoryFilter : pushDirectory;
- }
- exports.build = build;
|