{"action":"created","comment":{"url":"https://api.github.com/repos/dart-lang/site-www/pulls/comments/364511005","pull_request_review_id":340230595,"id":364511005,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM2NDUxMTAwNQ==","diff_hunk":"@@ -0,0 +1,608 @@\n+---\n+title: Iterable collections\n+description: An interactive guide to using Iterable objects such as lists and sets.\n+---\n+\n+This codelab teaches you how to use collections that implement the \n+[Iterable][iterable class] class, for example [List][list class] and\n+[Set.][set class] Iterables are basic building blocks for all\n+sorts of Dart applications, and you're probably already using them,\n+even without noticing. This codelab helps you make the most out of \n+them.\n+\n+Using the embedded DartPad editors, you can test your\n+knowledge by running example code and completing exercises.\n+\n+To get the most out of this codelab, you should have basic knowledge\n+of the [Dart syntax](/samples).\n+\n+This codelab covers the following material:\n+\n+* How to read elements of an Iterable.\n+* How to check if the elements of an Iterable match a condition.\n+* How to filter the contents of an Iterable.\n+* How to map the contents of an Iterable to a different value.\n+\n+Estimated time to complete this codelab: 60 minutes.\n+\n+{{site.alert.note}}\n+  This page uses embedded DartPads to display examples and exercises.\n+  {% include dartpads-embedded-troubleshooting.md %}\n+{{site.alert.end}}\n+\n+## Why do you need collections?\n+\n+Iterables are a kind of collection. A collection is an object that represents \n+a group of objects, which are called _elements_.\n+\n+A collection can be empty, or it can contain many elements.\n+Depending on the purpose,\n+collections can have different structures and implementations.\n+These are some of the most common collection types:\n+\n+* [List][list class]: Used to read elements by their indexes.\n+* [Set][set class]: Used to contain elements that can occur only once.\n+* [Map][map class]: Used to read elements using a key.\n+\n+In Dart, both `List` and `Set` are `Iterable`,\n+so they have the same methods and properties as the `Iterable` class. \n+\n+A `Map` uses a different data structure internally depending on its implementation, \n+for example, [HashMap][hashmap class] uses a hash table,\n+in which the elements (also called values) are obtained using a key. Elements of a `Map` can\n+also be read as `Iterable`, with the properties `entries` or `values`.\n+\n+## What is an Iterable?\n+\n+An `Iterable` is a collection of elements that can be accessed sequentially.\n+\n+An `Iterable`, in Dart, is an abstract class, meaning that you can't instantiate it directly.\n+However, you can create a new `Iterable` by creating a new `List` or a `Set`.\n+ \n+This example shows a `List` of `int`, which is also an `Iterable` of `int`:\n+\n+<?code-excerpt \"iterables/test/iterables_test.dart (iterable)\"?>\n+{% prettify dart %}\n+Iterable<int> iterable = [1, 2, 3];\n+{% endprettify %}\n+\n+The difference with a `List` is, with the `Iterable`, you can't \n+guarantee that reading elements by index will be efficient.\n+`Iterable`, as opposed as `List`, doesn't have the `[]` operator.\n+\n+For example (**the following code gives you an error**):\n+\n+{:.bad}\n+<?code-excerpt \"iterables/test/iterables_test.dart (iterable-elementat)\" replace=\"/\\.elementAt\\(1\\)/[![1]!]/g\"?>\n+{% prettify dart %}\n+Iterable<int> iterable = [1, 2, 3];\n+int value = iterable[![1]!];\n+{% endprettify %}\n+\n+If you read elements with `[]`, the compiler tells you that\n+the operator `'[]'` isn't defined for the class `Iterable`, which\n+means that you can't use `[index]` in this case.\n+\n+You can instead read elements with `elementAt()`, which steps through\n+the elements of the iterable until it reaches that position.\n+\n+<?code-excerpt \"iterables/test/iterables_test.dart (iterable-elementat)\"?>\n+{% prettify dart %}\n+Iterable<int> iterable = [1, 2, 3];\n+int value = iterable.elementAt(1);\n+{% endprettify %}\n+\n+Continue to the next section to learn more about how to access elements of an `Iterable`.\n+\n+## Reading elements\n+\n+You can read the elements of an iterable sequentially, using a `for-in` loop.\n+\n+### Example: Using a for-in loop\n+\n+The following example shows you how to read elements using  a `for-in` loop.\n+\n+[//]: https://gist.github.com/c419f595f95e8317c54192491ae017cd\n+<iframe\n+  src=\"{{site.dartpad-embed}}?id=c419f595f95e8317c54192491ae017cd\"\n+  style=\"border: 1px solid lightgrey; margin-top: 10px; margin-bottom: 25px\"\n+  frameborder=\"no\"\n+  height=\"200\"\n+  width=\"100%\" >\n+</iframe>\n+\n+{{site.alert.info}}\n+Behind the scenes, the `for-in` loop uses an [iterator.]({{site.dart_api}}/stable/dart-core/Iterable/iterator.html)\n+You rarely see the [Iterator API][iterator class] used directly, however,\n+because `for-in` is easier to read and understand,\n+and is less prone to errors.\n+{{site.alert.end}}\n+\n+{{site.alert.secondary}}\n+**Key terms:**\n+* **Iterable**: The Dart [Iterable][iterable class] class.\n+* **Iterator**: An object used by `for-in` to read elements from an `Iterable` object.\n+* **`for-in` loop**: An easy way to sequentially read elements from an `Iterable`.\n+{{site.alert.end}}\n+\n+### Example: Using first and last\n+\n+In some cases, you only want to access the first or the last element of an `Iterable`.\n+\n+With the `Iterable` class, you can't access the elements directly, so you can't call\n+`iterable[0]` to access the first element. Instead, you can use `first`,\n+which gets the first element.\n+\n+Also, with the `Iterable` class, you can't use the operator `[]` to access the last element, but you can use the\n+`last` property. \n+\n+{{site.alert.warn}}\n+  Because accessing the last element of an Iterable requires stepping through all the other elements,\n+  **`last` can be slow.**\n+  Using `first` or `last` on an **empty `Iterable`**\n+  results in a [StateError.][StateError class]\n+{{site.alert.end}}\n+\n+\n+[//]: https://gist.github.com/f3d96039195566d934a966390ea4ad62\n+<iframe\n+  src=\"{{site.dartpad-embed}}?id=f3d96039195566d934a966390ea4ad62\"\n+  style=\"border: 1px solid lightgrey; margin-top: 10px; margin-bottom: 25px\"\n+  frameborder=\"no\"\n+  height=\"300\"\n+  width=\"100%\" >\n+</iframe>\n+\n+In this example, you saw how to use `first` and `last` to get the first\n+and last elements of an `Iterable`. It's also possible to\n+find the first element that matches a condition. The next section\n+shows how to do that using a method called `firstWhere()`.\n+\n+### Example: Using firstWhere()\n+\n+You already saw that you can access the elements of an `Iterable` sequentially,\n+and you can easily get the first or last element.\n+\n+Now, you learn how to use `firstWhere()` to find an element that\n+satisfies certain conditions. This method requires you to pass a _predicate_,","path":"src/codelabs/iterables.md","position":167,"original_position":167,"commit_id":"3698b61fb20ffecf0af1df2643ac48b0b95136a8","original_commit_id":"3698b61fb20ffecf0af1df2643ac48b0b95136a8","user":{"login":"legalcodes","id":5550175,"node_id":"MDQ6VXNlcjU1NTAxNzU=","avatar_url":"https://avatars2.githubusercontent.com/u/5550175?v=4","gravatar_id":"","url":"https://api.github.com/users/legalcodes","html_url":"https://github.com/legalcodes","followers_url":"https://api.github.com/users/legalcodes/followers","following_url":"https://api.github.com/users/legalcodes/following{/other_user}","gists_url":"https://api.github.com/users/legalcodes/gists{/gist_id}","starred_url":"https://api.github.com/users/legalcodes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/legalcodes/subscriptions","organizations_url":"https://api.github.com/users/legalcodes/orgs","repos_url":"https://api.github.com/users/legalcodes/repos","events_url":"https://api.github.com/users/legalcodes/events{/privacy}","received_events_url":"https://api.github.com/users/legalcodes/received_events","type":"User","site_admin":false},"body":"```suggestion\r\nNow, you learn how to use `firstWhere()` to find the first element in the \r\n`Iterable` that satisfies certain conditions. This method requires you to pass a _predicate_,\r\n```\r\n\r\nConsider adding a subsequent element in `items` that satisfies the condition (to demonstrate that `firstWhere()` won't return this element)","created_at":"2020-01-09T00:33:04Z","updated_at":"2020-01-09T00:33:05Z","html_url":"https://github.com/dart-lang/site-www/pull/2121#discussion_r364511005","pull_request_url":"https://api.github.com/repos/dart-lang/site-www/pulls/2121","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/comments/364511005"},"html":{"href":"https://github.com/dart-lang/site-www/pull/2121#discussion_r364511005"},"pull_request":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/2121"}}},"pull_request":{"url":"https://api.github.com/repos/dart-lang/site-www/pulls/2121","id":343273703,"node_id":"MDExOlB1bGxSZXF1ZXN0MzQzMjczNzAz","html_url":"https://github.com/dart-lang/site-www/pull/2121","diff_url":"https://github.com/dart-lang/site-www/pull/2121.diff","patch_url":"https://github.com/dart-lang/site-www/pull/2121.patch","issue_url":"https://api.github.com/repos/dart-lang/site-www/issues/2121","number":2121,"state":"open","locked":false,"title":"Iterables Codelab","user":{"login":"miquelbeltran","id":2494376,"node_id":"MDQ6VXNlcjI0OTQzNzY=","avatar_url":"https://avatars0.githubusercontent.com/u/2494376?v=4","gravatar_id":"","url":"https://api.github.com/users/miquelbeltran","html_url":"https://github.com/miquelbeltran","followers_url":"https://api.github.com/users/miquelbeltran/followers","following_url":"https://api.github.com/users/miquelbeltran/following{/other_user}","gists_url":"https://api.github.com/users/miquelbeltran/gists{/gist_id}","starred_url":"https://api.github.com/users/miquelbeltran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miquelbeltran/subscriptions","organizations_url":"https://api.github.com/users/miquelbeltran/orgs","repos_url":"https://api.github.com/users/miquelbeltran/repos","events_url":"https://api.github.com/users/miquelbeltran/events{/privacy}","received_events_url":"https://api.github.com/users/miquelbeltran/received_events","type":"User","site_admin":false},"body":"Hi all! I'm working with @RedBrogdon on creating new codelabs for dart.dev and flutter.dev, and Andrew asked me to send you this PR. He also asked @kwalrath for help reviewing.\r\n\r\nThis codelab is about iterables. \r\n\r\nThis PR includes:\r\n- New Iterables codelab\r\n- Added codelab link to the codelabs index\r\n- Added codelab link to the side-nav\r\n\r\nThe examples and exercises are currently hosted as Gists.\r\n\r\nA staging version is hosted here: ~~https://mb-dart-dev-1.firebaseapp.com/codelabs/iterables~~\r\nhttps://kw-staging-dartlang-2.firebaseapp.com/codelabs/iterables\r\n\r\nLooking forward for your feedback!\r\n","created_at":"2019-11-20T10:14:03Z","updated_at":"2020-01-09T00:33:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cab2ce7dbd8d98a4aa764ad68e2b7fc2419fa291","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":647302522,"node_id":"MDU6TGFiZWw2NDczMDI1MjI=","url":"https://api.github.com/repos/dart-lang/site-www/labels/beginner","name":"beginner","color":"1d76db","default":false,"description":null},{"id":421018044,"node_id":"MDU6TGFiZWw0MjEwMTgwNDQ=","url":"https://api.github.com/repos/dart-lang/site-www/labels/cla:%20yes","name":"cla: yes","color":"0052cc","default":false,"description":null},{"id":412184598,"node_id":"MDU6TGFiZWw0MTIxODQ1OTg=","url":"https://api.github.com/repos/dart-lang/site-www/labels/help%20wanted","name":"help wanted","color":"0e8a16","default":true,"description":null}],"milestone":null,"commits_url":"https://api.github.com/repos/dart-lang/site-www/pulls/2121/commits","review_comments_url":"https://api.github.com/repos/dart-lang/site-www/pulls/2121/comments","review_comment_url":"https://api.github.com/repos/dart-lang/site-www/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dart-lang/site-www/issues/2121/comments","statuses_url":"https://api.github.com/repos/dart-lang/site-www/statuses/3698b61fb20ffecf0af1df2643ac48b0b95136a8","head":{"label":"miquelbeltran:mb-codelab-iterables","ref":"mb-codelab-iterables","sha":"3698b61fb20ffecf0af1df2643ac48b0b95136a8","user":{"login":"miquelbeltran","id":2494376,"node_id":"MDQ6VXNlcjI0OTQzNzY=","avatar_url":"https://avatars0.githubusercontent.com/u/2494376?v=4","gravatar_id":"","url":"https://api.github.com/users/miquelbeltran","html_url":"https://github.com/miquelbeltran","followers_url":"https://api.github.com/users/miquelbeltran/followers","following_url":"https://api.github.com/users/miquelbeltran/following{/other_user}","gists_url":"https://api.github.com/users/miquelbeltran/gists{/gist_id}","starred_url":"https://api.github.com/users/miquelbeltran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miquelbeltran/subscriptions","organizations_url":"https://api.github.com/users/miquelbeltran/orgs","repos_url":"https://api.github.com/users/miquelbeltran/repos","events_url":"https://api.github.com/users/miquelbeltran/events{/privacy}","received_events_url":"https://api.github.com/users/miquelbeltran/received_events","type":"User","site_admin":false},"repo":{"id":220753206,"node_id":"MDEwOlJlcG9zaXRvcnkyMjA3NTMyMDY=","name":"site-www","full_name":"miquelbeltran/site-www","private":false,"owner":{"login":"miquelbeltran","id":2494376,"node_id":"MDQ6VXNlcjI0OTQzNzY=","avatar_url":"https://avatars0.githubusercontent.com/u/2494376?v=4","gravatar_id":"","url":"https://api.github.com/users/miquelbeltran","html_url":"https://github.com/miquelbeltran","followers_url":"https://api.github.com/users/miquelbeltran/followers","following_url":"https://api.github.com/users/miquelbeltran/following{/other_user}","gists_url":"https://api.github.com/users/miquelbeltran/gists{/gist_id}","starred_url":"https://api.github.com/users/miquelbeltran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miquelbeltran/subscriptions","organizations_url":"https://api.github.com/users/miquelbeltran/orgs","repos_url":"https://api.github.com/users/miquelbeltran/repos","events_url":"https://api.github.com/users/miquelbeltran/events{/privacy}","received_events_url":"https://api.github.com/users/miquelbeltran/received_events","type":"User","site_admin":false},"html_url":"https://github.com/miquelbeltran/site-www","description":"Source for Dart website","fork":true,"url":"https://api.github.com/repos/miquelbeltran/site-www","forks_url":"https://api.github.com/repos/miquelbeltran/site-www/forks","keys_url":"https://api.github.com/repos/miquelbeltran/site-www/keys{/key_id}","collaborators_url":"https://api.github.com/repos/miquelbeltran/site-www/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/miquelbeltran/site-www/teams","hooks_url":"https://api.github.com/repos/miquelbeltran/site-www/hooks","issue_events_url":"https://api.github.com/repos/miquelbeltran/site-www/issues/events{/number}","events_url":"https://api.github.com/repos/miquelbeltran/site-www/events","assignees_url":"https://api.github.com/repos/miquelbeltran/site-www/assignees{/user}","branches_url":"https://api.github.com/repos/miquelbeltran/site-www/branches{/branch}","tags_url":"https://api.github.com/repos/miquelbeltran/site-www/tags","blobs_url":"https://api.github.com/repos/miquelbeltran/site-www/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/miquelbeltran/site-www/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/miquelbeltran/site-www/git/refs{/sha}","trees_url":"https://api.github.com/repos/miquelbeltran/site-www/git/trees{/sha}","statuses_url":"https://api.github.com/repos/miquelbeltran/site-www/statuses/{sha}","languages_url":"https://api.github.com/repos/miquelbeltran/site-www/languages","stargazers_url":"https://api.github.com/repos/miquelbeltran/site-www/stargazers","contributors_url":"https://api.github.com/repos/miquelbeltran/site-www/contributors","subscribers_url":"https://api.github.com/repos/miquelbeltran/site-www/subscribers","subscription_url":"https://api.github.com/repos/miquelbeltran/site-www/subscription","commits_url":"https://api.github.com/repos/miquelbeltran/site-www/commits{/sha}","git_commits_url":"https://api.github.com/repos/miquelbeltran/site-www/git/commits{/sha}","comments_url":"https://api.github.com/repos/miquelbeltran/site-www/comments{/number}","issue_comment_url":"https://api.github.com/repos/miquelbeltran/site-www/issues/comments{/number}","contents_url":"https://api.github.com/repos/miquelbeltran/site-www/contents/{+path}","compare_url":"https://api.github.com/repos/miquelbeltran/site-www/compare/{base}...{head}","merges_url":"https://api.github.com/repos/miquelbeltran/site-www/merges","archive_url":"https://api.github.com/repos/miquelbeltran/site-www/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/miquelbeltran/site-www/downloads","issues_url":"https://api.github.com/repos/miquelbeltran/site-www/issues{/number}","pulls_url":"https://api.github.com/repos/miquelbeltran/site-www/pulls{/number}","milestones_url":"https://api.github.com/repos/miquelbeltran/site-www/milestones{/number}","notifications_url":"https://api.github.com/repos/miquelbeltran/site-www/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/miquelbeltran/site-www/labels{/name}","releases_url":"https://api.github.com/repos/miquelbeltran/site-www/releases{/id}","deployments_url":"https://api.github.com/repos/miquelbeltran/site-www/deployments","created_at":"2019-11-10T06:53:57Z","updated_at":"2019-11-10T06:53:59Z","pushed_at":"2019-12-11T00:35:10Z","git_url":"git://github.com/miquelbeltran/site-www.git","ssh_url":"git@github.com:miquelbeltran/site-www.git","clone_url":"https://github.com/miquelbeltran/site-www.git","svn_url":"https://github.com/miquelbeltran/site-www","homepage":"https://dart.dev","size":35876,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dart-lang:master","ref":"master","sha":"5e0e830cbcc9b1190a2e0797318835a8795b16d5","user":{"login":"dart-lang","id":1609975,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MDk5NzU=","avatar_url":"https://avatars0.githubusercontent.com/u/1609975?v=4","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":63089994,"node_id":"MDEwOlJlcG9zaXRvcnk2MzA4OTk5NA==","name":"site-www","full_name":"dart-lang/site-www","private":false,"owner":{"login":"dart-lang","id":1609975,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MDk5NzU=","avatar_url":"https://avatars0.githubusercontent.com/u/1609975?v=4","gravatar_id":"","url":"https://api.github.com/users/dart-lang","html_url":"https://github.com/dart-lang","followers_url":"https://api.github.com/users/dart-lang/followers","following_url":"https://api.github.com/users/dart-lang/following{/other_user}","gists_url":"https://api.github.com/users/dart-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/dart-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dart-lang/subscriptions","organizations_url":"https://api.github.com/users/dart-lang/orgs","repos_url":"https://api.github.com/users/dart-lang/repos","events_url":"https://api.github.com/users/dart-lang/events{/privacy}","received_events_url":"https://api.github.com/users/dart-lang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dart-lang/site-www","description":"Source for Dart website","fork":false,"url":"https://api.github.com/repos/dart-lang/site-www","forks_url":"https://api.github.com/repos/dart-lang/site-www/forks","keys_url":"https://api.github.com/repos/dart-lang/site-www/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dart-lang/site-www/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dart-lang/site-www/teams","hooks_url":"https://api.github.com/repos/dart-lang/site-www/hooks","issue_events_url":"https://api.github.com/repos/dart-lang/site-www/issues/events{/number}","events_url":"https://api.github.com/repos/dart-lang/site-www/events","assignees_url":"https://api.github.com/repos/dart-lang/site-www/assignees{/user}","branches_url":"https://api.github.com/repos/dart-lang/site-www/branches{/branch}","tags_url":"https://api.github.com/repos/dart-lang/site-www/tags","blobs_url":"https://api.github.com/repos/dart-lang/site-www/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dart-lang/site-www/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dart-lang/site-www/git/refs{/sha}","trees_url":"https://api.github.com/repos/dart-lang/site-www/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dart-lang/site-www/statuses/{sha}","languages_url":"https://api.github.com/repos/dart-lang/site-www/languages","stargazers_url":"https://api.github.com/repos/dart-lang/site-www/stargazers","contributors_url":"https://api.github.com/repos/dart-lang/site-www/contributors","subscribers_url":"https://api.github.com/repos/dart-lang/site-www/subscribers","subscription_url":"https://api.github.com/repos/dart-lang/site-www/subscription","commits_url":"https://api.github.com/repos/dart-lang/site-www/commits{/sha}","git_commits_url":"https://api.github.com/repos/dart-lang/site-www/git/commits{/sha}","comments_url":"https://api.github.com/repos/dart-lang/site-www/comments{/number}","issue_comment_url":"https://api.github.com/repos/dart-lang/site-www/issues/comments{/number}","contents_url":"https://api.github.com/repos/dart-lang/site-www/contents/{+path}","compare_url":"https://api.github.com/repos/dart-lang/site-www/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dart-lang/site-www/merges","archive_url":"https://api.github.com/repos/dart-lang/site-www/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dart-lang/site-www/downloads","issues_url":"https://api.github.com/repos/dart-lang/site-www/issues{/number}","pulls_url":"https://api.github.com/repos/dart-lang/site-www/pulls{/number}","milestones_url":"https://api.github.com/repos/dart-lang/site-www/milestones{/number}","notifications_url":"https://api.github.com/repos/dart-lang/site-www/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dart-lang/site-www/labels{/name}","releases_url":"https://api.github.com/repos/dart-lang/site-www/releases{/id}","deployments_url":"https://api.github.com/repos/dart-lang/site-www/deployments","created_at":"2016-07-11T17:57:36Z","updated_at":"2020-01-08T23:33:22Z","pushed_at":"2020-01-08T23:33:20Z","git_url":"git://github.com/dart-lang/site-www.git","ssh_url":"git@github.com:dart-lang/site-www.git","clone_url":"https://github.com/dart-lang/site-www.git","svn_url":"https://github.com/dart-lang/site-www","homepage":"https://dart.dev","size":35461,"stargazers_count":453,"watchers_count":453,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":280,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":210,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":280,"open_issues":210,"watchers":453,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/2121"},"html":{"href":"https://github.com/dart-lang/site-www/pull/2121"},"issue":{"href":"https://api.github.com/repos/dart-lang/site-www/issues/2121"},"comments":{"href":"https://api.github.com/repos/dart-lang/site-www/issues/2121/comments"},"review_comments":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/2121/comments"},"review_comment":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dart-lang/site-www/pulls/2121/commits"},"statuses":{"href":"https://api.github.com/repos/dart-lang/site-www/statuses/3698b61fb20ffecf0af1df2643ac48b0b95136a8"}},"author_association":"NONE"}}
{"actor":{"display_login":"legalcodes"}}