Because now I am working on a iOS project written in pure swift, I like JLRoutes, so I translate it to Swift 5, all usage is the same as JLRoutes