Skip to content

Instantly share code, notes, and snippets.

@frankbaele
Last active May 26, 2016 09:25
Show Gist options
  • Save frankbaele/1d57dde56b1f90299f9ea05ce6f3b2ee to your computer and use it in GitHub Desktop.
Save frankbaele/1d57dde56b1f90299f9ea05ce6f3b2ee to your computer and use it in GitHub Desktop.
function api(services){
function getUser(){
return services.user.get();
}
function getName(){
return services.user.getName();
}
function play(){
services.mediator.trigger('media.play')
}
return {
getUser:getUser,
getName: getName,
play: play
}
}
window.appnameSpace = api({
user:require('user'),
mediator:require('mediator')
});
var constructor = function(params) {
var user = {
name: params.name
};
function get() {
return user;
}
function getName(){
return user.name;
}
function set(_user_) {
user = _user_
}
return {
get : get,
getName: getName,
set : set
};
};
var module = constructor;
var instance = module({name:"bob"});
var playButton = function(mediator){
var button = document.createElement("BUTTON");
var state = 'playing';
button.innerHTML = 'Pause';
mediator.on('media.playing', function(){
button.innerHTML = 'Pause';
})
mediator.on('media.paused', function(){
button.innerHTML = 'Play';
})
button.onclick = function(){
if(state !== 'playing'){
mediator.trigger('media.play')
} else {
mediator.trigger('media.pause')
}
}
}
module.exports = playButton;
var MyModule = function(params) {
function myMethod() {
alert( 'my method' );
}
function myOtherMethod() {
alert( 'my other method' );
}
// explicitly return public methods when this object is instantiated
return {
someMethod : myMethod,
someOtherMethod : myOtherMethod
};
};
module.exports = MyModule;
var constructor = function() {
var user = {
name: "bob"
};
function get() {
return user;
}
function getName(){
return user.name;
}
function set(_user_) {
user = _user_
}
return {
get : get,
getName: getName,
set : set
};
};
var module = constructor();
var instance = module;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment