Package Exports
- gemini-configparser
- gemini-configparser/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gemini-configparser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@gemini/configparser
Parser for testplane
configuration files.
Config is described with a combination of a functions:
var parser = root(section({
system: section({
parallelLimit: option({
parseEnv: Number,
parseCli: Number,
validate: function() {...}
})
}),
browsers: map(
section({
calibrate: option(...),
windowSize: option(...)
})
)
})
There are 4 types of values:
option({defaultValue, parseCli, parseEnv, validate, map})
- a single scalar option.defaultValue
- a default value to use if option is not provideddefaultValue(config, currentNode)
- a function to compute default valueparseCli(value)
- a function used to parse command-line argumentsparseEnv(value)
- a function used to parse environment variablevalidate(value, config, currentNode, meta)
- a function used to validate the option valuemap(value, config, currentNode, meta)
- a function used to transform the option value
section({sectionName1: valueParser1, sectionName2: valueParser2, ...})
- a section of a values with specified key names. Each option will parsed with appropriate parser function. Any unknown value passed by user will be treated as an error.map(valueParser, defaultValue)
- a map with any number of user-specified keys. Each value is parsed byvalueParser
. If set,defaultValue
will be used in case of no user-specified data provided.root(parser, {envPrefix, cliPrefix})
- creates a root config parsers from specifed parser function. Returns function with signaturef({options, env, argv})
.