Skip to content

Commit a45a451

Browse files
authored
fix: use the node require cache instead of custom caching (#562)
1 parent 80fbb76 commit a45a451

1 file changed

Lines changed: 4 additions & 54 deletions

File tree

index.js

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@
66

77
'use strict'
88

9-
/**
10-
* Cache of loaded parsers.
11-
* @private
12-
*/
13-
14-
var parsers = Object.create(null)
15-
169
/**
1710
* @typedef Parsers
1811
* @type {function}
@@ -37,7 +30,7 @@ exports = module.exports = bodyParser
3730
Object.defineProperty(exports, 'json', {
3831
configurable: true,
3932
enumerable: true,
40-
get: createParserGetter('json')
33+
get: () => require('./lib/types/json')
4134
})
4235

4336
/**
@@ -48,7 +41,7 @@ Object.defineProperty(exports, 'json', {
4841
Object.defineProperty(exports, 'raw', {
4942
configurable: true,
5043
enumerable: true,
51-
get: createParserGetter('raw')
44+
get: () => require('./lib/types/raw')
5245
})
5346

5447
/**
@@ -59,7 +52,7 @@ Object.defineProperty(exports, 'raw', {
5952
Object.defineProperty(exports, 'text', {
6053
configurable: true,
6154
enumerable: true,
62-
get: createParserGetter('text')
55+
get: () => require('./lib/types/text')
6356
})
6457

6558
/**
@@ -70,7 +63,7 @@ Object.defineProperty(exports, 'text', {
7063
Object.defineProperty(exports, 'urlencoded', {
7164
configurable: true,
7265
enumerable: true,
73-
get: createParserGetter('urlencoded')
66+
get: () => require('./lib/types/urlencoded')
7467
})
7568

7669
/**
@@ -85,46 +78,3 @@ Object.defineProperty(exports, 'urlencoded', {
8578
function bodyParser () {
8679
throw new Error('The bodyParser() generic has been split into individual middleware to use instead.')
8780
}
88-
89-
/**
90-
* Create a getter for loading a parser.
91-
* @private
92-
*/
93-
94-
function createParserGetter (name) {
95-
return function get () {
96-
return loadParser(name)
97-
}
98-
}
99-
100-
/**
101-
* Load a parser module.
102-
* @private
103-
*/
104-
105-
function loadParser (parserName) {
106-
var parser = parsers[parserName]
107-
108-
if (parser !== undefined) {
109-
return parser
110-
}
111-
112-
// this uses a switch for static require analysis
113-
switch (parserName) {
114-
case 'json':
115-
parser = require('./lib/types/json')
116-
break
117-
case 'raw':
118-
parser = require('./lib/types/raw')
119-
break
120-
case 'text':
121-
parser = require('./lib/types/text')
122-
break
123-
case 'urlencoded':
124-
parser = require('./lib/types/urlencoded')
125-
break
126-
}
127-
128-
// store to prevent invoking require()
129-
return (parsers[parserName] = parser)
130-
}

0 commit comments

Comments
 (0)