Skip to content

Commit

Permalink
UPDATE(*.js): Add js doc
Browse files Browse the repository at this point in the history
Add documentation of all functions on repository.
  • Loading branch information
Alberto Iglesias Gallego committed Nov 30, 2016
1 parent 85fd2b6 commit b00ee0f
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 6 deletions.
10 changes: 6 additions & 4 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
6 changes: 6 additions & 0 deletions lib/modules/express/dependencies.js
Original file line number Diff line number Diff line change
@@ -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);
Expand Down
9 changes: 7 additions & 2 deletions lib/modules/express/express.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
};
6 changes: 6 additions & 0 deletions lib/modules/express/variables.js
Original file line number Diff line number Diff line change
@@ -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);
Expand Down
5 changes: 5 additions & 0 deletions lib/modules/switch/switch.js
Original file line number Diff line number Diff line change
Expand Up @@ -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':
Expand Down

0 comments on commit b00ee0f

Please sign in to comment.