UNPKG

554 BJavaScriptView Raw
1const semver = require('semver')
2const fs = require('fs')
3const path = require('path')
4
5let 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
22module.exports = versions;
\No newline at end of file