@@ -297,7 +297,6 @@ global.$$$ = global.GETSCHEMA = (group, name, fn, timeout) => framework_builders
297297global . CREATE = ( group , name ) => framework_builders . getschema ( group , name ) . default ( ) ;
298298global . SCRIPT = ( body , value , callback , param ) => F . script ( body , value , callback , param ) ;
299299global . SINGLETON = ( name , def ) => SINGLETONS [ name ] || ( SINGLETONS [ name ] = ( new Function ( 'return ' + ( def || '{}' ) ) ) ( ) ) ;
300- global . EACHSCHEMA = ( group , fn ) => framework_builders . eachschema ( group , fn ) ;
301300global . FUNCTION = ( name ) => F . functions [ name ] ;
302301global . ROUTING = ( name ) => F . routing ( name ) ;
303302global . SCHEDULE = ( date , each , fn , param ) => F . schedule ( date , each , fn , param ) ;
@@ -1936,6 +1935,7 @@ F.web = F.route = function(url, funcExecute, flags, length, language) {
19361935 var hash = url2 . hash ( ) ;
19371936 var routeURL = framework_internal . routeSplitCreate ( url2 ) ;
19381937 var arr = [ ] ;
1938+ var params = [ ] ;
19391939 var reg = null ;
19401940 var regIndex = null ;
19411941
@@ -1947,6 +1947,9 @@ F.web = F.route = function(url, funcExecute, flags, length, language) {
19471947 arr . push ( i ) ;
19481948
19491949 var sub = o . substring ( 1 , o . length - 1 ) ;
1950+ var name = o . substring ( 1 , o . length - 1 ) . trim ( ) ;
1951+
1952+ params . push ( name ) ;
19501953
19511954 if ( sub [ 0 ] !== '/' )
19521955 return ;
@@ -1960,6 +1963,7 @@ F.web = F.route = function(url, funcExecute, flags, length, language) {
19601963 regIndex = [ ] ;
19611964 }
19621965
1966+ params [ params . length - 1 ] = 'regexp' + ( regIndex . length + 1 ) ;
19631967 reg [ i ] = new RegExp ( sub . substring ( 1 , index ) , sub . substring ( index + 1 ) ) ;
19641968 regIndex . push ( i ) ;
19651969 } ) ;
@@ -2042,6 +2046,7 @@ F.web = F.route = function(url, funcExecute, flags, length, language) {
20422046 r . urlraw = urlraw ;
20432047 r . url = routeURL ;
20442048 r . param = arr ;
2049+ r . paramnames = params . length ? params : null ;
20452050 r . flags = flags || EMPTYARRAY ;
20462051 r . flags2 = flags_to_object ( flags ) ;
20472052 r . method = method ;
@@ -9589,6 +9594,23 @@ Controller.prototype = {
95899594
95909595 get sitemapid ( ) {
95919596 return this . $sitemapid || this . route . sitemap ;
9597+ } ,
9598+
9599+ get params ( ) {
9600+ if ( this . $params )
9601+ return this . $params ;
9602+ var route = this . req . $total_route ;
9603+ var names = route . paramnames ;
9604+ if ( names ) {
9605+ var obj = { } ;
9606+ for ( var i = 0 ; i < names . length ; i ++ )
9607+ obj [ names [ i ] ] = this . req . split [ route . param [ i ] ] ;
9608+ this . $params = obj ;
9609+ return obj ;
9610+ } else {
9611+ this . $params = EMPTYOBJECT ;
9612+ return EMPTYOBJECT ;
9613+ }
95929614 }
95939615} ;
95949616
0 commit comments