)]}'
{
  "commit": "d7a7825a69a9339cc3d2b87b129114ca6dc473c9",
  "tree": "f13153855bd544935bb4c25fed310840a2795c44",
  "parents": [
    "11bb00f6f3d0f0d743d55991959658febaa14688"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch1@gmail.com",
    "time": "Thu Jun 29 14:43:39 2017 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jun 29 14:43:39 2017 -0700"
  },
  "message": "Use sync forwarders in `fromHandlers` (dart-lang/stream_transform#27)\n\nTowards dart-lang/stream_transform#24\r\n\r\n- Switch to sync StreamControllers\r\n- Set onPause, onResume, and onCancel in the onListen callback\r\n- Don\u0027t wrap pause and resume callbacks - they are guaranteed to not be\r\n  called outside of the subscription lifetime\r\n- Only cancel the subscription when the values stream is not done - in\r\n  stream closure path the onCancel is called but does not need to return\r\n  a future.\r\n- Drop the now unnecessary `await new Future(() {})` from tests.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f1aedf0dc80f6e4300a02826e6d10b5595d4181",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/CHANGELOG.md",
      "new_id": "b684adbde87c6381ed696cb4a0d04ef507dc8e88",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "315de961ab2837c331df286912fb5a4cd886a47f",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/from_handlers.dart",
      "new_id": "1303584ae3a4f8bebcd6769d8b0d20447e3b2666",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/from_handlers.dart"
    },
    {
      "type": "modify",
      "old_id": "d65fd7f2b0f82adff655cca07bbe27a719f95d99",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/audit_test.dart",
      "new_id": "a3b2fefc30041166b3d48a893ff601a1afde213b",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/audit_test.dart"
    },
    {
      "type": "modify",
      "old_id": "268b55efee208614eb9ab7b3bbf09028ed47f803",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/from_handlers_test.dart",
      "new_id": "fe9e916588424dfccbab41145a1260f8a28d1aa5",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/from_handlers_test.dart"
    },
    {
      "type": "modify",
      "old_id": "3647cb4187cb55b833ece1a48c2aedef4603482d",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/throttle_test.dart",
      "new_id": "10a34fdedcca3ff3f26ad07598ab8aa2b156b727",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/throttle_test.dart"
    }
  ]
}
