Changeset 714

Show
Ignore:
Timestamp:
04/24/06 12:18:31 (2 years ago)
Author:
bob@redivi.com
Message:

flattenArguments

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • mochikit/trunk/MochiKit/Base.js

    r599 r714  
    7777    }, 
    7878             
     79    flattenArguments: function (lst/* ...*/) { 
     80        var res = []; 
     81        var m = MochiKit.Base; 
     82        var args = m.extend(null, arguments); 
     83        while (args.length) { 
     84            var o = args.shift(); 
     85            if (o && typeof(o) == "object" && typeof(o.length) == "number") { 
     86                for (var i = o.length - 1; i >= 0; i--) { 
     87                    args.unshift(o[i]); 
     88                } 
     89            } else { 
     90                res.push(o); 
     91            } 
     92        } 
     93        return res; 
     94    }, 
     95 
    7996    extend: function (self, obj, /* optional */skip) { 
    8097        /*** 
     
    13151332    "parseQueryString", 
    13161333    "find", 
    1317     "findIdentical" 
     1334    "findIdentical", 
     1335    "flattenArguments" 
    13181336]; 
    13191337 
  • mochikit/trunk/doc/html/MochiKit/Base.html

    r643 r714  
    492492</blockquote> 
    493493<p> 
     494<a name="fn-flattenarguments"></a> 
     495<a class="mochidef reference" href="#fn-flattenarguments">flattenArguments(arg[, ...])</a>:</p> 
     496<blockquote> 
     497<p>Given a bunch of arguments, return a single <tt class="docutils literal"><span class="pre">Array</span></tt> containing all 
     498of those arguments.  Any <tt class="docutils literal"><span class="pre">Array</span></tt> argument will be extended in-place, 
     499e.g.:</p> 
     500<pre class="literal-block"> 
     501compare(flattenArguments(1, [2, 3, [4, 5]]), [1, 2, 3, 4, 5]) == 0 
     502</pre> 
     503</blockquote> 
     504<p> 
    494505<a name="fn-forward"></a> 
    495506<a class="mochidef reference" href="#fn-forward">forward(name)</a>:</p> 
  • mochikit/trunk/doc/html/MochiKit/VersionHistory.html

    r706 r714  
    1616<p>2006-04-XX      v1.3 &quot;warp zone&quot;</p> 
    1717<ul class="simple"> 
     18<li>New MochiKit.Base.flattenArguments for flattening a list of arguments to 
     19a single Array</li> 
    1820<li>Refactored MochiRegExp example to use MochiKit.Signal</li> 
    1921<li>New key_events example demonstrating use of MochiKit.Signal's key handling 
  • mochikit/trunk/doc/html/MochiKit/index.html

    r706 r714  
    5555<p>2006-04-XX      v1.3 &quot;warp zone&quot;</p> 
    5656<ul class="simple"> 
     57<li>New MochiKit.Base.flattenArguments for flattening a list of arguments to 
     58a single Array</li> 
    5759<li>Refactored MochiRegExp example to use MochiKit.Signal</li> 
    5860<li>New key_events example demonstrating use of MochiKit.Signal's key handling 
  • mochikit/trunk/doc/rst/MochiKit/Base.rst

    r643 r714  
    506506 
    507507 
     508:mochidef:`flattenArguments(arg[, ...])`: 
     509 
     510    Given a bunch of arguments, return a single ``Array`` containing all 
     511    of those arguments.  Any ``Array`` argument will be extended in-place, 
     512    e.g.:: 
     513 
     514        compare(flattenArguments(1, [2, 3, [4, 5]]), [1, 2, 3, 4, 5]) == 0 
     515 
     516 
    508517:mochidef:`forward(name)`: 
    509518 
  • mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst

    r706 r714  
    112006-04-XX      v1.3 "warp zone" 
    22 
     3- New MochiKit.Base.flattenArguments for flattening a list of arguments to 
     4  a single Array 
    35- Refactored MochiRegExp example to use MochiKit.Signal 
    46- New key_events example demonstrating use of MochiKit.Signal's key handling 
  • mochikit/trunk/packed/MochiKit/MochiKit.js

    r712 r714  
    5454return new me(); 
    5555} 
    56 },extend:function(_9,obj,_11){ 
    57 if(!_11){ 
    58 _11=0; 
     56},flattenArguments:function(_9){ 
     57var res=[]; 
     58var m=MochiKit.Base; 
     59var _12=m.extend(null,arguments); 
     60while(_12.length){ 
     61var o=_12.shift(); 
     62if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){ 
     63for(var i=o.length-1;i>=0;i--){ 
     64_12.unshift(o[i]); 
     65
     66}else{ 
     67res.push(o); 
     68
     69
     70return res; 
     71},extend:function(_13,obj,_15){ 
     72if(!_15){ 
     73_15=0; 
    5974} 
    6075if(obj){ 
     
    6883} 
    6984} 
    70 if(!_9){ 
    71 _9=[]; 
    72 } 
    73 for(var i=_11;i<l;i++){ 
    74 _9.push(obj[i]); 
    75 } 
    76 } 
    77 return _9
    78 },updatetree:function(_13,obj){ 
    79 if(_13==null){ 
    80 _13={}; 
     85if(!_13){ 
     86_13=[]; 
     87} 
     88for(var i=_15;i<l;i++){ 
     89_13.push(obj[i]); 
     90} 
     91} 
     92return _13
     93},updatetree:function(_17,obj){ 
     94if(_17==null){ 
     95_17={}; 
    8196} 
    8297for(var i=1;i<arguments.length;i++){ 
     
    85100for(var k in o){ 
    86101var v=o[k]; 
    87 if(typeof (_13[k])=="object"&&typeof (v)=="object"){ 
    88 arguments.callee(_13[k],v); 
    89 }else{ 
    90 _13[k]=v; 
    91 } 
    92 } 
    93 } 
    94 } 
    95 return _13
    96 },setdefault:function(_15,obj){ 
    97 if(_15==null){ 
    98 _15={}; 
     102if(typeof (_17[k])=="object"&&typeof (v)=="object"){ 
     103arguments.callee(_17[k],v); 
     104}else{ 
     105_17[k]=v; 
     106} 
     107} 
     108} 
     109} 
     110return _17
     111},setdefault:function(_19,obj){ 
     112if(_19==null){ 
     113_19={}; 
    99114} 
    100115for(var i=1;i<arguments.length;i++){ 
    101116var o=arguments[i]; 
    102117for(var k in o){ 
    103 if(!(k in _15)){ 
    104 _15[k]=o[k]; 
    105 } 
    106 } 
    107 } 
    108 return _15
     118if(!(k in _19)){ 
     119_19[k]=o[k]; 
     120} 
     121} 
     122} 
     123return _19
    109124},keys:function(obj){ 
    110 var _16=[]; 
    111 for(var _17 in obj){ 
    112 _16.push(_17); 
    113 } 
    114 return _16
     125var _20=[]; 
     126for(var _21 in obj){ 
     127_20.push(_21); 
     128} 
     129return _20
    115130},items:function(obj){ 
    116 var _18=[]; 
     131var _22=[]; 
    117132var e; 
    118 for(var _20 in obj){ 
     133for(var _24 in obj){ 
    119134var v; 
    120135try{ 
    121 v=obj[_20]; 
     136v=obj[_24]; 
    122137} 
    123138catch(e){ 
    124139continue; 
    125140} 
    126 _18.push([_20,v]); 
    127 } 
    128 return _18
    129 },_newNamedError:function(_21,_22,_23){ 
    130 _23.prototype=new MochiKit.Base.NamedError(_21.NAME+"."+_22); 
    131 _21[_22]=_23
     141_22.push([_24,v]); 
     142} 
     143return _22
     144},_newNamedError:function(_25,_26,_27){ 
     145_27.prototype=new MochiKit.Base.NamedError(_25.NAME+"."+_26); 
     146_25[_26]=_27
    132147},operator:{truth:function(a){ 
    133148return !!a; 
     
    192207},contains:function(a,b){ 
    193208return b in a; 
    194 }},forward:function(_26){ 
     209}},forward:function(_30){ 
    195210return function(){ 
    196 return this[_26].apply(this,arguments); 
    197 }; 
    198 },itemgetter:function(_27){ 
     211return this[_30].apply(this,arguments); 
     212}; 
     213},itemgetter:function(_31){ 
    199214return function(arg){ 
    200 return arg[_27]; 
     215return arg[_31]; 
    201216}; 
    202217},typeMatcher:function(){ 
    203 var _29={}; 
     218var _33={}; 
    204219for(var i=0;i<arguments.length;i++){ 
    205220var typ=arguments[i]; 
    206 _29[typ]=typ; 
     221_33[typ]=typ; 
    207222} 
    208223return function(){ 
    209224for(var i=0;i<arguments.length;i++){ 
    210 if(!(typeof (arguments[i]) in _29)){ 
     225if(!(typeof (arguments[i]) in _33)){ 
    211226return false; 
    212227} 
     
    258273return MochiKit.Base.extend(null,arguments,1); 
    259274} 
    260 var _32=[]; 
     275var _36=[]; 
    261276for(var i=1;i<arguments.length;i++){ 
    262 _32.push(fn(arguments[i])); 
    263 } 
    264 return _32
     277_36.push(fn(arguments[i])); 
     278} 
     279return _36
    265280},map:function(fn,lst){ 
    266281var m=MochiKit.Base; 
    267 var _35=m.isArrayLike; 
     282var _38=m.isArrayLike; 
    268283if(arguments.length<=2){ 
    269 if(!_35(lst)){ 
     284if(!_38(lst)){ 
    270285if(MochiKit.Iter){ 
    271286lst=MochiKit.Iter.list(lst); 
     
    280295return m.extend(null,lst); 
    281296} 
    282 var _36=[]; 
     297var _39=[]; 
    283298for(var i=0;i<lst.length;i++){ 
    284 _36.push(fn(lst[i])); 
    285 } 
    286 return _36
     299_39.push(fn(lst[i])); 
     300} 
     301return _39
    287302}else{ 
    288303if(fn==null){ 
    289304fn=Array; 
    290305} 
    291 var _37=null; 
     306var _40=null; 
    292307for(i=1;i<arguments.length;i++){ 
    293 if(!_35(arguments[i])){ 
     308if(!_38(arguments[i])){ 
    294309if(MochiKit.Iter){ 
    295310arguments[i]=MochiKit.Iter.list(arguments[i]); 
     
    299314} 
    300315var l=arguments[i].length; 
    301 if(_37==null||_37>l){ 
    302 _37=l; 
    303 } 
    304 } 
    305 _36=[]; 
    306 for(i=0;i<_37;i++){ 
    307 var _38=[]; 
     316if(_40==null||_40>l){ 
     317_40=l; 
     318} 
     319} 
     320_39=[]; 
     321for(i=0;i<_40;i++){ 
     322var _41=[]; 
    308323for(var j=1;j<arguments.length;j++){ 
    309 _38.push(arguments[j][i]); 
    310 } 
    311 _36.push(fn.apply(this,_38)); 
    312 } 
    313 return _36
     324_41.push(arguments[j][i]); 
     325} 
     326_39.push(fn.apply(this,_41)); 
     327} 
     328return _39
    314329} 
    315330},xfilter:function(fn){ 
    316 var _40=[]; 
     331var _43=[]; 
    317332if(fn==null){ 
    318333fn=MochiKit.Base.operator.truth; 
     
    321336var o=arguments[i]; 
    322337if(fn(o)){ 
    323 _40.push(o); 
    324 } 
    325 } 
    326 return _40
    327 },filter:function(fn,lst,_41){ 
    328 var _42=[]; 
     338_43.push(o); 
     339} 
     340} 
     341return _43
     342},filter:function(fn,lst,_44){ 
     343var _45=[]; 
    329344var m=MochiKit.Base; 
    330345if(!m.isArrayLike(lst)){ 
     
    339354} 
    340355if(typeof (Array.prototype.filter)=="function"){ 
    341 return Array.prototype.filter.call(lst,fn,_41); 
    342 }else{ 
    343 if(typeof (_41)=="undefined"||_41==null){ 
     356return Array.prototype.filter.call(lst,fn,_44); 
     357}else{ 
     358if(typeof (_44)=="undefined"||_44==null){ 
    344359for(var i=0;i<lst.length;i++){ 
    345360var o=lst[i]; 
    346361if(fn(o)){ 
    347 _42.push(o); 
     362_45.push(o); 
    348363} 
    349364} 
     
    351366for(i=0;i<lst.length;i++){ 
    352367o=lst[i]; 
    353 if(fn.call(_41,o)){ 
    354 _42.push(o); 
    355 } 
    356 } 
    357 } 
    358 } 
    359 return _42
    360 },_wrapDumbFunction:function(_43){ 
     368if(fn.call(_44,o)){ 
     369_45.push(o); 
     370} 
     371} 
     372} 
     373} 
     374return _45
     375},_wrapDumbFunction:function(_46){ 
    361376return function(){ 
    362377switch(arguments.length){ 
    363378case 0: 
    364 return _43(); 
     379return _46(); 
    365380case 1: 
    366 return _43(arguments[0]); 
     381return _46(arguments[0]); 
    367382case 2: 
    368 return _43(arguments[0],arguments[1]); 
     383return _46(arguments[0],arguments[1]); 
    369384case 3: 
    370 return _43(arguments[0],arguments[1],arguments[2]); 
    371 } 
    372 var _44=[]; 
     385return _46(arguments[0],arguments[1],arguments[2]); 
     386} 
     387var _47=[]; 
    373388for(var i=0;i<arguments.length;i++){ 
    374 _44.push("arguments["+i+"]"); 
    375 } 
    376 return eval("(func("+_44.join(",")+"))"); 
    377 }; 
    378 },bind:function(_45,_46){ 
    379 if(typeof (_45)=="string"){ 
    380 _45=_46[_45]; 
    381 } 
    382 var _47=_45.im_func; 
    383 var _48=_45.im_preargs; 
    384 var _49=_45.im_self; 
     389_47.push("arguments["+i+"]"); 
     390} 
     391return eval("(func("+_47.join(",")+"))"); 
     392}; 
     393},bind:function(_48,_49){ 
     394if(typeof (_48)=="string"){ 
     395_48=_49[_48]; 
     396} 
     397var _50=_48.im_func; 
     398var _51=_48.im_preargs; 
     399var _52=_48.im_self; 
    385400var m=MochiKit.Base; 
    386 if(typeof (_45)=="function"&&typeof (_45.apply)=="undefined"){ 
    387 _45=m._wrapDumbFunction(_45); 
    388 } 
    389 if(typeof (_47)!="function"){ 
    390 _47=_45
    391 } 
    392 if(typeof (_46)!="undefined"){ 
    393 _49=_46
    394 } 
    395 if(typeof (_48)=="undefined"){ 
    396 _48=[]; 
    397 }else{ 
    398 _48=_48.slice(); 
    399 } 
    400 m.extend(_48,arguments,2); 
    401 var _50=function(){ 
    402 var _51=arguments; 
     401if(typeof (_48)=="function"&&typeof (_48.apply)=="undefined"){ 
     402_48=m._wrapDumbFunction(_48); 
     403} 
     404if(typeof (_50)!="function"){ 
     405_50=_48
     406} 
     407if(typeof (_49)!="undefined"){ 
     408_52=_49
     409} 
     410if(typeof (_51)=="undefined"){ 
     411_51=[]; 
     412}else{ 
     413_51=_51.slice(); 
     414} 
     415m.extend(_51,arguments,2); 
     416var _53=function(){ 
     417var _54=arguments; 
    403418var me=arguments.callee; 
    404419if(me.im_preargs.length>0){ 
    405 _51=m.concat(me.im_preargs,_51); 
    406 } 
    407 var _46=me.im_self; 
    408 if(!_46){ 
    409 _46=this; 
    410 } 
    411 return me.im_func.apply(_46,_51); 
    412 }; 
    413 _50.im_self=_49
    414 _50.im_func=_47
    415 _50.im_preargs=_48
    416 return _50
    417 },bindMethods:function(_52){ 
    418 var _53=MochiKit.Base.bind; 
    419 for(var k in _52){ 
    420 var _54=_52[k]; 
    421 if(typeof (_54)=="function"){ 
    422 _52[k]=_53(_54,_52); 
    423 } 
    424 } 
    425 },registerComparator:function(_55,_56,_57,_58){ 
    426 MochiKit.Base.comparatorRegistry.register(_55,_56,_57,_58); 
     420_54=m.concat(me.im_preargs,_54); 
     421} 
     422var _49=me.im_self; 
     423if(!_49){ 
     424_49=this; 
     425} 
     426return me.im_func.apply(_49,_54); 
     427}; 
     428_53.im_self=_52
     429_53.im_func=_50
     430_53.im_preargs=_51
     431return _53
     432},bindMethods:function(_55){ 
     433var _56=MochiKit.Base.bind; 
     434for(var k in _55){ 
     435var _57=_55[k]; 
     436if(typeof (_57)=="function"){ 
     437_55[k]=_56(_57,_55); 
     438} 
     439} 
     440},registerComparator:function(_58,_59,_60,_61){ 
     441MochiKit.Base.comparatorRegistry.register(_58,_59,_60,_61); 
    427442},_primitives:{"bool":true,"string":true,"number":true},compare:function(a,b){ 
    428443if(a==b){ 
    429444return 0; 
    430445} 
    431 var _59=(typeof (a)=="undefined"||a==null); 
    432 var _60=(typeof (b)=="undefined"||b==null); 
    433 if(_59&&_60){ 
     446var _62=(typeof (a)=="undefined"||a==null); 
     447var _63=(typeof (b)=="undefined"||b==null); 
     448if(_62&&_63){ 
    434449return 0; 
    435450}else{ 
    436 if(_59){ 
     451if(_62){ 
    437452return -1; 
    438453}else{ 
    439 if(_60){ 
     454if(_63){ 
    440455return 1; 
    441456} 
     
    443458} 
    444459var m=MochiKit.Base; 
    445 var _61=m._primitives; 
    446 if(!(typeof (a) in _61&&typeof (b) in _61)){ 
     460var _64=m._primitives; 
     461if(!(typeof (a) in _64&&typeof (b) in _64)){ 
    447462try{ 
    448463return m.comparatorRegistry.match(a,b); 
     
    461476} 
    462477} 
    463 var _62=m.repr; 
    464 throw new TypeError(_62(a)+" and "+_62(b)+" can not be compared"); 
     478var _65=m.repr; 
     479throw new TypeError(_65(a)+" and "+_65(b)+" can not be compared"); 
    465480},compareDateLike:function(a,b){ 
    466481return MochiKit.Base.compare(a.getTime(),b.getTime()); 
    467482},compareArrayLike:function(a,b){ 
    468 var _63=MochiKit.Base.compare; 
    469 var _64=a.length; 
    470 var _65=0; 
    471 if(_64>b.length){ 
    472 _65=1; 
    473 _64=b.length; 
    474 }else{ 
    475 if(_64<b.length){ 
    476 _65=-1; 
    477 } 
    478 } 
    479 for(var i=0;i<_64;i++){ 
    480 var cmp=_63(a[i],b[i]); 
     483var _66=MochiKit.Base.compare; 
     484var _67=a.length; 
     485var _68=0; 
     486if(_67>b.length){ 
     487_68=1; 
     488_67=b.length; 
     489}else{ 
     490if(_67<b.length){ 
     491_68=-1; 
     492} 
     493} 
     494for(var i=0;i<_67;i++){ 
     495var cmp=_66(a[i],b[i]); 
    481496if(cmp){ 
    482497return cmp; 
    483498} 
    484499} 
    485 return _65
    486 },registerRepr:function(_67,_68,_69,_70){ 
    487 MochiKit.Base.reprRegistry.register(_67,_68,_69,_70); 
     500return _68
     501},registerRepr:function(_70,_71,_72,_73){ 
     502MochiKit.Base.reprRegistry.register(_70,_71,_72,_73); 
    488503},repr:function(o){ 
    489504if(typeof (o)=="undefined"){ 
     
    510525} 
    511526try{ 
    512 var _71=(o+""); 
     527var _74=(o+""); 
    513528} 
    514529catch(e){ 
     
    516531} 
    517532if(typeof (o)=="function"){ 
    518 o=_71.replace(/^\s+/,""); 
     533o=_74.replace(/^\s+/,""); 
    519534var idx=o.indexOf("{"); 
    520535if(idx!=-1){ 
     
    522537} 
    523538} 
    524 return _71
     539return _74
    525540},reprArrayLike:function(o){ 
    526541var m=MochiKit.Base; 
     
    530545},reprNumber:function(o){ 
    531546return o+""; 
    532 },registerJSON:function(_73,_74,_75,_76){ 
    533 MochiKit.Base.jsonRegistry.register(_73,_74,_75,_76); 
     547},registerJSON:function(_76,_77,_78,_79){ 
     548MochiKit.Base.jsonRegistry.register(_76,_77,_78,_79); 
    534549},evalJSON:function(){ 
    535550return eval("("+arguments[0]+")"); 
    536551},serializeJSON:function(o){ 
    537 var _77=typeof (o); 
    538 if(_77=="undefined"){ 
     552var _80=typeof (o); 
     553if(_80=="undefined"){ 
    539554return "undefined"; 
    540555}else{ 
    541 if(_77=="number"||_77=="boolean"){ 
     556if(_80=="number"||_80=="boolean"){ 
    542557return o+""; 
    543558}else{ 
     
    548563} 
    549564var m=MochiKit.Base; 
    550 var _78=m.reprString; 
    551 if(_77=="string"){ 
    552 return _78(o); 
     565var _81=m.reprString; 
     566if(_80=="string"){ 
     567return _81(o); 
    553568} 
    554569var me=arguments.callee; 
    555 var _79
     570var _82
    556571if(typeof (o.__json__)=="function"){ 
    557 _79=o.__json__(); 
    558 if(o!==_79){ 
    559 return me(_79); 
     572_82=o.__json__(); 
     573if(o!==_82){ 
     574return me(_82); 
    560575} 
    561576} 
    562577if(typeof (o.json)=="function"){ 
    563 _79=o.json(); 
    564 if(o!==_79){ 
    565 return me(_79); 
    566 } 
    567 } 
    568 if(_77!="function"&&typeof (o.length)=="number"){ 
     578_82=o.json(); 
     579if(o!==_82){ 
     580return me(_82); 
     581} 
     582} 
     583if(_80!="function"&&typeof (o.length)=="number"){ 
    569584var res=[]; 
    570585for(var i=0;i<o.length;i++){ 
     
    578593} 
    579594try{ 
    580 _79=m.jsonRegistry.match(o); 
    581 return me(_79); 
     595_82=m.jsonRegistry.match(o); 
     596return me(_82); 
    582597} 
    583598catch(e){ 
     
    586601} 
    587602} 
    588 if(_77=="function"){ 
     603if(_80=="function"){ 
    589604return null; 
    590605} 
    591606res=[]; 
    592607for(var k in o){ 
    593 var _82
     608var _84
    594609if(typeof (k)=="number"){ 
    595 _82="\""+k+"\""; 
     610_84="\""+k+"\""; 
    596611}else{ 
    597612if(typeof (k)=="string"){ 
    598 _82=_78(k); 
     613_84=_81(k); 
    599614}else{ 
    600615continue; 
     
    605620continue; 
    606621} 
    607 res.push(_82+":"+val); 
     622res.push(_84+":"+val); 
    608623} 
    609624return "{"+res.join(", ")+"}"; 
    610625},objEqual:function(a,b){ 
    611626return (MochiKit.Base.compare(a,b)==0); 
    612 },arrayEqual:function(_83,arr){ 
    613 if(_83.length!=arr.length){ 
     627},arrayEqual:function(_85,arr){ 
     628if(_85.length!=arr.length){ 
    614629return false; 
    615630} 
    616 return (MochiKit.Base.compare(_83,arr)==0); 
     631return (MochiKit.Base.compare(_85,arr)==0); 
    617632},concat:function(){ 
    618 var _85=[]; 
    619 var _86=MochiKit.Base.extend; 
     633var _87=[]; 
     634var _88=MochiKit.Base.extend; 
    620635for(var i=0;i<arguments.length;i++){ 
    621 _86(_85,arguments[i]); 
    622 } 
    623 return _85
     636_88(_87,arguments[i]); 
     637} 
     638return _87
    624639},keyComparator:function(key){ 
    625640var m=MochiKit.Base; 
    626 var _88=m.compare; 
     641var _90=m.compare; 
    627642if(arguments.length==1){ 
    628643return function(a,b){ 
    629 return _88(a[key],b[key]); 
    630 }; 
    631 } 
    632 var _89=m.extend(null,arguments); 
     644return _90(a[key],b[key]); 
     645}; 
     646} 
     647var _91=m.extend(null,arguments); 
    633648return function(a,b){ 
    634 var _90=0; 
    635 for(var i=0;(_90==0)&&(i<_89.length);i++){ 
    636 var key=_89[i]; 
    637 _90=_88(a[key],b[key]); 
    638 } 
    639 return _90
     649var _92=0; 
     650for(var i=0;(_92==0)&&(i<_91.length);i++){ 
     651var key=_91[i]; 
     652_92=_90(a[key],b[key]); 
     653} 
     654return _92
    640655}; 
    641656},reverseKeyComparator:function(key){ 
    642 var _91=MochiKit.Base.keyComparator.apply(this,arguments); 
     657var _93=MochiKit.Base.keyComparator.apply(this,arguments); 
    643658return function(a,b){ 
    644 return _91(b,a); 
    645 }; 
    646 },partial:function(_92){ 
     659return _93(b,a); 
     660}; 
     661},partial:function(_94){ 
    647662var m=MochiKit.Base; 
    648 return m.bind.apply(this,m.extend([_92,undefined],arguments,1)); 
    649 },listMinMax:function(_93,lst){ 
     663return m.bind.apply(this,m.extend([_94,undefined],arguments,1)); 
     664},listMinMax:function(_95,lst){ 
    650665if(lst.length==0){ 
    651666return null; 
    652667} 
    653668var cur=lst[0]; 
    654 var _95=MochiKit.Base.compare; 
     669var _97=MochiKit.Base.compare; 
    655670for(var i=1;i<lst.length;i++){ 
    656671var o=lst[i]; 
    657 if(_95(o,cur)==_93){ 
     672if(_97(o,cur)==_95){ 
    658673cur=o; 
    659674} 
     
    664679},objMin:function(){ 
    665680return MochiKit.Base.listMinMax(-1,arguments); 
    666 },findIdentical:function(lst,_96,_97,end){ 
     681},findIdentical:function(lst,_98,_99,end){ 
    667682if(typeof (end)=="undefined"||end==null){ 
    668683end=lst.length; 
    669684} 
    670 for(var i=(_97||0);i<end;i++){ 
    671 if(lst[i]===_96){ 
     685for(var i=(_99||0);i<end;i++){ 
     686if(lst[i]===_98){ 
    672687return i; 
    673688} 
    674689} 
    675690return -1; 
    676 },find:function(lst,_99,_100,end){ 
     691},find:function(lst,_101,_102,end){ 
    677692if(typeof (end)=="undefined"||end==null){ 
    678693end=lst.length; 
    679694} 
    680695var cmp=MochiKit.Base.compare; 
    681 for(var i=(_100||0);i<end;i++){ 
    682 if(cmp(lst[i],_99)==0){ 
     696for(var i=(_102||0);i<end;i++){ 
     697if(cmp(lst[i],_101)==0){ 
    683698return i; 
    684699} 
    685700} 
    686701return -1; 
    687 },nodeWalk:function(node,_102){ 
    688 var _103=[node]; 
    689 var _104=MochiKit.Base.extend; 
    690 while(_103.length){ 
    691 var res=_102(_103.shift()); 
     702},nodeWalk:function(node,_104){ 
     703var _105=[node]; 
     704var _106=MochiKit.Base.extend; 
     705while(_105.length){ 
     706var res=_104(_105.shift()); 
    692707if(res){ 
    693 _104(_103,res); 
    694 } 
    695 } 
    696 },nameFunctions:function(_105){ 
    697 var base=_105.NAME; 
     708_106(_105,res); 
     709} 
     710} 
     711},nameFunctions:function(_107){ 
     712var base=_107.NAME; 
    698713if(typeof (base)=="undefined"){ 
    699714base=""; 
     
    701716base=base+"."; 
    702717} 
    703 for(var name in _105){ 
    704 var o=_105[name]; 
     718for(var name in _107){ 
     719var o=_107[name]; 
    705720if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){ 
    706721try{ 
     
    711726} 
    712727} 
    713 },queryString:function(_108,_109){ 
    714 if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_108)=="string"||(typeof (_108.nodeType)!="undefined"&&_108.nodeType>0))){ 
    715 var kv=MochiKit.DOM.formContents(_108); 
    716 _108=kv[0]; 
    717 _109=kv[1]; 
     728},queryString:function(_110,_111){ 
     729if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_110)=="string"||(typeof (_110.nodeType)!="undefined"&&_110.nodeType>0))){ 
     730var kv=MochiKit.DOM.formContents(_110); 
     731_110=kv[0]; 
     732_111=kv[1]; 
    718733}else{ 
    719734if(arguments.length==1){ 
    720 var o=_108
    721 _108=[]; 
    722 _109=[]; 
     735var o=_110
     736_110=[]; 
     737_111=[]; 
    723738for(var k in o){ 
    724739var v=o[k]; 
    725740if(typeof (v)!="function"){ 
    726 _108.push(k); 
    727 _109.push(v); 
     741_110.push(k); 
     742_111.push(v); 
    728743} 
    729744} 
     
    731746} 
    732747var rval=[]; 
    733 var len=Math.min(_108.length,_109.length); 
    734 var _113=MochiKit.Base.urlEncode; 
     748var len=Math.min(_110.length,_111.length); 
     749var _115=MochiKit.Base.urlEncode; 
    735750for(var i=0;i<len;i++){ 
    736 v=_109[i]; 
     751v=_111[i]; 
    737752if(typeof (v)!="undefined"&&v!=null){ 
    738 rval.push(_113(_108[i])+"="+_113(v)); 
     753rval.push(_115(_110[i])+"="+_115(v)); 
    739754} 
    740755} 
    741756return rval.join("&"); 
    742 },parseQueryString:function(_114,_115){ 
    743 var _116=_114.replace(/\+/g,"%20").split("&"); 
     757},parseQueryString:function(_116,_117){ 
     758var _118=_116.replace(/\+/g,"%20").split("&"); 
    744759var o={}; 
    745 var _117
     760var _119
    746761if(typeof (decodeURIComponent)!="undefined"){ 
    747 _117=decodeURIComponent; 
    748 }else{ 
    749 _117=unescape; 
    750 } 
    751 if(_115){ 
    752 for(var i=0;i<_116.length;i++){ 
    753 var pair=_116[i].split("="); 
    754 var name=_117(pair[0]); 
     762_119=decodeURIComponent; 
     763}else{ 
     764_119=unescape; 
     765} 
     766if(_117){ 
     767for(var i=0;i<_118.length;i++){ 
     768var pair=_118[i].split("="); 
     769var name=_119(pair[0]); 
    755770var arr=o[name]; 
    756771if(!(arr instanceof Array)){ 
     
    758773o[name]=arr; 
    759774} 
    760 arr.push(_117(pair[1])); 
    761 } 
    762 }else{ 
    763 for(i=0;i<_116.length;i++){ 
    764 pair=_116[i].split("="); 
    765 o[_117(pair[0])]=_117(pair[1]); 
     775arr.push(_119(pair[1])); 
     776} 
     777}else{ 
     778for(i=0;i<_118.length;i++){ 
     779pair=_118[i].split("="); 
     780o[_119(pair[0])]=_119(pair[1]); 
    766781} 
    767782} 
     
    771786this.pairs=[]; 
    772787}; 
    773 MochiKit.Base.AdapterRegistry.prototype={register:function(name,_119,wrap,_121){ 
    774 if(_121){ 
    775 this.pairs.unshift([name,_119,wrap]); 
    776 }else{ 
    777 this.pairs.push([name,_119,wrap]); 
     788MochiKit.Base.AdapterRegistry.prototype={register:function(name,_121,wrap,_123){ 
     789if(_123){ 
     790this.pairs.unshift([name,_121,wrap]); 
     791}else{ 
     792this.pairs.push([name,_121,wrap]); 
    778793} 
    779794},match:function(){ 
     
    795810return false; 
    796811}}; 
    797 MochiKit.Base.EXPORT=["counter","clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forward","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","find","findIdentical"]; 
     812MochiKit.Base.EXPORT=["counter","clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forward","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","find","findIdentical","flattenArguments"]; 
    798813MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"]; 
    799 MochiKit.Base._exportSymbols=function(_122,_123){ 
     814MochiKit.Base._exportSymbols=function(_124,_125){ 
    800815if(typeof (MochiKit.__export__)=="undefined"){ 
    801816MochiKit.__export__=(MochiKit.__compat__||(typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")); 
     
    804819return; 
    805820} 
    806 var all=_123.EXPORT_TAGS[":all"]; 
     821var all=_125.EXPORT_TAGS[":all"]; 
    807822for(var i=0;i<all.length;i++){ 
    808 _122[all[i]]=_123[all[i]]; 
     823_124[all[i]]=_125[all[i]]; 
    809824} 
    810825}; 
     
    812827var m=this; 
    813828if(typeof (encodeURIComponent)!="undefined"){ 
    814 m.urlEncode=function(_125){ 
    815 return encodeURIComponent(_125).replace(/\'/g,"%27"); 
    816 }; 
    817 }else{ 
    818 m.urlEncode=function(_126){ 
    819 return escape(_126).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27"); 
     829m.urlEncode=function(_127){ 
     830return encodeURIComponent(_127).replace(/\'/g,"%27"); 
     831}; 
     832}else{ 
     833m.urlEncode=function(_128){ 
     834return escape(_128).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27"); 
    820835}; 
    821836} 
     
    878893},toString:function(){ 
    879894return this.__repr__(); 
    880 },registerIteratorFactory:function(name,_127,_128,_129){ 
    881 MochiKit.Iter.iteratorRegistry.register(name,_127,_128,_129); 
    882 },iter:function(_130,_131){ 
     895},registerIteratorFactory:function(name,_129,_130,_131){ 
     896MochiKit.Iter.iteratorRegistry.register(name,_129,_130,_131); 
     897},iter:function(_132,_133){ 
    883898var self=MochiKit.Iter; 
    884899if(arguments.length==2){ 
    885900return self.takewhile(function(a){ 
    886 return a!=_131
    887 },_130); 
    888 } 
    889 if(typeof (_130.next)=="function"){ 
    890 return _130
    891 }else{ 
    892 if(typeof (_130.iter)=="function"){ 
    893 return _130.iter(); 
    894 } 
    895 } 
    896 try{ 
    897 return self.iteratorRegistry.match(_130); 
     901return a!=_133
     902},_132); 
     903} 
     904if(typeof (_132.next)=="function"){ 
     905return _132
     906}else{ 
     907if(typeof (_132.iter)=="function"){ 
     908return _132.iter(); 
     909} 
     910} 
     911try{ 
     912return self.iteratorRegistry.match(_132); 
    898913} 
    899914catch(e){ 
    900915var m=MochiKit.Base; 
    901916if(e==m.NotFound){ 
    902 e=new TypeError(typeof (_130)+": "+m.repr(_130)+" is not iterable"); 
     917e=new TypeError(typeof (_132)+": "+m.repr(_132)+" is not iterable"); 
    903918} 
    904919throw e; 
     
    916931var m=MochiKit.Base; 
    917932var lst=[]; 
    918 var _134=self.iter(p); 
     933var _136=self.iter(p); 
    919934return {repr:function(){ 
    920935return "cycle(...)"; 
    921936},toString:m.forward("repr"),next:function(){ 
    922937try{ 
    923 var rval=_134.next(); 
     938var rval=_136.next(); 
    924939lst.push(rval); 
    925940return rval; 
     
    961976return elem; 
    962977}}; 
    963 },next:function(_136){ 
    964 return _136.next(); 
     978},next:function(_138){ 
     979return _138.next(); 
    965980},izip:function(p,q){ 
    966981var m=MochiKit.Base; 
    967982var next=MochiKit.Iter.next; 
    968 var _139=m.map(iter,arguments); 
     983var _141=m.map(iter,arguments); 
    969984return {repr:function(){ 
    970985return "izip(...)"; 
    971986},toString:m.forward("repr"),next:function(){ 
    972 return m.map(next,_139); 
     987return m.map(next,_141); 
    973988}}; 
    974989},ifilter:function(pred,seq){ 
     
    10101025var m=MochiKit.Base; 
    10111026seq=self.iter(seq); 
    1012 var _142=0; 
     1027var _144=0; 
    10131028var stop=0; 
    10141029var step=1; 
     
    10181033}else{ 
    10191034if(arguments.length==3){ 
    1020 _142=arguments[1]; 
     1035_144=arguments[1]; 
    10211036stop=arguments[2]; 
    10221037}else{ 
    1023 _142=arguments[1]; 
     1038_144=arguments[1]; 
    10241039stop=arguments[2]; 
    10251040step=arguments[3]; 
     
    10271042} 
    10281043return {repr:function(){ 
    1029 return "islice("+["...",_142,stop,step].join(", ")+")"; 
     1044return "islice("+["...",_144,stop,step].join(", ")+")"; 
    10301045},toString:m.forward("repr"),next:function(){ 
    10311046var rval; 
    1032 while(i<_142){ 
     1047while(i<_144){ 
    10331048rval=seq.next(); 
    10341049i++; 
    10351050} 
    1036 if(_142>=stop){ 
     1051if(_144>=stop){ 
    10371052throw self.StopIteration; 
    10381053} 
    1039 _142+=step; 
     1054_144+=step; 
    10401055return rval; 
    10411056}}; 
     
    10431058var m=MochiKit.Base; 
    10441059var self=MochiKit.Iter; 
    1045 var _146=m.map(self.iter,m.extend(null,arguments,1)); 
     1060var _148=m.map(self.iter,m.extend(null,arguments,1)); 
    10461061var map=m.map; 
    10471062var next=self.next; 
     
    10491064return "imap(...)"; 
    10501065},toString:m.forward("repr"),next:function(){ 
    1051 return fun.apply(this,map(next,_146)); 
     1066return fun.apply(this,map(next,_148)); 
    10521067}}; 
    10531068},applymap:function(fun,seq,self){ 
     
    10651080return self.iter(arguments[0]); 
    10661081} 
    1067 var _148=m.map(self.iter,arguments); 
     1082var _150=m.map(self.iter,arguments); 
    10681083return {repr:function(){ 
    10691084return "chain(...)"; 
    10701085},toString:m.forward("repr"),next:function(){ 
    1071 while(_148.length>1){ 
    1072 try{ 
    1073 return _148[0].next(); 
     1086while(_150.length>1){ 
     1087try{ 
     1088return _150[0].next(); 
    10741089} 
    10751090catch(e){ 
     
    10771092throw e; 
    10781093} 
    1079 _148.shift(); 
    1080 } 
    1081 } 
    1082 if(_148.length==1){ 
    1083 var arg=_148.shift(); 
     1094_150.shift(); 
     1095} 
     1096} 
     1097if(_150.length==1){ 
     1098var arg=_150.shift(); 
    10841099this.next=m.bind("next",arg); 
    10851100return this.next(); 
     
    11181133return rval; 
    11191134}}; 
    1120 },_tee:function(_150,sync,_152){ 
    1121 sync.pos[_150]=-1; 
     1135},_tee:function(_152,sync,_154){ 
     1136sync.pos[_152]=-1; 
    11221137var m=MochiKit.Base; 
    1123 var _153=m.listMin; 
     1138var _155=m.listMin; 
    11241139return {repr:function(){ 
    1125 return "tee("+_150+", ...)"; 
     1140return "tee("+_152+", ...)"; 
    11261141},toString:m.forward("repr"),next:function(){ 
    11271142var rval; 
    1128 var i=sync.pos[_150]; 
     1143var i=sync.pos[_152]; 
    11291144if(i==sync.max){ 
    1130 rval=_152.next(); 
     1145rval=_154.next(); 
    11311146sync.deque.push(rval); 
    11321147sync.max+=1; 
    1133 sync.pos[_150]+=1; 
     1148sync.pos[_152]+=1; 
    11341149}else{ 
    11351150rval=sync.deque[i-sync.min]; 
    1136 sync.pos[_150]+=1; 
    1137 if(i==sync.min&&_153(sync.pos)!=sync.min){ 
     1151sync.pos[_152]+=1; 
     1152if(i==sync.min&&_155(sy