1 | const semver = require('semver')
|
2 | const fs = require('fs')
|
3 | const path = require('path')
|
4 |
|
5 | let versions = new Proxy(
|
6 | (context, ...args) => {
|
7 | return versions[context.$_DOMAIN.parser];
|
8 | }
|
9 | , {
|
10 | get(versions_cache, version) {
|
11 | version = semver.clean(version);
|
12 | if (!versions_cache.hasOwnProperty(version) && fs.existsSync(path.join(__dirname, `/../parsers/${version}.js`))) {
|
13 | let parser = require(`../parsers/${version}.js`);
|
14 | versions_cache[version] = new parser();
|
15 | }
|
16 |
|
17 | return versions_cache[version];
|
18 | }
|
19 | }
|
20 | );
|
21 |
|
22 | module.exports = versions; |
\ | No newline at end of file |