|
2 | 2 | $js - asynchronous module definition framework
|
3 | 3 | or just simple lightweight javascript dependencies manager
|
4 | 4 |
|
5 |
| - @version 4.3 |
| 5 | + @version 4.4 |
6 | 6 | @link http://github.com/redcatphp/js/
|
7 | 7 | @author Jo Surikat <jo@surikat.pro>
|
8 | 8 | @website http://redcatphp.com
|
|
17 | 17 | };
|
18 | 18 | if(!Array.prototype.indexOf){
|
19 | 19 | Array.prototype.indexOf = function(a,obj, start){
|
20 |
| - var j = a.length; |
21 |
| - for (var i = (start?start:0), j; i < j; i++) |
| 20 | + var ai = a.length; |
| 21 | + for (var i = (start?start:0), ai; i < ai; i++) |
22 | 22 | if(a[i]===obj)
|
23 | 23 | return i;
|
24 | 24 | return -1;
|
|
302 | 302 | }
|
303 | 303 | }
|
304 | 304 | if(ok){
|
305 |
| - js(dp,(function(){ |
| 305 | + $js.exec(dp,(function(){ |
306 | 306 | var dpz = dp.toString();
|
307 | 307 | return function(){
|
308 | 308 | r(dpz,depTree,depMap,rio,arrSrc,c);
|
|
387 | 387 | u.push(getSrc(uo[k]));
|
388 | 388 | }
|
389 | 389 | u = u.sort().toString();
|
390 |
| - js(s,function(){ |
| 390 | + $js.exec(s,function(){ |
391 | 391 | requiredGroups[i].push(getSrc(s));
|
392 | 392 | if(requiredGroups[i].sort().toString()==u){
|
393 | 393 | if(typeof(c)=='function')
|
|
446 | 446 | }
|
447 | 447 | if(typeof(u[g])=='function')
|
448 | 448 | ev = 'u["'+g+'"]();'+ev;
|
449 |
| - ev = 'js("'+g+'",function(){r("'+g+'",t,o,'+rio+',h,b);'+ev+'},false);'; |
| 449 | + ev = '$js.exec("'+g+'",function(){r("'+g+'",t,o,'+rio+',h,b);'+ev+'},false);'; |
450 | 450 | }
|
451 | 451 | if(ev) eval(ev);
|
452 | 452 | };
|
|
481 | 481 | }
|
482 | 482 | if(typeof(u[d])=='function')
|
483 | 483 | ev = 'u["'+d+'"]();'+ev;
|
484 |
| - ev = 'js("'+d+'",function(){'+ev+'});'; |
| 484 | + ev = '$js.exec("'+d+'",function(){'+ev+'});'; |
485 | 485 | }
|
486 | 486 | }
|
487 | 487 | eval(ev);
|
|
499 | 499 | sync = sync?true:false;
|
500 | 500 | if(s instanceof Array){
|
501 | 501 | s.reverse();
|
502 |
| - var ev = 'js(s'+(sync?',true':'')+',y);'; |
| 502 | + var ev = '$js(s'+(sync?',true':'')+',y);'; |
503 | 503 | for(var i = 0; i < s.length; i++){
|
504 | 504 | ev = '$js.onExists("'+s[i]+'",function(){'+ev+'},n);';
|
505 | 505 | }
|
|
531 | 531 | if(httpRequest.readyState==4){
|
532 | 532 | if(httpRequest.status!=404){
|
533 | 533 | existsRegistry[s] = true;
|
534 |
| - js(s,sync,y); |
| 534 | + $js(s,sync,y); |
535 | 535 | }
|
536 | 536 | else{
|
537 | 537 | existsRegistry[s] = false;
|
|
542 | 542 | httpRequest.send();
|
543 | 543 | };
|
544 | 544 |
|
545 |
| - var js = function(){ |
| 545 | + var exec = function(){ |
546 | 546 | //mixed args
|
547 | 547 | var u,c,sync,deps = true;
|
548 | 548 | for(var i = 0; i < arguments.length; i++){
|
|
593 | 593 | //chainable
|
594 | 594 | return function(){
|
595 | 595 | var a = arguments;
|
596 |
| - return js(u,function(){ |
597 |
| - js.apply(null,a); |
| 596 | + return $js.exec(u,function(){ |
| 597 | + $js.apply(null,a); |
598 | 598 | });
|
599 | 599 | };
|
600 | 600 | };
|
601 |
| - $js = (function(j){ |
| 601 | + $js = (function(exec){ |
602 | 602 |
|
603 | 603 | //invoker
|
604 | 604 | var js = function(){
|
605 | 605 | if(typeof(arguments[0])=='string')
|
606 | 606 | arguments[0] = [arguments[0]];
|
607 |
| - j.apply(null,arguments); |
| 607 | + exec.apply(null,arguments); |
608 | 608 | };
|
| 609 | + js.exec = exec; |
609 | 610 |
|
610 | 611 | //vars init
|
611 | 612 | js.dependenciesMap = {};
|
|
642 | 643 | }
|
643 | 644 | var interceptor = {};
|
644 | 645 | intercepting = interceptor;
|
645 |
| - js(obj,sync,function(){ |
| 646 | + $js(obj,sync,function(){ |
646 | 647 | if(!interceptor.callback){
|
647 | 648 | intercepting = false;
|
648 | 649 | }
|
|
685 | 686 | if(obj){
|
686 | 687 | var interceptor = {};
|
687 | 688 | intercepting = interceptor;
|
688 |
| - var when = js(obj,sync,function(){ |
| 689 | + var when = $js(obj,sync,function(){ |
689 | 690 | if(id){
|
690 | 691 | js.modules[getSrc(id)] = mod;
|
691 | 692 | delete(waitingModule[id]);
|
|
738 | 739 | }
|
739 | 740 | };
|
740 | 741 | js.invokeArray = function(mod,args){
|
741 |
| - return js(mod,function(){ |
| 742 | + return $js(mod,function(){ |
742 | 743 | $js.module(mod).apply(null,args);
|
743 | 744 | });
|
744 | 745 | };
|
|
754 | 755 | if(o.dependencies)
|
755 | 756 | $js.dependencies(o.dependencies);
|
756 | 757 | if(o.call)
|
757 |
| - js(o.call); |
| 758 | + $js(o.call); |
758 | 759 | };
|
759 | 760 | js.intercept = function(){
|
760 | 761 | var interceptor = {};
|
|
769 | 770 | };
|
770 | 771 | };
|
771 | 772 | return js;
|
772 |
| - })(js); |
| 773 | + })(exec); |
773 | 774 |
|
774 | 775 | var y = {};
|
775 | 776 | var keysOf = function(o){
|
|
0 commit comments