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