)]}'
{
  "commit": "52ecefcaa17ff6cb378dfc7971d5655474a84285",
  "tree": "5e56cb733bd1e9c70664286ae1a89e3fde0f8fe1",
  "parents": [
    "a7466a637f245390680d8b3835c95e82ed3221d5"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch1@gmail.com",
    "time": "Tue Jul 11 09:39:28 2017 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jul 11 09:39:28 2017 -0700"
  },
  "message": "Use sync forwarders in buffer (dart-lang/stream_transform#31)\n\nTowards dart-lang/stream_transform#24\r\n\r\nFixes a bug where the output would close too soon if there was a pending\r\ntrigger.\r\n\r\nFixes some bugs in the test.\r\n\r\nFixes a bug with canceling when values are broadcast but trigger is\r\nsingle subscription.\r\n\r\nRefactor for better readability\r\n\r\n- Fix tests to pass the valuesType instead of the triggerType for both\r\n  streams.\r\n- Refactor for more clear parallel structure between handlers for values\r\n  and triggers.\r\n- Inline _collectToList\r\n- Add booleans to track when streams are done rather than overload what\r\n  it means for their subscriptions to be null.\r\n- Only return a Future from onCancel when there were streams open that\r\n  needed to be canceled. This means that some of the extra awaits in\r\n  tests need to be left in to properly forward errors closing stream.\r\n- Pull the trigger canceling tests out of the loops since the behavior\r\n  depends on both stream types.\r\n- Cancel rather than pause trigger subscription if we won\u0027t need it\r\n  again.\r\n- Add tests that broadcast stream (from values) can be canceled and\r\n  relistened\r\n- Set up onPause, onResume, and onCancel in onListen",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da8fd25a73e84252f25ec66ab9c37fb35abeb88a",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/CHANGELOG.md",
      "new_id": "25d39a54ba951599c71927d88a9ed9350edf2513",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "4f2976d9c09f9ec3113abec267e23fdfec6eb3ad",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/buffer.dart",
      "new_id": "f5ef7bf1fa6548fb1aec1bb5ecc5c9c51468f760",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/buffer.dart"
    },
    {
      "type": "modify",
      "old_id": "c371ac576eb47ed83edfba9fa5716cf07ffaa26e",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/buffer_test.dart",
      "new_id": "4d3a2b65ca9e9c8ecab8606bf69c1d0138b18340",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/buffer_test.dart"
    }
  ]
}
