Class OutputPlanner
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
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
settingsFilePathstringThe path to the settings file, or
nullfor direct CLI generation.outputConfigurationIOutputConfigurationThe output configuration.
outputFileGeneratedCodeThe 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
settingsFilePathstringThe path to the settings file, or
nullfor direct CLI generation.cliOutputPathstringThe output path specified via CLI, or
null.outputConfigurationIOutputConfigurationThe output configuration.
outputFileGeneratedCodeThe 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
settingsFilePathstringThe path to the settings file, or
nullfor direct CLI generation.cliOutputPathstringThe output path specified via CLI, or
null.outputConfigurationIOutputConfigurationThe 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
settingsFilePathstringThe path to the settings file, or
nullfor direct CLI generation.cliOutputPathstringThe output path specified via CLI, or
null.outputConfigurationIOutputConfigurationThe output configuration.
generatorOutputGeneratorOutputThe 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
settingsFilePathstringThe path to the settings file, or
nullfor direct CLI generation.cliOutputPathstringThe output path specified via CLI, or
null.outputConfigurationIOutputConfigurationThe output configuration.
codestringThe 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
outputConfigurationIOutputConfigurationThe output configuration.
outputFileGeneratedCodeThe generated code file to evaluate.
Returns
- bool
trueif the file should be rerouted to the contracts folder; otherwise,false.