( channelOrVersion: string, forceReinstall: boolean = false, )
| 942 | let inFlightInstall: Promise<InstallLatestResult> | null = null |
| 943 | |
| 944 | export function installLatest( |
| 945 | channelOrVersion: string, |
| 946 | forceReinstall: boolean = false, |
| 947 | ): Promise<InstallLatestResult> { |
| 948 | if (forceReinstall) { |
| 949 | return installLatestImpl(channelOrVersion, forceReinstall) |
| 950 | } |
| 951 | if (inFlightInstall) { |
| 952 | logForDebugging('installLatest: joining in-flight call') |
| 953 | return inFlightInstall |
| 954 | } |
| 955 | const promise = installLatestImpl(channelOrVersion, forceReinstall) |
| 956 | inFlightInstall = promise |
| 957 | const clear = (): void => { |
| 958 | inFlightInstall = null |
| 959 | } |
| 960 | void promise.then(clear, clear) |
| 961 | return promise |
| 962 | } |
| 963 | |
| 964 | async function installLatestImpl( |
| 965 | channelOrVersion: string, |
no test coverage detected