file

package
v4.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

README

File Source

The file source reads config from a file.

It uses the File extension to determine the Format e.g config.yaml has the yaml format. It does not make use of encoders or interpet the file data. If a file extension is not present the source Format will default to the Encoder in options.

Example

A config file format in json

{
    "hosts": {
        "database": {
            "address": "10.0.0.1",
            "port": 3306
        },
        "cache": {
            "address": "10.0.0.2",
            "port": 6379
        }
    }
}

New Source

Specify file source with path to file. Path is optional and will default to config.json

fileSource := file.NewSource(
	file.WithPath("/tmp/config.json"),
)

File Format

To load different file formats e.g yaml, toml, xml simply specify them with their extension

fileSource := file.NewSource(
        file.WithPath("/tmp/config.yaml"),
)

If you want to specify a file without extension, ensure you set the encoder to the same format

e := toml.NewEncoder()

fileSource := file.NewSource(
        file.WithPath("/tmp/config"),
	source.WithEncoder(e),
)

Load Source

Load the source into config

// Create new config
conf := config.NewConfig()

// Load file source
conf.Load(fileSource)

Documentation

Overview

Package file is a file source. Expected format is json

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultPath = "config.json"
)

Functions

func NewSource

func NewSource(opts ...source.Option) source.Source

func WithFS

func WithFS(fs fs.FS) source.Option

WithFS sets the underlying filesystem to lookup file from (default os.FS)

func WithPath

func WithPath(p string) source.Option

WithPath sets the path to file

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL