This repository was archived by the owner on Jan 24, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +20
-6
lines changed Expand file tree Collapse file tree 2 files changed +20
-6
lines changed Original file line number Diff line number Diff line change 2
2
$js - asynchronous module definition framework
3
3
or just simple lightweight javascript dependencies manager
4
4
5
- @version 2.9
5
+ @version 3.0
6
6
@link http://github.com/redcatphp/js/
7
7
@author Jo Surikat <jo@surikat.pro>
8
8
@website http://redcatphp.com
54
54
var handled = [ ] ;
55
55
var requiring = { } ;
56
56
var intercepting ;
57
+ var waitingModule = { } ;
57
58
58
59
var wait = function ( u ) {
59
60
if ( handled . indexOf ( u ) > - 1 )
507
508
}
508
509
}
509
510
}
510
- $js ( module , function ( ) {
511
- var func = $js . module ( module ) ;
511
+ var loadModuleDomElement = function ( ) {
512
+ var func = $js . module ( module ) ;
512
513
var params = paramsReflection ( func ) ;
513
514
var apply = [ ] ;
514
515
for ( var k in params ) {
525
526
}
526
527
}
527
528
func . apply ( el , apply ) ;
528
- } ) ;
529
+ } ;
530
+ if ( $js . module ( module ) ) {
531
+ loadModuleDomElement ( ) ;
532
+ }
533
+ else if ( waitingModule [ module ] ) {
534
+ waitingModule [ module ] ( loadModuleDomElement ) ;
535
+ }
536
+ else {
537
+ $js ( module , loadModuleDomElement ) ;
538
+ }
529
539
} ;
530
540
$js = ( function ( ) {
531
541
649
659
if ( obj ) {
650
660
var interceptor = { } ;
651
661
intercepting = interceptor ;
652
- $js ( obj , sync , function ( ) {
662
+ var when = $js ( obj , sync , function ( ) {
653
663
if ( id ) {
654
664
js . modules [ getSrc ( id ) ] = mod ;
665
+ delete ( waitingModule [ id ] ) ;
655
666
}
656
667
else {
657
668
js . modulesStack . push ( mod ) ;
663
674
interceptor . callback ( ) ;
664
675
}
665
676
} ) ;
677
+ if ( id ) {
678
+ waitingModule [ id ] = when ;
679
+ }
666
680
}
667
681
else {
668
682
if ( id ) {
You can’t perform that action at this time.
0 commit comments