Table of Contents

Class OutputPlanner

Namespace
Refitter.Core
Assembly
Refitter.Core.dll

Plans the output file paths for generated Refit code. Supports single-file and multi-file output modes, CLI and settings-file driven generation, and optional rerouting of contracts to a separate output folder.

public static class OutputPlanner
Inheritance
OutputPlanner
Inherited Members

Fields

DefaultOutputPath

The default output file name used when no explicit output path is specified.

public const string DefaultOutputPath = "Output.cs"

Field Value

string

Methods

GetContractsOutputPath(string?, IOutputConfiguration, GeneratedCode)

Resolves the output path for a contract's file, placing it in the configured contracts output folder relative to the settings file location.

public static string GetContractsOutputPath(string? settingsFilePath, IOutputConfiguration outputConfiguration, GeneratedCode outputFile)

Parameters

settingsFilePath string

The path to the settings file, or null for direct CLI generation.

outputConfiguration IOutputConfiguration

The output configuration.

outputFile GeneratedCode

The generated contracts code file.

Returns

string

The resolved contracts output filepath.

GetMultiFileOutputPath(string?, string?, IOutputConfiguration, GeneratedCode)

Resolves the output path for a single file in multi-file generation mode, accounting for settings file location, CLI overrides, and configured output folder.

public static string GetMultiFileOutputPath(string? settingsFilePath, string? cliOutputPath, IOutputConfiguration outputConfiguration, GeneratedCode outputFile)

Parameters

settingsFilePath string

The path to the settings file, or null for direct CLI generation.

cliOutputPath string

The output path specified via CLI, or null.

outputConfiguration IOutputConfiguration

The output configuration.

outputFile GeneratedCode

The generated code file to produce a path for.

Returns

string

The resolved output file path.

GetSingleFileOutputPath(string?, string?, IOutputConfiguration)

Resolves the output path for single-file generation, accounting for settings file location, CLI overrides, and configured output folder/filename in the settings.

public static string GetSingleFileOutputPath(string? settingsFilePath, string? cliOutputPath, IOutputConfiguration outputConfiguration)

Parameters

settingsFilePath string

The path to the settings file, or null for direct CLI generation.

cliOutputPath string

The output path specified via CLI, or null.

outputConfiguration IOutputConfiguration

The output configuration.

Returns

string

The resolved output file path.

PlanMultipleFiles(string?, string?, IOutputConfiguration, GeneratorOutput)

Plans multiple output files, determining each file's path based on the generation mode and whether the file should be rerouted to the contracts output folder.

public static IReadOnlyList<PlannedFile> PlanMultipleFiles(string? settingsFilePath, string? cliOutputPath, IOutputConfiguration outputConfiguration, GeneratorOutput generatorOutput)

Parameters

settingsFilePath string

The path to the settings file, or null for direct CLI generation.

cliOutputPath string

The output path specified via CLI, or null.

outputConfiguration IOutputConfiguration

The output configuration.

generatorOutput GeneratorOutput

The generator output containing multiple files.

Returns

IReadOnlyList<PlannedFile>

A read-only list of PlannedFile with resolved output paths and content.

PlanSingleFile(string?, string?, IOutputConfiguration, string)

Plans a single output file, determining its path based on the generation mode.

public static PlannedFile PlanSingleFile(string? settingsFilePath, string? cliOutputPath, IOutputConfiguration outputConfiguration, string code)

Parameters

settingsFilePath string

The path to the settings file, or null for direct CLI generation.

cliOutputPath string

The output path specified via CLI, or null.

outputConfiguration IOutputConfiguration

The output configuration.

code string

The generated code content.

Returns

PlannedFile

A PlannedFile with the resolved output path and content.

ShouldRerouteToContractsFolder(IOutputConfiguration, GeneratedCode)

Determines whether the specified output file should be rerouted to the contracts output folder. Rerouting occurs when ContractsOutputFolder differs from the primary OutputFolder and the file is the contract's file.

public static bool ShouldRerouteToContractsFolder(IOutputConfiguration outputConfiguration, GeneratedCode outputFile)

Parameters

outputConfiguration IOutputConfiguration

The output configuration.

outputFile GeneratedCode

The generated code file to evaluate.

Returns

bool

true if the file should be rerouted to the contracts folder; otherwise, false.