{"action":"created","issue":{"url":"https://api.github.com/repos/cyclejs/cycle-core/issues/159","labels_url":"https://api.github.com/repos/cyclejs/cycle-core/issues/159/labels{/name}","comments_url":"https://api.github.com/repos/cyclejs/cycle-core/issues/159/comments","events_url":"https://api.github.com/repos/cyclejs/cycle-core/issues/159/events","html_url":"https://github.com/cyclejs/cycle-core/issues/159","id":97512765,"number":159,"title":"Router Drivers","user":{"login":"bcoop713","id":5864967,"avatar_url":"https://avatars.githubusercontent.com/u/5864967?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoop713","html_url":"https://github.com/bcoop713","followers_url":"https://api.github.com/users/bcoop713/followers","following_url":"https://api.github.com/users/bcoop713/following{/other_user}","gists_url":"https://api.github.com/users/bcoop713/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoop713/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoop713/subscriptions","organizations_url":"https://api.github.com/users/bcoop713/orgs","repos_url":"https://api.github.com/users/bcoop713/repos","events_url":"https://api.github.com/users/bcoop713/events{/privacy}","received_events_url":"https://api.github.com/users/bcoop713/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cyclejs/cycle-core/labels/drivers","name":"drivers","color":"8FE8B4"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":64,"created_at":"2015-07-27T17:22:15Z","updated_at":"2015-09-13T23:33:46Z","closed_at":null,"body":"I've been toying with routers inside of cycle for a little bit, and there has been some good discussion and work over at https://github.com/router5/router5/issues/5\r\n\r\nBut I think there is some discussion needed on what an ideal router driver API should look like.\r\n\r\nMy initial thinking was the following:\r\n\r\n```\r\nmakeRouterDriver(routes, options) {\r\n  // create router\r\n  return routerDriver(namedRoute$) {\r\n    // magic\r\n    return context$\r\n  }\r\n}\r\n```\r\n\r\nwhere namedRoute$ could be an observable of string values like: `\"home\"`\r\nand context$ could be an obserable of a context object: \r\n```\r\n{\r\n  path: '/users/4',\r\n  name: 'users',\r\n  params: {'userID': 4},\r\n  etc.\r\n}\r\n```\r\n\r\nI also assumed that the routes setup should be passed to the routerDriver constructor, however, as @staltz commented in the aforementioned router5 issue, that this might not be the optimal solution."},"comment":{"url":"https://api.github.com/repos/cyclejs/cycle-core/issues/comments/139928410","html_url":"https://github.com/cyclejs/cycle-core/issues/159#issuecomment-139928410","issue_url":"https://api.github.com/repos/cyclejs/cycle-core/issues/159","id":139928410,"user":{"login":"troch","id":1777517,"avatar_url":"https://avatars.githubusercontent.com/u/1777517?v=3","gravatar_id":"","url":"https://api.github.com/users/troch","html_url":"https://github.com/troch","followers_url":"https://api.github.com/users/troch/followers","following_url":"https://api.github.com/users/troch/following{/other_user}","gists_url":"https://api.github.com/users/troch/gists{/gist_id}","starred_url":"https://api.github.com/users/troch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/troch/subscriptions","organizations_url":"https://api.github.com/users/troch/orgs","repos_url":"https://api.github.com/users/troch/repos","events_url":"https://api.github.com/users/troch/events{/privacy}","received_events_url":"https://api.github.com/users/troch/received_events","type":"User","site_admin":false},"created_at":"2015-09-13T23:33:46Z","updated_at":"2015-09-13T23:33:46Z","body":"@HighOnDrive what manifest are you mentioning? the reactive manifesto?"}}