@maxmind/geoip2-node
Version:
Node.js API for GeoIP2 webservice client and database reader
20 lines (19 loc) • 612 B
JavaScript
import * as mmdb from 'maxmind';
import { InvalidDbBufferError } from './errors.js';
import ReaderModel from './readerModel.js';
export default class Reader {
static async open(file, opts) {
return new ReaderModel(await mmdb.open(file, opts));
}
static openBuffer(buffer) {
let reader;
try {
reader = new mmdb.Reader(buffer);
}
catch (e) {
const error = e instanceof Error ? e : new Error(String(e));
throw new InvalidDbBufferError(error.message, { cause: error });
}
return new ReaderModel(reader);
}
}