Skip to content

Instantly share code, notes, and snippets.

@priyankvex2
priyankvex2 / pokemon_controller_injected.js
Last active June 24, 2019 13:19
Pokemon controller DI
function pokemonControllerFactory(pokemonDbLayer){
let pokemonController = {};
function getPokemonProfile(pokemonId){
let pokemonObj = pokemon_db_layer.findById(pokemonId);
return {
name: pokemonObj ? pokemonObj.name : "",
@priyankvex2
priyankvex2 / pokemon_app.js
Created June 24, 2019 07:22
Wiring the DI
let pokemonDb = require('./pokemon_db_layer');
let pokemonControllerFactory = require('./pokemon_controller');
let pokemonController = pokemonControllerFactory(pokemonDb);
let db_driver = require('db_driver');
function findById(pokemonId){
return db_driver.Pokemon.find({id: pokemonId});
}
module.exports ={
findById: findById
};
@priyankvex2
priyankvex2 / pokemon_controller_hardcoded.js
Created June 24, 2019 07:14
Pokemon Controller with hardcoded dependency
let pokemon_db_layer = require('./pokemon_db_layer');
function getPokemonProfile(pokemonId){
let pokemonObj = pokemon_db_layer.findById(pokemonId);
return {
name: pokemonObj ? pokemonObj.name : "",
level: pokemonObj ? pokemonObj.level : ""
};