Giter VIP home page Giter VIP logo

sweetrouter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sweetrouter's Issues

Ambiguous RouterType and RouteType types

Now we have 2 protocols that are ambiguous and it's really hard to get what they mean: RouterType and RouteType. The solution is the following: Rename RouterType to EndpointType and add a proper documentation on these protocols

different defaultPath

Hi
I need to have a different defaultPath for different environments... is it possible to do?

example

alickbass.com/api is prod

255.255.21.21:8080/alick/api is dev

Thank you

Rename default to current

We need to rename

static var `default`: Self.Environment { get }

to

static var current: Self.Environment { get }

This will remove annoying back ticks

Remove boilerplate in RouterType

Now we have to always add

init(_ environment: Environment = .localhost, at route: Route) {
    self.environment = environment
    self.route = route
}

To every RouterType, which is super annoying

Add proper documentation

README now lacks proper definitions. We need to provide definitions for the following components of the Router:

  1. Endpoint
  2. Environment
  3. Route
  4. Environment components: Scheme, Host, Port
  5. Route components: Path, default path, query

Refactor URL.Route

Instead of:

URL.Route(path: ["posts"], query: ("date", date), ("userId", "someId"))

refactor to the following format:

URL.Route(at: "posts").query(("date", date), ("userId", "someId")).fragment("someFragment")

Improve IP Data structure

For the completeness, the IPshould have the following:

  • Separate types for IPv4 and IPv6 that conform to the same protocol
  • Add possibility to create IP types from String

Refactor to single scheme

Now we have 4 shemes for different platforms. However, we can make it only 1 scheme for all the platforms. The example is here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.