/**
 * Lib modules
 * @namespace lib
 * @author Taka Okunishi
 *
 */



/**
 * Define an object property getter with require function.
 * @private
 */
function getRequire (moduleName) {
    return {
        enumerable: true,
        get: function () {
            return require(moduleName);
        }
    };
}

// Export modules with lazy loading.
Object.defineProperties(exports, {
    array: getRequire('./array'),
    compile: getRequire('./compile'),
    date: getRequire('./date'),
    db: getRequire('./db'),
    env: getRequire('./env'),
    expression: getRequire('./expression'),
    fetch: getRequire('./fetch'),
    file: getRequire('./file'),
    html: getRequire('./html'),
    image: getRequire('./image'),
    lint: getRequire('./lint'),
    log: getRequire('./log'),
    math: getRequire('./math'),
    minify: getRequire('./minify'),
    object: getRequire('./object'),
    random: getRequire('./random'),
    string: getRequire('./string'),
    url: getRequire('./url'),
    uuid: getRequire('./uuid'),
    zip: getRequire('./zip')

});
