freeze.js 393 B

1234567891011121314
  1. var keys = require('./keys');
  2. exports = function(obj) {
  3. if (Object.freeze) return Object.freeze(obj);
  4. keys(obj).forEach(function(prop) {
  5. if (!Object.getOwnPropertyDescriptor(obj, prop).configurable) return;
  6. Object.defineProperty(obj, prop, {
  7. writable: false,
  8. configurable: false
  9. });
  10. });
  11. return obj;
  12. };
  13. module.exports = exports;