Create documentation for your projects. Like so:
- Up/Down - Previous/Next Gist
- Ctrl+e - Edit a selected Gist
- Ctrl+s - Save Gist
Collection1 = Backbone.Collection.extend({ | |
initialize: function(models, options){ | |
// bad, causes things to crash if options.that doesn’t get passed. | |
this.doSomethingWithThat(options.that); | |
} | |
}); | |
// Crashes since 'that' is not set | |
collection1 = new Collection1(); |
[ | |
{ "keys": ["ctrl+shift+r"], "command": "reveal_in_side_bar"} | |
] |
/** | |
* Removes all falsy and undefined values from an object | |
* @param {object} o Object to be compacted | |
* @return {object} Compact Object | |
* @link http://stackoverflow.com/a/14058408/417822 | |
*/ | |
_.mixin({'compactObject': function(o) { | |
var clone = _.clone(o); | |
_.each(clone, function(v, k) { |
/** | |
* Recursivly flatten a deeply nested array | |
* @arr Array Array with nested values | |
* @return Array Flattend array | |
*/ | |
function flatten(arr) { | |
return arr.reduce(function(result, current) { | |
if (current instanceof Array) { | |
return result.concat(flatten(current)); | |
} else { |
<snippet> | |
<content><![CDATA[ | |
export function ${1:action_name}(${2:arguments}) { | |
return { | |
type: ${3:type}, | |
payload: { | |
${2:arguments} | |
} | |
}; | |
} |
templateString = _.curry( | |
(config, string, valueObj) => _.template(string, config )(valueObj) | |
) | |
templateMustache = templateString({interpolate: /{{([\s\S]+?)}}/g}); | |
TempString = templateMustache('hello {{user}}!', { user: 'mustache' }) | |
console.log(TempString) |
# Description: | |
# A simple prompt for bash that supports a default value. | |
# ${ask} QUESTION DEFAULT | |
# | |
# Example: | |
# BRANCH=$(ask "Which Branch?" "master") | |
function ask(){ | |
local QUESTION=$1 | |
local DEFAULT=$2 | |
local ANSWER |
const redux_log = []; | |
const errorLogMiddleware = (store) => (next) => (action) => { | |
const type = (action && action.type) || 'unknown action'; | |
if ( type === 'LOG_ERROR' ) { | |
const log_str = redux_log.join(' -> '); | |
const error_str = (action && action.payload && action.payload.error) || 'Redux Error'; | |
console.error(error_str + ': ' + log_str); | |
} else { |
const get = function(state, arrayPath, defaultValue) { | |
if (arrayPath.length === 1) { | |
return state.get(arrayPath[0], defaultValue); | |
} else { | |
return state.getIn(arrayPath, defaultValue); | |
} | |
} |