S7schema provides a generic way of working with yaml config files. The main functionality is captured in the S7schema() class that:
- Uses S7 for easy downstream use in other packages (e.g. new child classes and methods).
- Uses ‘ajv’ for validation of the config file given JSON schema.
- Inherits from
listensuring a seamless integration into existing code using the configuration entries.
Installation
# Install the development version from GitHub:
pak::pak("NovoNordisk-OpenSource/S7schema")Usage
A new instance of an S7schema class can be initiated with:
config <- S7schema("path/to/my/config.yml", "path/to/my/schema.json")Since config is a list it can be updated (here adding an “a” element):
config$a <- 2And it can be validated again:
validate(config)Which will now throw an error if a = 2 is an illegal entry according to the schema in "path/to/my/schema.json".
