Changeset 714
- Timestamp:
- 04/24/06 12:18:31 (2 years ago)
- Files:
-
- mochikit/trunk/MochiKit/Base.js (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/Base.html (modified) (1 diff)
- mochikit/trunk/doc/html/MochiKit/VersionHistory.html (modified) (1 diff)
- mochikit/trunk/doc/html/MochiKit/index.html (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/Base.rst (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst (modified) (1 diff)
- mochikit/trunk/packed/MochiKit/MochiKit.js (modified) (155 diffs)
- mochikit/trunk/tests/test_Base.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mochikit/trunk/MochiKit/Base.js
r599 r714 77 77 }, 78 78 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 79 96 extend: function (self, obj, /* optional */skip) { 80 97 /*** … … 1315 1332 "parseQueryString", 1316 1333 "find", 1317 "findIdentical" 1334 "findIdentical", 1335 "flattenArguments" 1318 1336 ]; 1319 1337 mochikit/trunk/doc/html/MochiKit/Base.html
r643 r714 492 492 </blockquote> 493 493 <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 498 of those arguments. Any <tt class="docutils literal"><span class="pre">Array</span></tt> argument will be extended in-place, 499 e.g.:</p> 500 <pre class="literal-block"> 501 compare(flattenArguments(1, [2, 3, [4, 5]]), [1, 2, 3, 4, 5]) == 0 502 </pre> 503 </blockquote> 504 <p> 494 505 <a name="fn-forward"></a> 495 506 <a class="mochidef reference" href="#fn-forward">forward(name)</a>:</p> mochikit/trunk/doc/html/MochiKit/VersionHistory.html
r706 r714 16 16 <p>2006-04-XX v1.3 "warp zone"</p> 17 17 <ul class="simple"> 18 <li>New MochiKit.Base.flattenArguments for flattening a list of arguments to 19 a single Array</li> 18 20 <li>Refactored MochiRegExp example to use MochiKit.Signal</li> 19 21 <li>New key_events example demonstrating use of MochiKit.Signal's key handling mochikit/trunk/doc/html/MochiKit/index.html
r706 r714 55 55 <p>2006-04-XX v1.3 "warp zone"</p> 56 56 <ul class="simple"> 57 <li>New MochiKit.Base.flattenArguments for flattening a list of arguments to 58 a single Array</li> 57 59 <li>Refactored MochiRegExp example to use MochiKit.Signal</li> 58 60 <li>New key_events example demonstrating use of MochiKit.Signal's key handling mochikit/trunk/doc/rst/MochiKit/Base.rst
r643 r714 506 506 507 507 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 508 517 :mochidef:`forward(name)`: 509 518 mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst
r706 r714 1 1 2006-04-XX v1.3 "warp zone" 2 2 3 - New MochiKit.Base.flattenArguments for flattening a list of arguments to 4 a single Array 3 5 - Refactored MochiRegExp example to use MochiKit.Signal 4 6 - New key_events example demonstrating use of MochiKit.Signal's key handling mochikit/trunk/packed/MochiKit/MochiKit.js
r712 r714 54 54 return new me(); 55 55 } 56 },extend:function(_9,obj,_11){ 57 if(!_11){ 58 _11=0; 56 },flattenArguments:function(_9){ 57 var res=[]; 58 var m=MochiKit.Base; 59 var _12=m.extend(null,arguments); 60 while(_12.length){ 61 var o=_12.shift(); 62 if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){ 63 for(var i=o.length-1;i>=0;i--){ 64 _12.unshift(o[i]); 65 } 66 }else{ 67 res.push(o); 68 } 69 } 70 return res; 71 },extend:function(_13,obj,_15){ 72 if(!_15){ 73 _15=0; 59 74 } 60 75 if(obj){ … … 68 83 } 69 84 } 70 if(!_ 9){71 _ 9=[];72 } 73 for(var i=_1 1;i<l;i++){74 _ 9.push(obj[i]);75 } 76 } 77 return _ 9;78 },updatetree:function(_1 3,obj){79 if(_1 3==null){80 _1 3={};85 if(!_13){ 86 _13=[]; 87 } 88 for(var i=_15;i<l;i++){ 89 _13.push(obj[i]); 90 } 91 } 92 return _13; 93 },updatetree:function(_17,obj){ 94 if(_17==null){ 95 _17={}; 81 96 } 82 97 for(var i=1;i<arguments.length;i++){ … … 85 100 for(var k in o){ 86 101 var v=o[k]; 87 if(typeof (_1 3[k])=="object"&&typeof (v)=="object"){88 arguments.callee(_1 3[k],v);89 }else{ 90 _1 3[k]=v;91 } 92 } 93 } 94 } 95 return _1 3;96 },setdefault:function(_1 5,obj){97 if(_1 5==null){98 _1 5={};102 if(typeof (_17[k])=="object"&&typeof (v)=="object"){ 103 arguments.callee(_17[k],v); 104 }else{ 105 _17[k]=v; 106 } 107 } 108 } 109 } 110 return _17; 111 },setdefault:function(_19,obj){ 112 if(_19==null){ 113 _19={}; 99 114 } 100 115 for(var i=1;i<arguments.length;i++){ 101 116 var o=arguments[i]; 102 117 for(var k in o){ 103 if(!(k in _1 5)){104 _1 5[k]=o[k];105 } 106 } 107 } 108 return _1 5;118 if(!(k in _19)){ 119 _19[k]=o[k]; 120 } 121 } 122 } 123 return _19; 109 124 },keys:function(obj){ 110 var _ 16=[];111 for(var _ 17in obj){112 _ 16.push(_17);113 } 114 return _ 16;125 var _20=[]; 126 for(var _21 in obj){ 127 _20.push(_21); 128 } 129 return _20; 115 130 },items:function(obj){ 116 var _ 18=[];131 var _22=[]; 117 132 var e; 118 for(var _2 0in obj){133 for(var _24 in obj){ 119 134 var v; 120 135 try{ 121 v=obj[_2 0];136 v=obj[_24]; 122 137 } 123 138 catch(e){ 124 139 continue; 125 140 } 126 _ 18.push([_20,v]);127 } 128 return _ 18;129 },_newNamedError:function(_2 1,_22,_23){130 _2 3.prototype=new MochiKit.Base.NamedError(_21.NAME+"."+_22);131 _2 1[_22]=_23;141 _22.push([_24,v]); 142 } 143 return _22; 144 },_newNamedError:function(_25,_26,_27){ 145 _27.prototype=new MochiKit.Base.NamedError(_25.NAME+"."+_26); 146 _25[_26]=_27; 132 147 },operator:{truth:function(a){ 133 148 return !!a; … … 192 207 },contains:function(a,b){ 193 208 return b in a; 194 }},forward:function(_ 26){209 }},forward:function(_30){ 195 210 return function(){ 196 return this[_ 26].apply(this,arguments);197 }; 198 },itemgetter:function(_ 27){211 return this[_30].apply(this,arguments); 212 }; 213 },itemgetter:function(_31){ 199 214 return function(arg){ 200 return arg[_ 27];215 return arg[_31]; 201 216 }; 202 217 },typeMatcher:function(){ 203 var _ 29={};218 var _33={}; 204 219 for(var i=0;i<arguments.length;i++){ 205 220 var typ=arguments[i]; 206 _ 29[typ]=typ;221 _33[typ]=typ; 207 222 } 208 223 return function(){ 209 224 for(var i=0;i<arguments.length;i++){ 210 if(!(typeof (arguments[i]) in _ 29)){225 if(!(typeof (arguments[i]) in _33)){ 211 226 return false; 212 227 } … … 258 273 return MochiKit.Base.extend(null,arguments,1); 259 274 } 260 var _3 2=[];275 var _36=[]; 261 276 for(var i=1;i<arguments.length;i++){ 262 _3 2.push(fn(arguments[i]));263 } 264 return _3 2;277 _36.push(fn(arguments[i])); 278 } 279 return _36; 265 280 },map:function(fn,lst){ 266 281 var m=MochiKit.Base; 267 var _3 5=m.isArrayLike;282 var _38=m.isArrayLike; 268 283 if(arguments.length<=2){ 269 if(!_3 5(lst)){284 if(!_38(lst)){ 270 285 if(MochiKit.Iter){ 271 286 lst=MochiKit.Iter.list(lst); … … 280 295 return m.extend(null,lst); 281 296 } 282 var _3 6=[];297 var _39=[]; 283 298 for(var i=0;i<lst.length;i++){ 284 _3 6.push(fn(lst[i]));285 } 286 return _3 6;299 _39.push(fn(lst[i])); 300 } 301 return _39; 287 302 }else{ 288 303 if(fn==null){ 289 304 fn=Array; 290 305 } 291 var _ 37=null;306 var _40=null; 292 307 for(i=1;i<arguments.length;i++){ 293 if(!_3 5(arguments[i])){308 if(!_38(arguments[i])){ 294 309 if(MochiKit.Iter){ 295 310 arguments[i]=MochiKit.Iter.list(arguments[i]); … … 299 314 } 300 315 var l=arguments[i].length; 301 if(_ 37==null||_37>l){302 _ 37=l;303 } 304 } 305 _3 6=[];306 for(i=0;i<_ 37;i++){307 var _ 38=[];316 if(_40==null||_40>l){ 317 _40=l; 318 } 319 } 320 _39=[]; 321 for(i=0;i<_40;i++){ 322 var _41=[]; 308 323 for(var j=1;j<arguments.length;j++){ 309 _ 38.push(arguments[j][i]);310 } 311 _3 6.push(fn.apply(this,_38));312 } 313 return _3 6;324 _41.push(arguments[j][i]); 325 } 326 _39.push(fn.apply(this,_41)); 327 } 328 return _39; 314 329 } 315 330 },xfilter:function(fn){ 316 var _4 0=[];331 var _43=[]; 317 332 if(fn==null){ 318 333 fn=MochiKit.Base.operator.truth; … … 321 336 var o=arguments[i]; 322 337 if(fn(o)){ 323 _4 0.push(o);324 } 325 } 326 return _4 0;327 },filter:function(fn,lst,_4 1){328 var _4 2=[];338 _43.push(o); 339 } 340 } 341 return _43; 342 },filter:function(fn,lst,_44){ 343 var _45=[]; 329 344 var m=MochiKit.Base; 330 345 if(!m.isArrayLike(lst)){ … … 339 354 } 340 355 if(typeof (Array.prototype.filter)=="function"){ 341 return Array.prototype.filter.call(lst,fn,_4 1);342 }else{ 343 if(typeof (_4 1)=="undefined"||_41==null){356 return Array.prototype.filter.call(lst,fn,_44); 357 }else{ 358 if(typeof (_44)=="undefined"||_44==null){ 344 359 for(var i=0;i<lst.length;i++){ 345 360 var o=lst[i]; 346 361 if(fn(o)){ 347 _4 2.push(o);362 _45.push(o); 348 363 } 349 364 } … … 351 366 for(i=0;i<lst.length;i++){ 352 367 o=lst[i]; 353 if(fn.call(_4 1,o)){354 _4 2.push(o);355 } 356 } 357 } 358 } 359 return _4 2;360 },_wrapDumbFunction:function(_4 3){368 if(fn.call(_44,o)){ 369 _45.push(o); 370 } 371 } 372 } 373 } 374 return _45; 375 },_wrapDumbFunction:function(_46){ 361 376 return function(){ 362 377 switch(arguments.length){ 363 378 case 0: 364 return _4 3();379 return _46(); 365 380 case 1: 366 return _4 3(arguments[0]);381 return _46(arguments[0]); 367 382 case 2: 368 return _4 3(arguments[0],arguments[1]);383 return _46(arguments[0],arguments[1]); 369 384 case 3: 370 return _4 3(arguments[0],arguments[1],arguments[2]);371 } 372 var _4 4=[];385 return _46(arguments[0],arguments[1],arguments[2]); 386 } 387 var _47=[]; 373 388 for(var i=0;i<arguments.length;i++){ 374 _4 4.push("arguments["+i+"]");375 } 376 return eval("(func("+_4 4.join(",")+"))");377 }; 378 },bind:function(_4 5,_46){379 if(typeof (_4 5)=="string"){380 _4 5=_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 } 391 return eval("(func("+_47.join(",")+"))"); 392 }; 393 },bind:function(_48,_49){ 394 if(typeof (_48)=="string"){ 395 _48=_49[_48]; 396 } 397 var _50=_48.im_func; 398 var _51=_48.im_preargs; 399 var _52=_48.im_self; 385 400 var m=MochiKit.Base; 386 if(typeof (_4 5)=="function"&&typeof (_45.apply)=="undefined"){387 _4 5=m._wrapDumbFunction(_45);388 } 389 if(typeof (_ 47)!="function"){390 _ 47=_45;391 } 392 if(typeof (_4 6)!="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 _5 0=function(){402 var _5 1=arguments;401 if(typeof (_48)=="function"&&typeof (_48.apply)=="undefined"){ 402 _48=m._wrapDumbFunction(_48); 403 } 404 if(typeof (_50)!="function"){ 405 _50=_48; 406 } 407 if(typeof (_49)!="undefined"){ 408 _52=_49; 409 } 410 if(typeof (_51)=="undefined"){ 411 _51=[]; 412 }else{ 413 _51=_51.slice(); 414 } 415 m.extend(_51,arguments,2); 416 var _53=function(){ 417 var _54=arguments; 403 418 var me=arguments.callee; 404 419 if(me.im_preargs.length>0){ 405 _5 1=m.concat(me.im_preargs,_51);406 } 407 var _4 6=me.im_self;408 if(!_4 6){409 _4 6=this;410 } 411 return me.im_func.apply(_4 6,_51);412 }; 413 _5 0.im_self=_49;414 _5 0.im_func=_47;415 _5 0.im_preargs=_48;416 return _5 0;417 },bindMethods:function(_5 2){418 var _5 3=MochiKit.Base.bind;419 for(var k in _5 2){420 var _5 4=_52[k];421 if(typeof (_5 4)=="function"){422 _5 2[k]=_53(_54,_52);423 } 424 } 425 },registerComparator:function(_5 5,_56,_57,_58){426 MochiKit.Base.comparatorRegistry.register(_5 5,_56,_57,_58);420 _54=m.concat(me.im_preargs,_54); 421 } 422 var _49=me.im_self; 423 if(!_49){ 424 _49=this; 425 } 426 return me.im_func.apply(_49,_54); 427 }; 428 _53.im_self=_52; 429 _53.im_func=_50; 430 _53.im_preargs=_51; 431 return _53; 432 },bindMethods:function(_55){ 433 var _56=MochiKit.Base.bind; 434 for(var k in _55){ 435 var _57=_55[k]; 436 if(typeof (_57)=="function"){ 437 _55[k]=_56(_57,_55); 438 } 439 } 440 },registerComparator:function(_58,_59,_60,_61){ 441 MochiKit.Base.comparatorRegistry.register(_58,_59,_60,_61); 427 442 },_primitives:{"bool":true,"string":true,"number":true},compare:function(a,b){ 428 443 if(a==b){ 429 444 return 0; 430 445 } 431 var _ 59=(typeof (a)=="undefined"||a==null);432 var _6 0=(typeof (b)=="undefined"||b==null);433 if(_ 59&&_60){446 var _62=(typeof (a)=="undefined"||a==null); 447 var _63=(typeof (b)=="undefined"||b==null); 448 if(_62&&_63){ 434 449 return 0; 435 450 }else{ 436 if(_ 59){451 if(_62){ 437 452 return -1; 438 453 }else{ 439 if(_6 0){454 if(_63){ 440 455 return 1; 441 456 } … … 443 458 } 444 459 var m=MochiKit.Base; 445 var _6 1=m._primitives;446 if(!(typeof (a) in _6 1&&typeof (b) in _61)){460 var _64=m._primitives; 461 if(!(typeof (a) in _64&&typeof (b) in _64)){ 447 462 try{ 448 463 return m.comparatorRegistry.match(a,b); … … 461 476 } 462 477 } 463 var _6 2=m.repr;464 throw new TypeError(_6 2(a)+" and "+_62(b)+" can not be compared");478 var _65=m.repr; 479 throw new TypeError(_65(a)+" and "+_65(b)+" can not be compared"); 465 480 },compareDateLike:function(a,b){ 466 481 return MochiKit.Base.compare(a.getTime(),b.getTime()); 467 482 },compareArrayLike:function(a,b){ 468 var _6 3=MochiKit.Base.compare;469 var _6 4=a.length;470 var _6 5=0;471 if(_6 4>b.length){472 _6 5=1;473 _6 4=b.length;474 }else{ 475 if(_6 4<b.length){476 _6 5=-1;477 } 478 } 479 for(var i=0;i<_6 4;i++){480 var cmp=_6 3(a[i],b[i]);483 var _66=MochiKit.Base.compare; 484 var _67=a.length; 485 var _68=0; 486 if(_67>b.length){ 487 _68=1; 488 _67=b.length; 489 }else{ 490 if(_67<b.length){ 491 _68=-1; 492 } 493 } 494 for(var i=0;i<_67;i++){ 495 var cmp=_66(a[i],b[i]); 481 496 if(cmp){ 482 497 return cmp; 483 498 } 484 499 } 485 return _6 5;486 },registerRepr:function(_ 67,_68,_69,_70){487 MochiKit.Base.reprRegistry.register(_ 67,_68,_69,_70);500 return _68; 501 },registerRepr:function(_70,_71,_72,_73){ 502 MochiKit.Base.reprRegistry.register(_70,_71,_72,_73); 488 503 },repr:function(o){ 489 504 if(typeof (o)=="undefined"){ … … 510 525 } 511 526 try{ 512 var _7 1=(o+"");527 var _74=(o+""); 513 528 } 514 529 catch(e){ … … 516 531 } 517 532 if(typeof (o)=="function"){ 518 o=_7 1.replace(/^\s+/,"");533 o=_74.replace(/^\s+/,""); 519 534 var idx=o.indexOf("{"); 520 535 if(idx!=-1){ … … 522 537 } 523 538 } 524 return _7 1;539 return _74; 525 540 },reprArrayLike:function(o){ 526 541 var m=MochiKit.Base; … … 530 545 },reprNumber:function(o){ 531 546 return o+""; 532 },registerJSON:function(_7 3,_74,_75,_76){533 MochiKit.Base.jsonRegistry.register(_7 3,_74,_75,_76);547 },registerJSON:function(_76,_77,_78,_79){ 548 MochiKit.Base.jsonRegistry.register(_76,_77,_78,_79); 534 549 },evalJSON:function(){ 535 550 return eval("("+arguments[0]+")"); 536 551 },serializeJSON:function(o){ 537 var _ 77=typeof (o);538 if(_ 77=="undefined"){552 var _80=typeof (o); 553 if(_80=="undefined"){ 539 554 return "undefined"; 540 555 }else{ 541 if(_ 77=="number"||_77=="boolean"){556 if(_80=="number"||_80=="boolean"){ 542 557 return o+""; 543 558 }else{ … … 548 563 } 549 564 var m=MochiKit.Base; 550 var _ 78=m.reprString;551 if(_ 77=="string"){552 return _ 78(o);565 var _81=m.reprString; 566 if(_80=="string"){ 567 return _81(o); 553 568 } 554 569 var me=arguments.callee; 555 var _ 79;570 var _82; 556 571 if(typeof (o.__json__)=="function"){ 557 _ 79=o.__json__();558 if(o!==_ 79){559 return me(_ 79);572 _82=o.__json__(); 573 if(o!==_82){ 574 return me(_82); 560 575 } 561 576 } 562 577 if(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(); 579 if(o!==_82){ 580 return me(_82); 581 } 582 } 583 if(_80!="function"&&typeof (o.length)=="number"){ 569 584 var res=[]; 570 585 for(var i=0;i<o.length;i++){ … … 578 593 } 579 594 try{ 580 _ 79=m.jsonRegistry.match(o);581 return me(_ 79);595 _82=m.jsonRegistry.match(o); 596 return me(_82); 582 597 } 583 598 catch(e){ … … 586 601 } 587 602 } 588 if(_ 77=="function"){603 if(_80=="function"){ 589 604 return null; 590 605 } 591 606 res=[]; 592 607 for(var k in o){ 593 var _8 2;608 var _84; 594 609 if(typeof (k)=="number"){ 595 _8 2="\""+k+"\"";610 _84="\""+k+"\""; 596 611 }else{ 597 612 if(typeof (k)=="string"){ 598 _8 2=_78(k);613 _84=_81(k); 599 614 }else{ 600 615 continue; … … 605 620 continue; 606 621 } 607 res.push(_8 2+":"+val);622 res.push(_84+":"+val); 608 623 } 609 624 return "{"+res.join(", ")+"}"; 610 625 },objEqual:function(a,b){ 611 626 return (MochiKit.Base.compare(a,b)==0); 612 },arrayEqual:function(_8 3,arr){613 if(_8 3.length!=arr.length){627 },arrayEqual:function(_85,arr){ 628 if(_85.length!=arr.length){ 614 629 return false; 615 630 } 616 return (MochiKit.Base.compare(_8 3,arr)==0);631 return (MochiKit.Base.compare(_85,arr)==0); 617 632 },concat:function(){ 618 var _8 5=[];619 var _8 6=MochiKit.Base.extend;633 var _87=[]; 634 var _88=MochiKit.Base.extend; 620 635 for(var i=0;i<arguments.length;i++){ 621 _8 6(_85,arguments[i]);622 } 623 return _8 5;636 _88(_87,arguments[i]); 637 } 638 return _87; 624 639 },keyComparator:function(key){ 625 640 var m=MochiKit.Base; 626 var _ 88=m.compare;641 var _90=m.compare; 627 642 if(arguments.length==1){ 628 643 return function(a,b){ 629 return _ 88(a[key],b[key]);630 }; 631 } 632 var _ 89=m.extend(null,arguments);644 return _90(a[key],b[key]); 645 }; 646 } 647 var _91=m.extend(null,arguments); 633 648 return function(a,b){ 634 var _9 0=0;635 for(var i=0;(_9 0==0)&&(i<_89.length);i++){636 var key=_ 89[i];637 _9 0=_88(a[key],b[key]);638 } 639 return _9 0;649 var _92=0; 650 for(var i=0;(_92==0)&&(i<_91.length);i++){ 651 var key=_91[i]; 652 _92=_90(a[key],b[key]); 653 } 654 return _92; 640 655 }; 641 656 },reverseKeyComparator:function(key){ 642 var _9 1=MochiKit.Base.keyComparator.apply(this,arguments);657 var _93=MochiKit.Base.keyComparator.apply(this,arguments); 643 658 return function(a,b){ 644 return _9 1(b,a);645 }; 646 },partial:function(_9 2){659 return _93(b,a); 660 }; 661 },partial:function(_94){ 647 662 var m=MochiKit.Base; 648 return m.bind.apply(this,m.extend([_9 2,undefined],arguments,1));649 },listMinMax:function(_9 3,lst){663 return m.bind.apply(this,m.extend([_94,undefined],arguments,1)); 664 },listMinMax:function(_95,lst){ 650 665 if(lst.length==0){ 651 666 return null; 652 667 } 653 668 var cur=lst[0]; 654 var _9 5=MochiKit.Base.compare;669 var _97=MochiKit.Base.compare; 655 670 for(var i=1;i<lst.length;i++){ 656 671 var o=lst[i]; 657 if(_9 5(o,cur)==_93){672 if(_97(o,cur)==_95){ 658 673 cur=o; 659 674 } … … 664 679 },objMin:function(){ 665 680 return MochiKit.Base.listMinMax(-1,arguments); 666 },findIdentical:function(lst,_9 6,_97,end){681 },findIdentical:function(lst,_98,_99,end){ 667 682 if(typeof (end)=="undefined"||end==null){ 668 683 end=lst.length; 669 684 } 670 for(var i=(_9 7||0);i<end;i++){671 if(lst[i]===_9 6){685 for(var i=(_99||0);i<end;i++){ 686 if(lst[i]===_98){ 672 687 return i; 673 688 } 674 689 } 675 690 return -1; 676 },find:function(lst,_ 99,_100,end){691 },find:function(lst,_101,_102,end){ 677 692 if(typeof (end)=="undefined"||end==null){ 678 693 end=lst.length; 679 694 } 680 695 var cmp=MochiKit.Base.compare; 681 for(var i=(_10 0||0);i<end;i++){682 if(cmp(lst[i],_ 99)==0){696 for(var i=(_102||0);i<end;i++){ 697 if(cmp(lst[i],_101)==0){ 683 698 return i; 684 699 } 685 700 } 686 701 return -1; 687 },nodeWalk:function(node,_10 2){688 var _10 3=[node];689 var _10 4=MochiKit.Base.extend;690 while(_10 3.length){691 var res=_10 2(_103.shift());702 },nodeWalk:function(node,_104){ 703 var _105=[node]; 704 var _106=MochiKit.Base.extend; 705 while(_105.length){ 706 var res=_104(_105.shift()); 692 707 if(res){ 693 _10 4(_103,res);694 } 695 } 696 },nameFunctions:function(_10 5){697 var base=_10 5.NAME;708 _106(_105,res); 709 } 710 } 711 },nameFunctions:function(_107){ 712 var base=_107.NAME; 698 713 if(typeof (base)=="undefined"){ 699 714 base=""; … … 701 716 base=base+"."; 702 717 } 703 for(var name in _10 5){704 var o=_10 5[name];718 for(var name in _107){ 719 var o=_107[name]; 705 720 if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){ 706 721 try{ … … 711 726 } 712 727 } 713 },queryString:function(_1 08,_109){714 if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_1 08)=="string"||(typeof (_108.nodeType)!="undefined"&&_108.nodeType>0))){715 var kv=MochiKit.DOM.formContents(_1 08);716 _1 08=kv[0];717 _1 09=kv[1];728 },queryString:function(_110,_111){ 729 if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_110)=="string"||(typeof (_110.nodeType)!="undefined"&&_110.nodeType>0))){ 730 var kv=MochiKit.DOM.formContents(_110); 731 _110=kv[0]; 732 _111=kv[1]; 718 733 }else{ 719 734 if(arguments.length==1){ 720 var o=_1 08;721 _1 08=[];722 _1 09=[];735 var o=_110; 736 _110=[]; 737 _111=[]; 723 738 for(var k in o){ 724 739 var v=o[k]; 725 740 if(typeof (v)!="function"){ 726 _1 08.push(k);727 _1 09.push(v);741 _110.push(k); 742 _111.push(v); 728 743 } 729 744 } … … 731 746 } 732 747 var rval=[]; 733 var len=Math.min(_1 08.length,_109.length);734 var _11 3=MochiKit.Base.urlEncode;748 var len=Math.min(_110.length,_111.length); 749 var _115=MochiKit.Base.urlEncode; 735 750 for(var i=0;i<len;i++){ 736 v=_1 09[i];751 v=_111[i]; 737 752 if(typeof (v)!="undefined"&&v!=null){ 738 rval.push(_11 3(_108[i])+"="+_113(v));753 rval.push(_115(_110[i])+"="+_115(v)); 739 754 } 740 755 } 741 756 return rval.join("&"); 742 },parseQueryString:function(_11 4,_115){743 var _11 6=_114.replace(/\+/g,"%20").split("&");757 },parseQueryString:function(_116,_117){ 758 var _118=_116.replace(/\+/g,"%20").split("&"); 744 759 var o={}; 745 var _11 7;760 var _119; 746 761 if(typeof (decodeURIComponent)!="undefined"){ 747 _11 7=decodeURIComponent;748 }else{ 749 _11 7=unescape;750 } 751 if(_11 5){752 for(var i=0;i<_11 6.length;i++){753 var pair=_11 6[i].split("=");754 var name=_11 7(pair[0]);762 _119=decodeURIComponent; 763 }else{ 764 _119=unescape; 765 } 766 if(_117){ 767 for(var i=0;i<_118.length;i++){ 768 var pair=_118[i].split("="); 769 var name=_119(pair[0]); 755 770 var arr=o[name]; 756 771 if(!(arr instanceof Array)){ … … 758 773 o[name]=arr; 759 774 } 760 arr.push(_11 7(pair[1]));761 } 762 }else{ 763 for(i=0;i<_11 6.length;i++){764 pair=_11 6[i].split("=");765 o[_11 7(pair[0])]=_117(pair[1]);775 arr.push(_119(pair[1])); 776 } 777 }else{ 778 for(i=0;i<_118.length;i++){ 779 pair=_118[i].split("="); 780 o[_119(pair[0])]=_119(pair[1]); 766 781 } 767 782 } … … 771 786 this.pairs=[]; 772 787 }; 773 MochiKit.Base.AdapterRegistry.prototype={register:function(name,_1 19,wrap,_121){774 if(_12 1){775 this.pairs.unshift([name,_1 19,wrap]);776 }else{ 777 this.pairs.push([name,_1 19,wrap]);788 MochiKit.Base.AdapterRegistry.prototype={register:function(name,_121,wrap,_123){ 789 if(_123){ 790 this.pairs.unshift([name,_121,wrap]); 791 }else{ 792 this.pairs.push([name,_121,wrap]); 778 793 } 779 794 },match:function(){ … … 795 810 return false; 796 811 }}; 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" ];812 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","flattenArguments"]; 798 813 MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"]; 799 MochiKit.Base._exportSymbols=function(_12 2,_123){814 MochiKit.Base._exportSymbols=function(_124,_125){ 800 815 if(typeof (MochiKit.__export__)=="undefined"){ 801 816 MochiKit.__export__=(MochiKit.__compat__||(typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")); … … 804 819 return; 805 820 } 806 var all=_12 3.EXPORT_TAGS[":all"];821 var all=_125.EXPORT_TAGS[":all"]; 807 822 for(var i=0;i<all.length;i++){ 808 _12 2[all[i]]=_123[all[i]];823 _124[all[i]]=_125[all[i]]; 809 824 } 810 825 }; … … 812 827 var m=this; 813 828 if(typeof (encodeURIComponent)!="undefined"){ 814 m.urlEncode=function(_12 5){815 return encodeURIComponent(_12 5).replace(/\'/g,"%27");816 }; 817 }else{ 818 m.urlEncode=function(_12 6){819 return escape(_12 6).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27");829 m.urlEncode=function(_127){ 830 return encodeURIComponent(_127).replace(/\'/g,"%27"); 831 }; 832 }else{ 833 m.urlEncode=function(_128){ 834 return escape(_128).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27"); 820 835 }; 821 836 } … … 878 893 },toString:function(){ 879 894 return this.__repr__(); 880 },registerIteratorFactory:function(name,_12 7,_128,_129){881 MochiKit.Iter.iteratorRegistry.register(name,_12 7,_128,_129);882 },iter:function(_13 0,_131){895 },registerIteratorFactory:function(name,_129,_130,_131){ 896 MochiKit.Iter.iteratorRegistry.register(name,_129,_130,_131); 897 },iter:function(_132,_133){ 883 898 var self=MochiKit.Iter; 884 899 if(arguments.length==2){ 885 900 return self.takewhile(function(a){ 886 return a!=_13 1;887 },_13 0);888 } 889 if(typeof (_13 0.next)=="function"){890 return _13 0;891 }else{ 892 if(typeof (_13 0.iter)=="function"){893 return _13 0.iter();894 } 895 } 896 try{ 897 return self.iteratorRegistry.match(_13 0);901 return a!=_133; 902 },_132); 903 } 904 if(typeof (_132.next)=="function"){ 905 return _132; 906 }else{ 907 if(typeof (_132.iter)=="function"){ 908 return _132.iter(); 909 } 910 } 911 try{ 912 return self.iteratorRegistry.match(_132); 898 913 } 899 914 catch(e){ 900 915 var m=MochiKit.Base; 901 916 if(e==m.NotFound){ 902 e=new TypeError(typeof (_13 0)+": "+m.repr(_130)+" is not iterable");917 e=new TypeError(typeof (_132)+": "+m.repr(_132)+" is not iterable"); 903 918 } 904 919 throw e; … … 916 931 var m=MochiKit.Base; 917 932 var lst=[]; 918 var _13 4=self.iter(p);933 var _136=self.iter(p); 919 934 return {repr:function(){ 920 935 return "cycle(...)"; 921 936 },toString:m.forward("repr"),next:function(){ 922 937 try{ 923 var rval=_13 4.next();938 var rval=_136.next(); 924 939 lst.push(rval); 925 940 return rval; … … 961 976 return elem; 962 977 }}; 963 },next:function(_13 6){964 return _13 6.next();978 },next:function(_138){ 979 return _138.next(); 965 980 },izip:function(p,q){ 966 981 var m=MochiKit.Base; 967 982 var next=MochiKit.Iter.next; 968 var _1 39=m.map(iter,arguments);983 var _141=m.map(iter,arguments); 969 984 return {repr:function(){ 970 985 return "izip(...)"; 971 986 },toString:m.forward("repr"),next:function(){ 972 return m.map(next,_1 39);987 return m.map(next,_141); 973 988 }}; 974 989 },ifilter:function(pred,seq){ … … 1010 1025 var m=MochiKit.Base; 1011 1026 seq=self.iter(seq); 1012 var _14 2=0;1027 var _144=0; 1013 1028 var stop=0; 1014 1029 var step=1; … … 1018 1033 }else{ 1019 1034 if(arguments.length==3){ 1020 _14 2=arguments[1];1035 _144=arguments[1]; 1021 1036 stop=arguments[2]; 1022 1037 }else{ 1023 _14 2=arguments[1];1038 _144=arguments[1]; 1024 1039 stop=arguments[2]; 1025 1040 step=arguments[3]; … … 1027 1042 } 1028 1043 return {repr:function(){ 1029 return "islice("+["...",_14 2,stop,step].join(", ")+")";1044 return "islice("+["...",_144,stop,step].join(", ")+")"; 1030 1045 },toString:m.forward("repr"),next:function(){ 1031 1046 var rval; 1032 while(i<_14 2){1047 while(i<_144){ 1033 1048 rval=seq.next(); 1034 1049 i++; 1035 1050 } 1036 if(_14 2>=stop){1051 if(_144>=stop){ 1037 1052 throw self.StopIteration; 1038 1053 } 1039 _14 2+=step;1054 _144+=step; 1040 1055 return rval; 1041 1056 }}; … … 1043 1058 var m=MochiKit.Base; 1044 1059 var self=MochiKit.Iter; 1045 var _14 6=m.map(self.iter,m.extend(null,arguments,1));1060 var _148=m.map(self.iter,m.extend(null,arguments,1)); 1046 1061 var map=m.map; 1047 1062 var next=self.next; … … 1049 1064 return "imap(...)"; 1050 1065 },toString:m.forward("repr"),next:function(){ 1051 return fun.apply(this,map(next,_14 6));1066 return fun.apply(this,map(next,_148)); 1052 1067 }}; 1053 1068 },applymap:function(fun,seq,self){ … … 1065 1080 return self.iter(arguments[0]); 1066 1081 } 1067 var _1 48=m.map(self.iter,arguments);1082 var _150=m.map(self.iter,arguments); 1068 1083 return {repr:function(){ 1069 1084 return "chain(...)"; 1070 1085 },toString:m.forward("repr"),next:function(){ 1071 while(_1 48.length>1){1072 try{ 1073 return _1 48[0].next();1086 while(_150.length>1){ 1087 try{ 1088 return _150[0].next(); 1074 1089 } 1075 1090 catch(e){ … … 1077 1092 throw e; 1078 1093 } 1079 _1 48.shift();1080 } 1081 } 1082 if(_1 48.length==1){1083 var arg=_1 48.shift();1094 _150.shift(); 1095 } 1096 } 1097 if(_150.length==1){ 1098 var arg=_150.shift(); 1084 1099 this.next=m.bind("next",arg); 1085 1100 return this.next(); … … 1118 1133 return rval; 1119 1134 }}; 1120 },_tee:function(_15 0,sync,_152){1121 sync.pos[_15 0]=-1;1135 },_tee:function(_152,sync,_154){ 1136 sync.pos[_152]=-1; 1122 1137 var m=MochiKit.Base; 1123 var _15 3=m.listMin;1138 var _155=m.listMin; 1124 1139 return {repr:function(){ 1125 return "tee("+_15 0+", ...)";1140 return "tee("+_152+", ...)"; 1126 1141 },toString:m.forward("repr"),next:function(){ 1127 1142 var rval; 1128 var i=sync.pos[_15 0];1143 var i=sync.pos[_152]; 1129 1144 if(i==sync.max){ 1130 rval=_15 2.next();1145 rval=_154.next(); 1131 1146 sync.deque.push(rval); 1132 1147 sync.max+=1; 1133 sync.pos[_15 0]+=1;1148 sync.pos[_152]+=1; 1134 1149 }else{ 1135 1150 rval=sync.deque[i-sync.min]; 1136 sync.pos[_15 0]+=1;1137 if(i==sync.min&&_15 3(sync.pos)!=sync.min){1151 sync.pos[_152]+=1; 1152 if(i==sync.min&&_155(sy
