@conarti/eslint-plugin-feature-sliced
Version:
Feature-sliced design methodology plugin
24 lines (23 loc) • 971 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isLayerPublicApi = void 0;
const picomatch_1 = __importDefault(require("picomatch"));
const feature_sliced_1 = require("../../../lib/feature-sliced");
const rule_1 = require("../../../lib/rule");
const shared_1 = require("../../../lib/shared");
function isLayerPublicApi(context) {
const normalizedCurrentFilePath = (0, rule_1.extractCurrentFilePath)(context);
const cwd = (0, rule_1.extractCwd)(context);
const layer = (0, feature_sliced_1.extractLayer)(normalizedCurrentFilePath, cwd);
if ((0, shared_1.isNull)(layer)) {
return false;
}
const matcher = (0, picomatch_1.default)([
`**/${layer}/index.*`,
]);
return matcher(normalizedCurrentFilePath);
}
exports.isLayerPublicApi = isLayerPublicApi;