This PR refers to the work done on setting the `Core` target as well as implemented some basic features as extension to a pair of `Swift` primitive types. To give further details about this work: - [x] defined the `Core` target; - [x] implemented the **empty** static property and the **isNotEmpty()** function in the `String+Empty` extension; - [x] implemented the **init(_: )** initialiser fo strings in the `Bool+Init` extension; Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: #1
38 lines
821 B
Swift
38 lines
821 B
Swift
//
|
|
// Bool+Init.swift
|
|
// Core
|
|
//
|
|
// Created by Javier Cicchelli on 15/04/2023.
|
|
// Copyright © 2023 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
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"
|
|
}
|
|
}
|