@@ -109,7 +109,7 @@ export class SocketControllers {
109
109
return true ;
110
110
}
111
111
112
- const nspRegexp = nsp instanceof RegExp ? nsp : pathToRegexp ( nsp ) ;
112
+ const nspRegexp = nsp instanceof RegExp ? nsp : pathToRegexp ( nsp ) . regexp ;
113
113
return nspRegexp . test ( namespace . name ) ;
114
114
} ) ;
115
115
@@ -145,7 +145,7 @@ export class SocketControllers {
145
145
for ( const [ nsp , controllers ] of Object . entries ( controllerNamespaceMap ) ) {
146
146
const namespace = controllerNamespaceRegExpMap [ nsp ] ;
147
147
this . io
148
- . of ( namespace instanceof RegExp ? namespace : pathToRegexp ( namespace ) )
148
+ . of ( namespace instanceof RegExp ? namespace : pathToRegexp ( namespace ) . regexp )
149
149
. on ( 'connection' , ( socket : Socket ) => {
150
150
for ( const controller of controllers ) {
151
151
this . registerController ( socket , controller ) ;
@@ -403,8 +403,18 @@ export class SocketControllers {
403
403
namespace : string | RegExp | undefined ,
404
404
parameterMetadata ?: ParameterMetadata
405
405
) {
406
- const keys : any [ ] = [ ] ;
407
- const regexp = namespace instanceof RegExp ? namespace : pathToRegexp ( namespace || '/' , keys ) ;
406
+ let keys : any [ ] ;
407
+ let regexp : RegExp ;
408
+
409
+ if ( namespace instanceof RegExp ) {
410
+ regexp = namespace ;
411
+ keys = [ ] ;
412
+ } else {
413
+ const pathToRegexpResult = pathToRegexp ( namespace || '/' ) ;
414
+ regexp = pathToRegexpResult . regexp ;
415
+ keys = pathToRegexpResult . keys ;
416
+ }
417
+
408
418
const parts : any [ ] = regexp . exec ( socket . nsp . name ) || [ ] ;
409
419
const params : Record < string , string > = { } ;
410
420
keys . forEach ( ( key : any , index : number ) => {
0 commit comments