summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js b/bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js
new file mode 100644
index 00000000..fe919dec
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js
@@ -0,0 +1,66 @@
+export default function (hostname, options, out) {
+ // Fast path for very popular suffixes; this allows to by-pass lookup
+ // completely as well as any extra allocation or string manipulation.
+ if (options.allowPrivateDomains === false && hostname.length > 3) {
+ var last = hostname.length - 1;
+ var c3 = hostname.charCodeAt(last);
+ var c2 = hostname.charCodeAt(last - 1);
+ var c1 = hostname.charCodeAt(last - 2);
+ var c0 = hostname.charCodeAt(last - 3);
+ if (c3 === 109 /* 'm' */ &&
+ c2 === 111 /* 'o' */ &&
+ c1 === 99 /* 'c' */ &&
+ c0 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'com';
+ return true;
+ }
+ else if (c3 === 103 /* 'g' */ &&
+ c2 === 114 /* 'r' */ &&
+ c1 === 111 /* 'o' */ &&
+ c0 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'org';
+ return true;
+ }
+ else if (c3 === 117 /* 'u' */ &&
+ c2 === 100 /* 'd' */ &&
+ c1 === 101 /* 'e' */ &&
+ c0 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'edu';
+ return true;
+ }
+ else if (c3 === 118 /* 'v' */ &&
+ c2 === 111 /* 'o' */ &&
+ c1 === 103 /* 'g' */ &&
+ c0 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'gov';
+ return true;
+ }
+ else if (c3 === 116 /* 't' */ &&
+ c2 === 101 /* 'e' */ &&
+ c1 === 110 /* 'n' */ &&
+ c0 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'net';
+ return true;
+ }
+ else if (c3 === 101 /* 'e' */ &&
+ c2 === 100 /* 'd' */ &&
+ c1 === 46 /* '.' */) {
+ out.isIcann = true;
+ out.isPrivate = false;
+ out.publicSuffix = 'de';
+ return true;
+ }
+ }
+ return false;
+}
+//# sourceMappingURL=fast-path.js.map \ No newline at end of file