plevinjs 0.2.0 → 0.2.2
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 +81 -16
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +16 -0
- package/dist/cli.js.map +1 -0
- package/dist/compress.d.ts +5 -0
- package/dist/compress.d.ts.map +1 -0
- package/dist/compress.js +954 -0
- package/dist/compress.js.map +1 -0
- package/dist/countries.d.ts +1 -1
- package/dist/countries.d.ts.map +1 -1
- package/dist/countries.js +251 -250
- package/dist/countries.js.map +1 -1
- package/dist/derive.d.ts +1 -0
- package/dist/derive.d.ts.map +1 -1
- package/dist/derive.js +12 -6
- package/dist/derive.js.map +1 -1
- package/dist/estimate.d.ts +38 -0
- package/dist/estimate.d.ts.map +1 -0
- package/dist/estimate.js +263 -0
- package/dist/estimate.js.map +1 -0
- package/dist/extra.d.ts.map +1 -1
- package/dist/extra.js +12 -12
- package/dist/extra.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -6
- package/dist/index.js.map +1 -1
- package/dist/leaves.d.ts +30 -0
- package/dist/leaves.d.ts.map +1 -0
- package/dist/leaves.js +183 -0
- package/dist/leaves.js.map +1 -0
- package/dist/lzma.d.ts +18 -0
- package/dist/lzma.d.ts.map +1 -1
- package/dist/lzma.js +18 -18
- package/dist/lzma.js.map +1 -1
- package/dist/matcher.d.ts +25 -0
- package/dist/matcher.d.ts.map +1 -0
- package/dist/matcher.js +198 -0
- package/dist/matcher.js.map +1 -0
- package/dist/models.d.ts +8 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/plevin.min.js +258 -257
- package/dist/reader.d.ts.map +1 -1
- package/dist/reader.js +13 -1
- package/dist/reader.js.map +1 -1
- package/dist/selection.d.ts +34 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +338 -0
- package/dist/selection.js.map +1 -0
- package/dist/slim.d.ts +21 -0
- package/dist/slim.d.ts.map +1 -0
- package/dist/slim.js +639 -0
- package/dist/slim.js.map +1 -0
- package/dist/slim.min.js +1 -0
- package/dist/stats.d.ts +61 -0
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +368 -0
- package/dist/stats.js.map +1 -0
- package/dist/writer.d.ts +32 -0
- package/dist/writer.d.ts.map +1 -0
- package/dist/writer.js +325 -0
- package/dist/writer.js.map +1 -0
- package/package.json +7 -2
package/dist/reader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACxC,CAAC;
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
package/dist/reader.js
CHANGED
|
@@ -8,13 +8,24 @@ const BREAKS = new Set(" \t-,./()&_+'");
|
|
|
8
8
|
const DEGREES = 10000;
|
|
9
9
|
const UNSEEN = 255;
|
|
10
10
|
const RECORDS = 1 << 14;
|
|
11
|
-
const CARRIED = [
|
|
11
|
+
const CARRIED = [
|
|
12
|
+
"place",
|
|
13
|
+
"network",
|
|
14
|
+
"abuse",
|
|
15
|
+
"prefix",
|
|
16
|
+
"rpki",
|
|
17
|
+
"roas",
|
|
18
|
+
"rir",
|
|
19
|
+
"country",
|
|
20
|
+
"since",
|
|
21
|
+
];
|
|
12
22
|
const LINKED = new Set(["place", "network", "abuse"]);
|
|
13
23
|
const STEPPED = new Set(["signed", "delta"]);
|
|
14
24
|
const SPAN = "network";
|
|
15
25
|
const BOOKS = {
|
|
16
26
|
rpki: "rpki",
|
|
17
27
|
rir: "rirs",
|
|
28
|
+
country: "countries",
|
|
18
29
|
"place.granularity": "granularity",
|
|
19
30
|
"city.timezone": "timezones",
|
|
20
31
|
"city.type": "place_types",
|
|
@@ -22,6 +33,7 @@ const BOOKS = {
|
|
|
22
33
|
"abuse.user_type": "categories",
|
|
23
34
|
"abuse.service": "services",
|
|
24
35
|
"abuse.evidence": "evidence",
|
|
36
|
+
"abuse.threat": "threats",
|
|
25
37
|
"abuse.level": "levels",
|
|
26
38
|
};
|
|
27
39
|
const risk = (value) => (value === UNSEEN ? null : value / 100);
|
package/dist/reader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** What a build carries: fields asked for, the columns they need, rows narrowed. */
|
|
2
|
+
export type Kind = "number" | "signed" | "degrees" | "text" | "link";
|
|
3
|
+
export type Column = {
|
|
4
|
+
id: string;
|
|
5
|
+
kind: Kind;
|
|
6
|
+
table: string;
|
|
7
|
+
name: string;
|
|
8
|
+
};
|
|
9
|
+
export type Books = Record<string, string[]>;
|
|
10
|
+
type Narrow = Map<string, number[] | null>;
|
|
11
|
+
export declare const COLUMNS: Column[];
|
|
12
|
+
export declare const section: ({ id, kind }: Column) => string;
|
|
13
|
+
export declare const TABLES: string[];
|
|
14
|
+
export declare const ORDERED: Record<string, string[]>;
|
|
15
|
+
export declare const CARRIED: readonly ["place", "network", "abuse", "prefix", "rpki", "roas", "rir", "country", "since"];
|
|
16
|
+
export type Carried = (typeof CARRIED)[number];
|
|
17
|
+
export declare const FIELD_NAMES: string[];
|
|
18
|
+
export declare const FIELD_NEEDS: Record<string, string[]>;
|
|
19
|
+
export declare const VOCABULARIES: [string, string[]][];
|
|
20
|
+
export type Selection = {
|
|
21
|
+
name: string;
|
|
22
|
+
columns: Set<string>;
|
|
23
|
+
narrow: Narrow;
|
|
24
|
+
fields: string[];
|
|
25
|
+
sparse: boolean;
|
|
26
|
+
has: (id: string) => boolean;
|
|
27
|
+
table: (table: string) => boolean;
|
|
28
|
+
};
|
|
29
|
+
/** The file the builder names for these terms: `plevin.metro-place.plv`, or `plevin.plv`. */
|
|
30
|
+
export declare const fileName: (terms: string) => string;
|
|
31
|
+
/** The terms as the builder reads them: `place+metro`, or `full` for all that exists. */
|
|
32
|
+
export declare const parse: (terms: string, available?: Set<string>, books?: Books) => Selection;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7C,KAAK,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAqE3C,eAAO,MAAM,OAAO,EAAE,MAAM,EAG1B,CAAC;AAEH,eAAO,MAAM,OAAO,iBAAkB,MAAM,KAAG,MACF,CAAC;AAE9C,eAAO,MAAM,MAAM,UAUlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAQ5C,CAAC;AAEF,eAAO,MAAM,OAAO,YAClB,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAkJ/C,eAAO,MAAM,WAAW,UAAiC,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAA8B,CAAC;AAEhF,eAAO,MAAM,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAY5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC,CAAC;AAwFF,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAG2B,CAAC;AAErE,yFAAyF;AACzF,eAAO,MAAM,KAAK,UACT,MAAM,cACF,GAAG,CAAC,MAAM,CAAC,UACf,KAAK,KACX,SAcF,CAAC"}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/** What a build carries: fields asked for, the columns they need, rows narrowed. */
|
|
2
|
+
const KINDS = [
|
|
3
|
+
["region.name", "text"],
|
|
4
|
+
["region.code", "text"],
|
|
5
|
+
["region.iso", "text"],
|
|
6
|
+
["region.type", "text"],
|
|
7
|
+
["region.id", "number"],
|
|
8
|
+
["region.country", "text"],
|
|
9
|
+
["district.name", "text"],
|
|
10
|
+
["district.code", "text"],
|
|
11
|
+
["district.id", "number"],
|
|
12
|
+
["metro.code", "number"],
|
|
13
|
+
["metro.label", "text"],
|
|
14
|
+
["city.name", "text"],
|
|
15
|
+
["city.ascii", "text"],
|
|
16
|
+
["city.id", "number"],
|
|
17
|
+
["city.population", "number"],
|
|
18
|
+
["city.type", "number"],
|
|
19
|
+
["city.postal", "text"],
|
|
20
|
+
["city.postal_partial", "number"],
|
|
21
|
+
["city.timezone", "number"],
|
|
22
|
+
["city.elevation", "signed"],
|
|
23
|
+
["city.country", "text"],
|
|
24
|
+
["city.metro", "link"],
|
|
25
|
+
["city.region", "link"],
|
|
26
|
+
["city.district", "link"],
|
|
27
|
+
["place.lat", "degrees"],
|
|
28
|
+
["place.lon", "degrees"],
|
|
29
|
+
["place.accuracy", "number"],
|
|
30
|
+
["place.granularity", "number"],
|
|
31
|
+
["place.confidence", "number"],
|
|
32
|
+
["place.city", "link"],
|
|
33
|
+
["operator.company", "text"],
|
|
34
|
+
["operator.website", "text"],
|
|
35
|
+
["operator.category", "number"],
|
|
36
|
+
["operator.tier", "number"],
|
|
37
|
+
["operator.peering", "number"],
|
|
38
|
+
["operator.scope", "text"],
|
|
39
|
+
["operator.rir", "text"],
|
|
40
|
+
["operator.since", "number"],
|
|
41
|
+
["operator.street", "text"],
|
|
42
|
+
["operator.state", "text"],
|
|
43
|
+
["operator.postal", "text"],
|
|
44
|
+
["operator.abuse_email", "text"],
|
|
45
|
+
["operator.country", "text"],
|
|
46
|
+
["operator.city", "link"],
|
|
47
|
+
["carrier.user_count", "number"],
|
|
48
|
+
["carrier.mcc", "number"],
|
|
49
|
+
["carrier.mnc", "number"],
|
|
50
|
+
["abuse.name", "text"],
|
|
51
|
+
["abuse.user_type", "number"],
|
|
52
|
+
["abuse.service", "number"],
|
|
53
|
+
["abuse.evidence", "number"],
|
|
54
|
+
["abuse.threat", "number"],
|
|
55
|
+
["abuse.is_anycast", "number"],
|
|
56
|
+
["abuse.is_satellite", "number"],
|
|
57
|
+
["abuse.risk", "number"],
|
|
58
|
+
["abuse.level", "number"],
|
|
59
|
+
["abuse.last_seen_days", "number"],
|
|
60
|
+
["network.asn", "number"],
|
|
61
|
+
["network.handle", "text"],
|
|
62
|
+
["network.brand", "text"],
|
|
63
|
+
["network.operator", "link"],
|
|
64
|
+
["network.carrier", "link"],
|
|
65
|
+
["network.abuse", "link"],
|
|
66
|
+
];
|
|
67
|
+
export const COLUMNS = KINDS.map(([id, kind]) => {
|
|
68
|
+
const [table, name] = id.split(".");
|
|
69
|
+
return { id, kind, table, name };
|
|
70
|
+
});
|
|
71
|
+
export const section = ({ id, kind }) => `${kind === "link" ? "link" : "col"}.${id}`;
|
|
72
|
+
export const TABLES = [
|
|
73
|
+
"region",
|
|
74
|
+
"district",
|
|
75
|
+
"metro",
|
|
76
|
+
"city",
|
|
77
|
+
"place",
|
|
78
|
+
"operator",
|
|
79
|
+
"carrier",
|
|
80
|
+
"abuse",
|
|
81
|
+
"network",
|
|
82
|
+
];
|
|
83
|
+
export const ORDERED = {
|
|
84
|
+
region: ["region.name"],
|
|
85
|
+
district: ["district.name"],
|
|
86
|
+
metro: ["metro.code"],
|
|
87
|
+
city: ["city.country", "city.ascii", "city.name"],
|
|
88
|
+
place: ["place.city", "place.lat", "place.lon"],
|
|
89
|
+
operator: ["operator.country", "operator.company"],
|
|
90
|
+
network: ["network.asn"],
|
|
91
|
+
};
|
|
92
|
+
export const CARRIED = [
|
|
93
|
+
"place",
|
|
94
|
+
"network",
|
|
95
|
+
"abuse",
|
|
96
|
+
"prefix",
|
|
97
|
+
"rpki",
|
|
98
|
+
"roas",
|
|
99
|
+
"rir",
|
|
100
|
+
"country",
|
|
101
|
+
"since",
|
|
102
|
+
];
|
|
103
|
+
const COUNTRY = ["place.city", "city.country"];
|
|
104
|
+
const SERVERS = ["hosting", "cdn", "content"];
|
|
105
|
+
const FIELDS = [
|
|
106
|
+
["abuse.evidence", ["abuse.evidence"]],
|
|
107
|
+
["abuse.is_anonymous", ["abuse.service"]],
|
|
108
|
+
["abuse.is_anonymous_vpn", ["abuse.service"]],
|
|
109
|
+
["abuse.is_anycast", ["abuse.is_anycast"]],
|
|
110
|
+
["abuse.is_crawler", ["abuse.user_type"]],
|
|
111
|
+
["abuse.is_hosting_provider", ["abuse.user_type", "operator.category"]],
|
|
112
|
+
["abuse.is_malicious", ["abuse.level"]],
|
|
113
|
+
["abuse.is_private_relay", ["abuse.service"]],
|
|
114
|
+
["abuse.is_proxy", ["abuse.service"]],
|
|
115
|
+
["abuse.is_public_proxy", ["abuse.service"]],
|
|
116
|
+
["abuse.is_residential_proxy", ["abuse.service"]],
|
|
117
|
+
["abuse.is_satellite", ["network.abuse", "abuse.is_satellite"]],
|
|
118
|
+
["abuse.is_tor_exit_node", ["abuse.service"]],
|
|
119
|
+
["abuse.last_seen_days", ["abuse.last_seen_days"]],
|
|
120
|
+
["abuse.level", ["abuse.level"]],
|
|
121
|
+
["abuse.name", ["abuse.name"]],
|
|
122
|
+
["abuse.network_risk", ["network.abuse", "abuse.risk"]],
|
|
123
|
+
["abuse.provider", ["abuse.name", "abuse.service", "network.brand"]],
|
|
124
|
+
["abuse.risk", ["abuse.risk"]],
|
|
125
|
+
["abuse.service", ["abuse.service"]],
|
|
126
|
+
["abuse.threat", ["abuse.threat"]],
|
|
127
|
+
["metro.code", ["place.city", "city.metro", "metro.code"]],
|
|
128
|
+
["metro.label", ["place.city", "city.metro", "metro.label"]],
|
|
129
|
+
["network.asn", ["network.asn"]],
|
|
130
|
+
["network.carrier.is_mobile", ["abuse.user_type", "operator.category"]],
|
|
131
|
+
["network.carrier.mcc", ["network.carrier", "carrier.mcc"]],
|
|
132
|
+
["network.carrier.mnc", ["network.carrier", "carrier.mnc"]],
|
|
133
|
+
["network.carrier.user_count", ["network.carrier", "carrier.user_count"]],
|
|
134
|
+
["network.carrier.user_type", ["abuse.user_type", "operator.category"]],
|
|
135
|
+
["network.country", ["spine.country"]],
|
|
136
|
+
["network.handle", ["network.handle"]],
|
|
137
|
+
["network.operator.abuse_email", ["network.operator", "operator.abuse_email"]],
|
|
138
|
+
["network.operator.brand", ["network.brand"]],
|
|
139
|
+
["network.operator.category", ["network.operator", "operator.category"]],
|
|
140
|
+
[
|
|
141
|
+
"network.operator.city",
|
|
142
|
+
["network.operator", "operator.city", "city.name", "city.id"],
|
|
143
|
+
],
|
|
144
|
+
["network.operator.company", ["network.operator", "operator.company"]],
|
|
145
|
+
["network.operator.country", ["network.operator", "operator.country"]],
|
|
146
|
+
[
|
|
147
|
+
"network.operator.domain",
|
|
148
|
+
["network.operator", "operator.website", "operator.abuse_email"],
|
|
149
|
+
],
|
|
150
|
+
["network.operator.peering", ["network.operator", "operator.peering"]],
|
|
151
|
+
["network.operator.postal", ["network.operator", "operator.postal"]],
|
|
152
|
+
["network.operator.rir", ["network.operator", "operator.rir"]],
|
|
153
|
+
["network.operator.scope", ["network.operator", "operator.scope"]],
|
|
154
|
+
["network.operator.since", ["network.operator", "operator.since"]],
|
|
155
|
+
["network.operator.state", ["network.operator", "operator.state"]],
|
|
156
|
+
["network.operator.street", ["network.operator", "operator.street"]],
|
|
157
|
+
["network.operator.tier", ["network.operator", "operator.tier"]],
|
|
158
|
+
["network.operator.website", ["network.operator", "operator.website"]],
|
|
159
|
+
["network.prefix", ["spine.prefix"]],
|
|
160
|
+
["network.rir", ["spine.rir"]],
|
|
161
|
+
["network.roas", ["spine.roas"]],
|
|
162
|
+
["network.rpki", ["spine.rpki"]],
|
|
163
|
+
["network.since", ["spine.since"]],
|
|
164
|
+
["place.city.ascii", ["place.city", "city.ascii"]],
|
|
165
|
+
["place.city.elevation", ["place.city", "city.elevation"]],
|
|
166
|
+
["place.city.id", ["place.city", "city.id"]],
|
|
167
|
+
["place.city.name", ["place.city", "city.name"]],
|
|
168
|
+
["place.city.population", ["place.city", "city.population"]],
|
|
169
|
+
["place.city.postal", ["place.city", "city.postal"]],
|
|
170
|
+
["place.city.postal_partial", ["place.city", "city.postal", "city.postal_partial"]],
|
|
171
|
+
["place.city.timezone", ["place.city", "city.timezone"]],
|
|
172
|
+
["place.city.type", ["place.city", "city.type"]],
|
|
173
|
+
["place.country.code", COUNTRY],
|
|
174
|
+
["place.country.common", COUNTRY],
|
|
175
|
+
["place.country.driving_side", COUNTRY],
|
|
176
|
+
["place.country.european_union", COUNTRY],
|
|
177
|
+
["place.country.flag", COUNTRY],
|
|
178
|
+
["place.country.iso3", COUNTRY],
|
|
179
|
+
["place.country.name", COUNTRY],
|
|
180
|
+
["place.country.numeric", COUNTRY],
|
|
181
|
+
["place.country.official", COUNTRY],
|
|
182
|
+
["place.district.code", ["place.city", "city.district", "district.code"]],
|
|
183
|
+
["place.district.id", ["place.city", "city.district", "district.id"]],
|
|
184
|
+
["place.district.name", ["place.city", "city.district", "district.name"]],
|
|
185
|
+
["place.point.accuracy", ["place.accuracy"]],
|
|
186
|
+
["place.point.confidence", ["place.confidence"]],
|
|
187
|
+
["place.point.granularity", ["place.granularity"]],
|
|
188
|
+
["place.point.lat", ["place.lat"]],
|
|
189
|
+
["place.point.lon", ["place.lon"]],
|
|
190
|
+
["place.region.code", ["place.city", "city.region", "region.code"]],
|
|
191
|
+
["place.region.id", ["place.city", "city.region", "region.id"]],
|
|
192
|
+
["place.region.iso", ["place.city", "city.region", "region.iso"]],
|
|
193
|
+
["place.region.name", ["place.city", "city.region", "region.name"]],
|
|
194
|
+
["place.region.type", ["place.city", "city.region", "region.type"]],
|
|
195
|
+
];
|
|
196
|
+
const NARROW = [
|
|
197
|
+
["abuse.is_tor_exit_node", "abuse.service", ["tor_exit_node"]],
|
|
198
|
+
["abuse.is_private_relay", "abuse.service", ["private_relay"]],
|
|
199
|
+
["abuse.is_anonymous_vpn", "abuse.service", ["anonymous_vpn"]],
|
|
200
|
+
["abuse.is_public_proxy", "abuse.service", ["public_proxy"]],
|
|
201
|
+
["abuse.is_residential_proxy", "abuse.service", ["residential_proxy"]],
|
|
202
|
+
["abuse.is_proxy", "abuse.service", ["public_proxy", "residential_proxy"]],
|
|
203
|
+
["abuse.is_crawler", "abuse.user_type", ["search_engine_spider"]],
|
|
204
|
+
["abuse.is_hosting_provider", "abuse.user_type", SERVERS],
|
|
205
|
+
["abuse.is_hosting_provider", "operator.category", SERVERS],
|
|
206
|
+
["network.carrier.is_mobile", "abuse.user_type", ["cellular"]],
|
|
207
|
+
["network.carrier.is_mobile", "operator.category", ["cellular"]],
|
|
208
|
+
];
|
|
209
|
+
const WORDS = {
|
|
210
|
+
categories: [
|
|
211
|
+
"",
|
|
212
|
+
"residential",
|
|
213
|
+
"business",
|
|
214
|
+
"hosting",
|
|
215
|
+
"education",
|
|
216
|
+
"government",
|
|
217
|
+
"military",
|
|
218
|
+
"cdn",
|
|
219
|
+
"content",
|
|
220
|
+
"infrastructure",
|
|
221
|
+
"cellular",
|
|
222
|
+
"search_engine_spider",
|
|
223
|
+
"traveler",
|
|
224
|
+
"transit",
|
|
225
|
+
"exchange",
|
|
226
|
+
"non-profit",
|
|
227
|
+
],
|
|
228
|
+
services: [
|
|
229
|
+
"",
|
|
230
|
+
"public_proxy",
|
|
231
|
+
"residential_proxy",
|
|
232
|
+
"anonymous_vpn",
|
|
233
|
+
"tor_exit_node",
|
|
234
|
+
"private_relay",
|
|
235
|
+
],
|
|
236
|
+
};
|
|
237
|
+
const BOOKS = {
|
|
238
|
+
"abuse.service": "services",
|
|
239
|
+
"abuse.user_type": "categories",
|
|
240
|
+
"operator.category": "categories",
|
|
241
|
+
};
|
|
242
|
+
export const FIELD_NAMES = FIELDS.map(([field]) => field);
|
|
243
|
+
export const FIELD_NEEDS = Object.fromEntries(FIELDS);
|
|
244
|
+
export const VOCABULARIES = [
|
|
245
|
+
["categories", ["abuse.user_type", "operator.category"]],
|
|
246
|
+
["services", ["abuse.service"]],
|
|
247
|
+
["evidence", ["abuse.evidence"]],
|
|
248
|
+
["threats", ["abuse.threat"]],
|
|
249
|
+
["levels", ["abuse.level"]],
|
|
250
|
+
["granularity", ["place.granularity"]],
|
|
251
|
+
["rpki", ["spine.rpki"]],
|
|
252
|
+
["rirs", ["spine.rir"]],
|
|
253
|
+
["place_types", ["city.type"]],
|
|
254
|
+
["timezones", ["city.timezone"]],
|
|
255
|
+
["countries", ["spine.country"]],
|
|
256
|
+
];
|
|
257
|
+
const covers = (term, field) => field === term || field.startsWith(`${term}.`);
|
|
258
|
+
const valuesFor = (field, column, books) => {
|
|
259
|
+
const held = NARROW.filter(([one, two]) => one === field && two === column);
|
|
260
|
+
if (held.length === 0)
|
|
261
|
+
return null;
|
|
262
|
+
const book = books[BOOKS[column]] ?? WORDS[BOOKS[column]] ?? [];
|
|
263
|
+
return held.flatMap(([, , values]) => values.map((value) => Math.max(book.indexOf(value), 0)));
|
|
264
|
+
};
|
|
265
|
+
const narrowing = (chosen, books) => {
|
|
266
|
+
const narrow = new Map();
|
|
267
|
+
for (const [field, needs] of chosen) {
|
|
268
|
+
for (const need of needs) {
|
|
269
|
+
const more = valuesFor(field, need, books);
|
|
270
|
+
if (!narrow.has(need)) {
|
|
271
|
+
narrow.set(need, more);
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
const kept = narrow.get(need);
|
|
275
|
+
narrow.set(need, kept && more ? [...kept, ...more] : null);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return narrow;
|
|
279
|
+
};
|
|
280
|
+
const isAnswered = (field, needs, narrow, books) => needs.every((need) => {
|
|
281
|
+
const kept = narrow.get(need);
|
|
282
|
+
if (kept === undefined)
|
|
283
|
+
return false;
|
|
284
|
+
if (kept === null)
|
|
285
|
+
return true;
|
|
286
|
+
const mine = valuesFor(field, need, books);
|
|
287
|
+
return mine?.every((one) => kept.includes(one)) ?? false;
|
|
288
|
+
});
|
|
289
|
+
const select = (name, needed, chosen, books, available) => {
|
|
290
|
+
const columns = new Set(needed);
|
|
291
|
+
if ([...columns].some((id) => id.startsWith("region.")) &&
|
|
292
|
+
columns.has("city.country")) {
|
|
293
|
+
columns.add("region.country");
|
|
294
|
+
}
|
|
295
|
+
if (columns.has("abuse.risk") && available.has("abuse.level")) {
|
|
296
|
+
columns.add("abuse.level");
|
|
297
|
+
}
|
|
298
|
+
const named = ["network.handle", "network.operator", "operator.company"];
|
|
299
|
+
if (named.every((id) => columns.has(id)))
|
|
300
|
+
columns.delete("network.brand");
|
|
301
|
+
const narrow = narrowing(chosen, books);
|
|
302
|
+
for (const id of columns)
|
|
303
|
+
if (!narrow.has(id))
|
|
304
|
+
narrow.set(id, null);
|
|
305
|
+
const picked = chosen.map(([field]) => field);
|
|
306
|
+
const sparse = picked.includes("abuse.provider") && !picked.includes("network.operator.brand");
|
|
307
|
+
const fields = FIELDS.filter(([field, needs]) => isAnswered(field, needs, narrow, books))
|
|
308
|
+
.map(([field]) => field)
|
|
309
|
+
.filter((field) => available.has(field))
|
|
310
|
+
.filter((field) => !sparse || field !== "network.operator.brand");
|
|
311
|
+
return {
|
|
312
|
+
name,
|
|
313
|
+
columns,
|
|
314
|
+
narrow,
|
|
315
|
+
fields,
|
|
316
|
+
sparse,
|
|
317
|
+
has: (id) => columns.has(id),
|
|
318
|
+
table: (table) => COLUMNS.some((one) => one.table === table && columns.has(one.id)),
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
const termsOf = (terms) => [...new Set(terms.split("+").filter(Boolean))].sort();
|
|
322
|
+
/** The file the builder names for these terms: `plevin.metro-place.plv`, or `plevin.plv`. */
|
|
323
|
+
export const fileName = (terms) => terms === "full"
|
|
324
|
+
? "plevin.plv"
|
|
325
|
+
: `plevin.${termsOf(terms).join("+").replace(/[.+]/g, "-")}.plv`;
|
|
326
|
+
/** The terms as the builder reads them: `place+metro`, or `full` for all that exists. */
|
|
327
|
+
export const parse = (terms, available = new Set(FIELD_NAMES), books = WORDS) => {
|
|
328
|
+
const parts = termsOf(terms);
|
|
329
|
+
const full = terms === "full";
|
|
330
|
+
const chosen = FIELDS.filter(([field]) => available.has(field)).filter(([field]) => full || parts.some((term) => covers(term, field)));
|
|
331
|
+
const unknown = parts.filter((term) => !full && !chosen.some(([field]) => covers(term, field)));
|
|
332
|
+
if (chosen.length === 0 || unknown.length > 0) {
|
|
333
|
+
throw new Error(`the database holds no field for: ${unknown.join(", ") || terms}`);
|
|
334
|
+
}
|
|
335
|
+
const needed = new Set(chosen.flatMap(([, needs]) => needs));
|
|
336
|
+
return select(full ? "full" : parts.join("+"), needed, chosen, books, available);
|
|
337
|
+
};
|
|
338
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"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"}
|
package/dist/slim.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** A database cut down to the fields asked for, rebuilt the way the builder writes it. */
|
|
2
|
+
import { type Selection } from "./selection.ts";
|
|
3
|
+
import { type Stats } from "./stats.ts";
|
|
4
|
+
import { type Progress } from "./writer.ts";
|
|
5
|
+
export { fileName } from "./selection.ts";
|
|
6
|
+
export type { Progress } from "./writer.ts";
|
|
7
|
+
/** One database held open: each selection cut from it reuses what was already decoded. */
|
|
8
|
+
export declare class Slimmer {
|
|
9
|
+
private readonly source;
|
|
10
|
+
constructor(bytes: Uint8Array);
|
|
11
|
+
get built(): string;
|
|
12
|
+
get fields(): string[];
|
|
13
|
+
plan(terms: string): Selection;
|
|
14
|
+
/** The database for `terms` (`place+metro`, `network.asn`), as bytes to save. */
|
|
15
|
+
slim(terms: string, progress?: Progress): Uint8Array;
|
|
16
|
+
/** The counted facts `estimate` reads instead of this file, a few kilobytes of JSON. */
|
|
17
|
+
stats(): Stats;
|
|
18
|
+
}
|
|
19
|
+
/** A database rebuilt with only what `terms` (`place+metro`, `network.asn`) need. */
|
|
20
|
+
export declare const slim: (bytes: Uint8Array, terms: string, progress?: Progress) => Uint8Array;
|
|
21
|
+
//# sourceMappingURL=slim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slim.d.ts","sourceRoot":"","sources":["../src/slim.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAG1F,OAAO,EAQL,KAAK,SAAS,EAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAwB,KAAK,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqtB5C,0FAA0F;AAC1F,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YAAY,KAAK,EAAE,UAAU,EAE5B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAG7B;IAED,iFAAiF;IACjF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAInD;IAED,wFAAwF;IACxF,KAAK,IAAI,KAAK,CAeb;CACF;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,UAAW,UAAU,SAAS,MAAM,aAAa,QAAQ,KAAG,UACnC,CAAC"}
|