Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 20th, 2012  |  syntax: None  |  size: 0.60 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.         function buildAccess ( storage, convertKey, convertValue ) {
  2.  
  3.                 return function access ( key, value ) {
  4.  
  5.                         if (typeof key === "object") {
  6.                                 for (var k in key) {
  7.                                         access( k, key[k] );
  8.                                 }
  9.                                 return storage;
  10.                         }
  11.  
  12.                         if (convertKey) {
  13.                                 key = convertKey( key );
  14.                         }
  15.                         if (value === undefined) {
  16.                                 if (arguments.length === 1) {
  17.                                         return storage[key];
  18.  
  19.                                 } else {
  20.                                         //allow access(key, undefined)
  21.                                         //to delete the key from storage
  22.                                         delete storage[key];
  23.                                 }
  24.                         } else {
  25.                                 if (convertValue) {
  26.                                         value = convertValue( value );
  27.                                 }
  28.                                 return (storage[key] = value);
  29.                         }
  30.                 };
  31.         }