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
JavaScript
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
;