(model: LanguageModel)
| 27 | // step so move/run callers can't accidentally leave a stale cleanup behind that |
| 28 | // would re-fire on a later run. |
| 29 | function detachLanguageModelCleanup(model: LanguageModel): LanguageModelCleanup | undefined { |
| 30 | const modelWithCleanup = model as LanguageModelWithCleanup; |
| 31 | const cleanup = modelWithCleanup[languageModelCleanupSymbol]; |
| 32 | if (cleanup === undefined) { |
| 33 | return undefined; |
| 34 | } |
| 35 | delete modelWithCleanup[languageModelCleanupSymbol]; |
| 36 | return cleanup; |
| 37 | } |
| 38 | |
| 39 | export function moveLanguageModelCleanup(source: LanguageModel, target: LanguageModel): void { |
| 40 | const cleanup = detachLanguageModelCleanup(source); |
no outgoing calls
no test coverage detected