diff --git a/index.js b/index.js index f82ccbb..a7fee73 100644 --- a/index.js +++ b/index.js @@ -2,14 +2,16 @@ let switchModule = require('./lib/modules/switch/switch'); +/** + * Create app function to select the framework with switch module, inject dependencies and variables on it + * @param framework + * @param dependencies + * @param variables + */ let createApp = (framework = 'express', dependencies = [], variables = []) => { let selectedFramework = switchModule.switch(framework); selectedFramework.init(dependencies, variables); return selectedFramework; }; -/** - * Expose `createApp()`. - */ - exports = module.exports = createApp; diff --git a/lib/modules/express/dependencies.js b/lib/modules/express/dependencies.js index 17954c3..4472765 100644 --- a/lib/modules/express/dependencies.js +++ b/lib/modules/express/dependencies.js @@ -1,5 +1,11 @@ 'use strict'; +/** + * Load function to set an array of dependencies for express framework + * @param app + * @param dependencies + * @returns expressApp + */ exports.load = (app, dependencies = []) => { dependencies.forEach((dependency) => { app.use(dependency.name, dependency.instance); diff --git a/lib/modules/express/express.js b/lib/modules/express/express.js index abf8ba1..a04d49c 100644 --- a/lib/modules/express/express.js +++ b/lib/modules/express/express.js @@ -4,8 +4,13 @@ let dependencies = require('./dependencies'); let variables = require('./variables'); let app = require('express')(); +/** + * Function to set dependencies and variables to express framework. + * @param dependenciesToLoad + * @param variablesToLoad + * @returns expressApp + */ exports.init = (dependenciesToLoad = [], variablesToLoad = []) => { app = dependencies.load(app, dependenciesToLoad); - app = variables.load(app, variablesToLoad); - return app; + return variables.load(app, variablesToLoad); }; \ No newline at end of file diff --git a/lib/modules/express/variables.js b/lib/modules/express/variables.js index ad8bf97..8ae035e 100644 --- a/lib/modules/express/variables.js +++ b/lib/modules/express/variables.js @@ -1,5 +1,11 @@ 'use strict'; +/** + * Load function to set an array of variables for express framework + * @param app + * @param variables + * @returns expressApp + */ exports.load = (app, variables = []) => { variables.forEach((variable) => { app.set(variable.name, variable.object); diff --git a/lib/modules/switch/switch.js b/lib/modules/switch/switch.js index 91976c9..d1e92c2 100644 --- a/lib/modules/switch/switch.js +++ b/lib/modules/switch/switch.js @@ -3,6 +3,11 @@ let expressModule = require('../express/express'); let restifyModule = require('../restify/restify'); +/** + * Switch to select the framework to inject the dependencies + * @param framework + * @returns createdAppFramework + */ exports.switch = (framework = 'express') => { switch(framework) { case 'express':