typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.
33 lines (31 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var RedisQueryResultCache_1 = require("./RedisQueryResultCache");
var DbQueryResultCache_1 = require("./DbQueryResultCache");
/**
* Caches query result into Redis database.
*/
var QueryResultCacheFactory = /** @class */ (function () {
// -------------------------------------------------------------------------
// Constructor
// -------------------------------------------------------------------------
function QueryResultCacheFactory(connection) {
this.connection = connection;
}
// -------------------------------------------------------------------------
// Public Methods
// -------------------------------------------------------------------------
/**
* Creates a new query result cache based on connection options.
*/
QueryResultCacheFactory.prototype.create = function () {
if (!this.connection.options.cache)
throw new Error("To use cache you need to enable it in connection options by setting cache: true or providing some caching options. Example: { host: ..., username: ..., cache: true }");
if (this.connection.options.cache.type === "redis")
return new RedisQueryResultCache_1.RedisQueryResultCache(this.connection);
return new DbQueryResultCache_1.DbQueryResultCache(this.connection);
};
return QueryResultCacheFactory;
}());
exports.QueryResultCacheFactory = QueryResultCacheFactory;
//# sourceMappingURL=QueryResultCacheFactory.js.map