8
8
9
9
'use strict' ;
10
10
11
- /**
12
- * Cached loaded submodules.
13
- * @private
14
- */
15
-
16
- var modules = Object . create ( null ) ;
11
+ var preferredCharsets = require ( './lib/charset' )
12
+ var preferredEncodings = require ( './lib/encoding' )
13
+ var preferredLanguages = require ( './lib/language' )
14
+ var preferredMediaTypes = require ( './lib/mediaType' )
17
15
18
16
/**
19
17
* Module exports.
@@ -43,7 +41,6 @@ Negotiator.prototype.charset = function charset(available) {
43
41
} ;
44
42
45
43
Negotiator . prototype . charsets = function charsets ( available ) {
46
- var preferredCharsets = loadModule ( 'charset' ) . preferredCharsets ;
47
44
return preferredCharsets ( this . request . headers [ 'accept-charset' ] , available ) ;
48
45
} ;
49
46
@@ -53,7 +50,6 @@ Negotiator.prototype.encoding = function encoding(available) {
53
50
} ;
54
51
55
52
Negotiator . prototype . encodings = function encodings ( available ) {
56
- var preferredEncodings = loadModule ( 'encoding' ) . preferredEncodings ;
57
53
return preferredEncodings ( this . request . headers [ 'accept-encoding' ] , available ) ;
58
54
} ;
59
55
@@ -63,7 +59,6 @@ Negotiator.prototype.language = function language(available) {
63
59
} ;
64
60
65
61
Negotiator . prototype . languages = function languages ( available ) {
66
- var preferredLanguages = loadModule ( 'language' ) . preferredLanguages ;
67
62
return preferredLanguages ( this . request . headers [ 'accept-language' ] , available ) ;
68
63
} ;
69
64
@@ -73,7 +68,6 @@ Negotiator.prototype.mediaType = function mediaType(available) {
73
68
} ;
74
69
75
70
Negotiator . prototype . mediaTypes = function mediaTypes ( available ) {
76
- var preferredMediaTypes = loadModule ( 'mediaType' ) . preferredMediaTypes ;
77
71
return preferredMediaTypes ( this . request . headers . accept , available ) ;
78
72
} ;
79
73
@@ -86,39 +80,3 @@ Negotiator.prototype.preferredLanguage = Negotiator.prototype.language;
86
80
Negotiator . prototype . preferredLanguages = Negotiator . prototype . languages ;
87
81
Negotiator . prototype . preferredMediaType = Negotiator . prototype . mediaType ;
88
82
Negotiator . prototype . preferredMediaTypes = Negotiator . prototype . mediaTypes ;
89
-
90
- /**
91
- * Load the given module.
92
- * @private
93
- */
94
-
95
- function loadModule ( moduleName ) {
96
- var module = modules [ moduleName ] ;
97
-
98
- if ( module !== undefined ) {
99
- return module ;
100
- }
101
-
102
- // This uses a switch for static require analysis
103
- switch ( moduleName ) {
104
- case 'charset' :
105
- module = require ( './lib/charset' ) ;
106
- break ;
107
- case 'encoding' :
108
- module = require ( './lib/encoding' ) ;
109
- break ;
110
- case 'language' :
111
- module = require ( './lib/language' ) ;
112
- break ;
113
- case 'mediaType' :
114
- module = require ( './lib/mediaType' ) ;
115
- break ;
116
- default :
117
- throw new Error ( 'Cannot find module \'' + moduleName + '\'' ) ;
118
- }
119
-
120
- // Store to prevent invoking require()
121
- modules [ moduleName ] = module ;
122
-
123
- return module ;
124
- }
0 commit comments