gate-watcher
v3.0.0
Published
check your javascript object is charming
Downloads
1
Readme
🍓 check your javascript object is charming.
Status
Installing
Using npm:
$ npm install gate-watcher
or
$ yarn add gate-watcher
Usage Example
Suppose we have a javascript object and we want to know if it is safe and has the attributes we need.
const Watcher = require("gate-watcher");
const source = { attr: "GateWatcher" };
const Judge = Watcher
.input(source)
.option("attr", String)
.exist(['attr', 'inner', 'outer'])
.parse();
if (Judge) {
console.log("cool!");
// The attr attribute indeed in the source object!
}
API
input(source: Object)
Receive objects that need to be verified.
option(attr: String, type: Type, defaultValue: T)
- When there is only one parameter, Will only verify that the attribute exists.
const source = { attr: "GateWatcher" };
const Judge = Watcher
.input(source)
.option("attr")
.parse();
// Judge = true
- When two parameters are used, the type is also checked.
...
.option("attr", String)
.parse();
// true
- When the parameter is complete, if the type is not correct, return false. If the property does not exist, the default value will be added to the source and return true.
...
.option("attr", String, "defaultValue")
.parse();
// true
exist(attrs: [attr])
check the attributes that need to be verified.
const source = { attr: "GateWatcher" };
const Judge = Watcher
.input(source)
.exist(["attr", "side"])
.parse();
// true
action(target: T => condition: Boolean, target: T => target: T)
when need fine operate for source object, you can use action.
const Watcher = require("gate-watcher");
const source = { _attr: 10 };
Watcher
.input(source)
.action(
target => target._attr === 10,
targe => target.attr = 1
)
.parse()
// source = { _attr: 10, attr: 1 }
parse()
parse the GateWatcher program.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
yarn run commit
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
gate-watcher © zero1five, Released under the MIT License. Authored and maintained by zero1five.
github.com/zero1five · GitHub @zero1five · Twitter @zero1five
License
MIT © zero1five