🍵  Matcha
What's Matcha?
Matcha is Framework that can get parameters from URL Path. It does not have Router, so simple.
It can use like following:
let url = URL(string: "https://example.com/user/1/settings")!
let matcha = Matcha(url: url, pattern: "/user/{userID}/settings")
matcha?.value(of: "userID")     // "1"
matcha?.value(at: 0)            // "1"Requirements
- Swift 5.0
 
How to Install
CocoaPods
Add the following to your Podfile:
pod "MatchaTea"
⚠️ WARNING : If you want to install fromCocoaPods, must addMatchaTeato Podfile because there is aMatchadifferent from thisMatcha.
Carthage
Add the following to your Cartfile:
github "cats-oss/Matcha"How to use Matcha
If you have already known information of URL Path, create the instance with the pattern.
let url = URL(string: "https://example.com/user/1/settings")!
let matcha = Matcha(url: url, pattern: "/user/{userID}/settings")Then, can get matched values.
matcha?.value(of: "userID")     // "1"
matcha?.value(at: 0)            // "1"
matcha?["userID"]               // "1"
matcha?[0]                      // "1"If you do not know any information of URL Path, match with the pattern after create the instance using the URL.
if let url = url {
    let matcha = Matcha(url: url)
    if matcha.matched("/") != nil {
        // to root
    } else if matcha.matched("/notification") != nil {
        // to notification
    } else if let id = matcha.matched("/user/{userID}")?["userID"] {
        // to user with id
    }
}LICENSE
Under the MIT license. See LICENSE file for details.