Skip to content

Instantly share code, notes, and snippets.

View cdelaorden's full-sized avatar
🏛️
building

Carlos de la Orden cdelaorden

🏛️
building
View GitHub Profile
@cdelaorden
cdelaorden / layoutConfig.js
Last active January 15, 2017 18:14
GoldenLayout with React / Redux
export const layout = {
content: [{
type: 'row',
content:[{
//this indicates GL that it should ReactDOM.render this component
type:'react-component',
//component registerd name (more later)
component: 'test-component',
//additional props you want for your component
props: { label: 'A' }
@cdelaorden
cdelaorden / gist:651af67b3e93258f1d8e
Created June 26, 2015 14:43
ES2015 - Destructuring object in argument list
function foo({movieCount}){
console.log(movieCount);
//modify provided obj? no way
movieCount = 0;
}
function oldFoo(obj){
console.log(obj.movieCount);
//modify provided obj? yes it's possible and dangerous
@cdelaorden
cdelaorden / gist:6e21cc5e4428267dd6ab
Created June 25, 2015 15:59
ES2015 - Proxy - Dynamic properties (all*, any*) in Array
/**
* Proxy an Array - add all* property to filter by object predicate, and any* to emulate underscore some/any
*
* For example: proxy an array of objects, having some Boolean values on each of them
* following the is* predicate form. We'll then trap get calls, to return allXXX (sub array) or to
* query anyXXX (Boolean)
*
*/
let Users = new Proxy([
{ id: 1, username: 'Charlie', isAdmin: true, isRobot: false },
@cdelaorden
cdelaorden / gist:fa26759de5366e80dec8
Created June 25, 2015 15:29
ES2015 - Proxy - Property set validation
//Validation Proxy example
let handler = {
//Intercept any object property set operation
set: function(obj, prop, value){
if(prop === 'age' && !Number.isInteger(value)){
throw new TypeError('Age should be an integer number');
}
obj[prop] = value;
}
}
@cdelaorden
cdelaorden / ES6 - Proxy - default value
Created June 25, 2015 15:22
ES2015 - Proxy - default value
//Default values
let defaultValuesHandler = {
get(target,name) {
return name in target ? target[name] : 'My default value'
}
};
let target = {
name: 'Carlos',
favGame: 'Mass Effect'