( channelOrVersion: string, forceReinstall: boolean = false, )
| 951 | let inFlightInstall: Promise<InstallLatestResult> | null = null |
| 952 | |
| 953 | export function installLatest( |
| 954 | channelOrVersion: string, |
| 955 | forceReinstall: boolean = false, |
| 956 | ): Promise<InstallLatestResult> { |
| 957 | if (forceReinstall) { |
| 958 | return installLatestImpl(channelOrVersion, forceReinstall) |
| 959 | } |
| 960 | if (inFlightInstall) { |
| 961 | logForDebugging('installLatest: joining in-flight call') |
| 962 | return inFlightInstall |
| 963 | } |
| 964 | const promise = installLatestImpl(channelOrVersion, forceReinstall) |
| 965 | inFlightInstall = promise |
| 966 | const clear = (): void => { |
| 967 | inFlightInstall = null |
| 968 | } |
| 969 | void promise.then(clear, clear) |
| 970 | return promise |
| 971 | } |
| 972 | |
| 973 | async function installLatestImpl( |
| 974 | channelOrVersion: string, |
no test coverage detected