Sha256: 336c1a130eaf728bf40cad8144aa16942962307f192498c63321d6ff59d9aaac

Contents?: true

Size: 1.54 KB

Versions: 39

Compression:

Stored size: 1.54 KB

Contents

/*!
  * 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
})

Version data entries

39 entries across 38 versions & 14 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/prr/prr.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/prr/prr.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/prr/prr.js
optimacms-0.1.61 spec/dummy/node_modules/prr/prr.js
disco_app-0.18.0 test/dummy/node_modules/prr/prr.js
disco_app-0.18.2 test/dummy/node_modules/prr/prr.js
disco_app-0.16.1 test/dummy/node_modules/prr/prr.js
disco_app-0.15.2 test/dummy/node_modules/prr/prr.js
disco_app-0.18.4 test/dummy/node_modules/prr/prr.js
disco_app-0.18.1 test/dummy/node_modules/prr/prr.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/prr/prr.js
disco_app-0.14.0 test/dummy/node_modules/prr/prr.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/prr/prr.js
tang-0.2.1 spec/tang_app/node_modules/prr/prr.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/prr/prr.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/prr/prr.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/prr/prr.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/prr/prr.js
tang-0.2.0 spec/tang_app/node_modules/prr/prr.js
tang-0.1.0 spec/tang_app/node_modules/prr/prr.js