Revision: 12204
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at March 5, 2009 16:42 by Sephr
                            
                            Updated Code
function $setter(obj, prop) {
  return function() {
    return obj.__lookupSetter__(prop).apply(obj, Array.prototype.slice.call(arguments))
  }
}
function $getter(obj, prop) {
  return function() {
    return obj.__lookupGetter__(prop).apply(obj, Array.prototype.slice.call(arguments))
  }
}
Object.prototype.getSetter = function(prop) { return $setter(this, prop) }
Object.prototype.getGetter = function(prop) { return $getter(this, prop) }
                                
                            Revision: 12203
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at March 5, 2009 16:30 by Sephr
                            
                            Initial Code
function $setter(obj, prop) {
  return function() {
    obj.__lookupSetter__(prop).apply(obj, Array.prototype.slice.call(arguments))
  }
}
function $getter(obj, prop) {
  return function() {
    obj.__lookupGetter__(prop).apply(obj, Array.prototype.slice.call(arguments))
  }
}
Object.prototype.getSetter = function(prop) { return $setter(this, prop) }
Object.prototype.getGetter = function(prop) { return $getter(this, prop) }
                                Initial URL
Initial Description
`$[gs]etter(obj, property)` returns `function() { return obj.__lookup[GS]etter__(property).apply(obj, Array.prototype.slice.call(arguments)) }`
`object.get[GS]etter(property)` returns `$[gs]etter(this, property)`
Useful for getting the getters and setters of objects like `location`, so you can do stuff like location.getSetter("hash") to get the native hash-changing function.
Example:
    var foo = {a: 5}
    foo.__defineSetter__("bar", function(x) { return x/this.a })
    var fooBarSetter = foo.getSetter("bar") // $setter(foo, "bar") also works
    fooBarSetter(40) == 8
    
    var changeHash = location.getSetter("hash")
    changeHash("test")
    var getHash = location.getGetter("hash")
    getHash() == location.hash
    getHash() == "#test"
    
    function changeInnerHTML(el, html) { return el.getSetter("innerHTML")(html) }
    changeInnerHTML(document.body, "test")
    document.getSetter("title")("Test")
                                Initial Title
Get Accessor (Getter/Setter)
Initial Tags
Initial Language
JavaScript