Skip to content
This repository was archived by the owner on Apr 22, 2020. It is now read-only.

Commit ad3a772

Browse files
simplified to use if instead of switch which produces marginally smaller code
1 parent f588945 commit ad3a772

File tree

2 files changed

+50
-54
lines changed

2 files changed

+50
-54
lines changed

js-modules/extractSourceSpans.js

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,34 +52,32 @@ function extractSourceSpans(node, isPreformatted) {
5252
var k = 0;
5353

5454
function walk(node) {
55-
switch (node.nodeType) {
56-
case 1: // Element
57-
if (nocode.test(node.className)) { return; }
58-
for (var child = node.firstChild; child; child = child.nextSibling) {
59-
walk(child);
55+
var type = node.nodeType;
56+
if (type == 1) { // Element
57+
if (nocode.test(node.className)) { return; }
58+
for (var child = node.firstChild; child; child = child.nextSibling) {
59+
walk(child);
60+
}
61+
var nodeName = node.nodeName.toLowerCase();
62+
if ('br' === nodeName || 'li' === nodeName) {
63+
chunks[k] = '\n';
64+
spans[k << 1] = length++;
65+
spans[(k++ << 1) | 1] = node;
66+
}
67+
} else if (type == 3 || type == 4) { // Text
68+
var text = node.nodeValue;
69+
if (text.length) {
70+
if (!isPreformatted) {
71+
text = text.replace(/[ \t\r\n]+/g, ' ');
72+
} else {
73+
text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
6074
}
61-
var nodeName = node.nodeName.toLowerCase();
62-
if ('br' === nodeName || 'li' === nodeName) {
63-
chunks[k] = '\n';
64-
spans[k << 1] = length++;
65-
spans[(k++ << 1) | 1] = node;
66-
}
67-
break;
68-
case 3: case 4: // Text
69-
var text = node.nodeValue;
70-
if (text.length) {
71-
if (!isPreformatted) {
72-
text = text.replace(/[ \t\r\n]+/g, ' ');
73-
} else {
74-
text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
75-
}
76-
// TODO: handle tabs here?
77-
chunks[k] = text;
78-
spans[k << 1] = length;
79-
length += text.length;
80-
spans[(k++ << 1) | 1] = node;
81-
}
82-
break;
75+
// TODO: handle tabs here?
76+
chunks[k] = text;
77+
spans[k << 1] = length;
78+
length += text.length;
79+
spans[(k++ << 1) | 1] = node;
80+
}
8381
}
8482
}
8583

src/prettify.js

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -530,34 +530,32 @@ var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[
530530
var k = 0;
531531

532532
function walk(node) {
533-
switch (node.nodeType) {
534-
case 1: // Element
535-
if (nocode.test(node.className)) { return; }
536-
for (var child = node.firstChild; child; child = child.nextSibling) {
537-
walk(child);
538-
}
539-
var nodeName = node.nodeName.toLowerCase();
540-
if ('br' === nodeName || 'li' === nodeName) {
541-
chunks[k] = '\n';
542-
spans[k << 1] = length++;
543-
spans[(k++ << 1) | 1] = node;
544-
}
545-
break;
546-
case 3: case 4: // Text
547-
var text = node.nodeValue;
548-
if (text.length) {
549-
if (!isPreformatted) {
550-
text = text.replace(/[ \t\r\n]+/g, ' ');
551-
} else {
552-
text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
553-
}
554-
// TODO: handle tabs here?
555-
chunks[k] = text;
556-
spans[k << 1] = length;
557-
length += text.length;
558-
spans[(k++ << 1) | 1] = node;
533+
var type = node.nodeType;
534+
if (type == 1) { // Element
535+
if (nocode.test(node.className)) { return; }
536+
for (var child = node.firstChild; child; child = child.nextSibling) {
537+
walk(child);
538+
}
539+
var nodeName = node.nodeName.toLowerCase();
540+
if ('br' === nodeName || 'li' === nodeName) {
541+
chunks[k] = '\n';
542+
spans[k << 1] = length++;
543+
spans[(k++ << 1) | 1] = node;
544+
}
545+
} else if (type == 3 || type == 4) { // Text
546+
var text = node.nodeValue;
547+
if (text.length) {
548+
if (!isPreformatted) {
549+
text = text.replace(/[ \t\r\n]+/g, ' ');
550+
} else {
551+
text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
559552
}
560-
break;
553+
// TODO: handle tabs here?
554+
chunks[k] = text;
555+
spans[k << 1] = length;
556+
length += text.length;
557+
spans[(k++ << 1) | 1] = node;
558+
}
561559
}
562560
}
563561

0 commit comments

Comments
 (0)