watchIgnore.js 1.3 KB

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.watchIgnoreToMatcher = exports.watchIgnorePatternToMatcher = void 0;
  4. const glob_to_regex_js_1 = require("glob-to-regex.js");
  5. /** Converts a single `watch()` `ignore` pattern into a filename predicate. */
  6. const watchIgnorePatternToMatcher = (pattern) => {
  7. if (typeof pattern === 'function')
  8. return pattern;
  9. if (pattern instanceof RegExp)
  10. return filename => pattern.test(filename);
  11. if (typeof pattern === 'string') {
  12. const regex = (0, glob_to_regex_js_1.toRegex)(pattern);
  13. return filename => regex.test(filename);
  14. }
  15. throw new TypeError('The "options.ignore" property must be of type string, RegExp, function, or an array thereof. ' +
  16. `Received ${typeof pattern}`);
  17. };
  18. exports.watchIgnorePatternToMatcher = watchIgnorePatternToMatcher;
  19. /** Converts the `watch()` `ignore` option (pattern or array of patterns) into a filename predicate. */
  20. const watchIgnoreToMatcher = (ignore) => {
  21. if (Array.isArray(ignore)) {
  22. const matchers = ignore.map(exports.watchIgnorePatternToMatcher);
  23. return filename => matchers.some(matcher => matcher(filename));
  24. }
  25. return (0, exports.watchIgnorePatternToMatcher)(ignore);
  26. };
  27. exports.watchIgnoreToMatcher = watchIgnoreToMatcher;
  28. //# sourceMappingURL=watchIgnore.js.map