# CutBox.app

## Coverage Report

#### Created: 2024-03-12 03:40

    .../Source/Extensions/String+dashed.swift

    Line

    Count

    Source

    1

    //

    2

    //  String+dashed.swift

    3

    //  CutBox

    4

    //

    5

    //  Created by jason on 13/9/23.

    6

    //  Copyright © 2023 ocodo. All rights reserved.

    7

    //

    8

    9

    import Foundation

    10

    11

    extension String {

    12

    102

        var dashed: String {

    13

    102

            var copy = self

    14

    102

            var result = ""

    15

    102

    16

    2.10k

            if self.contains(where: { $0.isWhitespace }) {

    17

    2

                copy = self.lowercased()

    18

    102

            }

    19

    102

    20

    2.12k

            for (index, character) in copy.enumerated() {

    21

    2.12k

                if character.isWhitespace {

    22

    7

                    if index > 0 {

    23

    7

                        result += "-"

    24

    7

                    }

    25

    2.12k

                } else if character.isUppercase {

    26

    301

                    if index > 0 {

    27

    300

                        result += "-"

    28

    301

                    }

    29

    301

                    result += String(character).lowercased()

    30

    2.12k

                } else {

    31

    1.82k

                    result += String(character)

    32

    2.12k

                }

    33

    2.12k

            }

    34

    102

            return result

    35

    102

        }

    36

    }