UNPKG

jscpd

Version:

Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages

84 lines 5.23 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); var files_1 = require("./files"); var memory_1 = require("./memory"); var StoreManager = /** @class */ (function () { function StoreManager() { this.registeredStores = { memory: memory_1.MemoryStore, files: files_1.FilesStore }; this.stores = {}; this.options = {}; } StoreManager.prototype.initialize = function (options) { if (options === void 0) { options = {}; } this.options = options; }; StoreManager.prototype.flush = function () { this.stores = {}; }; StoreManager.prototype.close = function () { Object.values(this.stores).forEach(function (store) { return store.close(); }); }; StoreManager.prototype.getStore = function (name) { if (!this.has(name)) { this.create(name); } return this.stores[name]; }; StoreManager.prototype.has = function (name) { return this.stores.hasOwnProperty(name); }; StoreManager.prototype.getRegisteredStore = function (type) { return this.registeredStores[type]; }; StoreManager.prototype.isRegistered = function (type) { return this.registeredStores.hasOwnProperty(type); }; StoreManager.prototype.registerStore = function (type, store) { this.registeredStores[type] = store; }; StoreManager.prototype.create = function (name) { if (!this.has(name)) { // hashes.javascript var _a = __read(name.split('.'), 1), main = _a[0]; var _b = this.options[name] || this.options[main] || this.options['*'] || { type: 'memory' }, type = _b.type, _c = _b.options, options = _c === void 0 ? {} : _c; this.stores[name] = new (this.getRegisteredStore(type))(__assign({}, options, { name: name })); this.stores[name].connect(); } }; return StoreManager; }()); exports.StoreManager = StoreManager; exports.StoresManager = new StoreManager(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVzLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmVzL3N0b3Jlcy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsaUNBQXFDO0FBQ3JDLG1DQUF1QztBQUV2QztJQUFBO1FBQ1UscUJBQWdCLEdBRXBCO1lBQ0YsTUFBTSxFQUFFLG9CQUFXO1lBQ25CLEtBQUssRUFBRSxrQkFBVTtTQUNsQixDQUFDO1FBRU0sV0FBTSxHQUFpQyxFQUFFLENBQUM7UUFFMUMsWUFBTyxHQUF5QixFQUFFLENBQUM7SUFxRDdDLENBQUM7SUFuRFEsaUNBQVUsR0FBakIsVUFBa0IsT0FBa0M7UUFBbEMsd0JBQUEsRUFBQSxZQUFrQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sNEJBQUssR0FBWjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSw0QkFBSyxHQUFaO1FBQ0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFiLENBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSwrQkFBUSxHQUFmLFVBQWdCLElBQVk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sMEJBQUcsR0FBVixVQUFXLElBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0seUNBQWtCLEdBQXpCLFVBQTBCLElBQVk7UUFDcEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLG1DQUFZLEdBQW5CLFVBQW9CLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxvQ0FBYSxHQUFwQixVQUFxQixJQUFZLEVBQUUsS0FBa0Q7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRU0sNkJBQU0sR0FBYixVQUFjLElBQVk7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkIsb0JBQW9CO1lBQ2QsSUFBQSwrQkFBd0IsRUFBdkIsWUFBdUIsQ0FBQztZQUV6QixJQUFBOzt1REFFbUMsRUFGakMsY0FBSSxFQUFFLGVBQVksRUFBWixpQ0FFMkIsQ0FBQztZQUUxQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsY0FDbEQsT0FBTyxJQUNWLElBQUksTUFBQSxJQUNKLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQS9ERCxJQStEQztBQS9EWSxvQ0FBWTtBQWlFWixRQUFBLGFBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQyJ9