{"action":"created","comment":{"url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/comments/245247412","pull_request_review_id":189301287,"id":245247412,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NTI0NzQxMg==","diff_hunk":"@@ -10,81 +10,134 @@ import Foundation\n \n typealias ValueType = Double\n \n-indirect enum Expression : Equatable {\n+protocol Calculatable {\n+    var result: ValueType { get }\n+}\n+\n+protocol RepresentableAsString {\n+    var asString: String { get }\n+}\n+\n+indirect enum Expression : Calculatable, RepresentableAsString {\n+    enum UnaryOperation: RepresentableAsString {\n+        case unaryMinus(Expression)\n+\n+        var result: ValueType {\n+            switch self {\n+                case .unaryMinus(let expression):\n+                    return -1 * expression.result\n+            }\n+        }\n \n-     enum UnaryOperation {\n-        case unaryMinus\n+        var asString: String {\n+            switch self {\n+                case .unaryMinus(let expression):\n+                    return \"-\\(expression.asString)\"\n+            }\n+        }\n+    }\n+\n+    enum SimpleOperation: Calculatable, RepresentableAsString {\n         case clearValue\n-        \n-        func calculate(_ expression: Expression) -> ValueType {\n+\n+        var result: ValueType {\n+            switch self {\n+            case .clearValue:\n+                return 0\n+            }\n+        }\n+\n+        var asString: String {\n             switch self {\n-            case .unaryMinus:\n-                return -1 * expression.calculate()\n             case .clearValue:\n-                return 0 * expression.calculate()\n+                return \"0\"\n             }\n         }\n     }\n-    \n-    indirect enum BinaryOperation {\n-        \n-        case add\n-        case minus\n-        case multiply\n-        case divide\n-        \n-        func calculate(_ left: Expression, _ right: Expression) -> ValueType {\n+\n+    enum BinaryOperation: Calculatable, RepresentableAsString {\n+        case add(Expression, Expression)\n+        case subtract(Expression, Expression)\n+        case multiply(Expression, Expression)\n+        case divide(Expression, Expression)\n+\n+        var result: ValueType {\n+            switch self {\n+            case .add(let left, let right):\n+                return left.result + right.result\n+            case .subtract(let left, let right):\n+                return left.result - right.result\n+            case .multiply(let left, let right):\n+                return left.result * right.result\n+            case .divide(let left, let right):\n+                return left.result / right.result\n+            }\n+        }\n+\n+        var asString: String {\n             switch self {\n-            case .add:\n-                return left.calculate() + right.calculate()\n-            case .minus:\n-                return left.calculate() - right.calculate()\n-            case .multiply:\n-                return left.calculate() * right.calculate()\n-            case .divide:\n-                return left.calculate() / right.calculate()\n+            case .add(let left, let right):\n+                return \"\\(left.asString) + \\(right.asString)\"\n+            case .subtract(let left, let right):\n+                return \"\\(left.asString) - \\(right.asString)\"\n+            case .multiply(let left, let right):\n+                return \"\\(left.asString) * \\(right.asString)\"\n+            case .divide(let left, let right):\n+                return \"\\(left.asString) / \\(right.asString)\"\n             }\n         }\n-        \n-        func returnStringExpression(_ left: Expression, _ right: Expression) -> String {\n-            \n-            let actions = ExpressionActions()\n+\n+        func replacedRight(_ expression: Expression) -> BinaryOperation {\n             switch self {\n-            case .add:\n-                return actions.resultNumPressed(value: left.calculate()) + \"+\" + actions.resultNumPressed(value: right.calculate())\n-            case .minus:\n-                return actions.resultNumPressed(value: left.calculate()) + \"-\" + actions.resultNumPressed(value: right.calculate())\n-            case .multiply:\n-                return actions.resultNumPressed(value: left.calculate()) + \"*\" + actions.resultNumPressed(value: right.calculate())\n-            case .divide:\n-                return actions.resultNumPressed(value: left.calculate()) + \"/\" + actions.resultNumPressed(value: right.calculate())\n+            case .add(let left, _):\n+                return .add(left, expression)\n+            case .subtract(let left, _):\n+                return .subtract(left, expression)\n+            case .multiply(let left, _):\n+                return .multiply(left, expression)\n+            case .divide(let left, _):\n+                return .divide(left, expression)\n             }\n         }\n     }\n \n+    case none\n     case value(ValueType)\n-    case unary(UnaryOperation, Expression)\n-    case binary(BinaryOperation, Expression, Expression)\n-    \n-    func calculate() -> ValueType {\n+    case unary(UnaryOperation)\n+    case binary(BinaryOperation)\n+\n+    var result: ValueType {\n         switch self {\n+        case .none:\n+            return 0\n         case .value(let value):\n             return value\n-        case .unary(let operation, let value):\n-            return operation.calculate(value)\n-        case .binary(let operation, let left, let right):\n-            return operation.calculate(left,right)\n+        case .unary(let operation):\n+            return operation.result\n+        case .binary(let operation):\n+            return operation.result\n         }\n     }\n-    \n-    func getExpressionString() ->String{\n+\n+    var asString: String {\n         switch self {\n+        case .none:\n+            return \"empty\"\n         case .value(let value):\n             return String(value)\n-        case .unary(let operation, let value):\n-            return String(operation.calculate(value))\n-        case .binary(let operation, let left, let right):\n-            return operation.returnStringExpression(left, right)\n+        case .unary(let operation):\n+            return operation.asString\n+        case .binary(let operation):\n+            return \"(\\(operation.asString))\"\n+        }\n+    }\n+\n+    var isSimpleValue: Bool {","path":"MyCalculator/Expression.swift","position":177,"original_position":177,"commit_id":"fd864cc4c0de12b1ba5ebc7853725e071e69153a","original_commit_id":"fd864cc4c0de12b1ba5ebc7853725e071e69153a","user":{"login":"bealex","id":2905495,"node_id":"MDQ6VXNlcjI5MDU0OTU=","avatar_url":"https://avatars3.githubusercontent.com/u/2905495?v=4","gravatar_id":"","url":"https://api.github.com/users/bealex","html_url":"https://github.com/bealex","followers_url":"https://api.github.com/users/bealex/followers","following_url":"https://api.github.com/users/bealex/following{/other_user}","gists_url":"https://api.github.com/users/bealex/gists{/gist_id}","starred_url":"https://api.github.com/users/bealex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bealex/subscriptions","organizations_url":"https://api.github.com/users/bealex/orgs","repos_url":"https://api.github.com/users/bealex/repos","events_url":"https://api.github.com/users/bealex/events{/privacy}","received_events_url":"https://api.github.com/users/bealex/received_events","type":"User","site_admin":false},"body":"Эта функция (формально это поле класса, но реально это — функция без параметров, а полем я сделал, чтобы было удобнее и чтобы скобки не писать) нужна, чтобы лучше понимать, как заменять значение при вводе, если isSimpleValue — то можно целиком. Если нет, то вызывая replacedRight.\r\n\r\nВообще, лучше сделать не так, конечно. Нужно сделать одну функцию \"updateWithInput\", которая будет делать что требуется, в зависимости от класса. Попробуешь?","created_at":"2019-01-04T09:27:45Z","updated_at":"2019-01-04T09:31:47Z","html_url":"https://github.com/skpolet/MyCalculator/pull/1#discussion_r245247412","pull_request_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/comments/245247412"},"html":{"href":"https://github.com/skpolet/MyCalculator/pull/1#discussion_r245247412"},"pull_request":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1","id":242207650,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQyMjA3NjUw","html_url":"https://github.com/skpolet/MyCalculator/pull/1","diff_url":"https://github.com/skpolet/MyCalculator/pull/1.diff","patch_url":"https://github.com/skpolet/MyCalculator/pull/1.patch","issue_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/1","number":1,"state":"open","locked":false,"title":"Code review","user":{"login":"bealex","id":2905495,"node_id":"MDQ6VXNlcjI5MDU0OTU=","avatar_url":"https://avatars3.githubusercontent.com/u/2905495?v=4","gravatar_id":"","url":"https://api.github.com/users/bealex","html_url":"https://github.com/bealex","followers_url":"https://api.github.com/users/bealex/followers","following_url":"https://api.github.com/users/bealex/following{/other_user}","gists_url":"https://api.github.com/users/bealex/gists{/gist_id}","starred_url":"https://api.github.com/users/bealex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bealex/subscriptions","organizations_url":"https://api.github.com/users/bealex/orgs","repos_url":"https://api.github.com/users/bealex/repos","events_url":"https://api.github.com/users/bealex/events{/privacy}","received_events_url":"https://api.github.com/users/bealex/received_events","type":"User","site_admin":false},"body":"Example of Expression usage in a calculator","created_at":"2019-01-04T09:08:37Z","updated_at":"2019-01-04T09:31:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ed40816d6175d9898c65923ea7ed9eca65818970","assignee":{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false},"assignees":[{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1/commits","review_comments_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1/comments","review_comment_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/1/comments","statuses_url":"https://api.github.com/repos/skpolet/MyCalculator/statuses/fd864cc4c0de12b1ba5ebc7853725e071e69153a","head":{"label":"skpolet:updates/bealex","ref":"updates/bealex","sha":"fd864cc4c0de12b1ba5ebc7853725e071e69153a","user":{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false},"repo":{"id":146814802,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY4MTQ4MDI=","name":"MyCalculator","full_name":"skpolet/MyCalculator","private":false,"owner":{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false},"html_url":"https://github.com/skpolet/MyCalculator","description":null,"fork":false,"url":"https://api.github.com/repos/skpolet/MyCalculator","forks_url":"https://api.github.com/repos/skpolet/MyCalculator/forks","keys_url":"https://api.github.com/repos/skpolet/MyCalculator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/skpolet/MyCalculator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/skpolet/MyCalculator/teams","hooks_url":"https://api.github.com/repos/skpolet/MyCalculator/hooks","issue_events_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/events{/number}","events_url":"https://api.github.com/repos/skpolet/MyCalculator/events","assignees_url":"https://api.github.com/repos/skpolet/MyCalculator/assignees{/user}","branches_url":"https://api.github.com/repos/skpolet/MyCalculator/branches{/branch}","tags_url":"https://api.github.com/repos/skpolet/MyCalculator/tags","blobs_url":"https://api.github.com/repos/skpolet/MyCalculator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/skpolet/MyCalculator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/skpolet/MyCalculator/git/refs{/sha}","trees_url":"https://api.github.com/repos/skpolet/MyCalculator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/skpolet/MyCalculator/statuses/{sha}","languages_url":"https://api.github.com/repos/skpolet/MyCalculator/languages","stargazers_url":"https://api.github.com/repos/skpolet/MyCalculator/stargazers","contributors_url":"https://api.github.com/repos/skpolet/MyCalculator/contributors","subscribers_url":"https://api.github.com/repos/skpolet/MyCalculator/subscribers","subscription_url":"https://api.github.com/repos/skpolet/MyCalculator/subscription","commits_url":"https://api.github.com/repos/skpolet/MyCalculator/commits{/sha}","git_commits_url":"https://api.github.com/repos/skpolet/MyCalculator/git/commits{/sha}","comments_url":"https://api.github.com/repos/skpolet/MyCalculator/comments{/number}","issue_comment_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/comments{/number}","contents_url":"https://api.github.com/repos/skpolet/MyCalculator/contents/{+path}","compare_url":"https://api.github.com/repos/skpolet/MyCalculator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/skpolet/MyCalculator/merges","archive_url":"https://api.github.com/repos/skpolet/MyCalculator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/skpolet/MyCalculator/downloads","issues_url":"https://api.github.com/repos/skpolet/MyCalculator/issues{/number}","pulls_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls{/number}","milestones_url":"https://api.github.com/repos/skpolet/MyCalculator/milestones{/number}","notifications_url":"https://api.github.com/repos/skpolet/MyCalculator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/skpolet/MyCalculator/labels{/name}","releases_url":"https://api.github.com/repos/skpolet/MyCalculator/releases{/id}","deployments_url":"https://api.github.com/repos/skpolet/MyCalculator/deployments","created_at":"2018-08-30T22:51:39Z","updated_at":"2019-01-03T15:38:41Z","pushed_at":"2019-01-04T09:08:37Z","git_url":"git://github.com/skpolet/MyCalculator.git","ssh_url":"git@github.com:skpolet/MyCalculator.git","clone_url":"https://github.com/skpolet/MyCalculator.git","svn_url":"https://github.com/skpolet/MyCalculator","homepage":null,"size":71,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"skpolet:master","ref":"master","sha":"5e177f513726faecc9a16eade515097326cec356","user":{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false},"repo":{"id":146814802,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY4MTQ4MDI=","name":"MyCalculator","full_name":"skpolet/MyCalculator","private":false,"owner":{"login":"skpolet","id":9130747,"node_id":"MDQ6VXNlcjkxMzA3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9130747?v=4","gravatar_id":"","url":"https://api.github.com/users/skpolet","html_url":"https://github.com/skpolet","followers_url":"https://api.github.com/users/skpolet/followers","following_url":"https://api.github.com/users/skpolet/following{/other_user}","gists_url":"https://api.github.com/users/skpolet/gists{/gist_id}","starred_url":"https://api.github.com/users/skpolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skpolet/subscriptions","organizations_url":"https://api.github.com/users/skpolet/orgs","repos_url":"https://api.github.com/users/skpolet/repos","events_url":"https://api.github.com/users/skpolet/events{/privacy}","received_events_url":"https://api.github.com/users/skpolet/received_events","type":"User","site_admin":false},"html_url":"https://github.com/skpolet/MyCalculator","description":null,"fork":false,"url":"https://api.github.com/repos/skpolet/MyCalculator","forks_url":"https://api.github.com/repos/skpolet/MyCalculator/forks","keys_url":"https://api.github.com/repos/skpolet/MyCalculator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/skpolet/MyCalculator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/skpolet/MyCalculator/teams","hooks_url":"https://api.github.com/repos/skpolet/MyCalculator/hooks","issue_events_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/events{/number}","events_url":"https://api.github.com/repos/skpolet/MyCalculator/events","assignees_url":"https://api.github.com/repos/skpolet/MyCalculator/assignees{/user}","branches_url":"https://api.github.com/repos/skpolet/MyCalculator/branches{/branch}","tags_url":"https://api.github.com/repos/skpolet/MyCalculator/tags","blobs_url":"https://api.github.com/repos/skpolet/MyCalculator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/skpolet/MyCalculator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/skpolet/MyCalculator/git/refs{/sha}","trees_url":"https://api.github.com/repos/skpolet/MyCalculator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/skpolet/MyCalculator/statuses/{sha}","languages_url":"https://api.github.com/repos/skpolet/MyCalculator/languages","stargazers_url":"https://api.github.com/repos/skpolet/MyCalculator/stargazers","contributors_url":"https://api.github.com/repos/skpolet/MyCalculator/contributors","subscribers_url":"https://api.github.com/repos/skpolet/MyCalculator/subscribers","subscription_url":"https://api.github.com/repos/skpolet/MyCalculator/subscription","commits_url":"https://api.github.com/repos/skpolet/MyCalculator/commits{/sha}","git_commits_url":"https://api.github.com/repos/skpolet/MyCalculator/git/commits{/sha}","comments_url":"https://api.github.com/repos/skpolet/MyCalculator/comments{/number}","issue_comment_url":"https://api.github.com/repos/skpolet/MyCalculator/issues/comments{/number}","contents_url":"https://api.github.com/repos/skpolet/MyCalculator/contents/{+path}","compare_url":"https://api.github.com/repos/skpolet/MyCalculator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/skpolet/MyCalculator/merges","archive_url":"https://api.github.com/repos/skpolet/MyCalculator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/skpolet/MyCalculator/downloads","issues_url":"https://api.github.com/repos/skpolet/MyCalculator/issues{/number}","pulls_url":"https://api.github.com/repos/skpolet/MyCalculator/pulls{/number}","milestones_url":"https://api.github.com/repos/skpolet/MyCalculator/milestones{/number}","notifications_url":"https://api.github.com/repos/skpolet/MyCalculator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/skpolet/MyCalculator/labels{/name}","releases_url":"https://api.github.com/repos/skpolet/MyCalculator/releases{/id}","deployments_url":"https://api.github.com/repos/skpolet/MyCalculator/deployments","created_at":"2018-08-30T22:51:39Z","updated_at":"2019-01-03T15:38:41Z","pushed_at":"2019-01-04T09:08:37Z","git_url":"git://github.com/skpolet/MyCalculator.git","ssh_url":"git@github.com:skpolet/MyCalculator.git","clone_url":"https://github.com/skpolet/MyCalculator.git","svn_url":"https://github.com/skpolet/MyCalculator","homepage":null,"size":71,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1"},"html":{"href":"https://github.com/skpolet/MyCalculator/pull/1"},"issue":{"href":"https://api.github.com/repos/skpolet/MyCalculator/issues/1"},"comments":{"href":"https://api.github.com/repos/skpolet/MyCalculator/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/skpolet/MyCalculator/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/skpolet/MyCalculator/statuses/fd864cc4c0de12b1ba5ebc7853725e071e69153a"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"bealex"}}