maxmind 4.3.22 → 4.3.24
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/lib/fs.d.ts +2 -0
- package/lib/fs.js +2 -0
- package/lib/fs.js.map +1 -1
- package/lib/index.js +28 -2
- package/lib/index.js.map +1 -1
- package/package.json +10 -9
package/lib/fs.d.ts
CHANGED
package/lib/fs.js
CHANGED
|
@@ -9,5 +9,7 @@ exports.default = {
|
|
|
9
9
|
existsSync: fs_1.default.existsSync,
|
|
10
10
|
readFile: util_1.default.promisify(fs_1.default.readFile),
|
|
11
11
|
watchFile: fs_1.default.watchFile,
|
|
12
|
+
createReadStream: fs_1.default.createReadStream,
|
|
13
|
+
stat: util_1.default.promisify(fs_1.default.stat),
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=fs.js.map
|
package/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,kBAAe;IACb,UAAU,EAAE,YAAE,CAAC,UAAU;IACzB,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC;IACrC,SAAS,EAAE,YAAE,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,kBAAe;IACb,UAAU,EAAE,YAAE,CAAC,UAAU;IACzB,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC;IACrC,SAAS,EAAE,YAAE,CAAC,SAAS;IACvB,gBAAgB,EAAE,YAAE,CAAC,gBAAgB;IACrC,IAAI,EAAE,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,IAAI,CAAC;CAC9B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -26,10 +26,36 @@ const fs_1 = __importDefault(require("./fs"));
|
|
|
26
26
|
const ip_1 = __importDefault(require("./ip"));
|
|
27
27
|
const is_gzip_1 = __importDefault(require("./is-gzip"));
|
|
28
28
|
const utils_1 = __importDefault(require("./utils"));
|
|
29
|
+
const LARGE_FILE_THRESHOLD = 512 * 1024 * 1024;
|
|
30
|
+
const STREAM_WATERMARK = 8 * 1024 * 1024;
|
|
31
|
+
const readLargeFile = async (filepath, size) => new Promise((resolve, reject) => {
|
|
32
|
+
let buffer = Buffer.allocUnsafe(size);
|
|
33
|
+
let offset = 0;
|
|
34
|
+
const stream = fs_1.default.createReadStream(filepath, {
|
|
35
|
+
highWaterMark: STREAM_WATERMARK,
|
|
36
|
+
});
|
|
37
|
+
stream.on('data', (chunk) => {
|
|
38
|
+
chunk.copy(buffer, offset);
|
|
39
|
+
offset += chunk.length;
|
|
40
|
+
});
|
|
41
|
+
stream.on('end', () => {
|
|
42
|
+
stream.close();
|
|
43
|
+
resolve(buffer);
|
|
44
|
+
});
|
|
45
|
+
stream.on('error', (err) => {
|
|
46
|
+
reject(err);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
const readFile = async (filepath) => {
|
|
50
|
+
const fstat = await fs_1.default.stat(filepath);
|
|
51
|
+
return fstat.size < LARGE_FILE_THRESHOLD
|
|
52
|
+
? fs_1.default.readFile(filepath)
|
|
53
|
+
: readLargeFile(filepath, fstat.size);
|
|
54
|
+
};
|
|
29
55
|
const open = async (filepath, opts, cb) => {
|
|
30
56
|
var _a;
|
|
31
57
|
(0, assert_1.default)(!cb, utils_1.default.legacyErrorMessage);
|
|
32
|
-
const database = await
|
|
58
|
+
const database = await readFile(filepath);
|
|
33
59
|
if ((0, is_gzip_1.default)(database)) {
|
|
34
60
|
throw new Error('Looks like you are passing in a file in gzip format, please use mmdb database instead.');
|
|
35
61
|
}
|
|
@@ -56,7 +82,7 @@ const open = async (filepath, opts, cb) => {
|
|
|
56
82
|
if (!(await waitExists())) {
|
|
57
83
|
return;
|
|
58
84
|
}
|
|
59
|
-
const updatedDatabase = await
|
|
85
|
+
const updatedDatabase = await readFile(filepath);
|
|
60
86
|
cache.clear();
|
|
61
87
|
reader.load(updatedDatabase);
|
|
62
88
|
if (opts.watchForUpdatesHook) {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,uCAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,uCAA4C;AA6InC,uFA7IA,iBAAM,OA6IA;AA5If,uCAA+B;AAC/B,8CAAsB;AACtB,8CAAsB;AACtB,wDAA+B;AAC/B,oDAA4B;AAE5B,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AA0BzC,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAmB,EAAE,CAC9E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,MAAM,GAAG,YAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC3C,aAAa,EAAE,gBAAgB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAmB,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,GAAG,oBAAoB;QACtC,CAAC,CAAC,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEK,MAAM,IAAI,GAAG,KAAK,EACvB,QAAgB,EAChB,IAAe,EACf,EAAa,EACO,EAAE;;IACtB,IAAA,gBAAM,EAAC,CAAC,EAAE,EAAE,eAAK,CAAC,kBAAkB,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,IAAA,iBAAM,EAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,cAAG,EAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,GAAG,KAAI,KAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAElD,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,IACE,IAAI,CAAC,mBAAmB;YACxB,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU,EAC9C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,cAAc,GAAG;YACrB,UAAU,EAAE,IAAI,CAAC,4BAA4B,KAAK,IAAI;SACvD,CAAC;QAEF,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE;YAGhD,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;gBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YACF,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxDW,QAAA,IAAI,QAwDf;AAEK,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,IAAI,KAAK,CAAC,eAAK,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEK,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,MAAM,IAAI,KAAK,CAAC,eAAK,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,IAAI,QAEf;AAEW,QAAA,QAAQ,GAAG,YAAE,CAAC,QAAQ,CAAC;AAEpC,2CAAyB;AAEzB,kBAAe;IACb,IAAI,EAAJ,YAAI;IACJ,IAAI,EAAJ,YAAI;IACJ,QAAQ,EAAR,gBAAQ;IACR,QAAQ,EAAE,YAAE,CAAC,QAAQ;CACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maxmind",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.24",
|
|
4
4
|
"homepage": "https://github.com/runk/node-maxmind",
|
|
5
5
|
"description": "IP lookup using Maxmind databases",
|
|
6
6
|
"keywords": [
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"Thomas Birke @quafzi <quafzi@netextreme.de>",
|
|
24
24
|
"Afzaal Ameer @afzaalace",
|
|
25
25
|
"Andrew N Golovkov @AndorCS",
|
|
26
|
-
"Gregory Oschwald @oschwald"
|
|
26
|
+
"Gregory Oschwald @oschwald",
|
|
27
|
+
"Mariano Facundo Scigliano @MarianoFacundoArch"
|
|
27
28
|
],
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"mmdb-lib": "2.1.1",
|
|
@@ -31,18 +32,18 @@
|
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
34
|
"@types/ip6addr": "0.2.6",
|
|
34
|
-
"@types/jest": "29.5.
|
|
35
|
+
"@types/jest": "29.5.14",
|
|
35
36
|
"@types/netmask": "2.0.5",
|
|
36
|
-
"@types/node": "
|
|
37
|
+
"@types/node": "22.10.3",
|
|
37
38
|
"@types/sinon": "17.0.3",
|
|
38
|
-
"ip-address": "
|
|
39
|
+
"ip-address": "10.0.1",
|
|
39
40
|
"ip6addr": "0.2.5",
|
|
40
41
|
"jest": "29.7.0",
|
|
41
|
-
"prettier": "3.
|
|
42
|
-
"semantic-release": "24.
|
|
43
|
-
"sinon": "
|
|
42
|
+
"prettier": "3.4.2",
|
|
43
|
+
"semantic-release": "24.2.0",
|
|
44
|
+
"sinon": "19.0.2",
|
|
44
45
|
"ts-jest": "29.2.5",
|
|
45
|
-
"typescript": "5.
|
|
46
|
+
"typescript": "5.7.2"
|
|
46
47
|
},
|
|
47
48
|
"repository": {
|
|
48
49
|
"type": "git",
|