/**
 * Lib string module.
 * @namespace lib.string
 * @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, {
    _patterns: getRequire('./_patterns'),
    camelize: getRequire('./camelize'),
    capitalize: getRequire('./capitalize'),
    decapitalize: getRequire('./decapitalize'),
    isString: getRequire('./is_string'),
    sprintf: getRequire('./sprintf'),
    toHankaku: getRequire('./to_hankaku'),
    toHiragana: getRequire('./to_hiragana'),
    toKatakana: getRequire('./to_katakana'),
    toZenkaku: getRequire('./to_zenkaku'),
    underscorize: getRequire('./underscorize')

});
