prr

WebJar for prr

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

prr
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

prr
WebJar for prr
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/rvagg/prr

Download prr

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/prr/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>prr</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/prr/
implementation 'org.webjars.npm:prr:1.0.1'
// https://jarcasting.com/artifacts/org.webjars.npm/prr/
implementation ("org.webjars.npm:prr:1.0.1")
'org.webjars.npm:prr:jar:1.0.1'
<dependency org="org.webjars.npm" name="prr" rev="1.0.1">
  <artifact name="prr" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='prr', version='1.0.1')
)
libraryDependencies += "org.webjars.npm" % "prr" % "1.0.1"
[org.webjars.npm/prr "1.0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

prr Build Status

An sensible alternative to Object.defineProperty(). Available in npm and Ender as prr.

Usage

Set the property 'foo' (obj.foo) to have the value 'bar' with default options ('enumerable', 'configurable' and 'writable' are all false):

prr(obj, 'foo', 'bar')

Adjust the default options:

prr(obj, 'foo', 'bar', { enumerable: true, writable: true })

Do the same operation for multiple properties:

prr(obj, { one: 'one', two: 'two' })
// or with options:
prr(obj, { one: 'one', two: 'two' }, { enumerable: true, writable: true })

Simplify!

But obviously, having to write out the full options object makes it nearly as bad as the original Object.defineProperty() so we can simplify.

As an alternative method we can use an options string where each character represents a option: 'e'=='enumerable', 'c'=='configurable' and 'w'=='writable':

prr(obj, 'foo', 'bar', 'ew') // enumerable and writable but not configurable
// muliple properties:
prr(obj, { one: 'one', two: 'two' }, 'ewc') // configurable too

Where can I use it?

Anywhere! For pre-ES5 environments prr will simply fall-back to an object[property] = value so you can get close to what you want.

prr is Ender-compatible so you can include it in your Ender build and $.prr(...) or var prr = require('prr'); prr(...).

Licence

prr is Copyright (c) 2013 Rod Vagg @rvagg and licensed under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.

Versions

Version
1.0.1
0.0.0