heyujie
2021-06-07 8f8155aa4c83f7c2577ac123add550766b6a7ce3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"use strict";
 
var resolveException = require("../lib/resolve-exception")
  , ensureMin        = require("../lib/ensure/min")
  , coerce           = require("./coerce");
 
module.exports = function (value/*, options*/) {
    var coerced = coerce(value), options = arguments[1];
    if (coerced !== null) {
        if (options) {
            if (options.min) ensureMin(value, coerced, options);
        }
        return coerced;
    }
 
    var errorMessage =
        options && options.name
            ? "Expected a natural number for %n, received %v"
            : "%v is not a natural number";
    return resolveException(value, errorMessage, options);
};