2025-05-12 05:38:44 +09:00

41 lines
1.1 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const immutable_1 = __importDefault(require("immutable"));
const ignore_1 = __importDefault(require("ignore"));
/*
Immutable version of node-ignore
*/
class Ignore extends immutable_1.default.Record({
ignore: (0, ignore_1.default)()
}, "Ignore") {
getIgnore() {
return this.get("ignore");
}
/**
Test if a file is ignored by these rules
@return {boolean}
* @param filename
*/
isFileIgnored(filename) {
const ignore = this.getIgnore();
return ignore.filter([filename]).length == 0;
}
/**
Add rules
@param {string}
@return {Ignore}
*/
add(rule) {
const ignore = this.getIgnore();
const newIgnore = (0, ignore_1.default)();
newIgnore.add(ignore);
newIgnore.add(rule);
return this.set("ignore", newIgnore);
}
}
exports.default = Ignore;