| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- /*!
 
-   * prr
 
-   * (c) 2013 Rod Vagg <rod@vagg.org>
 
-   * https://github.com/rvagg/prr
 
-   * License: MIT
 
-   */
 
- (function (name, context, definition) {
 
-   if (typeof module != 'undefined' && module.exports)
 
-     module.exports = definition()
 
-   else
 
-     context[name] = definition()
 
- })('prr', this, function() {
 
-   var setProperty = typeof Object.defineProperty == 'function'
 
-       ? function (obj, key, options) {
 
-           Object.defineProperty(obj, key, options)
 
-           return obj
 
-         }
 
-       : function (obj, key, options) { // < es5
 
-           obj[key] = options.value
 
-           return obj
 
-         }
 
-     , makeOptions = function (value, options) {
 
-         var oo = typeof options == 'object'
 
-           , os = !oo && typeof options == 'string'
 
-           , op = function (p) {
 
-               return oo
 
-                 ? !!options[p]
 
-                 : os
 
-                   ? options.indexOf(p[0]) > -1
 
-                   : false
 
-             }
 
-         return {
 
-             enumerable   : op('enumerable')
 
-           , configurable : op('configurable')
 
-           , writable     : op('writable')
 
-           , value        : value
 
-         }
 
-       }
 
-     , prr = function (obj, key, value, options) {
 
-         var k
 
-         options = makeOptions(value, options)
 
-         if (typeof key == 'object') {
 
-           for (k in key) {
 
-             if (Object.hasOwnProperty.call(key, k)) {
 
-               options.value = key[k]
 
-               setProperty(obj, k, options)
 
-             }
 
-           }
 
-           return obj
 
-         }
 
-         return setProperty(obj, key, options)
 
-       }
 
-   return prr
 
- })
 
 
  |