Security News
New Proposed CISA Mandate Would Require Critical Infrastructure to Report Ransom Payments Within 24 Hours
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
A better Object.defineProperty()
Weekly downloads
Readme
An sensible alternative to Object.defineProperty()
. Available in npm and Ender as prr.
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 })
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
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(...)
.
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.
FAQs
A better Object.defineProperty()
The npm package prr receives a total of 8,344,655 weekly downloads. As such, prr popularity was classified as popular.
We found that prr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
Security News
Redis is no longer OSS, breaking its explicit commitment to remain under the BSD 3-Clause License forever. This has angered contributors who are now working to fork the software.
Product
Socket AI now enables 'AI detected potential malware' alerts by default, ensuring users benefit from AI-powered state-of-the-art malware detection without needing to opt-in.