Skip to content

Commit

Permalink
Revert "Lazy-load modules from main entry point"
Browse files Browse the repository at this point in the history
closes #60
  • Loading branch information
nlf authored and dougwilson committed Jan 23, 2022
1 parent 6e155dd commit 438a9bc
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 46 deletions.
5 changes: 5 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
unreleased
==========

* Revert "Lazy-load modules from main entry point"

0.6.2 / 2019-04-29
==================

Expand Down
50 changes: 4 additions & 46 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@

'use strict';

/**
* Cached loaded submodules.
* @private
*/

var modules = Object.create(null);
var preferredCharsets = require('./lib/charset')
var preferredEncodings = require('./lib/encoding')
var preferredLanguages = require('./lib/language')
var preferredMediaTypes = require('./lib/mediaType')

/**
* Module exports.
Expand Down Expand Up @@ -43,7 +41,6 @@ Negotiator.prototype.charset = function charset(available) {
};

Negotiator.prototype.charsets = function charsets(available) {
var preferredCharsets = loadModule('charset').preferredCharsets;
return preferredCharsets(this.request.headers['accept-charset'], available);
};

Expand All @@ -53,7 +50,6 @@ Negotiator.prototype.encoding = function encoding(available) {
};

Negotiator.prototype.encodings = function encodings(available) {
var preferredEncodings = loadModule('encoding').preferredEncodings;
return preferredEncodings(this.request.headers['accept-encoding'], available);
};

Expand All @@ -63,7 +59,6 @@ Negotiator.prototype.language = function language(available) {
};

Negotiator.prototype.languages = function languages(available) {
var preferredLanguages = loadModule('language').preferredLanguages;
return preferredLanguages(this.request.headers['accept-language'], available);
};

Expand All @@ -73,7 +68,6 @@ Negotiator.prototype.mediaType = function mediaType(available) {
};

Negotiator.prototype.mediaTypes = function mediaTypes(available) {
var preferredMediaTypes = loadModule('mediaType').preferredMediaTypes;
return preferredMediaTypes(this.request.headers.accept, available);
};

Expand All @@ -86,39 +80,3 @@ Negotiator.prototype.preferredLanguage = Negotiator.prototype.language;
Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages;
Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;
Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;

/**
* Load the given module.
* @private
*/

function loadModule(moduleName) {
var module = modules[moduleName];

if (module !== undefined) {
return module;
}

// This uses a switch for static require analysis
switch (moduleName) {
case 'charset':
module = require('./lib/charset');
break;
case 'encoding':
module = require('./lib/encoding');
break;
case 'language':
module = require('./lib/language');
break;
case 'mediaType':
module = require('./lib/mediaType');
break;
default:
throw new Error('Cannot find module \'' + moduleName + '\'');
}

// Store to prevent invoking require()
modules[moduleName] = module;

return module;
}

0 comments on commit 438a9bc

Please sign in to comment.