Skip to content

Instantly share code, notes, and snippets.

@gilbert
Last active August 29, 2015 14:17
Show Gist options
  • Save gilbert/c3abbe1bdba0cb6a99a5 to your computer and use it in GitHub Desktop.
Save gilbert/c3abbe1bdba0cb6a99a5 to your computer and use it in GitHub Desktop.
Global Function Helpers
(function (global) {
global.getProp = function (propName) {
return function (obj) { return obj[propName] }
}
global.queryProp = function (query) {
var segments = query.split('.')
return function (obj) {
var result = obj
for (var i=0; i < segments.length; i++) {
result = result[segments[i]]
if (typeof result === 'function') result = result()
}
return result
}
}
global.propEq = function (propName, value) {
return function (obj) { return obj[propName] === value }
}
global.setObjectProp = function (obj, propName) {
return function (value) { obj[propName] = value; return obj }
}
global.echo = function (x) { return x }
global.flog = function (label) {
return function (x) { console.log(label, x); return x }
}
})(typeof global === 'object' ? global : window)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment