Skip to content

Commit 04c6d6d

Browse files
committed
make matching case-insensitive by default
1 parent a9e914e commit 04c6d6d

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

index.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,25 @@ var docs = require('./globals-docs.json');
1313
*/
1414
module.exports.docs = docs;
1515

16+
function buildLowerCased() {
17+
var lowercased = {};
18+
for (var k in docs) {
19+
lowercased[k] = {};
20+
for (var name in docs[k]) {
21+
lowercased[k][name.toLowerCase()] = docs[k][name];
22+
}
23+
}
24+
return lowercased;
25+
}
26+
27+
var lowerCased = buildLowerCased();
28+
29+
/**
30+
* Lowercased docs: the same as the original docs array, but with lowercased
31+
* names.
32+
*/
33+
module.exports.lowerCased = lowerCased;
34+
1635
/**
1736
* Get a URL for a global object.
1837
*
@@ -23,10 +42,10 @@ module.exports.docs = docs;
2342
* getDoc('Array'); // yields MDC documentation for Array
2443
*/
2544
module.exports.getDoc = function(name, env) {
26-
if (!env) env = Object.keys(docs);
45+
if (!env) env = Object.keys(lowerCased);
2746

2847
for (var i = 0; i < env.length; i++) {
29-
var d = docs[env[i]][name];
48+
var d = lowerCased[env[i]][name.toLowerCase()];
3049
if (d) return d;
3150
}
3251
};

test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ test('globals-docs', function(t) {
66

77
t.equal(g.getDoc('Array'), 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array', 'Array');
88
t.equal(g.getDoc('Buffer'), 'https://nodejs.org/api/buffer.html', 'Buffer');
9+
t.equal(g.getDoc('boolean'), 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean', 'boolean lowercase');
10+
t.equal(g.getDoc('Boolean'), 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean', 'boolean uppercase');
911

1012
t.end();
1113
});

0 commit comments

Comments
 (0)