// _____ _ // |_ _| |_ _ _ ___ ___ _ __ __ _ // | | | ' \| '_/ -_) -_) ' \/ _` |_ // |_| |_||_|_| \___\___|_|_|_\__,_(_) // // Threema iOS Client // Copyright (c) 2018-2020 Threema GmbH // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License, version 3, // as published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . import Foundation extension Bool { // Create a boolean from an optional string public init?(_ value: String?) { guard let value = value else { return nil } self.init(value) } } extension Double { // Create a double from an optional string public init?(_ value: String?) { guard let value = value else { return nil } self.init(value) } } extension UInt64 { // Create a uint64 from an optional string public init?(_ value: String?) { guard let value = value else { return nil } self.init(value) } } extension String { // Extract a character from a string // Example: "foo"[1] == "o" subscript (i: Int) -> Character { return self[index(startIndex, offsetBy: i)] } }