)]}'
{
  "commit": "ce8d0828facf05bbd638fbca71473319f85810dd",
  "tree": "ee847782187666bb97dc263eb87e81a42b27a929",
  "parents": [
    "0bbb6d0a83c48ddba55c88efc25912bb017ff132"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Fri Dec 04 10:58:30 2020 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Dec 04 10:58:30 2020 -0800"
  },
  "message": "Refactor to remove StreamTransformer instantiation (dart-lang/stream_transform#120)\n\nDirectly implement the behavior from `bind` which is the `Stream` to\r\n`Stream` implementation in the extension methods rather than in separate\r\n`StreamTransformer` classes. This pattern has fewer potential issues\r\naround generics since it\u0027s fully based on function calls which are\r\ntype checked appropriately unlike the `StreamTransformer` interface\r\nwhich suffers from the incorrect covariant subtype relationships. It\r\nalso may avoid some unnecessary allocations as improve stack traces.\r\n\r\nFor the transforms that were changed, aim for better consistency around\r\ngeneric type arguments. `T` is now more consistently the source stream\r\ntype, while `S` is the output stream type.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3a967d4a3ee63c5424337158300b367a6b3da683",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/aggregate_sample.dart",
      "new_id": "cd0a7d018bbb0ef8a7f8899ce0ffadba5e724de4",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/aggregate_sample.dart"
    },
    {
      "type": "modify",
      "old_id": "7b406c7f93cc45a0863ce49cd5b3410b15874f0e",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/async_map.dart",
      "new_id": "f6022525f13121c24303a614fcb8e40dcdef319c",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/async_map.dart"
    },
    {
      "type": "modify",
      "old_id": "6e268e370dcec5cb63318bb6abdaf3b360f2c41d",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/combine_latest.dart",
      "new_id": "dcaf672b5afa092baece304381881de748fc7e5f",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/combine_latest.dart"
    },
    {
      "type": "modify",
      "old_id": "402d8a0c0ffb32cb02570572c9cfd29ac8aaa698",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/concatenate.dart",
      "new_id": "37a4d96f7fbf679213f679f07475795c63d8aaae",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/concatenate.dart"
    },
    {
      "type": "modify",
      "old_id": "c7c93325fd6c98b19d27963c2c4010ba06c7ee68",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/from_handlers.dart",
      "new_id": "f5c4b847e57bcbb3d0047f9b57939c2e5815f9d3",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/from_handlers.dart"
    },
    {
      "type": "modify",
      "old_id": "61b5e21702305c5081024625ad85ffaec0bc3c78",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/merge.dart",
      "new_id": "55fe409513b5f3f67156cd54873db3310551dedd",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/merge.dart"
    },
    {
      "type": "modify",
      "old_id": "23dfbc556c4d836659a3885d9910f28dd6b772a1",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/rate_limit.dart",
      "new_id": "d558f61711563942beb09ab31ed485fe5bbddfd3",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/rate_limit.dart"
    },
    {
      "type": "modify",
      "old_id": "df7f1b8f9a10780d00f9b06ca966dd3c9a012425",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/switch.dart",
      "new_id": "17fbb811db4d87a07c27b15c55e9b94c2730005d",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/switch.dart"
    },
    {
      "type": "modify",
      "old_id": "5420500347ab80e0691f75bad32d5a3a85454b81",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/take_until.dart",
      "new_id": "32366edba9131bc73320cfb7b1b0d061058317ff",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/take_until.dart"
    },
    {
      "type": "modify",
      "old_id": "b7e03214a7ae37a715877fc1705c8dd9c83c4667",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/tap.dart",
      "new_id": "05ab32f0d00bc250f7b24977244ceed778383aae",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/tap.dart"
    },
    {
      "type": "modify",
      "old_id": "97ec57b3034b356118f1736c707e2269cf82fc3d",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/where.dart",
      "new_id": "ed3532e25743bcc1d4186c79cf0621a5240c7468",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/where.dart"
    },
    {
      "type": "modify",
      "old_id": "206acc8b14d9ac29bc086f073050cba525a028f0",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/from_handlers_test.dart",
      "new_id": "7ae3368a7fa3593d289e95c3d2ed67d95adb1359",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/from_handlers_test.dart"
    }
  ]
}
