Skip to content

Commit

Permalink
downgrade node-cache to 4.2.1 (#193)
Browse files Browse the repository at this point in the history
* downgrade node-cache to 4.2.1

* 2.17.3
  • Loading branch information
kbarbounakis authored Jan 17, 2025
1 parent 18c0d31 commit 1567fcc
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 34 deletions.
70 changes: 46 additions & 24 deletions data-cache.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// MOST Web Framework 2.0 Codename Blueshift BSD-3-Clause license Copyright (c) 2017-2022, THEMOST LP All rights reserved
var {LangUtils, Args, AbstractMethodError, ConfigurationStrategy} = require('@themost/common');
var {AbstractMethodError, ConfigurationStrategy} = require('@themost/common');
var NodeCache = require( 'node-cache' );
var CACHE_ABSOLUTE_EXPIRATION = 1200;



class DataCacheStrategy extends ConfigurationStrategy {
/**
*
Expand Down Expand Up @@ -82,10 +81,9 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
*/
constructor(config) {
super(config);
var NodeCache = require( 'node-cache' );
var expiration = CACHE_ABSOLUTE_EXPIRATION;
var absoluteExpiration = LangUtils.parseInt(config.getSourceAt('settings/cache/absoluteExpiration'));
if (absoluteExpiration>0) {
var absoluteExpiration = config.getSourceAt('settings/cache/absoluteExpiration');
if (typeof absoluteExpiration === 'number' && absoluteExpiration > 0) {
expiration = absoluteExpiration;
}
this.rawCache = new NodeCache({
Expand All @@ -104,8 +102,12 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
var self = this;
return new Promise(function(resolve, reject) {
try {
self.rawCache.set(key, value, absoluteExpiration);
return resolve();
void self.rawCache.set(key, value, absoluteExpiration, (err) => {
if (err) {
return reject(err);
}
return resolve();
});
} catch (err) {
return reject(err);
}
Expand All @@ -121,8 +123,12 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
var self = this;
return new Promise(function(resolve, reject) {
try {
var res = self.rawCache.get(key);
return resolve(res);
void self.rawCache.get(key, function(err, res) {
if (err) {
return reject(err);
}
return resolve(res);
});
} catch (err) {
return reject(err);
}
Expand All @@ -138,8 +144,12 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
var self = this;
return new Promise(function(resolve, reject) {
try {
self.rawCache.del(key);
return resolve();
void self.rawCache.del(key, (err) => {
if (err) {
return reject(err);
}
return resolve();
});
} catch (err) {
return reject(err);
}
Expand All @@ -154,7 +164,12 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
var self = this;
return new Promise(function(resolve, reject) {
try {
self.rawCache.flushAll();
void self.rawCache.flushAll((err) => {
if (err) {
return reject(err);
}
return resolve();
});
} catch (err) {
return reject(err);
}
Expand Down Expand Up @@ -184,18 +199,25 @@ class DefaultDataCacheStrategy extends DataCacheStrategy {
return new Promise(function(resolve, reject) {
//try to get from cache
try {
if (self.rawCache.has(key)) {
return resolve(self.rawCache.get(key));
}
var source = getFunc();
Args.check(typeof source !== 'undefined' && typeof source.then === 'function', 'Invalid argument. Expected a valid promise.');
void source.then(function (res) {
self.rawCache.set(key, res, absoluteExpiration);
return resolve(res);
}).catch(function(err) {
void self.rawCache.get(key, (err, res) => {
if (typeof res !== 'undefined') {
return resolve(res);
}
try {
void getFunc().then(function (res) {
void self.rawCache.set(key, res, absoluteExpiration, (err) => {
if (err) {
return reject(err);
}
return resolve(res);
});
}).catch(function(err) {
return reject(err);
})
} catch (err) {
return reject(err);
});

}
});
} catch (err) {
return reject(err);
}
Expand Down
17 changes: 9 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@themost/data",
"version": "2.17.2",
"version": "2.17.3",
"description": "MOST Web Framework Codename Blueshift - Data module",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -31,7 +31,7 @@
"async": "^2.6.4",
"lodash": "^4.17.21",
"moment": "^2.29.4",
"node-cache": "^5.1.2",
"node-cache": "^4.2.1",
"pluralize": "^7.0.0",
"q": "^1.4.1",
"sprintf-js": "^1.1.2",
Expand Down

0 comments on commit 1567fcc

Please sign in to comment.