UNPKG

eslint-plugin-tis-imports

Version:

Eslint plugin for precise control of architectural restrictions. FSD, public api, hierarchy of entities in the project.

30 lines (29 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSubfolderAfterLayer = exports.getLayer = exports.createLayersOrderMap = void 0; const createLayersOrderMap = (layers) => { const layersOrderMap = new Map(); layers.forEach((layer, index) => { layersOrderMap.set(layer, index); }); return layersOrderMap; }; exports.createLayersOrderMap = createLayersOrderMap; const getLayer = (args) => { const { filePath, layersSet } = args; if (!filePath) return null; const normalized = filePath.replace(/\\/g, '/'); const layer = normalized.split('/').find((item) => layersSet.has(item)); return layer ?? null; }; exports.getLayer = getLayer; const getSubfolderAfterLayer = (absolutePath, layer) => { const normalized = absolutePath.replace(/\\/g, '/'); const parts = normalized.split(`${layer}/`); if (parts.length < 2) return null; const rest = parts[1].split('/'); return rest[0] ?? null; }; exports.getSubfolderAfterLayer = getSubfolderAfterLayer;