Socket
Book a DemoInstallSign in
Socket

@exodus/proxy-freeze

Package Overview
Dependencies
Maintainers
83
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@exodus/proxy-freeze

Simple way to freeze JavaScript objects and know of attempted modifications

latest
Source
npmnpm
Version
2.0.0
Version published
Maintainers
83
Created
Source

proxy-freeze

npm travis standard

A simple way to freeze JavaScript objects and know of attempted modifications.

Why?

Why not just use Object.freeze and Object.isFrozen?

If you use Object.freeze and later set a property on that object, it silently fails unless in strict mode. Also, using this technique gives you the ability to listen for warnings on the warning event.

Install

npm install --save proxy-freeze

Usage

proxyFreeze(target, options)

  • target: can be either an object or constructor function
  • options
    • addProxyIdentifier: boolean, adds a symbol getter that detects Proxies created via this method. Defaults to false.
    • preventRefreeze: boolean, uses symbol added via addProxyIdentifier to identify frozen Proxies and doesn't re-freeze them. Defaults to false.
const obj = {
  name: 'jp'
}

const obj2 = proxyFreeze(obj)
obj2.name = 'bob'

process.once('warning', (warning) => {
  console.warn(warning.name) // => ProxyFreezeWarning
  console.warn(warning.message) // => Trying to set value of property (name) of frozen object.
  console.warn(warning.stack)
})

License

MIT

Keywords

proxy

FAQs

Package last updated on 02 Feb 2023

Did you know?

Socket

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.

Install

Related posts