CommandLineToolkit

Форк
0
/
StringPathParsing.swift 
27 строк · 886.0 Байт
1
import Foundation
2

3
final class StringPathParsing {
4
    static func slashSeparatedComponents<S: StringProtocol>(path: S) -> [String] {
5
        return filteringDotComponents(
6
            components: slashSeparatedComponentsWithoutFiltering(path: path)
7
        )
8
    }
9
    
10
    static func slashSeparatedComponents<S: StringProtocol>(paths: [S]) -> [String] {
11
        return filteringDotComponents(
12
            components: paths.flatMap {
13
                slashSeparatedComponentsWithoutFiltering(path: $0)
14
            }
15
        )
16
    }
17
    
18
    private static func slashSeparatedComponentsWithoutFiltering<S: StringProtocol>(path: S) -> [String] {
19
        return path.components(separatedBy: "/").filter { !$0.isEmpty }
20
    }
21
    
22
    private static func filteringDotComponents(components: [String]) -> [String] {
23
        return components.filter {
24
            $0 != "."
25
        }
26
    }
27
}
28

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.