code: function Route(ctx, path, handler) {
    if (!(this instanceof Route))
      return new Route(ctx, path, handler);
  
    this.ctx = null;
    this.path = null;
    this.handler = null;
  
    this.regex = /^/;
    this.map = [];
    this.compiled = false;
  
    if (ctx) {
      assert(typeof ctx === 'object');
      this.ctx = ctx;
    }
  
    if (path) {
      if (path instanceof RegExp) {
        this.regex = path;
      } else {
        assert(typeof path === 'string');
        assert(path.length > 0);
        this.path = path;
      }
    }
  
    assert(handler);
    assert(typeof handler === 'function' || typeof handler === 'object');
  
    this.handler = handler;
  }
docs: Route
  @constructor
  @ignore