( segmentGroup: UrlSegmentGroup, consumedSegments: UrlSegment[], slicedSegments: UrlSegment[], config: Route[], outlet?: string, )
| 122 | } |
| 123 | |
| 124 | export function split( |
| 125 | segmentGroup: UrlSegmentGroup, |
| 126 | consumedSegments: UrlSegment[], |
| 127 | slicedSegments: UrlSegment[], |
| 128 | config: Route[], |
| 129 | outlet?: string, |
| 130 | ): { |
| 131 | segmentGroup: UrlSegmentGroup; |
| 132 | slicedSegments: UrlSegment[]; |
| 133 | } { |
| 134 | if ( |
| 135 | slicedSegments.length > 0 && |
| 136 | containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config, outlet) |
| 137 | ) { |
| 138 | const s = new UrlSegmentGroup( |
| 139 | consumedSegments, |
| 140 | createChildrenForEmptyPaths( |
| 141 | config, |
| 142 | new UrlSegmentGroup(slicedSegments, segmentGroup.children), |
| 143 | ), |
| 144 | ); |
| 145 | return {segmentGroup: s, slicedSegments: []}; |
| 146 | } |
| 147 | |
| 148 | if ( |
| 149 | slicedSegments.length === 0 && |
| 150 | containsEmptyPathMatches(segmentGroup, slicedSegments, config) |
| 151 | ) { |
| 152 | const s = new UrlSegmentGroup( |
| 153 | segmentGroup.segments, |
| 154 | addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children), |
| 155 | ); |
| 156 | return {segmentGroup: s, slicedSegments}; |
| 157 | } |
| 158 | |
| 159 | const s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children); |
| 160 | return {segmentGroup: s, slicedSegments}; |
| 161 | } |
| 162 | |
| 163 | function addEmptyPathsToChildrenIfNeeded( |
| 164 | segmentGroup: UrlSegmentGroup, |
no test coverage detected
searching dependent graphs…