/**
 * Compile module.
 * @namespace lib.compile
 * @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, {
    compileCoffeeScriptFile: getRequire('./compile_coffee_script_file'),
    compileCoffeeScriptString: getRequire('./compile_coffee_script_string'),
    compileJadeFile: getRequire('./compile_jade_file'),
    compileJadeString: getRequire('./compile_jade_string'),
    compileLessFile: getRequire('./compile_less_file'),
    compileLessString: getRequire('./compile_less_string'),
    precompileJadeFile: getRequire('./precompile_jade_file'),
    precompileJadeString: getRequire('./precompile_jade_string')

});
