0.0.3 • Published 12 years ago

modifier v0.0.3

Weekly downloads
11
License
-
Repository
github
Last release
12 years ago

modifier

description

JavaScript validator / modifier Available in modern browsers and Node.js.

API at a glance

require

var Modifier = require('modifier'); // in Node.js

make it integer

var num = Modifier.integer("10.3");
console.assert(num === 10); // to integer

make it number with conditions

var num2 = Modifier.number.where({ min: 10 })("10.3");
console.assert(num2 === 10.3); // to number, minimum 10

match?

var match = Modifier.regex.where({ pattern: /[a-z]/ })("shinout");
console.assert(match === "shinout"); // matched

error?

try {
  var int1 = Modifier.integer("xxx");
}
catch (e) {
  // get reason
  console.assert(e.reason === 'NaN');
  console.assert(e.val === 'xxx');
}

quiet

var str1 = Modifier.string.where({ quiet: true, min : 4 })("ABC");
console.assert(str1 === undefined);

strict

try {
  var str2 = Modifier.string.where({ strict: true })(1324);
}
catch (e) {
  console.assert(e.reason === 'notString');
  console.assert(e.val === 1324);
}

modifiers

wheres

error reasons

complex coditions

Modifier.some(fn1, fn2, ...)

Modifier.some(
  Modifier.string,
  Modifier.regex.where({pattern: /^get[A-Za-z0-9]+$/})
)('getConfig##')

{reason: "noneOf"} is thrown when none of the modifier match.

Modifier.every(fn1, fn2, ...)

Modifier.every(
  Modifier.string,
  Modifier.regex.where({pattern: /^get[A-Za-z0-9]+$/})
)('getConfig')

only Node.js

file

Modifier.file.where({normalize: true})("/home/shinout/node_modules/jsrel/jsrel.js")
  • normalize can be used to normalize the path.
  • notFile is the reason when it exists but not a file.
  • noSuchFileOrDirectory is the reason when no such file or directory.

dir

Modifier.dir.where({normalize: true})("/home/shinout/node_modules/jsrel/")
  • normalize can be used to normalize the path.
  • notDirectory is the reason when it exists but not a directory.
  • noSuchFileOrDirectory is the reason when no such file or directory.

path

Modifier.path.where({normalize: true})("/home/shinout/node_modules/jsrel/")
  • normalize can be used to normalize the path.
  • noSuchFileOrDirectory is the reason when no such file or directory.

shortcut

  • quiet can be used like
var fn = Modifier.integer.where({min: 0}).quiet // the same as {quiet: true}

var a = fn(-3); // undefined, throwing no error
  • strict can be used like
var fn = Modifier.integer.where({min: 0}).strict.quiet