{"action":"opened","issue":{"url":"https://api.github.com/repos/yelouafi/redux-saga/issues/419","repository_url":"https://api.github.com/repos/yelouafi/redux-saga","labels_url":"https://api.github.com/repos/yelouafi/redux-saga/issues/419/labels{/name}","comments_url":"https://api.github.com/repos/yelouafi/redux-saga/issues/419/comments","events_url":"https://api.github.com/repos/yelouafi/redux-saga/issues/419/events","html_url":"https://github.com/yelouafi/redux-saga/issues/419","id":163608417,"number":419,"title":"Create an alias function to run several effects in parallel","user":{"login":"s-panferov","id":198327,"avatar_url":"https://avatars.githubusercontent.com/u/198327?v=3","gravatar_id":"","url":"https://api.github.com/users/s-panferov","html_url":"https://github.com/s-panferov","followers_url":"https://api.github.com/users/s-panferov/followers","following_url":"https://api.github.com/users/s-panferov/following{/other_user}","gists_url":"https://api.github.com/users/s-panferov/gists{/gist_id}","starred_url":"https://api.github.com/users/s-panferov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-panferov/subscriptions","organizations_url":"https://api.github.com/users/s-panferov/orgs","repos_url":"https://api.github.com/users/s-panferov/repos","events_url":"https://api.github.com/users/s-panferov/events{/privacy}","received_events_url":"https://api.github.com/users/s-panferov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-04T06:02:17Z","updated_at":"2016-07-04T06:02:17Z","closed_at":null,"body":"Hello. I'm writing my code in TypeScript and I noticed that you offer to use this syntax as `Promise.all` equivalent:\r\n\r\n```\r\nconst [customers, products] = yield [\r\n    call(fetchCustomers),\r\n    call(fetchProducts)\r\n  ]\r\n```\r\n\r\nIt looks good, but unfortunately this call can't be typed right now in TypeScript. Could you please consider to add some alias function which can be used for typing? For example:\r\n\r\n```\r\nconst [customers, products] = yield all([\r\n    call(fetchCustomers),\r\n    call(fetchProducts)\r\n  ])\r\n```\r\n\r\nHere we have function `all` and we can type it like a `Promise.all`. Here is example of how we can type it:\r\n\r\n```\r\n/**\r\n    all<T1, T2, T3>(values: [EffectFunction <T1>, EffectFunction <T2>, EffectFunction <T3>]): [T1, T2, T3];\r\n```"}}
{"actor":{"display_login":"s-panferov"}}