UNPKG

@conarti/eslint-plugin-feature-sliced

Version:
22 lines (21 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldBeFromPublicApi = void 0; const feature_sliced_1 = require("../../../lib/feature-sliced"); const rule_1 = require("../../../lib/rule"); const is_segments_public_api_1 = require("./is-segments-public-api"); const is_slice_public_api_1 = require("./is-slice-public-api"); function shouldBeFromSlicePublicApi(pathsInfo) { const isFromAnotherSlice = !pathsInfo.isSameSlice; return isFromAnotherSlice && !(0, is_slice_public_api_1.isSlicePublicApi)(pathsInfo); } function shouldBeFromSegmentsPublicApi(pathsInfo, validateOptions) { const needValidateSegments = validateOptions.level === "segments"; return needValidateSegments && !(0, is_segments_public_api_1.isSegmentsPublicApi)(pathsInfo); } function shouldBeFromPublicApi(node, context, optionsWithDefault) { const pathsInfo = (0, feature_sliced_1.extractPathsInfo)(node, context); const ruleOptions = (0, rule_1.extractRuleOptions)(optionsWithDefault); return shouldBeFromSlicePublicApi(pathsInfo) || shouldBeFromSegmentsPublicApi(pathsInfo, ruleOptions); } exports.shouldBeFromPublicApi = shouldBeFromPublicApi;