[Feature] Some basic core feature (#1)

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
This commit was merged in pull request #1.
This commit is contained in:
2023-04-16 12:27:57 +00:00
parent 07521d4e93
commit 185f779daf
7 changed files with 182 additions and 22 deletions
+37
View File
@@ -0,0 +1,37 @@
//
// 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"
}
}
@@ -0,0 +1,24 @@
//
// String+Empty.swift
// Core
//
// Created by Javier Cicchelli on 15/04/2023.
// Copyright © 2023 Röck+Cöde. All rights reserved.
//
public extension String {
// MARK: Properties
/// Represents an empty string.
static let empty = ""
// MARK: Functions
/// Checks whether a string is not empty.
/// - Returns: A boolean value that represents whether the string is not empty.
func isNotEmpty() -> Bool {
isEmpty == false
}
}