41 lines
1.1 KiB
JavaScript
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;
|