Skip to content

zero1five/gate-watcher

Repository files navigation

check your javascript object is charming.

Status

Commitizen friendly

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: yarn run commit
  4. Push to the branch: git push origin my-new-feature
  5. 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

About

Check your javascript object is charming

Resources

License

Stars

Watchers

Forks

Packages

No packages published