@@ -119,23 +119,36 @@ AngularPlugin.prototype = {
119119 // just a prefix.
120120 // prefer the segments to be directories and prefer the full name to be
121121 // used.
122- var pairs = [ ] ;
123- for ( var j = 0 ; j > ( 0 - split . length ) ; j -- ) {
124- var cropped = split . slice ( 0 , j || undefined ) ;
125- for ( var i = 0 ; i < cropped . length ; i ++ ) {
126- pairs . push ( { front : cropped . slice ( 0 , i ) , back : cropped . slice ( i ) } ) ;
122+ var namespaced = [ ] , ns , mod ;
123+ for ( var j = 0 ; j < split . length ; j ++ ) {
124+ ns = split . slice ( 0 , - j ) ;
125+ mod = split . slice ( - j ) ;
126+ namespaced . push ( {
127+ namespace : ns ,
128+ module : mod . join ( '.' )
129+ } ) ;
130+ }
131+ for ( var k = 0 ; k < split . length ; k ++ ) {
132+ ns = split . slice ( 0 , - k ) ;
133+ mod = split . slice ( - k ) ;
134+ for ( var i = 1 ; i < mod . length ; i ++ ) {
135+ namespaced . push ( {
136+ namespace : ns ,
137+ module : mod . slice ( 0 , - i ) . join ( '.' )
138+ } ) ;
127139 }
128140 }
129- pairs . shift ( ) ;
130- var requests = pairs . map ( function ( p ) {
131- return {
132- path : path . join . apply ( path , [ request . path ] . concat ( p . front ) ) ,
133- request : p . back . join ( '.' ) ,
141+ namespaced . shift ( ) ;
142+
143+ return resolver . forEachBail ( namespaced , function ( nsmod , cb ) {
144+ callback . log ( "resolve module " + nsmod . module +
145+ " in namespace " + JSON . stringify ( nsmod . namespace ) ) ;
146+ var req = {
147+ path : request . path ,
148+ request : path . join . apply ( path , nsmod . namespace . concat ( nsmod . module ) ) ,
134149 query : request . query
135150 } ;
136- } ) ;
137-
138- return resolver . forEachBail ( requests , function ( req , cb ) {
151+ callback . log ( JSON . stringify ( req ) ) ;
139152 return resolver . doResolve ( "module" , req , cb , true ) ;
140153 } , function ( err , resolved ) {
141154 if ( err || ! resolved ) {
0 commit comments