{"action":"created","issue":{"url":"https://api.github.com/repos/cowboyd/microstates.js/issues/79","repository_url":"https://api.github.com/repos/cowboyd/microstates.js","labels_url":"https://api.github.com/repos/cowboyd/microstates.js/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/cowboyd/microstates.js/issues/79/comments","events_url":"https://api.github.com/repos/cowboyd/microstates.js/issues/79/events","html_url":"https://github.com/cowboyd/microstates.js/pull/79","id":304080439,"number":79,"title":"Introducing `typeclasses` directory and Collapse typeclass","user":{"login":"taras","id":74687,"avatar_url":"https://avatars2.githubusercontent.com/u/74687?v=4","gravatar_id":"","url":"https://api.github.com/users/taras","html_url":"https://github.com/taras","followers_url":"https://api.github.com/users/taras/followers","following_url":"https://api.github.com/users/taras/following{/other_user}","gists_url":"https://api.github.com/users/taras/gists{/gist_id}","starred_url":"https://api.github.com/users/taras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taras/subscriptions","organizations_url":"https://api.github.com/users/taras/orgs","repos_url":"https://api.github.com/users/taras/repos","events_url":"https://api.github.com/users/taras/events{/privacy}","received_events_url":"https://api.github.com/users/taras/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-10T15:49:18Z","updated_at":"2018-03-10T15:55:34Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/cowboyd/microstates.js/pulls/79","html_url":"https://github.com/cowboyd/microstates.js/pull/79","diff_url":"https://github.com/cowboyd/microstates.js/pull/79.diff","patch_url":"https://github.com/cowboyd/microstates.js/pull/79.patch"},"body":"Collapse typeclass is an operation that changes the structure of a hierarchical data structure. What it means for a type to be collapsed depends on the type itself. By defining a `Collapse` typeclass, we make it possible for a type to describe how it can be collapsed. The operation can be performed with the `collapse` function.\r\n\r\nThis PR does the following:\r\n1. Introduce `typeclasses` directory (because we have a bunch of these now)\r\n2. Defines Collapse typeclass\r\n3. Moves `tree.collapsed` to an instance of Collapse typeclass for Tree\r\n4. Refactors code and test to use `collapse` \r\n5. Moves Values typeclass to typeclasses directory"},"comment":{"url":"https://api.github.com/repos/cowboyd/microstates.js/issues/comments/372040220","html_url":"https://github.com/cowboyd/microstates.js/pull/79#issuecomment-372040220","issue_url":"https://api.github.com/repos/cowboyd/microstates.js/issues/79","id":372040220,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars1.githubusercontent.com/u/2354108?v=4","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2018-03-10T15:55:34Z","updated_at":"2018-03-10T15:55:34Z","author_association":"NONE","body":"\n[![Coverage Status](https://coveralls.io/builds/15909205/badge)](https://coveralls.io/builds/15909205)\n\nCoverage decreased (-0.07%) to 89.353% when pulling **3d257b643507737f86f1f38df87738bfc81ad72e on collapse-typeclass** into **e3746198109f64896bfbbbea11533acc4a94af13 on master**.\n"}}
{"actor":{"display_login":"coveralls"}}