maxmind 5.0.8 → 5.0.9
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 +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +19 -3
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -69,6 +69,7 @@ _maxmind.open(filepath, [options])_
|
|
|
69
69
|
- `watchForUpdates`: `<boolean>` Supports reloading the reader when changes occur to the database that is loaded. _Default_: `false`.
|
|
70
70
|
- `watchForUpdatesNonPersistent`: `<boolean>` Controls whether the watcher should be persistent or not. If it is persistent, a node process will be blocked in watching state if the watcher is the only thing still running in the program. _Default_: `false`.
|
|
71
71
|
- `watchForUpdatesHook`: `<Function>` Hook function that is fired on database update. _Default_: `null`.
|
|
72
|
+
- `watchForUpdatesErrorHook`: `<Function>` Called with the error when reloading an updated database fails (for example a truncated or corrupted file). The previously loaded database keeps serving lookups. _Default_: `null`.
|
|
72
73
|
|
|
73
74
|
## Does it work in browser?
|
|
74
75
|
|
package/lib/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface OpenOpts {
|
|
|
7
7
|
watchForUpdates?: boolean;
|
|
8
8
|
watchForUpdatesNonPersistent?: boolean;
|
|
9
9
|
watchForUpdatesHook?: Callback;
|
|
10
|
+
watchForUpdatesErrorHook?: (error: Error) => void;
|
|
10
11
|
}
|
|
11
12
|
export declare const open: <T extends Response>(filepath: string, opts?: OpenOpts, cb?: Callback) => Promise<Reader<T>>;
|
|
12
13
|
export declare const openSync: () => never;
|
package/lib/index.js
CHANGED
|
@@ -72,6 +72,10 @@ const open = async (filepath, opts, cb) => {
|
|
|
72
72
|
typeof opts.watchForUpdatesHook !== 'function') {
|
|
73
73
|
throw new Error('opts.watchForUpdatesHook should be a function');
|
|
74
74
|
}
|
|
75
|
+
if (opts.watchForUpdatesErrorHook &&
|
|
76
|
+
typeof opts.watchForUpdatesErrorHook !== 'function') {
|
|
77
|
+
throw new Error('opts.watchForUpdatesErrorHook should be a function');
|
|
78
|
+
}
|
|
75
79
|
const watcherOptions = {
|
|
76
80
|
persistent: opts.watchForUpdatesNonPersistent !== true,
|
|
77
81
|
};
|
|
@@ -88,9 +92,21 @@ const open = async (filepath, opts, cb) => {
|
|
|
88
92
|
if (!(await waitExists())) {
|
|
89
93
|
return;
|
|
90
94
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
95
|
+
try {
|
|
96
|
+
const updatedDatabase = await readFile(filepath);
|
|
97
|
+
if ((0, is_gzip_1.default)(updatedDatabase)) {
|
|
98
|
+
throw new Error('Looks like you are passing in a file in gzip format, please use mmdb database instead.');
|
|
99
|
+
}
|
|
100
|
+
new mmdb_lib_1.Reader(updatedDatabase);
|
|
101
|
+
cache.clear();
|
|
102
|
+
reader.load(updatedDatabase);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (opts.watchForUpdatesErrorHook) {
|
|
106
|
+
opts.watchForUpdatesErrorHook(error);
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
94
110
|
if (opts.watchForUpdatesHook) {
|
|
95
111
|
opts.watchForUpdatesHook();
|
|
96
112
|
}
|
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;uFAAnC,iBAAM;AACf,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|