swift-libs/Sources/Core/Extensions/Bool+Init.swift
Javier Cicchelli 6e785b4255 [Setup] EUPL license + logo (#6)
This PR contains the work done to set the [European Union Public License](https://joinup.ec.europa.eu/collection/eupl/introduction-eupl-licence) license for this library, which also implies to update the header of the existing source code to reflect this license. Furthermore, a hand-drawn logo for this library has been included.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #6
2023-04-18 14:01:44 +00:00

42 lines
1.1 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftLibs open source project
//
// Copyright (c) 2023 Röck+Cöde VoF. and the SwiftLibs project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftLibs project authors
//
//===----------------------------------------------------------------------===//
public extension Bool {
// MARK: Initialisers
/// Initialise a boolean primitive out of a given string.
/// - Parameter string: A string to initialise the boolean with.
init(_ string: String) {
let strings: [String] = [
.Constants.oneNumber,
.Constants.oneWord,
.Constants.true,
.Constants.yes
]
self = strings.contains(string.lowercased())
}
}
// MARK: - String+Constants
private extension String {
enum Constants {
static let yes = "yes"
static let `true` = "true"
static let oneWord = "one"
static let oneNumber = "1"
}
}