diff --git a/src/vs/base/common/observableInternal/utils.ts b/src/vs/base/common/observableInternal/utils.ts index b7fb965c1bf..de572e9dbfb 100644 --- a/src/vs/base/common/observableInternal/utils.ts +++ b/src/vs/base/common/observableInternal/utils.ts @@ -614,6 +614,6 @@ export function latestChangedValue[]>(owner: DebugOwn * However, if the value is not undefined, it is cached and will not be recomputed anymore. * In that case, the derived will unsubscribe from its dependencies. */ -export function getIfDefined(owner: DebugOwner, fn: (reader: IReader) => T): IObservable { +export function derivedConstOnceDefined(owner: DebugOwner, fn: (reader: IReader) => T): IObservable { return derivedObservableWithCache(owner, (reader, lastValue) => lastValue ?? fn(reader)); } diff --git a/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.ts b/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.ts index 2f5d221b76c..270a6444ff2 100644 --- a/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.ts +++ b/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IObservable, ISettableObservable, derived, observableFromEvent, observableValue } from 'vs/base/common/observable'; -import { getIfDefined } from 'vs/base/common/observableInternal/utils'; +import { derivedConstOnceDefined } from 'vs/base/common/observableInternal/utils'; import { Constants } from 'vs/base/common/uint'; import { allowsTrueInlineDiffRendering } from 'vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones'; import { DiffEditorViewModel, DiffState } from 'vs/editor/browser/widget/diffEditor/diffEditorViewModel'; @@ -95,7 +95,7 @@ export class DiffEditorOptions { } private readonly shouldRenderInlineViewInSmartMode = this._model - .map(this, model => getIfDefined(this, reader => { + .map(this, model => derivedConstOnceDefined(this, reader => { const diffs = model?.diff.read(reader); return diffs ? isSimpleDiff(diffs, this.useTrueInlineDiffRendering.read(reader)) : undefined; }))