npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

@exodus/proxy-freeze

2.0.0

@andrejb

npmHomeRepoSnykSocket
Downloads:21
$ npm install @exodus/proxy-freeze
DailyWeeklyMonthlyYearly

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