/**
 * Lib object module.
 * @namespace lib.object
 * @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, {
    copy: getRequire('./copy'),
    deepCopy: getRequire('./deep_copy'),
    define: getRequire('./define'),
    defineStrict: getRequire('./define_strict'),
    fallbackCopy: getRequire('./fallback_copy')

});
