Skip to main content

Crate cfgmatic_files

Crate cfgmatic_files 

Source
👎Deprecated since 2.0.1: use cfgmatic-source crate instead, which provides a unified configuration source API
Expand description

Configuration file discovery and reading with multiple format support.

DEPRECATED: This crate is deprecated since version 2.0.1. Use cfgmatic-source instead, which provides a more comprehensive and unified API for configuration source management.

§Migration Guide

This crate has been superseded by cfgmatic-source. Below is a guide for migrating your code to the new API.

§Crate Replacement

Replace in Cargo.toml:

// Old (deprecated)
[dependencies]
cfgmatic-files = "2.0"

// New
[dependencies]
cfgmatic-source = "2.0"

§Type Mappings

Old (cfgmatic-files)New (cfgmatic-source)Notes
ConfigFileFileSourceFile-based configuration source
ConfigFilesCompositeSourceMultiple sources with priority
FileFinderLoader with FileConfigUnified loading interface
MergeableMerge trait from cfgmatic-mergeDirect merge trait
Formatcfgmatic_source::FormatSame enum, new location
FileErrorSourceErrorUnified error type

§API Examples

§Loading a Single File

ⓘ
// Old API (deprecated)
use cfgmatic_files::FileFinder;
let files = FileFinder::new("myapp").find()?;
let config: Config = files.first().unwrap().parse()?;

// New API
use cfgmatic_source::prelude::*;
let config: Config = FileSource::new("config.toml").load()?.parse_as()?;

§Loading with Multiple Sources

ⓘ
// Old API (deprecated)
use cfgmatic_files::load_merged;
let config: Config = load_merged("myapp")?;

// New API
use cfgmatic_source::prelude::*;
let source = CompositeSource::new()
    .with_source(FileSource::new("config.toml"), SourcePriority::High)
    .with_source(EnvSource::new("APP"), SourcePriority::Low);
let config: Config = source.load()?.parse_as()?;

§Finding Config Files

ⓘ
// Old API (deprecated)
use cfgmatic_files::{FileFinder, find_files};
let files = find_files("myapp")?;

// New API
use cfgmatic_source::prelude::*;
let loader = Loader::new()
    .with_source(FileConfig::new().app_name("myapp"));
let result = loader.load()?;

§Features

The new cfgmatic-source crate supports all features from this crate:

  • toml - TOML format support (default)
  • json - JSON format support (default)
  • yaml - YAML format support
  • env - Environment variable sources
  • async - Async loading support
  • remote - Remote HTTP/HTTPS sources
  • watch - File watching support

§Transition Period

During the transition period, this crate re-exports types from cfgmatic-source for convenience. However, new code should use cfgmatic-source directly.

Modules§

preludeDeprecated
Convenience functions for common operations.

Structs§

ConfigCandidate
Information about a configuration path candidate.
ConfigFileDeprecated
A discovered configuration file.
ConfigFileRule
Rule for finding a single configuration file.
ConfigFilesDeprecated
A collection of configuration files sorted by priority.
ConfigRuleSet
Set of configuration file rules.
FileFinderDeprecated
Builder for configuring file search.
FileFinderStateDeprecated
Stateful file finder after configuration.
FileSource
File-based configuration source.
FragmentRule
Rule for configuration fragment directories (conf.d style).
LoadResult
Re-export of cfgmatic-source types for migration convenience. Result of loading configuration from multiple sources.
Loader
Re-export of cfgmatic-source types for migration convenience. Service for loading configuration from sources.
LoaderBuilder
Re-export of cfgmatic-source types for migration convenience. Builder for Loader.
RuleBasedDiscovery
Result of rule-based configuration discovery.
RuleBasedLoaderDeprecated
Configuration loader with rule-based discovery.
SourceMetadata
Re-export of cfgmatic-source types for migration convenience. Metadata about a configuration source.

Enums§

ArrayMergeStrategy
Strategy for merging arrays.
ConfigTier
Configuration tier represents the priority level of a configuration source.
FileErrorDeprecated
Errors that can occur when working with configuration files.
FormatDeprecated
Supported configuration file formats.
MergeBehavior
How to handle conflicting values during merge.
SourceError
Re-export of cfgmatic-source types for migration convenience. Error type for source operations.
SourceKind
Re-export of cfgmatic-source types for migration convenience. Kind of configuration source.
TierSearchMode
How to search tiers for configuration files.

Traits§

MergeableDeprecated
Trait for types that can be merged.
Source
Re-export of cfgmatic-source types for migration convenience. A configuration source.

Functions§

config_existsDeprecated
Check if a configuration exists for the application.
find_filesDeprecated
Find configuration files using a simple API.
find_first_fileDeprecated
Find the first configuration file.
find_with_formatDeprecated
Find configuration files with a specific format.
load_firstDeprecated
Load configuration from the first found file.
load_mergedDeprecated
Load and merge configuration from all found files.
load_with_rulesDeprecated
Load configuration using rule-based discovery.

Type Aliases§

MergeOptionsDeprecated
Options for configuration merging.
ResultDeprecated
Result type alias for file operations.