UNPKG

@conarti/eslint-plugin-feature-sliced

Version:
19 lines (18 loc) 888 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractSegment = void 0; const config_1 = require("../../config"); const layersUnion = config_1.layersWithSlices.join('|'); const segmentsUnion = config_1.segments.join('|'); const fsdPartsRegExp = new RegExp(`(?<=(?<layer>${layersUnion}))\\/(?<slice>([\\w-]*\\/)+?)(?<segment>(${segmentsUnion})(\\.\\w+)?)(\\/(?<segmentFiles>.*))?`); function extractSegment(targetPath) { const fsdParts = targetPath.match(fsdPartsRegExp); if (fsdParts === null) { return [null, null]; } const { segment = null, segmentFiles = null, } = fsdParts.groups || {}; const fileExtensionRegExp = /\.[^/.]+$/; const segmentWithoutFileExtension = segment?.replace(fileExtensionRegExp, '') || null; return [segmentWithoutFileExtension, segmentFiles]; } exports.extractSegment = extractSegment;