Guest User

Untitled

a guest
Oct 26th, 2017
767
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. const config = {};
  2. config.email = 'email@email.com';
  3. config.emailOverwrite = true;
  4. config.overwriteEmails = [
  5. 'e1@mail.com',
  6. 'e2@mail.com'
  7. ];
  8.  
  9. const readOnly = (object) => {
  10. const handler = {
  11. get: (target, key, receiver) => {
  12. if (Object(target[key]) !== target[key]){
  13. return target[key];
  14. } else {
  15. return readOnly(target[key]);
  16. }
  17. },
  18. set: (target, key, value, receiver) => {throw new Error('Read Only')}
  19. }
  20. return new Proxy(object, handler);
  21. }
  22.  
  23. readOnlyObject = readonly(config);
  24.  
  25. readOnlyObject.overwriteEmails.push('test'); // throws
Add Comment
Please, Sign In to add comment