jsonconfig

package
v0.0.0-...-3d60ad5 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2014 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package jsonconfig defines a helper type for JSON objects to be used for configuration.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterFunc

func RegisterFunc(name string, fn func(c *ConfigParser, v []interface{}) (interface{}, error))

RegisterFunc registers a new function that may be called from JSON configs using an array of the form ["_name", arg0, argN...]. The provided name must begin with an underscore.

Types

type ConfigParser

type ConfigParser struct {

	// Open optionally specifies an opener function.
	Open func(filename string) (File, error)
	// contains filtered or unexported fields
}

ConfigParser specifies the environment for parsing a config file and evaluating expressions.

func (*ConfigParser) CheckTypes

func (c *ConfigParser) CheckTypes(m map[string]interface{}) error

CheckTypes parses m and returns an error if it encounters a type or value that is not supported by this package.

func (*ConfigParser) ReadFile

func (c *ConfigParser) ReadFile(path string) (m map[string]interface{}, err error)

ReadFile parses the provided path and returns the config file. If path is empty, the c.Open function must be defined.

type File

type File interface {
	io.ReadSeeker
	io.Closer
	Name() string
}

A File is the type returned by ConfigParser.Open.

type Obj

type Obj map[string]interface{}

Obj is a JSON configuration map.

func ReadFile

func ReadFile(configPath string) (Obj, error)

Reads json config data from the specified open file, expanding all expressions

func (Obj) OptionalBool

func (jc Obj) OptionalBool(key string, def bool) bool

func (Obj) OptionalInt

func (jc Obj) OptionalInt(key string, def int) int

func (Obj) OptionalInt64

func (jc Obj) OptionalInt64(key string, def int64) int64

func (Obj) OptionalList

func (jc Obj) OptionalList(key string) []string

func (Obj) OptionalObject

func (jc Obj) OptionalObject(key string) Obj

func (Obj) OptionalString

func (jc Obj) OptionalString(key, def string) string

func (Obj) OptionalStringOrObject

func (jc Obj) OptionalStringOrObject(key string) interface{}

func (Obj) RequiredBool

func (jc Obj) RequiredBool(key string) bool

func (Obj) RequiredInt

func (jc Obj) RequiredInt(key string) int

func (Obj) RequiredInt64

func (jc Obj) RequiredInt64(key string) int64

func (Obj) RequiredList

func (jc Obj) RequiredList(key string) []string

func (Obj) RequiredObject

func (jc Obj) RequiredObject(key string) Obj

func (Obj) RequiredString

func (jc Obj) RequiredString(key string) string

func (Obj) RequiredStringOrObject

func (jc Obj) RequiredStringOrObject(key string) interface{}

func (Obj) UnknownKeys

func (jc Obj) UnknownKeys() []string

UnknownKeys returns the keys from the config that have not yet been discovered by one of the RequiredT or OptionalT calls.

func (Obj) Validate

func (jc Obj) Validate() error

Jump to

Keyboard shortcuts

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