This commit is contained in:
Henning Dieterichs
2024-07-22 07:54:56 +02:00
committed by Henning Dieterichs
parent 97d1b933ad
commit d351fa8e0e
2 changed files with 3 additions and 3 deletions
@@ -614,6 +614,6 @@ export function latestChangedValue<T extends IObservable<any>[]>(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<T>(owner: DebugOwner, fn: (reader: IReader) => T): IObservable<T | undefined> {
export function derivedConstOnceDefined<T>(owner: DebugOwner, fn: (reader: IReader) => T): IObservable<T | undefined> {
return derivedObservableWithCache<T | undefined>(owner, (reader, lastValue) => lastValue ?? fn(reader));
}
@@ -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;
}))