A pure javascript method of limiting and controlling the properties of native js objects and JSON objects, along with extra builtin methods to make js easier to use.
A method on the schema object that generates an empty json object with blank values (and any defaults) so it can be populated by other code or written to a file.
Optionally, a default parameter can be passed into the CType. When this is passed, the optional parameter is presumed true and if not present in the config, it is replaced with the default value when called with parseConfig
Describe alternatives you've considered
Separate methods can be used to return true or false if the config passes the schema and another method to return a parsed version of the config which has the default values put in place and any config options not defined in the schema removed
Could also set the parameter to its default state if its the wrong type