UNPKG

@edenjs/cli

Version:

Web Application Framework built on Express.js, Redis and RiotJS

82 lines (69 loc) 1.85 kB
/* eslint-disable no-console */ // Require dependencies const fs = require('fs-extra'); const Path = require('path'); // Load models const models = fs.existsSync(Path.resolve(`${global.appRoot}/data/cache/models.json`)) ? require('cache/models.json') : {}; /** * Loads cache global * * @param {string} name [description] * * @return {*} loaded */ global.cache = (name) => { // Set cache name const fmtName = Path.join(global.appRoot, 'data', 'cache', name); // Try/Catch try { // Return required cache // eslint-disable-next-line global-require, import/no-dynamic-require return require(fmtName); } catch (e) { console.log(e); } // return null return null; }; /** * Loads model global * * @param {string} name [description] * * @return {Model} loaded */ global.model = (name) => { // Set model name const fmtName = Path.basename(name).split('.')[0].toLowerCase(); // Check if model exists if (!models[fmtName]) { // Throw error throw new Error(`The model '${fmtName}' does not exist`); } // Try/Catch try { // Return required Model class // eslint-disable-next-line global-require, import/no-dynamic-require return require(models[fmtName]); // return require(Path.join(global.appRoot, models[fmtName])); } catch (e) { console.log(e); } // return null return null; }; /** * Loads helper global * * @param {string} name [description] * * @return {Helper} loaded */ global.helper = (name) => { // Set helper name const fmtName = `${name.split('/')[0]}/helpers/${name.split('/')[name.split('/').length - 1]}`; // Try/Catch try { // Return required Helper class // eslint-disable-next-line global-require, import/no-dynamic-require return require(fmtName); } catch (e) { console.log(e); } // return null return null; };