{"action":"created","issue":{"url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/58","repository_url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional","labels_url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/58/labels{/name}","comments_url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/58/comments","events_url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/58/events","html_url":"https://github.com/RxSwiftCommunity/RxOptional/pull/58","id":332820989,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk1MjEwOTQ0","number":58,"title":"Support other kinds of SharedSequence implementations, most importantly - Signal","user":{"login":"DenHeadless","id":853604,"node_id":"MDQ6VXNlcjg1MzYwNA==","avatar_url":"https://avatars1.githubusercontent.com/u/853604?v=4","gravatar_id":"","url":"https://api.github.com/users/DenHeadless","html_url":"https://github.com/DenHeadless","followers_url":"https://api.github.com/users/DenHeadless/followers","following_url":"https://api.github.com/users/DenHeadless/following{/other_user}","gists_url":"https://api.github.com/users/DenHeadless/gists{/gist_id}","starred_url":"https://api.github.com/users/DenHeadless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DenHeadless/subscriptions","organizations_url":"https://api.github.com/users/DenHeadless/orgs","repos_url":"https://api.github.com/users/DenHeadless/repos","events_url":"https://api.github.com/users/DenHeadless/events{/privacy}","received_events_url":"https://api.github.com/users/DenHeadless/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-06-15T15:33:47Z","updated_at":"2018-06-16T12:48:35Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/pulls/58","html_url":"https://github.com/RxSwiftCommunity/RxOptional/pull/58","diff_url":"https://github.com/RxSwiftCommunity/RxOptional/pull/58.diff","patch_url":"https://github.com/RxSwiftCommunity/RxOptional/pull/58.patch"},"body":"Hey!\r\n\r\nRxCocoa 4.0 [introduced](https://github.com/ReactiveX/RxSwift/releases/tag/4.0.0-beta.0) Signal - new type of `SharedSequence` that allows modeling of non-replayable events in your app. Current implementation defines Signal as `SharedSequence<SignalSharingStrategy, E>`, similarly to Driver, which is `SharedSequence<DriverSharingStrategy,E>`.\r\n\r\nCurrent RxOptional extensions can only be used with Driver, because they are explicitly restricted to `DriverSharingStrategy`, which makes them unusable on Signal type.\r\n\r\nThis PR loosens those generic restrictions by changing method return types from `Driver<E>` which is effectively a `SharedSequence<DriverSharingStrategy,E>` to `SharedSequence<SharingStrategy,E>`, which allows all current methods to be used with both Driver and Signal, as well as any other `SharingStrategy` that may be implemented in the future.\r\n\r\nThis is backwards-compatible change, because it loosens restrictions, and does not impose anything new. \r\n\r\nI've added two tests for Signal type, that show current methods can be used on Signal exactly the same way they are currently used on Driver."},"comment":{"url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/comments/397810233","html_url":"https://github.com/RxSwiftCommunity/RxOptional/pull/58#issuecomment-397810233","issue_url":"https://api.github.com/repos/RxSwiftCommunity/RxOptional/issues/58","id":397810233,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NzgxMDIzMw==","user":{"login":"freak4pc","id":605076,"node_id":"MDQ6VXNlcjYwNTA3Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/605076?v=4","gravatar_id":"","url":"https://api.github.com/users/freak4pc","html_url":"https://github.com/freak4pc","followers_url":"https://api.github.com/users/freak4pc/followers","following_url":"https://api.github.com/users/freak4pc/following{/other_user}","gists_url":"https://api.github.com/users/freak4pc/gists{/gist_id}","starred_url":"https://api.github.com/users/freak4pc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freak4pc/subscriptions","organizations_url":"https://api.github.com/users/freak4pc/orgs","repos_url":"https://api.github.com/users/freak4pc/repos","events_url":"https://api.github.com/users/freak4pc/events{/privacy}","received_events_url":"https://api.github.com/users/freak4pc/received_events","type":"User","site_admin":false},"created_at":"2018-06-16T12:48:35Z","updated_at":"2018-06-16T12:48:35Z","author_association":"MEMBER","body":"Uhm don’t yet know when I’ll have time but feel free to look! Doesn’t make sense to me because it passed before these changes 🧐 I’ll try to poke at it later "}}
{"actor":{"display_login":"freak4pc"}}