tree d2b7a7a23edfd74570926bd9632a980eeae65571
parent 640d212b225daf9429ebd674f0d7cbf29acce1ad
author Ian Hickson <ian@hixie.ch> 1710051638 -0800
committer GitHub <noreply@github.com> 1710051638 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJl7VE2CRC1aQ7uu5UhlAAA0WkQADRVPjv4kanvAYkNWvVIWxUB
 MgIH1WhJk4gX/O0bN1Nvo4eMCDj2J6R8HTU6Oq0aUWZGplVMLDvaC5vBue82ijja
 I4VAXE+W9iPowlaxDXLLj5s2f8vmATycN8m9mJeJXgerEsz8b9hFAKf69/NZTFSO
 5V7YFPrksBe1qMTrtF0+j2RTSSaLy6UA8oo05fqosrPn3Xh1Qs90uo0adsgy0pLs
 WOglIbQsME/nLU9/txUbIrr6N7dudAnaUOcIe4xMJ9XQNSn5SU2ECvMNP4/lHKX1
 Upq/Wb9ilPNVwCMYco12nJdUGWSY7Fm/vJQ+7o6rbtjw/IdXZvRjJUcHb9EslP58
 2XVvtt4Wb/AM8L+gBwnfaT8FilTkY0LAWCc1RjD6tAC1cGEhM5vfHAmSmz8Io3tI
 V1H8b80Ocdafv/dutV/dxb6YZTdqixDkXvs72kp4LdGY00/4zrSZRKZTtMqu4BSz
 D983r9MBCnyJX/KdbIngdYWtYTPJEZKQnUaLPWiEWe1S1EgZHVEfparjmi+jlcXx
 wMWiIP9zDrANell1xdRg9QcDVin12uiEerPO3l567fTq90nH8isVgZTIIuiIWo/o
 kepknJVmEaImnuwy363hLyloCk8r3Z0Jgi3h3Z2uJAWXdSzuvZFKmdQjVRCPoBem
 7WADaWf172InHpxbiFOq
 =buzc
 -----END PGP SIGNATURE-----
 

Rename isAvailableForEnvironment to isForEnvironment (#143176) (#144858)

This is part 4 of a broken down version of the #140101 refactor.

This PR renames isAvailableForEnvironment to isForEnvironment and replaces a regular expression with a simple function. (The latter will change the behaviour for people with branch names like `mainly_refactors` or `chess_master_experiment` or whatever, but I'm pretty sure the old behaviour was not intended.)

----

This is a reland of https://github.com/flutter/flutter/pull/143176 which was speculatively reverted in https://github.com/flutter/flutter/pull/144855 but turned out not to be the cause of the tree redness.