dojox/lang/oo/rearrange.js

  • Provides:

    • dojox.lang.oo.rearrange
  • opts

    • summary
  • dojox.lang.oo.rearrange

    • type
      Function
    • parameters:
      • bag: (typeof Object)
        the object to be processed
      • map: (typeof Object)
        the dictionary for renaming (false value indicates removal of the named property)
    • source: [view]
       var name, newName, prop, i, t;


        for(name in map){
         newName = map[name];
         if(!newName || opts.call(newName) == "[object String]"){
          prop = bag[name];
          if(!(name in empty) || empty[name] !== prop){
           if(!(delete bag[name])){
            // can't delete => hide it
            bag[name] = undefined;
           }
           if(newName){
            bag[newName] = prop;
           }
          }
         }
        }
        if(extraLen){
         for(i = 0; i < extraLen; ++i){
          name = extraNames[i];
          // repeating the body above
          newName = map[name];
          if(!newName || opts.call(newName) == "[object String]"){
           prop = bag[name];
           if(!(name in empty) || empty[name] !== prop){
            if(!(delete bag[name])){
             // can't delete => hide it
             bag[name] = undefined;
            }
            if(newName){
             bag[newName] = prop;
            }
           }
          }
         }
        }


        return bag; // Object
    • summary
      Process properties in place by removing and renaming them.
    • description
      Properties of an object are to be renamed or removed specified
      by "map" argument. Only own properties of "map" are processed.
    • return_summary
      Object:
      the original object
    • returns
      Object
    • example
      
      	oo.rearrange(bag, {
      		abc: "def",	// rename "abc" attribute to "def"
      		ghi: null	// remove/hide "ghi" attribute
      	});
    • chains:
      • opts: (call)
  • empty

    • type
      Object
    • summary
  • dojox.lang.oo

    • type
      Object
    • summary
  • dojox.lang

    • type
      Object
    • summary
  • dojox

    • type
      Object
    • summary