Files
iOS/Sources/Shared/Common/Extensions/String+HA.swift
Bruno Pantaleão Gonçalves f9113f653d Fix CarPlay garage icon (#3560)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2025-04-23 10:58:02 +02:00

35 lines
742 B
Swift

import CoreGraphics
import Foundation
import UIKit
public extension String {
var djb2hash: Int {
unicodeScalars.map(\.value).reduce(5381) { ($0 << 5) &+ $0 &+ Int($1) }
}
var containsJinjaTemplate: Bool {
contains("{{") || contains("{%") || contains("{#")
}
/// Capitalizes the first character of the string.
var capitalizedFirst: String {
guard let first else {
return self
}
return first.uppercased() + dropFirst()
}
var leadingCapitalized: String {
guard let first else {
return self
}
return first.uppercased() + dropFirst()
}
}
public extension String? {
var orEmpty: String {
self ?? ""
}
}