parse-domain 8.2.2 → 8.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -68
- package/dist/bin/update.d.ts +3 -0
- package/dist/bin/update.d.ts.map +1 -0
- package/dist/bin/update.js +18 -0
- package/dist/bin/update.js.map +1 -0
- package/{build → dist}/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -0
- package/{build → dist}/config.js +1 -1
- package/{build → dist}/config.js.map +1 -1
- package/{build → dist}/from-url.d.ts +1 -0
- package/dist/from-url.d.ts.map +1 -0
- package/{build → dist}/from-url.js +2 -2
- package/dist/from-url.js.map +1 -0
- package/dist/main.d.ts +6 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +6 -0
- package/dist/main.js.map +1 -0
- package/{build → dist}/parse-domain.d.ts +30 -29
- package/dist/parse-domain.d.ts.map +1 -0
- package/{build → dist}/parse-domain.js +28 -16
- package/dist/parse-domain.js.map +1 -0
- package/{build → dist}/psl/build-tries.d.ts +1 -0
- package/dist/psl/build-tries.d.ts.map +1 -0
- package/{build → dist}/psl/build-tries.js +5 -5
- package/dist/psl/build-tries.js.map +1 -0
- package/{build → dist}/psl/fetch-psl.d.ts +1 -0
- package/dist/psl/fetch-psl.d.ts.map +1 -0
- package/dist/psl/fetch-psl.js +10 -0
- package/dist/psl/fetch-psl.js.map +1 -0
- package/{build → dist}/punycode.d.ts +1 -0
- package/dist/punycode.d.ts.map +1 -0
- package/{build → dist}/sanitize.d.ts +8 -7
- package/dist/sanitize.d.ts.map +1 -0
- package/{build → dist}/sanitize.js +12 -8
- package/dist/sanitize.js.map +1 -0
- package/dist/scripts/update-psl-fixture.d.ts +2 -0
- package/dist/scripts/update-psl-fixture.d.ts.map +1 -0
- package/dist/scripts/update-psl-fixture.js +7 -0
- package/dist/scripts/update-psl-fixture.js.map +1 -0
- package/dist/scripts/update-tries.d.ts +2 -0
- package/dist/scripts/update-tries.d.ts.map +1 -0
- package/dist/scripts/update-tries.js +26 -0
- package/dist/scripts/update-tries.js.map +1 -0
- package/dist/serialized-tries.d.ts +3 -0
- package/dist/serialized-tries.d.ts.map +1 -0
- package/dist/serialized-tries.js +3 -0
- package/dist/serialized-tries.js.map +1 -0
- package/{build → dist}/smoke-test.d.ts +1 -0
- package/dist/smoke-test.d.ts.map +1 -0
- package/{build → dist}/smoke-test.js +1 -1
- package/dist/smoke-test.js.map +1 -0
- package/{build → dist}/trie/characters.d.ts +1 -0
- package/dist/trie/characters.d.ts.map +1 -0
- package/{build → dist}/trie/create-trie.d.ts +1 -0
- package/dist/trie/create-trie.d.ts.map +1 -0
- package/{build → dist}/trie/create-trie.js +3 -1
- package/dist/trie/create-trie.js.map +1 -0
- package/dist/trie/look-up.d.ts +4 -0
- package/dist/trie/look-up.d.ts.map +1 -0
- package/{build → dist}/trie/look-up.js +2 -2
- package/dist/trie/look-up.js.map +1 -0
- package/{build → dist}/trie/nodes.d.ts +1 -0
- package/dist/trie/nodes.d.ts.map +1 -0
- package/{build → dist}/trie/parse-trie.d.ts +1 -0
- package/dist/trie/parse-trie.d.ts.map +1 -0
- package/{build → dist}/trie/parse-trie.js +1 -1
- package/dist/trie/parse-trie.js.map +1 -0
- package/dist/trie/serialize-trie.d.ts +3 -0
- package/dist/trie/serialize-trie.d.ts.map +1 -0
- package/{build → dist}/trie/serialize-trie.js +3 -3
- package/dist/trie/serialize-trie.js.map +1 -0
- package/{build → dist}/type-util.d.ts +1 -0
- package/dist/type-util.d.ts.map +1 -0
- package/dist/type-util.js +1 -0
- package/{build → dist}/update-tries.d.ts +1 -0
- package/dist/update-tries.d.ts.map +1 -0
- package/dist/update-tries.js +14 -0
- package/dist/update-tries.js.map +1 -0
- package/package.json +51 -48
- package/serialized-tries/icann.js +1 -1
- package/serialized-tries/info.json +1 -1
- package/serialized-tries/private.js +1 -1
- package/bin/update.js +0 -22
- package/build/from-url.js.map +0 -1
- package/build/main.d.ts +0 -3
- package/build/main.js +0 -6
- package/build/main.js.map +0 -1
- package/build/parse-domain.js.map +0 -1
- package/build/psl/build-tries.js.map +0 -1
- package/build/psl/fetch-psl.js +0 -19
- package/build/psl/fetch-psl.js.map +0 -1
- package/build/sanitize.js.map +0 -1
- package/build/scripts/update-psl-fixture.d.ts +0 -1
- package/build/scripts/update-psl-fixture.js +0 -20
- package/build/scripts/update-psl-fixture.js.map +0 -1
- package/build/scripts/update-tries.d.ts +0 -1
- package/build/scripts/update-tries.js +0 -39
- package/build/scripts/update-tries.js.map +0 -1
- package/build/serialized-tries.d.ts +0 -3
- package/build/serialized-tries.js +0 -4
- package/build/serialized-tries.js.map +0 -1
- package/build/smoke-test.js.map +0 -1
- package/build/trie/create-trie.js.map +0 -1
- package/build/trie/look-up.d.ts +0 -3
- package/build/trie/look-up.js.map +0 -1
- package/build/trie/parse-trie.js.map +0 -1
- package/build/trie/serialize-trie.d.ts +0 -2
- package/build/trie/serialize-trie.js.map +0 -1
- package/build/type-util.js +0 -2
- package/build/update-tries.js +0 -23
- package/build/update-tries.js.map +0 -1
- /package/{build → dist}/punycode.js +0 -0
- /package/{build → dist}/punycode.js.map +0 -0
- /package/{build → dist}/trie/characters.js +0 -0
- /package/{build → dist}/trie/characters.js.map +0 -0
- /package/{build → dist}/trie/nodes.js +0 -0
- /package/{build → dist}/trie/nodes.js.map +0 -0
- /package/{build → dist}/type-util.js.map +0 -0
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import * as path from "path";
|
|
11
|
-
import * as url from "url";
|
|
12
|
-
import * as fs from "fs";
|
|
13
|
-
import { fetchBuildSerializeTries } from "../update-tries.js";
|
|
14
|
-
import { PUBLIC_SUFFIX_URL } from "../config.js";
|
|
15
|
-
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
16
|
-
const writeTriesToFiles = (_a) => __awaiter(void 0, [_a], void 0, function* ({ serializedIcannTrie, serializedPrivateTrie, }) {
|
|
17
|
-
const indexOfScriptArg = process.argv.lastIndexOf("--");
|
|
18
|
-
const targetDirectories = process.argv.slice(indexOfScriptArg + 1);
|
|
19
|
-
yield Promise.all(targetDirectories.map((targetDirectory) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const pathToIcannTrie = path.resolve(__dirname, targetDirectory, "icann.js");
|
|
21
|
-
const pathToPrivateTrie = path.resolve(__dirname, targetDirectory, "private.js");
|
|
22
|
-
const pathToTrieInfoFile = path.resolve(__dirname, targetDirectory, "info.json");
|
|
23
|
-
console.warn(`Writing ${pathToIcannTrie}...`);
|
|
24
|
-
console.warn(`Writing ${pathToPrivateTrie}...`);
|
|
25
|
-
console.warn(`Writing ${pathToTrieInfoFile}...`);
|
|
26
|
-
yield Promise.all([
|
|
27
|
-
fs.promises.writeFile(pathToIcannTrie, `export default ${JSON.stringify(serializedIcannTrie)};`),
|
|
28
|
-
fs.promises.writeFile(pathToPrivateTrie, `export default ${JSON.stringify(serializedPrivateTrie)};`),
|
|
29
|
-
fs.promises.writeFile(pathToTrieInfoFile, JSON.stringify({
|
|
30
|
-
updatedAt: new Date(),
|
|
31
|
-
})),
|
|
32
|
-
]);
|
|
33
|
-
})));
|
|
34
|
-
});
|
|
35
|
-
export const done = (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
console.warn(`Fetching public suffix list from ${PUBLIC_SUFFIX_URL}...`);
|
|
37
|
-
yield writeTriesToFiles(yield fetchBuildSerializeTries());
|
|
38
|
-
}))();
|
|
39
|
-
//# sourceMappingURL=update-tries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../src/scripts/update-tries.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,KAG6B,EAAE,4CAHxB,EAC/B,mBAAmB,EACnB,qBAAqB,GAC8B;IACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAEnE,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,GAAG,CAAC,CAAO,eAAe,EAAE,EAAE;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,SAAS,EACT,eAAe,EACf,UAAU,CACX,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,SAAS,EACT,eAAe,EACf,YAAY,CACb,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CACrC,SAAS,EACT,eAAe,EACf,WAAW,CACZ,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,WAAW,eAAe,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,iBAAiB,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,WAAW,kBAAkB,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,eAAe,EACf,kBAAkB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CACzD;YACD,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,iBAAiB,EACjB,kBAAkB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAC3D;YACD,EAAE,CAAC,QAAQ,CAAC,SAAS,CACnB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE;IAC9B,OAAO,CAAC,IAAI,CAAC,oCAAoC,iBAAiB,KAAK,CAAC,CAAC;IAEzE,MAAM,iBAAiB,CAAC,MAAM,wBAAwB,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAA,CAAC,EAAE,CAAC","sourcesContent":["import * as path from \"path\";\nimport * as url from \"url\";\nimport * as fs from \"fs\";\nimport { fetchBuildSerializeTries } from \"../update-tries.js\";\nimport { PUBLIC_SUFFIX_URL } from \"../config.js\";\nimport { Await } from \"../type-util.js\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nconst writeTriesToFiles = async ({\n serializedIcannTrie,\n serializedPrivateTrie,\n}: Await<ReturnType<typeof fetchBuildSerializeTries>>) => {\n const indexOfScriptArg = process.argv.lastIndexOf(\"--\");\n const targetDirectories = process.argv.slice(indexOfScriptArg + 1);\n\n await Promise.all(\n targetDirectories.map(async (targetDirectory) => {\n const pathToIcannTrie = path.resolve(\n __dirname,\n targetDirectory,\n \"icann.js\",\n );\n const pathToPrivateTrie = path.resolve(\n __dirname,\n targetDirectory,\n \"private.js\",\n );\n const pathToTrieInfoFile = path.resolve(\n __dirname,\n targetDirectory,\n \"info.json\",\n );\n\n console.warn(`Writing ${pathToIcannTrie}...`);\n console.warn(`Writing ${pathToPrivateTrie}...`);\n console.warn(`Writing ${pathToTrieInfoFile}...`);\n\n await Promise.all([\n fs.promises.writeFile(\n pathToIcannTrie,\n `export default ${JSON.stringify(serializedIcannTrie)};`,\n ),\n fs.promises.writeFile(\n pathToPrivateTrie,\n `export default ${JSON.stringify(serializedPrivateTrie)};`,\n ),\n fs.promises.writeFile(\n pathToTrieInfoFile,\n JSON.stringify({\n updatedAt: new Date(),\n }),\n ),\n ]);\n }),\n );\n};\n\nexport const done = (async () => {\n console.warn(`Fetching public suffix list from ${PUBLIC_SUFFIX_URL}...`);\n\n await writeTriesToFiles(await fetchBuildSerializeTries());\n})();\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../src/serialized-tries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import icannTrie from \"../serialized-tries/icann.js\";\nimport privateTrie from \"../serialized-tries/private.js\";\n\nexport { icannTrie, privateTrie };\n"]}
|
package/build/smoke-test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../src/smoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC9C,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;QACjC,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,KAAK,CAAC;SACzB;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE;QAChD,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QACtC,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAC7B,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SAC9B;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE;QACzD,QAAQ,EAAE,4BAA4B;QACtC,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;QAC/C,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;QACtC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC9B,MAAM,EAAE,YAAY;YACpB,eAAe,EAAE,CAAC,KAAK,CAAC;SACzB;KACF,CAAC,CAAC;IACH,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE;QACpD,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;QAClD,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,aAAa;QACrB,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;QACrC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;SACtC;KACF,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { deepStrictEqual } from \"assert\";\nimport { fromUrl, parseDomain, ParseResultType } from \"./main.js\";\n\nexport const runSmokeTest = () => {\n deepStrictEqual(parseDomain(\"www.example.com\"), {\n hostname: \"www.example.com\",\n type: ParseResultType.Listed,\n labels: [\"www\", \"example\", \"com\"],\n subDomains: [\"www\"],\n domain: \"example\",\n topLevelDomains: [\"com\"],\n icann: {\n subDomains: [\"www\"],\n domain: \"example\",\n topLevelDomains: [\"com\"],\n },\n });\n deepStrictEqual(parseDomain(\"www.example.co.uk\"), {\n hostname: \"www.example.co.uk\",\n type: ParseResultType.Listed,\n labels: [\"www\", \"example\", \"co\", \"uk\"],\n subDomains: [\"www\"],\n domain: \"example\",\n topLevelDomains: [\"co\", \"uk\"],\n icann: {\n subDomains: [\"www\"],\n domain: \"example\",\n topLevelDomains: [\"co\", \"uk\"],\n },\n });\n deepStrictEqual(parseDomain(\"www.example.cloudfront.net\"), {\n hostname: \"www.example.cloudfront.net\",\n type: ParseResultType.Listed,\n labels: [\"www\", \"example\", \"cloudfront\", \"net\"],\n subDomains: [\"www\"],\n domain: \"example\",\n topLevelDomains: [\"cloudfront\", \"net\"],\n icann: {\n subDomains: [\"www\", \"example\"],\n domain: \"cloudfront\",\n topLevelDomains: [\"net\"],\n },\n });\n deepStrictEqual(parseDomain(fromUrl(\"www.食狮.公司.cn\")), {\n hostname: \"www.xn--85x722f.xn--55qx5d.cn\",\n type: ParseResultType.Listed,\n labels: [\"www\", \"xn--85x722f\", \"xn--55qx5d\", \"cn\"],\n subDomains: [\"www\"],\n domain: \"xn--85x722f\",\n topLevelDomains: [\"xn--55qx5d\", \"cn\"],\n icann: {\n subDomains: [\"www\"],\n domain: \"xn--85x722f\",\n topLevelDomains: [\"xn--55qx5d\", \"cn\"],\n },\n });\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../src/trie/create-trie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,GAAa,IAAI,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["import { createRootNode, createOrGetChild, TrieNode } from \"./nodes.js\";\n\nexport const createTrieFromList = (list: Array<string>) => {\n const root = createRootNode();\n\n for (const rule of list) {\n let node: TrieNode = root;\n\n for (const label of rule.split(\".\").reverse()) {\n node = createOrGetChild(node, label);\n }\n }\n\n return root;\n};\n"]}
|
package/build/trie/look-up.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../src/trie/look-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAAE,IAAc,EAAE,EAAE;IACvE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACrC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;gBAC7D,MAAM;YACR,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAa,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,MAAM;YACR,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAa,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["import * as characters from \"./characters.js\";\nimport { TrieNode } from \"./nodes.js\";\nimport { Label } from \"../parse-domain.js\";\n\nexport const lookUpTldsInTrie = (labels: Array<Label>, trie: TrieNode) => {\n const labelsToCheck = labels.slice();\n const tlds: Array<Label> = [];\n let node = trie;\n\n while (labelsToCheck.length !== 0) {\n const label = labelsToCheck.pop()!;\n const labelLowerCase = label.toLowerCase();\n\n if (node.children.has(characters.WILDCARD)) {\n if (node.children.has(characters.EXCEPTION + labelLowerCase)) {\n break;\n }\n node = node.children.get(characters.WILDCARD) as TrieNode;\n } else {\n if (node.children.has(labelLowerCase) === false) {\n break;\n }\n node = node.children.get(labelLowerCase) as TrieNode;\n }\n\n tlds.unshift(label);\n }\n\n return tlds;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-trie.js","sourceRoot":"","sources":["../../src/trie/parse-trie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,cAAsB,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAa,QAAQ,CAAC;IACpC,gEAAgE;IAChE,6EAA6E;IAC7E,IAAI,IAAI,GAAG,QAAoB,CAAC;IAEhC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,QAAQ,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnB,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CACb,wCAAwC,CAAC,qDAAqD,CAC/F,CAAC;gBACJ,CAAC;gBACD,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,IAAI,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import * as characters from \"./characters.js\";\nimport {\n createRootNode,\n createOrGetChild,\n TrieNode,\n NODE_TYPE_ROOT,\n} from \"./nodes.js\";\n\nexport const parseTrie = (serializedTrie: string) => {\n const rootNode = createRootNode();\n let domain = \"\";\n let parentNode: TrieNode = rootNode;\n // Type assertion necessary here due to a TypeScript unsoundness\n // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457\n let node = rootNode as TrieNode;\n\n const addDomain = () => {\n node = createOrGetChild(parentNode, domain);\n domain = \"\";\n };\n\n for (let i = 0; i < serializedTrie.length; i++) {\n const char = serializedTrie.charAt(i);\n\n switch (char) {\n case characters.SAME: {\n addDomain();\n continue;\n }\n case characters.DOWN: {\n addDomain();\n parentNode = node;\n continue;\n }\n case characters.RESET: {\n addDomain();\n parentNode = rootNode;\n continue;\n }\n case characters.UP: {\n if (parentNode.type === NODE_TYPE_ROOT) {\n throw new Error(\n `Error in serialized trie at position ${i}: Cannot go up, current parent node is already root`,\n );\n }\n addDomain();\n parentNode = parentNode.parent;\n continue;\n }\n }\n domain += char;\n }\n\n if (domain !== \"\") {\n addDomain();\n }\n\n return rootNode;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize-trie.js","sourceRoot":"","sources":["../../src/trie/serialize-trie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAU,EAAE;IAkB1D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,KAAK,GAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,IAAI,OAA8B,CAAC;IAEnC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,UAAU,IAAI,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACxC,UAAU,IAAI,IAAI,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QACD,UAAU,IAAI,IAAI,CAAC;QAEnB,MAAM,QAAQ,GAAqB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","sourcesContent":["import { TrieRootNode, TrieChildNode } from \"./nodes.js\";\nimport { DOWN, UP, SAME } from \"./characters.js\";\n\nexport const serializeTrie = (root: TrieRootNode): string => {\n /*\n\tA trie might look like this:\n\n\t root\n\t |\n\t +-------+-----+-----+-----------+\n\t | | | |\n\t com uk jp موقع\n\t | |\n\t +--+--+ +--+--+\n\t | | | |\n\t co gov 静岡 岐阜\n\n\tAnd the textual representation of the trie looks like this:\n\tcom|uk>co,gov|jp>静岡,岐阜|موقع\n\t*/\n type QueueItem = TrieChildNode | typeof UP;\n let serialized = \"\";\n const queue: Array<QueueItem> = Array.from(root.children.values());\n let current: QueueItem | undefined;\n\n while ((current = queue.shift()) !== undefined) {\n if (current === UP) {\n serialized += UP;\n continue;\n }\n serialized += current.label;\n if (current.children.size === 0) {\n if (queue.length > 0 && queue[0] !== UP) {\n serialized += SAME;\n }\n continue;\n }\n serialized += DOWN;\n\n const newItems: Array<QueueItem> = Array.from(current.children.values());\n\n if (queue.length > 0) {\n newItems.push(UP);\n }\n queue.unshift(...newItems);\n }\n\n return serialized;\n};\n"]}
|
package/build/type-util.js
DELETED
package/build/update-tries.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { fetchPsl } from "./psl/fetch-psl.js";
|
|
11
|
-
import { buildTries } from "./psl/build-tries.js";
|
|
12
|
-
import { serializeTrie } from "./trie/serialize-trie.js";
|
|
13
|
-
export const fetchBuildSerializeTries = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
const psl = yield fetchPsl();
|
|
15
|
-
const { icannTrie, privateTrie } = buildTries(psl);
|
|
16
|
-
const serializedIcannTrie = serializeTrie(icannTrie);
|
|
17
|
-
const serializedPrivateTrie = serializeTrie(privateTrie);
|
|
18
|
-
return {
|
|
19
|
-
serializedIcannTrie,
|
|
20
|
-
serializedPrivateTrie,
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=update-tries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../src/update-tries.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAS,EAAE;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAEzD,OAAO;QACL,mBAAmB;QACnB,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAA,CAAC","sourcesContent":["import { fetchPsl } from \"./psl/fetch-psl.js\";\nimport { buildTries } from \"./psl/build-tries.js\";\nimport { serializeTrie } from \"./trie/serialize-trie.js\";\n\nexport const fetchBuildSerializeTries = async () => {\n const psl = await fetchPsl();\n const { icannTrie, privateTrie } = buildTries(psl);\n const serializedIcannTrie = serializeTrie(icannTrie);\n const serializedPrivateTrie = serializeTrie(privateTrie);\n\n return {\n serializedIcannTrie,\n serializedPrivateTrie,\n };\n};\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|