function def()

in lib/is.js [248:272]


function def (options) {
    var fn = function (data, opts) {
        if (!util.isString(data)) {
            return false;
        }

        if (options.re) {
            options.re.lastIndex = 0;
            if (!options.re.test(data)) {
                return false;
            }
        }

        return options.after ? options.after(data, opts || {}) : true;
    };

    var path = options.fn.split('.');
    var target = module.exports;
    while (path.length > 1) {
        var next = path.shift();
        target = (target[next] = target[next] || {});
    }

    target[path[0]] = fn;
}