// Copyright (c) The OpenTofu Authors // SPDX-License-Identifier: MPL-2.0 // Copyright (c) 2023 HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package differ import ( "github.com/opentofu/opentofu/internal/command/jsonformat/computed" "github.com/opentofu/opentofu/internal/command/jsonformat/structured" "github.com/opentofu/opentofu/internal/plans" ) // asDiff is a helper function to abstract away some simple and common // functionality when converting a renderer into a concrete diff. func asDiff(change structured.Change, renderer computed.DiffRenderer) computed.Diff { return computed.NewDiff(renderer, change.CalculateAction(), change.ReplacePaths.Matches()) } // asDiffWithInheritedAction is a specific implementation of asDiff that gets also a parentAction plans.Action. // This is used when the given change is known to always generate a NoOp diff, but it still should be shown // in the printed diff. func asDiffWithInheritedAction(change structured.Change, parentAction plans.Action, renderer computed.DiffRenderer) computed.Diff { return computed.NewDiff(renderer, parentAction, change.ReplacePaths.Matches()) }