swift/Sources/TeaUtils/Extension.swift (31 lines of code) (raw):

import Foundation extension String { private static let randomDict = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" func toBytes() -> [UInt8] { [UInt8](self.utf8) } func jsonDecode() -> [String: Any] { let jsonData: Data = self.data(using: .utf8)! guard let data = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) as? [String: Any] else { return [String: Any]() } return data } func urlEncode() -> String { let unreserved = "*-._" let allowedCharacterSet = NSMutableCharacterSet.alphanumeric() allowedCharacterSet.addCharacters(in: unreserved) allowedCharacterSet.addCharacters(in: " ") var encoded = addingPercentEncoding(withAllowedCharacters: allowedCharacterSet as CharacterSet) encoded = encoded?.replacingOccurrences(of: " ", with: "%20") return encoded ?? "" } func isNumber() -> Bool { !isEmpty && rangeOfCharacter(from: CharacterSet.decimalDigits.inverted) == nil } } extension Date { public func toTimestamp() -> TimeInterval { TimeInterval(self.timeIntervalSince1970) } }