{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxJS/issues/151","labels_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/151/comments","events_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/151/events","html_url":"https://github.com/ReactiveX/RxJS/issues/151","id":98245273,"number":151,"title":"chore: add VirtualTime and Test Schedulers","user":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ReactiveX/RxJS/labels/status:%20PRs%20welcome","name":"status: PRs welcome","color":"159818"},{"url":"https://api.github.com/repos/ReactiveX/RxJS/labels/type:%20discussion","name":"type: discussion","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2015-07-30T19:34:37Z","updated_at":"2015-08-03T20:52:53Z","closed_at":null,"body":"Filing issue to track this chore. Since the current Scheduler interface is so small, I'd like to keep the VirtualTime/Test Scheduler interfaces small as well. Would love to hear feedback from @mattpodwysocki and @headinthebox on the minimal API required to get started.\r\n\r\nWe'll also need the ability to switch on the recursive-vs-trampolining strategies.\r\n\r\n```es6\r\ninterface Scheduler {\r\n  now() : number;\r\n  schedule<T>(work: (state?: any) => void, delay: number = 0, state?: any): Subscription<T>;\r\n}\r\n\r\ninterface VirtualTimeScheduler extends Scheduler {\r\n  tick(timeElapsed: number): void;\r\n}\r\n\r\ninterface TestScheduler extends VirtualTimeScheduler {\r\n  advance(steps: number): void;\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxJS/issues/comments/127403542","html_url":"https://github.com/ReactiveX/RxJS/issues/151#issuecomment-127403542","issue_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/151","id":127403542,"user":{"login":"headinthebox","id":1073054,"avatar_url":"https://avatars.githubusercontent.com/u/1073054?v=3","gravatar_id":"","url":"https://api.github.com/users/headinthebox","html_url":"https://github.com/headinthebox","followers_url":"https://api.github.com/users/headinthebox/followers","following_url":"https://api.github.com/users/headinthebox/following{/other_user}","gists_url":"https://api.github.com/users/headinthebox/gists{/gist_id}","starred_url":"https://api.github.com/users/headinthebox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/headinthebox/subscriptions","organizations_url":"https://api.github.com/users/headinthebox/orgs","repos_url":"https://api.github.com/users/headinthebox/repos","events_url":"https://api.github.com/users/headinthebox/events{/privacy}","received_events_url":"https://api.github.com/users/headinthebox/received_events","type":"User","site_admin":false},"created_at":"2015-08-03T20:52:53Z","updated_at":"2015-08-03T20:52:53Z","body":"I think the charts are fine; in fact at one time I proposed to represent all tests as data in a form like this, so we could use the same tests across languages by reading the diagrams from a common repo.\r\n\r\nYou can do `.` fro one tick, and `-` for 10 (or st like that if you want to be super precise)"}}