parse-domain 3.0.3 → 5.0.0

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.
Files changed (80) hide show
  1. package/LICENSE +17 -20
  2. package/README.md +129 -60
  3. package/bin/update.js +13 -13
  4. package/build-cjs/serialized-tries/icann.json +1 -1
  5. package/build-cjs/serialized-tries/info.json +1 -1
  6. package/build-cjs/serialized-tries/private.json +1 -1
  7. package/build-cjs/src/config.js +1 -0
  8. package/build-cjs/src/config.js.map +1 -1
  9. package/build-cjs/src/from-url.js +4 -2
  10. package/build-cjs/src/from-url.js.map +1 -1
  11. package/build-cjs/src/main.d.ts +1 -1
  12. package/build-cjs/src/main.js +9 -5
  13. package/build-cjs/src/main.js.map +1 -1
  14. package/build-cjs/src/parse-domain.d.ts +8 -2
  15. package/build-cjs/src/parse-domain.js +8 -6
  16. package/build-cjs/src/parse-domain.js.map +1 -1
  17. package/build-cjs/src/psl/build-tries.js +16 -14
  18. package/build-cjs/src/psl/build-tries.js.map +1 -1
  19. package/build-cjs/src/psl/fetch-psl.js +5 -3
  20. package/build-cjs/src/psl/fetch-psl.js.map +1 -1
  21. package/build-cjs/src/sanitize.d.ts +26 -4
  22. package/build-cjs/src/sanitize.js +105 -38
  23. package/build-cjs/src/sanitize.js.map +1 -1
  24. package/build-cjs/src/scripts/update-psl-fixture.js +4 -3
  25. package/build-cjs/src/scripts/update-psl-fixture.js.map +1 -1
  26. package/build-cjs/src/scripts/update-tries.js +6 -5
  27. package/build-cjs/src/scripts/update-tries.js.map +1 -1
  28. package/build-cjs/src/serialized-tries.js +1 -0
  29. package/build-cjs/src/serialized-tries.js.map +1 -1
  30. package/build-cjs/src/smoke-test.js +7 -5
  31. package/build-cjs/src/smoke-test.js.map +1 -1
  32. package/build-cjs/src/trie/characters.js +1 -0
  33. package/build-cjs/src/trie/characters.js.map +1 -1
  34. package/build-cjs/src/trie/create-trie.d.ts +1 -1
  35. package/build-cjs/src/trie/create-trie.js +5 -3
  36. package/build-cjs/src/trie/create-trie.js.map +1 -1
  37. package/build-cjs/src/trie/look-up.d.ts +2 -1
  38. package/build-cjs/src/trie/look-up.js +17 -3
  39. package/build-cjs/src/trie/look-up.js.map +1 -1
  40. package/build-cjs/src/trie/nodes.js +5 -2
  41. package/build-cjs/src/trie/nodes.js.map +1 -1
  42. package/build-cjs/src/trie/parse-trie.js +19 -5
  43. package/build-cjs/src/trie/parse-trie.js.map +1 -1
  44. package/build-cjs/src/trie/serialize-trie.js +3 -1
  45. package/build-cjs/src/trie/serialize-trie.js.map +1 -1
  46. package/build-cjs/src/type-util.d.ts +1 -1
  47. package/build-cjs/src/update-tries.js +7 -5
  48. package/build-cjs/src/update-tries.js.map +1 -1
  49. package/build-esm/serialized-tries/icann.json +1 -1
  50. package/build-esm/serialized-tries/info.json +1 -1
  51. package/build-esm/serialized-tries/private.json +1 -1
  52. package/build-esm/src/config.js.map +1 -1
  53. package/build-esm/src/from-url.js +1 -1
  54. package/build-esm/src/from-url.js.map +1 -1
  55. package/build-esm/src/main.d.ts +1 -1
  56. package/build-esm/src/main.js +3 -1
  57. package/build-esm/src/main.js.map +1 -1
  58. package/build-esm/src/parse-domain.d.ts +8 -2
  59. package/build-esm/src/parse-domain.js +2 -2
  60. package/build-esm/src/parse-domain.js.map +1 -1
  61. package/build-esm/src/psl/build-tries.js +10 -10
  62. package/build-esm/src/psl/build-tries.js.map +1 -1
  63. package/build-esm/src/psl/fetch-psl.js.map +1 -1
  64. package/build-esm/src/sanitize.d.ts +26 -4
  65. package/build-esm/src/sanitize.js +103 -35
  66. package/build-esm/src/sanitize.js.map +1 -1
  67. package/build-esm/src/serialized-tries.js.map +1 -1
  68. package/build-esm/src/smoke-test.js.map +1 -1
  69. package/build-esm/src/trie/create-trie.d.ts +1 -1
  70. package/build-esm/src/trie/create-trie.js.map +1 -1
  71. package/build-esm/src/trie/look-up.d.ts +2 -1
  72. package/build-esm/src/trie/look-up.js.map +1 -1
  73. package/build-esm/src/trie/nodes.js.map +1 -1
  74. package/build-esm/src/trie/parse-trie.js.map +1 -1
  75. package/build-esm/src/trie/serialize-trie.js.map +1 -1
  76. package/build-esm/src/type-util.d.ts +1 -1
  77. package/build-esm/src/type-util.js +1 -0
  78. package/build-esm/src/update-tries.js.map +1 -1
  79. package/package.json +93 -85
  80. package/CHANGELOG.md +0 -260
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-psl.js","sourceRoot":"","sources":["../../../src/psl/fetch-psl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAA0B;AAC1B,4DAA+B;AAC/B,sCAA2E;AAE9D,QAAA,QAAQ,GAAG,GAAS,EAAE;IAClC,MAAM,QAAQ,GAAG,MAAM,oBAAK,CAAC,0BAAiB,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEzC,eAAe;IACf,WAAE,CACD,UAAU,CAAC,MAAM,IAAI,sCAA6B,EAClD,6CAA6C,CAC7C,CAAC;IAEF,OAAO,UAAU,CAAC;AACnB,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"fetch-psl.js","sourceRoot":"","sources":["../../../src/psl/fetch-psl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAA4B;AAC5B,4DAA+B;AAC/B,sCAA6E;AAEtE,MAAM,QAAQ,GAAG,GAAS,EAAE;IACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,0BAAiB,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEzC,eAAe;IACf,IAAA,WAAE,EACA,UAAU,CAAC,MAAM,IAAI,sCAA6B,EAClD,6CAA6C,CAC9C,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA,CAAC;AAXW,QAAA,QAAQ,YAWnB"}
@@ -1,12 +1,32 @@
1
- import isIp from "is-ip";
1
+ import { version as getIpVersion } from "is-ip";
2
2
  import { Label } from "./parse-domain";
3
3
  import { NO_HOSTNAME } from "./from-url";
4
+ export declare enum Validation {
5
+ /**
6
+ * Allows any octets as labels
7
+ * but still restricts the length of labels and the overall domain.
8
+ *
9
+ * @see https://www.rfc-editor.org/rfc/rfc2181#section-11
10
+ **/
11
+ Lax = "LAX",
12
+ /**
13
+ * Only allows ASCII letters, digits and hyphens (aka LDH),
14
+ * forbids hyphens at the beginning or end of a label
15
+ * and requires top-level domain names not to be all-numeric.
16
+ *
17
+ * This is the default if no validation is configured.
18
+ *
19
+ * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2
20
+ */
21
+ Strict = "STRICT"
22
+ }
4
23
  export declare enum ValidationErrorType {
5
24
  NoHostname = "NO_HOSTNAME",
6
25
  DomainMaxLength = "DOMAIN_MAX_LENGTH",
7
26
  LabelMinLength = "LABEL_MIN_LENGTH",
8
27
  LabelMaxLength = "LABEL_MAX_LENGTH",
9
- LabelInvalidCharacter = "LABEL_INVALID_CHARACTER"
28
+ LabelInvalidCharacter = "LABEL_INVALID_CHARACTER",
29
+ LastLabelInvalid = "LAST_LABEL_INVALID"
10
30
  }
11
31
  export declare type ValidationError = {
12
32
  type: ValidationErrorType;
@@ -21,7 +41,7 @@ export declare enum SanitizationResultType {
21
41
  export declare type SanitizationResultValidIp = {
22
42
  type: SanitizationResultType.ValidIp;
23
43
  ip: string;
24
- ipVersion: Exclude<ReturnType<typeof isIp.version>, undefined>;
44
+ ipVersion: Exclude<ReturnType<typeof getIpVersion>, undefined>;
25
45
  };
26
46
  export declare type SanitizationResultValidDomain = {
27
47
  type: SanitizationResultType.ValidDomain;
@@ -33,4 +53,6 @@ export declare type SanitizationResultError = {
33
53
  errors: Array<ValidationError>;
34
54
  };
35
55
  export declare type SanitizationResult = SanitizationResultValidIp | SanitizationResultValidDomain | SanitizationResultError;
36
- export declare const sanitize: (input: string | typeof NO_HOSTNAME) => SanitizationResult;
56
+ export declare const sanitize: (input: string | typeof NO_HOSTNAME, options?: {
57
+ validation?: Validation;
58
+ }) => SanitizationResult;
@@ -1,17 +1,38 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- // eslint-disable-next-line import/default
7
- const is_ip_1 = __importDefault(require("is-ip"));
3
+ exports.sanitize = exports.SanitizationResultType = exports.ValidationErrorType = exports.Validation = void 0;
4
+ const is_ip_1 = require("is-ip");
8
5
  // See https://en.wikipedia.org/wiki/Domain_name
9
6
  // See https://tools.ietf.org/html/rfc1034
10
7
  const LABEL_SEPARATOR = ".";
11
- const LABEL_ROOT = "";
12
8
  const LABEL_LENGTH_MIN = 1;
13
9
  const LABEL_LENGTH_MAX = 63;
10
+ /**
11
+ * 255 octets - 2 octets if you remove the last dot
12
+ * @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873
13
+ */
14
14
  const DOMAIN_LENGTH_MAX = 253;
15
+ const textEncoder = new TextEncoder();
16
+ var Validation;
17
+ (function (Validation) {
18
+ /**
19
+ * Allows any octets as labels
20
+ * but still restricts the length of labels and the overall domain.
21
+ *
22
+ * @see https://www.rfc-editor.org/rfc/rfc2181#section-11
23
+ **/
24
+ Validation["Lax"] = "LAX";
25
+ /**
26
+ * Only allows ASCII letters, digits and hyphens (aka LDH),
27
+ * forbids hyphens at the beginning or end of a label
28
+ * and requires top-level domain names not to be all-numeric.
29
+ *
30
+ * This is the default if no validation is configured.
31
+ *
32
+ * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2
33
+ */
34
+ Validation["Strict"] = "STRICT";
35
+ })(Validation = exports.Validation || (exports.Validation = {}));
15
36
  var ValidationErrorType;
16
37
  (function (ValidationErrorType) {
17
38
  ValidationErrorType["NoHostname"] = "NO_HOSTNAME";
@@ -19,6 +40,7 @@ var ValidationErrorType;
19
40
  ValidationErrorType["LabelMinLength"] = "LABEL_MIN_LENGTH";
20
41
  ValidationErrorType["LabelMaxLength"] = "LABEL_MAX_LENGTH";
21
42
  ValidationErrorType["LabelInvalidCharacter"] = "LABEL_INVALID_CHARACTER";
43
+ ValidationErrorType["LastLabelInvalid"] = "LAST_LABEL_INVALID";
22
44
  })(ValidationErrorType = exports.ValidationErrorType || (exports.ValidationErrorType = {}));
23
45
  var SanitizationResultType;
24
46
  (function (SanitizationResultType) {
@@ -33,8 +55,7 @@ const createNoHostnameError = (input) => {
33
55
  column: 1,
34
56
  };
35
57
  };
36
- const createDomainMaxLengthError = (domain) => {
37
- const length = domain.length;
58
+ const createDomainMaxLengthError = (domain, length) => {
38
59
  return {
39
60
  type: ValidationErrorType.DomainMaxLength,
40
61
  message: `Domain "${domain}" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`,
@@ -64,7 +85,14 @@ const createLabelInvalidCharacterError = (label, invalidCharacter, column) => {
64
85
  column,
65
86
  };
66
87
  };
67
- exports.sanitize = (input) => {
88
+ const createLastLabelInvalidError = (label, column) => {
89
+ return {
90
+ type: ValidationErrorType.LabelInvalidCharacter,
91
+ message: `Last label "${label}" must not be all-numeric.`,
92
+ column,
93
+ };
94
+ };
95
+ const sanitize = (input, options = {}) => {
68
96
  // Extra check for non-TypeScript users
69
97
  if (typeof input !== "string") {
70
98
  return {
@@ -73,10 +101,17 @@ exports.sanitize = (input) => {
73
101
  };
74
102
  }
75
103
  const inputTrimmed = input.trim();
104
+ if (inputTrimmed === "") {
105
+ return {
106
+ type: SanitizationResultType.ValidDomain,
107
+ domain: inputTrimmed,
108
+ labels: [],
109
+ };
110
+ }
76
111
  // IPv6 addresses are surrounded by square brackets in URLs
77
112
  // See https://tools.ietf.org/html/rfc3986#section-3.2.2
78
113
  const inputTrimmedAsIp = inputTrimmed.replace(/^\[|]$/g, "");
79
- const ipVersion = is_ip_1.default.version(inputTrimmedAsIp);
114
+ const ipVersion = (0, is_ip_1.version)(inputTrimmedAsIp);
80
115
  if (ipVersion !== undefined) {
81
116
  return {
82
117
  type: SanitizationResultType.ValidIp,
@@ -84,38 +119,18 @@ exports.sanitize = (input) => {
84
119
  ipVersion,
85
120
  };
86
121
  }
87
- if (inputTrimmed.length > DOMAIN_LENGTH_MAX) {
122
+ const lastChar = inputTrimmed.charAt(inputTrimmed.length - 1);
123
+ const canonicalInput = lastChar === LABEL_SEPARATOR ? inputTrimmed.slice(0, -1) : inputTrimmed;
124
+ const octets = new TextEncoder().encode(canonicalInput);
125
+ if (octets.length > DOMAIN_LENGTH_MAX) {
88
126
  return {
89
127
  type: SanitizationResultType.Error,
90
- errors: [createDomainMaxLengthError(inputTrimmed)],
128
+ errors: [createDomainMaxLengthError(inputTrimmed, octets.length)],
91
129
  };
92
130
  }
93
- const labels = inputTrimmed.split(LABEL_SEPARATOR);
94
- const lastLabel = labels[labels.length - 1];
95
- // If the last label is the special root label, ignore it
96
- if (lastLabel === LABEL_ROOT) {
97
- labels.pop();
98
- }
99
- const labelValidationErrors = [];
100
- let column = 1;
101
- for (const label of labels) {
102
- // According to https://tools.ietf.org/html/rfc6761 labels should
103
- // only contain ASCII letters, digits and hyphens (LDH).
104
- const invalidCharacter = /[^\d\-a-z]/iu.exec(label);
105
- if (invalidCharacter) {
106
- labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));
107
- }
108
- else if (
109
- // We can use .length here to check for the octet size because
110
- // label can only contain ASCII LDH characters at this point.
111
- label.length < LABEL_LENGTH_MIN) {
112
- labelValidationErrors.push(createLabelMinLengthError(label, column));
113
- }
114
- else if (label.length > LABEL_LENGTH_MAX) {
115
- labelValidationErrors.push(createLabelMaxLengthError(label, column));
116
- }
117
- column += label.length + LABEL_SEPARATOR.length;
118
- }
131
+ const labels = canonicalInput.split(LABEL_SEPARATOR);
132
+ const { validation = Validation.Strict } = options;
133
+ const labelValidationErrors = validateLabels[validation](labels);
119
134
  if (labelValidationErrors.length > 0) {
120
135
  return {
121
136
  type: SanitizationResultType.Error,
@@ -128,4 +143,56 @@ exports.sanitize = (input) => {
128
143
  labels,
129
144
  };
130
145
  };
146
+ exports.sanitize = sanitize;
147
+ const validateLabels = {
148
+ [Validation.Lax]: (labels) => {
149
+ const labelValidationErrors = [];
150
+ let column = 1;
151
+ for (const label of labels) {
152
+ const octets = textEncoder.encode(label);
153
+ if (octets.length < LABEL_LENGTH_MIN) {
154
+ labelValidationErrors.push(createLabelMinLengthError(label, column));
155
+ }
156
+ else if (octets.length > LABEL_LENGTH_MAX) {
157
+ labelValidationErrors.push(createLabelMaxLengthError(label, column));
158
+ }
159
+ column += label.length + LABEL_SEPARATOR.length;
160
+ }
161
+ return labelValidationErrors;
162
+ },
163
+ [Validation.Strict]: (labels) => {
164
+ const labelValidationErrors = [];
165
+ let column = 1;
166
+ let lastLabel;
167
+ for (const label of labels) {
168
+ // According to https://tools.ietf.org/html/rfc6761 labels should
169
+ // only contain ASCII letters, digits and hyphens (LDH).
170
+ const invalidCharacter = /[^\da-z-]/i.exec(label);
171
+ if (invalidCharacter) {
172
+ labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));
173
+ }
174
+ if (label.startsWith("-")) {
175
+ labelValidationErrors.push(createLabelInvalidCharacterError(label, "-", column));
176
+ }
177
+ else if (label.endsWith("-")) {
178
+ labelValidationErrors.push(createLabelInvalidCharacterError(label, "-", column + label.length - 1));
179
+ }
180
+ if (
181
+ // We can use .length here to check for the octet size because
182
+ // label can only contain ASCII LDH characters at this point.
183
+ label.length < LABEL_LENGTH_MIN) {
184
+ labelValidationErrors.push(createLabelMinLengthError(label, column));
185
+ }
186
+ else if (label.length > LABEL_LENGTH_MAX) {
187
+ labelValidationErrors.push(createLabelMaxLengthError(label, column));
188
+ }
189
+ column += label.length + LABEL_SEPARATOR.length;
190
+ lastLabel = label;
191
+ }
192
+ if (lastLabel !== undefined && /[a-z-]/iu.test(lastLabel) === false) {
193
+ labelValidationErrors.push(createLastLabelInvalidError(lastLabel, column - lastLabel.length - LABEL_SEPARATOR.length));
194
+ }
195
+ return labelValidationErrors;
196
+ },
197
+ };
131
198
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"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"}
@@ -12,17 +12,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.done = void 0;
15
16
  const path_1 = require("path");
16
17
  const fs_1 = __importDefault(require("fs"));
17
18
  const util_1 = require("util");
18
19
  const fetch_psl_1 = require("../psl/fetch-psl");
19
20
  // TODO: Replace this with fs promises once we removed Node 8
20
21
  const fs = {
21
- writeFile: util_1.promisify(fs_1.default.writeFile),
22
+ writeFile: (0, util_1.promisify)(fs_1.default.writeFile),
22
23
  };
23
24
  exports.done = (() => __awaiter(void 0, void 0, void 0, function* () {
24
- const pathToPslFixture = path_1.resolve(__dirname, "tests", "fixtures", "public-suffix-list.txt");
25
- const psl = yield fetch_psl_1.fetchPsl();
25
+ const pathToPslFixture = (0, path_1.resolve)(__dirname, "tests", "fixtures", "public-suffix-list.txt");
26
+ const psl = yield (0, fetch_psl_1.fetchPsl)();
26
27
  yield fs.writeFile(pathToPslFixture, psl);
27
28
  }))();
28
29
  //# sourceMappingURL=update-psl-fixture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-psl-fixture.js","sourceRoot":"","sources":["../../../src/scripts/update-psl-fixture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA6B;AAC7B,4CAA4B;AAC5B,+BAA+B;AAC/B,gDAA0C;AAE1C,6DAA6D;AAC7D,MAAM,EAAE,GAAG;IACV,SAAS,EAAE,gBAAS,CAAC,YAAU,CAAC,SAAS,CAAC;CAC1C,CAAC;AAEW,QAAA,IAAI,GAAG,CAAC,GAAS,EAAE;IAC/B,MAAM,gBAAgB,GAAG,cAAO,CAC/B,SAAS,EACT,OAAO,EACP,UAAU,EACV,wBAAwB,CACxB,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,oBAAQ,EAAE,CAAC;IAE7B,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAA,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"update-psl-fixture.js","sourceRoot":"","sources":["../../../src/scripts/update-psl-fixture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,4CAA4B;AAC5B,+BAAiC;AACjC,gDAA4C;AAE5C,6DAA6D;AAC7D,MAAM,EAAE,GAAG;IACT,SAAS,EAAE,IAAA,gBAAS,EAAC,YAAU,CAAC,SAAS,CAAC;CAC3C,CAAC;AAEW,QAAA,IAAI,GAAG,CAAC,GAAS,EAAE;IAC9B,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAC9B,SAAS,EACT,OAAO,EACP,UAAU,EACV,wBAAwB,CACzB,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAQ,GAAE,CAAC;IAE7B,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.done = void 0;
15
16
  const path_1 = require("path");
16
17
  const fs_1 = __importDefault(require("fs"));
17
18
  const util_1 = require("util");
@@ -19,15 +20,15 @@ const update_tries_1 = require("../update-tries");
19
20
  const config_1 = require("../config");
20
21
  // TODO: Replace this with fs promises once we removed Node 8
21
22
  const fs = {
22
- writeFile: util_1.promisify(fs_1.default.writeFile),
23
+ writeFile: (0, util_1.promisify)(fs_1.default.writeFile),
23
24
  };
24
25
  const writeTriesToFiles = ({ serializedIcannTrie, serializedPrivateTrie, }) => __awaiter(void 0, void 0, void 0, function* () {
25
26
  const indexOfScriptArg = process.argv.lastIndexOf("--");
26
27
  const targetDirectories = process.argv.slice(indexOfScriptArg + 1);
27
28
  yield Promise.all(targetDirectories.map((targetDirectory) => __awaiter(void 0, void 0, void 0, function* () {
28
- const pathToIcannTrie = path_1.resolve(__dirname, targetDirectory, "icann.json");
29
- const pathToPrivateTrie = path_1.resolve(__dirname, targetDirectory, "private.json");
30
- const pathToTrieInfoFile = path_1.resolve(__dirname, targetDirectory, "info.json");
29
+ const pathToIcannTrie = (0, path_1.resolve)(__dirname, targetDirectory, "icann.json");
30
+ const pathToPrivateTrie = (0, path_1.resolve)(__dirname, targetDirectory, "private.json");
31
+ const pathToTrieInfoFile = (0, path_1.resolve)(__dirname, targetDirectory, "info.json");
31
32
  console.warn(`Writing ${pathToIcannTrie}...`);
32
33
  console.warn(`Writing ${pathToPrivateTrie}...`);
33
34
  console.warn(`Writing ${pathToTrieInfoFile}...`);
@@ -42,6 +43,6 @@ const writeTriesToFiles = ({ serializedIcannTrie, serializedPrivateTrie, }) => _
42
43
  });
43
44
  exports.done = (() => __awaiter(void 0, void 0, void 0, function* () {
44
45
  console.warn(`Fetching public suffix list from ${config_1.PUBLIC_SUFFIX_URL}...`);
45
- yield writeTriesToFiles(yield update_tries_1.fetchBuildSerializeTries());
46
+ yield writeTriesToFiles(yield (0, update_tries_1.fetchBuildSerializeTries)());
46
47
  }))();
47
48
  //# sourceMappingURL=update-tries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../../src/scripts/update-tries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA6B;AAC7B,4CAA4B;AAC5B,+BAA+B;AAC/B,kDAAyD;AACzD,sCAA4C;AAG5C,6DAA6D;AAC7D,MAAM,EAAE,GAAG;IACV,SAAS,EAAE,gBAAS,CAAC,YAAU,CAAC,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAO,EAChC,mBAAmB,EACnB,qBAAqB,GAC+B,EAAE,EAAE;IACxD,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,CAChB,iBAAiB,CAAC,GAAG,CAAC,CAAO,eAAe,EAAE,EAAE;QAC/C,MAAM,eAAe,GAAG,cAAO,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,cAAO,CAChC,SAAS,EACT,eAAe,EACf,cAAc,CACd,CAAC;QACF,MAAM,kBAAkB,GAAG,cAAO,CACjC,SAAS,EACT,eAAe,EACf,WAAW,CACX,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;YACjB,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAClE,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACtE,EAAE,CAAC,SAAS,CACX,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;aACrB,CAAC,CACF;SACD,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CACF,CAAC;AACH,CAAC,CAAA,CAAC;AAEW,QAAA,IAAI,GAAG,CAAC,GAAS,EAAE;IAC/B,OAAO,CAAC,IAAI,CAAC,oCAAoC,0BAAiB,KAAK,CAAC,CAAC;IAEzE,MAAM,iBAAiB,CAAC,MAAM,uCAAwB,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAA,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"update-tries.js","sourceRoot":"","sources":["../../../src/scripts/update-tries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,4CAA4B;AAC5B,+BAAiC;AACjC,kDAA2D;AAC3D,sCAA8C;AAG9C,6DAA6D;AAC7D,MAAM,EAAE,GAAG;IACT,SAAS,EAAE,IAAA,gBAAS,EAAC,YAAU,CAAC,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAO,EAC/B,mBAAmB,EACnB,qBAAqB,GAC8B,EAAE,EAAE;IACvD,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,IAAA,cAAO,EAAC,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAC/B,SAAS,EACT,eAAe,EACf,cAAc,CACf,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAA,cAAO,EAChC,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,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAClE,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACtE,EAAE,CAAC,SAAS,CACV,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;AAEW,QAAA,IAAI,GAAG,CAAC,GAAS,EAAE;IAC9B,OAAO,CAAC,IAAI,CAAC,oCAAoC,0BAAiB,KAAK,CAAC,CAAC;IAEzE,MAAM,iBAAiB,CAAC,MAAM,IAAA,uCAAwB,GAAE,CAAC,CAAC;AAC5D,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.privateTrie = exports.icannTrie = void 0;
6
7
  const icann_json_1 = __importDefault(require("../serialized-tries/icann.json"));
7
8
  exports.icannTrie = icann_json_1.default;
8
9
  const private_json_1 = __importDefault(require("../serialized-tries/private.json"));
@@ -1 +1 @@
1
- {"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../../src/serialized-tries.ts"],"names":[],"mappings":";;;;;AAAA,gFAAuD;AAG/C,oBAHD,oBAAS,CAGC;AAFjB,oFAA2D;AAExC,sBAFZ,sBAAW,CAEY"}
1
+ {"version":3,"file":"serialized-tries.js","sourceRoot":"","sources":["../../src/serialized-tries.ts"],"names":[],"mappings":";;;;;;AAAA,gFAAuD;AAG9C,oBAHF,oBAAS,CAGE;AAFlB,oFAA2D;AAEvC,sBAFb,sBAAW,CAEa"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runSmokeTest = void 0;
3
4
  const assert_1 = require("assert");
4
5
  const main_1 = require("./main");
5
- exports.runSmokeTest = () => {
6
- assert_1.deepStrictEqual(main_1.parseDomain("www.example.com"), {
6
+ const runSmokeTest = () => {
7
+ (0, assert_1.deepStrictEqual)((0, main_1.parseDomain)("www.example.com"), {
7
8
  hostname: "www.example.com",
8
9
  type: "LISTED",
9
10
  labels: ["www", "example", "com"],
@@ -16,7 +17,7 @@ exports.runSmokeTest = () => {
16
17
  topLevelDomains: ["com"],
17
18
  },
18
19
  });
19
- assert_1.deepStrictEqual(main_1.parseDomain("www.example.co.uk"), {
20
+ (0, assert_1.deepStrictEqual)((0, main_1.parseDomain)("www.example.co.uk"), {
20
21
  hostname: "www.example.co.uk",
21
22
  type: "LISTED",
22
23
  labels: ["www", "example", "co", "uk"],
@@ -29,7 +30,7 @@ exports.runSmokeTest = () => {
29
30
  topLevelDomains: ["co", "uk"],
30
31
  },
31
32
  });
32
- assert_1.deepStrictEqual(main_1.parseDomain("www.example.cloudfront.net"), {
33
+ (0, assert_1.deepStrictEqual)((0, main_1.parseDomain)("www.example.cloudfront.net"), {
33
34
  hostname: "www.example.cloudfront.net",
34
35
  type: "LISTED",
35
36
  labels: ["www", "example", "cloudfront", "net"],
@@ -44,7 +45,7 @@ exports.runSmokeTest = () => {
44
45
  });
45
46
  // TODO: Use fromUrl once we dropped Node v8 support
46
47
  // deepStrictEqual(parseDomain(fromUrl("www.食狮.公司.cn")), {
47
- assert_1.deepStrictEqual(main_1.parseDomain("www.xn--85x722f.xn--55qx5d.cn"), {
48
+ (0, assert_1.deepStrictEqual)((0, main_1.parseDomain)("www.xn--85x722f.xn--55qx5d.cn"), {
48
49
  hostname: "www.xn--85x722f.xn--55qx5d.cn",
49
50
  type: "LISTED",
50
51
  labels: ["www", "xn--85x722f", "xn--55qx5d", "cn"],
@@ -58,4 +59,5 @@ exports.runSmokeTest = () => {
58
59
  },
59
60
  });
60
61
  };
62
+ exports.runSmokeTest = runSmokeTest;
61
63
  //# sourceMappingURL=smoke-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../../src/smoke-test.ts"],"names":[],"mappings":";;AAAA,mCAAuC;AACvC,iCAAmC;AAEtB,QAAA,YAAY,GAAG,GAAG,EAAE;IAChC,wBAAe,CAAC,kBAAW,CAAC,iBAAiB,CAAC,EAAE;QAC/C,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,QAAQ;QACd,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;YACN,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,KAAK,CAAC;SACxB;KACD,CAAC,CAAC;IACH,wBAAe,CAAC,kBAAW,CAAC,mBAAmB,CAAC,EAAE;QACjD,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,QAAQ;QACd,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;YACN,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SAC7B;KACD,CAAC,CAAC;IACH,wBAAe,CAAC,kBAAW,CAAC,4BAA4B,CAAC,EAAE;QAC1D,QAAQ,EAAE,4BAA4B;QACtC,IAAI,EAAE,QAAQ;QACd,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;YACN,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC9B,MAAM,EAAE,YAAY;YACpB,eAAe,EAAE,CAAC,KAAK,CAAC;SACxB;KACD,CAAC,CAAC;IACH,oDAAoD;IACpD,0DAA0D;IAC1D,wBAAe,CAAC,kBAAW,CAAC,+BAA+B,CAAC,EAAE;QAC7D,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;QACd,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;YACN,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;SACrC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../../src/smoke-test.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,iCAAqC;AAE9B,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAA,wBAAe,EAAC,IAAA,kBAAW,EAAC,iBAAiB,CAAC,EAAE;QAC9C,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,QAAQ;QACd,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,IAAA,wBAAe,EAAC,IAAA,kBAAW,EAAC,mBAAmB,CAAC,EAAE;QAChD,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,QAAQ;QACd,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,IAAA,wBAAe,EAAC,IAAA,kBAAW,EAAC,4BAA4B,CAAC,EAAE;QACzD,QAAQ,EAAE,4BAA4B;QACtC,IAAI,EAAE,QAAQ;QACd,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,oDAAoD;IACpD,0DAA0D;IAC1D,IAAA,wBAAe,EAAC,IAAA,kBAAW,EAAC,+BAA+B,CAAC,EAAE;QAC5D,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;QACd,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;AAvDW,QAAA,YAAY,gBAuDvB"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXCEPTION = exports.WILDCARD = exports.RESET = exports.DOWN = exports.SAME = exports.UP = void 0;
3
4
  // UP, SAME, DOWN, RESET should not be special regex characters in a character class.
4
5
  exports.UP = "<"; // one level up
5
6
  exports.SAME = ","; // same level
@@ -1 +1 @@
1
- {"version":3,"file":"characters.js","sourceRoot":"","sources":["../../../src/trie/characters.ts"],"names":[],"mappings":";;AAAA,qFAAqF;AACxE,QAAA,EAAE,GAAG,GAAG,CAAC,CAAC,eAAe;AACzB,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,iBAAiB;AAC7B,QAAA,KAAK,GAAG,GAAG,CAAC,CAAC,kCAAkC;AAC/C,QAAA,QAAQ,GAAG,GAAG,CAAC,CAAC,iCAAiC;AACjD,QAAA,SAAS,GAAG,GAAG,CAAC,CAAC,iCAAiC"}
1
+ {"version":3,"file":"characters.js","sourceRoot":"","sources":["../../../src/trie/characters.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACxE,QAAA,EAAE,GAAG,GAAG,CAAC,CAAC,eAAe;AACzB,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,iBAAiB;AAC7B,QAAA,KAAK,GAAG,GAAG,CAAC,CAAC,kCAAkC;AAC/C,QAAA,QAAQ,GAAG,GAAG,CAAC,CAAC,iCAAiC;AACjD,QAAA,SAAS,GAAG,GAAG,CAAC,CAAC,iCAAiC"}
@@ -1 +1 @@
1
- export declare const createTrieFromList: (list: string[]) => import("./nodes").TrieRootNode;
1
+ export declare const createTrieFromList: (list: Array<string>) => import("./nodes").TrieRootNode;
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTrieFromList = void 0;
3
4
  const nodes_1 = require("./nodes");
4
- exports.createTrieFromList = (list) => {
5
- const root = nodes_1.createRootNode();
5
+ const createTrieFromList = (list) => {
6
+ const root = (0, nodes_1.createRootNode)();
6
7
  for (const rule of list) {
7
8
  let node = root;
8
9
  for (const label of rule.split(".").reverse()) {
9
- node = nodes_1.createOrGetChild(node, label);
10
+ node = (0, nodes_1.createOrGetChild)(node, label);
10
11
  }
11
12
  }
12
13
  return root;
13
14
  };
15
+ exports.createTrieFromList = createTrieFromList;
14
16
  //# sourceMappingURL=create-trie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../../src/trie/create-trie.ts"],"names":[],"mappings":";;AAAA,mCAAmE;AAEtD,QAAA,kBAAkB,GAAG,CAAC,IAAmB,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,sBAAc,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACxB,IAAI,IAAI,GAAa,IAAI,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,GAAG,wBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACrC;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"create-trie.js","sourceRoot":"","sources":["../../../src/trie/create-trie.ts"],"names":[],"mappings":";;;AAAA,mCAAqE;AAE9D,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,IAAA,sBAAc,GAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,IAAI,IAAI,GAAa,IAAI,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,GAAG,IAAA,wBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B"}
@@ -1,2 +1,3 @@
1
1
  import { TrieNode } from "./nodes";
2
- export declare const lookUpTldsInTrie: (labels: string[], trie: TrieNode) => string[];
2
+ import { Label } from "../parse-domain";
3
+ export declare const lookUpTldsInTrie: (labels: Array<Label>, trie: TrieNode) => string[];
@@ -1,14 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
2
14
  var __importStar = (this && this.__importStar) || function (mod) {
3
15
  if (mod && mod.__esModule) return mod;
4
16
  var result = {};
5
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
- result["default"] = mod;
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
7
19
  return result;
8
20
  };
9
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.lookUpTldsInTrie = void 0;
10
23
  const characters = __importStar(require("./characters"));
11
- exports.lookUpTldsInTrie = (labels, trie) => {
24
+ const lookUpTldsInTrie = (labels, trie) => {
12
25
  const labelsToCheck = labels.slice();
13
26
  const tlds = [];
14
27
  let node = trie;
@@ -31,4 +44,5 @@ exports.lookUpTldsInTrie = (labels, trie) => {
31
44
  }
32
45
  return tlds;
33
46
  };
47
+ exports.lookUpTldsInTrie = lookUpTldsInTrie;
34
48
  //# sourceMappingURL=look-up.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../../src/trie/look-up.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA2C;AAI9B,QAAA,gBAAgB,GAAG,CAAC,MAAoB,EAAE,IAAc,EAAE,EAAE;IACxE,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;QAClC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAY,CAAC;QAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE;gBAC7D,MAAM;aACN;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAa,CAAC;SAC1D;aAAM;YACN,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;gBAChD,MAAM;aACN;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAa,CAAC;SACrD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"look-up.js","sourceRoot":"","sources":["../../../src/trie/look-up.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAIpC,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;QACjC,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;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE;gBAC5D,MAAM;aACP;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAa,CAAC;SAC3D;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;gBAC/C,MAAM;aACP;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAa,CAAC;SACtD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACrB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B"}
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrGetChild = exports.createRootNode = exports.NODE_TYPE_CHILD = exports.NODE_TYPE_ROOT = void 0;
3
4
  exports.NODE_TYPE_ROOT = Symbol("ROOT");
4
5
  exports.NODE_TYPE_CHILD = Symbol("CHILD");
5
- exports.createRootNode = () => {
6
+ const createRootNode = () => {
6
7
  return {
7
8
  type: exports.NODE_TYPE_ROOT,
8
9
  children: new Map(),
9
10
  };
10
11
  };
11
- exports.createOrGetChild = (parent, label) => {
12
+ exports.createRootNode = createRootNode;
13
+ const createOrGetChild = (parent, label) => {
12
14
  let child = parent.children.get(label);
13
15
  if (child === undefined) {
14
16
  child = {
@@ -21,4 +23,5 @@ exports.createOrGetChild = (parent, label) => {
21
23
  }
22
24
  return child;
23
25
  };
26
+ exports.createOrGetChild = createOrGetChild;
24
27
  //# sourceMappingURL=nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/trie/nodes.ts"],"names":[],"mappings":";;AAAa,QAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAelC,QAAA,cAAc,GAAG,GAAiB,EAAE;IAChD,OAAO;QACN,IAAI,EAAE,sBAAc;QACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,gBAAgB,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE;IACnE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE;QACxB,KAAK,GAAG;YACP,IAAI,EAAE,uBAAe;YACrB,KAAK;YACL,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,MAAM;SACN,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAClC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/trie/nodes.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAexC,MAAM,cAAc,GAAG,GAAiB,EAAE;IAC/C,OAAO;QACL,IAAI,EAAE,sBAAc;QACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;KACpB,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE;IAClE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,KAAK,GAAG;YACN,IAAI,EAAE,uBAAe;YACrB,KAAK;YACL,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,MAAM;SACP,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACnC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
@@ -1,23 +1,36 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
2
14
  var __importStar = (this && this.__importStar) || function (mod) {
3
15
  if (mod && mod.__esModule) return mod;
4
16
  var result = {};
5
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
- result["default"] = mod;
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
7
19
  return result;
8
20
  };
9
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.parseTrie = void 0;
10
23
  const characters = __importStar(require("./characters"));
11
24
  const nodes_1 = require("./nodes");
12
- exports.parseTrie = (serializedTrie) => {
13
- const rootNode = nodes_1.createRootNode();
25
+ const parseTrie = (serializedTrie) => {
26
+ const rootNode = (0, nodes_1.createRootNode)();
14
27
  let domain = "";
15
28
  let parentNode = rootNode;
16
29
  // Type assertion necessary here due to a TypeScript unsoundness
17
30
  // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457
18
31
  let node = rootNode;
19
32
  const addDomain = () => {
20
- node = nodes_1.createOrGetChild(parentNode, domain);
33
+ node = (0, nodes_1.createOrGetChild)(parentNode, domain);
21
34
  domain = "";
22
35
  };
23
36
  for (let i = 0; i < serializedTrie.length; i++) {
@@ -53,4 +66,5 @@ exports.parseTrie = (serializedTrie) => {
53
66
  }
54
67
  return rootNode;
55
68
  };
69
+ exports.parseTrie = parseTrie;
56
70
  //# sourceMappingURL=parse-trie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-trie.js","sourceRoot":"","sources":["../../../src/trie/parse-trie.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA2C;AAC3C,mCAKiB;AAEJ,QAAA,SAAS,GAAG,CAAC,cAAsB,EAAE,EAAE;IACnD,MAAM,QAAQ,GAAG,sBAAc,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;QACtB,IAAI,GAAG,wBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,QAAQ,IAAI,EAAE;YACb,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,SAAS;aACT;YACD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;aACT;YACD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,QAAQ,CAAC;gBACtB,SAAS;aACT;YACD,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAc,EAAE;oBACvC,MAAM,IAAI,KAAK,CACd,wCAAwC,CAAC,qDAAqD,CAC9F,CAAC;iBACF;gBACD,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,SAAS;aACT;SACD;QACD,MAAM,IAAI,IAAI,CAAC;KACf;IAED,IAAI,MAAM,KAAK,EAAE,EAAE;QAClB,SAAS,EAAE,CAAC;KACZ;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"parse-trie.js","sourceRoot":"","sources":["../../../src/trie/parse-trie.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAC3C,mCAKiB;AAEV,MAAM,SAAS,GAAG,CAAC,cAAsB,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAc,GAAE,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,IAAA,wBAAgB,EAAC,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;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,QAAQ,IAAI,EAAE;YACZ,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,EAAE,CAAC;gBACZ,SAAS;aACV;YACD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;aACV;YACD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,QAAQ,CAAC;gBACtB,SAAS;aACV;YACD,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClB,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAc,EAAE;oBACtC,MAAM,IAAI,KAAK,CACb,wCAAwC,CAAC,qDAAqD,CAC/F,CAAC;iBACH;gBACD,SAAS,EAAE,CAAC;gBACZ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,SAAS;aACV;SACF;QACD,MAAM,IAAI,IAAI,CAAC;KAChB;IAED,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,SAAS,EAAE,CAAC;KACb;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlDW,QAAA,SAAS,aAkDpB"}