Options-Checker
Check types and pass default values for objects
Installing
options-checker
can be used both in node and browsers
Node
First install it with NPM
npm i @ceicc/options-checker
import optionsChecker from "@ceicc/options-checker"
Browser
<script defer src="https://unpkg.com/@ceicc/options-checker@^1"></script>
Usage Example
Most useful place would be for checking options arguments
const fs = require("fs/promises"),
optionsChecker = require('./index')
function createFile(path, opts = {}) {
if (typeof path !== "string") throw TypeError("path argument should be string")
optionsChecker(opts, {
data: { default: "", type: "string|number" },
cb: { default: console.log, type: "function" }
})
fs.writeFile(path, opts.data).then(opts.cb)
}
createFile('./test.txt', { data: "Hello World" })
You don't need re-assign opts
because javascript passes objects by refrence.
The default value can be discarded, and optionsChecker
will only do type checking.
Any value that it's not specified in the config object or failed type checking and doesn't have default value will be deleted.
Arguments
opts
The object to check againstconfig
The configuration object that holds the types and default values.
The key in config
object would be the name of the value to check against in the opts
object, and the value of this key would be an object with those two keys:
default
- the default value to fall ontype
- pipe seperated list of accepted types. e.g.: "string|boolean"