@beiguancyc/parse-server 9.10.0-ruixiang.3 → 9.10.5-ruixiang.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,11 +7,16 @@ exports.default = exports.LRUCache = void 0;
7
7
  var _lruCache = require("lru-cache");
8
8
  var _defaults = _interopRequireDefault(require("../../defaults"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const isValidTTL = ttl => typeof ttl === 'number' && Number.isFinite(ttl) && ttl > 0;
11
+
12
+ // `lru-cache` expresses "never expires" as a TTL of zero.
13
+ const NO_EXPIRY = 0;
10
14
  class LRUCache {
11
15
  constructor({
12
16
  ttl = _defaults.default.cacheTTL,
13
17
  maxSize = _defaults.default.cacheMaxSize
14
18
  }) {
19
+ this.ttl = ttl;
15
20
  this.cache = new _lruCache.LRUCache({
16
21
  max: maxSize,
17
22
  ttl
@@ -21,7 +26,26 @@ class LRUCache {
21
26
  return this.cache.get(key) || null;
22
27
  }
23
28
  put(key, value, ttl = this.ttl) {
24
- this.cache.set(key, value, ttl);
29
+ // `lru-cache` takes the per-entry TTL as a property of an options object.
30
+ // Passed positionally it is silently discarded, leaving the entry on the
31
+ // cache-wide TTL.
32
+ //
33
+ // A TTL of `Infinity` means "never expires", matching `RedisCacheAdapter`,
34
+ // and is translated to the zero that `lru-cache` uses for that. `Infinity`
35
+ // is not forwarded as-is because Node cannot express it as a timer
36
+ // duration: under `ttlAutopurge` it emits a `TimeoutOverflowWarning` and
37
+ // clamps the timer to 1ms, so the purge timer re-fires every millisecond.
38
+ // Any other TTL that is not a positive, finite number is forwarded as
39
+ // `undefined`, which is how the library expresses "use the cache-wide TTL".
40
+ let entryTTL;
41
+ if (ttl === Infinity) {
42
+ entryTTL = NO_EXPIRY;
43
+ } else if (isValidTTL(ttl)) {
44
+ entryTTL = ttl;
45
+ }
46
+ this.cache.set(key, value, {
47
+ ttl: entryTTL
48
+ });
25
49
  }
26
50
  del(key) {
27
51
  this.cache.delete(key);
@@ -32,4 +56,4 @@ class LRUCache {
32
56
  }
33
57
  exports.LRUCache = LRUCache;
34
58
  var _default = exports.default = LRUCache;
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbHJ1Q2FjaGUiLCJyZXF1aXJlIiwiX2RlZmF1bHRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkxSVUNhY2hlIiwiY29uc3RydWN0b3IiLCJ0dGwiLCJkZWZhdWx0cyIsImNhY2hlVFRMIiwibWF4U2l6ZSIsImNhY2hlTWF4U2l6ZSIsImNhY2hlIiwiTFJVIiwibWF4IiwiZ2V0Iiwia2V5IiwicHV0IiwidmFsdWUiLCJzZXQiLCJkZWwiLCJkZWxldGUiLCJjbGVhciIsImV4cG9ydHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BZGFwdGVycy9DYWNoZS9MUlVDYWNoZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMUlVDYWNoZSBhcyBMUlUgfSBmcm9tICdscnUtY2FjaGUnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4uLy4uL2RlZmF1bHRzJztcblxuZXhwb3J0IGNsYXNzIExSVUNhY2hlIHtcbiAgY29uc3RydWN0b3IoeyB0dGwgPSBkZWZhdWx0cy5jYWNoZVRUTCwgbWF4U2l6ZSA9IGRlZmF1bHRzLmNhY2hlTWF4U2l6ZSB9KSB7XG4gICAgdGhpcy5jYWNoZSA9IG5ldyBMUlUoe1xuICAgICAgbWF4OiBtYXhTaXplLFxuICAgICAgdHRsLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0KGtleSkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChrZXkpIHx8IG51bGw7XG4gIH1cblxuICBwdXQoa2V5LCB2YWx1ZSwgdHRsID0gdGhpcy50dGwpIHtcbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHZhbHVlLCB0dGwpO1xuICB9XG5cbiAgZGVsKGtleSkge1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKGtleSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTFJVQ2FjaGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFzQyxTQUFBRSx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUUvQixNQUFNRyxRQUFRLENBQUM7RUFDcEJDLFdBQVdBLENBQUM7SUFBRUMsR0FBRyxHQUFHQyxpQkFBUSxDQUFDQyxRQUFRO0lBQUVDLE9BQU8sR0FBR0YsaUJBQVEsQ0FBQ0c7RUFBYSxDQUFDLEVBQUU7SUFDeEUsSUFBSSxDQUFDQyxLQUFLLEdBQUcsSUFBSUMsa0JBQUcsQ0FBQztNQUNuQkMsR0FBRyxFQUFFSixPQUFPO01BQ1pIO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7RUFFQVEsR0FBR0EsQ0FBQ0MsR0FBRyxFQUFFO0lBQ1AsT0FBTyxJQUFJLENBQUNKLEtBQUssQ0FBQ0csR0FBRyxDQUFDQyxHQUFHLENBQUMsSUFBSSxJQUFJO0VBQ3BDO0VBRUFDLEdBQUdBLENBQUNELEdBQUcsRUFBRUUsS0FBSyxFQUFFWCxHQUFHLEdBQUcsSUFBSSxDQUFDQSxHQUFHLEVBQUU7SUFDOUIsSUFBSSxDQUFDSyxLQUFLLENBQUNPLEdBQUcsQ0FBQ0gsR0FBRyxFQUFFRSxLQUFLLEVBQUVYLEdBQUcsQ0FBQztFQUNqQztFQUVBYSxHQUFHQSxDQUFDSixHQUFHLEVBQUU7SUFDUCxJQUFJLENBQUNKLEtBQUssQ0FBQ1MsTUFBTSxDQUFDTCxHQUFHLENBQUM7RUFDeEI7RUFFQU0sS0FBS0EsQ0FBQSxFQUFHO0lBQ04sSUFBSSxDQUFDVixLQUFLLENBQUNVLEtBQUssQ0FBQyxDQUFDO0VBQ3BCO0FBQ0Y7QUFBQ0MsT0FBQSxDQUFBbEIsUUFBQSxHQUFBQSxRQUFBO0FBQUEsSUFBQW1CLFFBQUEsR0FBQUQsT0FBQSxDQUFBbkIsT0FBQSxHQUVjQyxRQUFRIiwiaWdub3JlTGlzdCI6W119
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbHJ1Q2FjaGUiLCJyZXF1aXJlIiwiX2RlZmF1bHRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImlzVmFsaWRUVEwiLCJ0dGwiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIk5PX0VYUElSWSIsIkxSVUNhY2hlIiwiY29uc3RydWN0b3IiLCJkZWZhdWx0cyIsImNhY2hlVFRMIiwibWF4U2l6ZSIsImNhY2hlTWF4U2l6ZSIsImNhY2hlIiwiTFJVIiwibWF4IiwiZ2V0Iiwia2V5IiwicHV0IiwidmFsdWUiLCJlbnRyeVRUTCIsIkluZmluaXR5Iiwic2V0IiwiZGVsIiwiZGVsZXRlIiwiY2xlYXIiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQWRhcHRlcnMvQ2FjaGUvTFJVQ2FjaGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTFJVQ2FjaGUgYXMgTFJVIH0gZnJvbSAnbHJ1LWNhY2hlJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuLi8uLi9kZWZhdWx0cyc7XG5cbmNvbnN0IGlzVmFsaWRUVEwgPSB0dGwgPT4gdHlwZW9mIHR0bCA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzRmluaXRlKHR0bCkgJiYgdHRsID4gMDtcblxuLy8gYGxydS1jYWNoZWAgZXhwcmVzc2VzIFwibmV2ZXIgZXhwaXJlc1wiIGFzIGEgVFRMIG9mIHplcm8uXG5jb25zdCBOT19FWFBJUlkgPSAwO1xuXG5leHBvcnQgY2xhc3MgTFJVQ2FjaGUge1xuICBjb25zdHJ1Y3Rvcih7IHR0bCA9IGRlZmF1bHRzLmNhY2hlVFRMLCBtYXhTaXplID0gZGVmYXVsdHMuY2FjaGVNYXhTaXplIH0pIHtcbiAgICB0aGlzLnR0bCA9IHR0bDtcbiAgICB0aGlzLmNhY2hlID0gbmV3IExSVSh7XG4gICAgICBtYXg6IG1heFNpemUsXG4gICAgICB0dGwsXG4gICAgfSk7XG4gIH1cblxuICBnZXQoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGtleSkgfHwgbnVsbDtcbiAgfVxuXG4gIHB1dChrZXksIHZhbHVlLCB0dGwgPSB0aGlzLnR0bCkge1xuICAgIC8vIGBscnUtY2FjaGVgIHRha2VzIHRoZSBwZXItZW50cnkgVFRMIGFzIGEgcHJvcGVydHkgb2YgYW4gb3B0aW9ucyBvYmplY3QuXG4gICAgLy8gUGFzc2VkIHBvc2l0aW9uYWxseSBpdCBpcyBzaWxlbnRseSBkaXNjYXJkZWQsIGxlYXZpbmcgdGhlIGVudHJ5IG9uIHRoZVxuICAgIC8vIGNhY2hlLXdpZGUgVFRMLlxuICAgIC8vXG4gICAgLy8gQSBUVEwgb2YgYEluZmluaXR5YCBtZWFucyBcIm5ldmVyIGV4cGlyZXNcIiwgbWF0Y2hpbmcgYFJlZGlzQ2FjaGVBZGFwdGVyYCxcbiAgICAvLyBhbmQgaXMgdHJhbnNsYXRlZCB0byB0aGUgemVybyB0aGF0IGBscnUtY2FjaGVgIHVzZXMgZm9yIHRoYXQuIGBJbmZpbml0eWBcbiAgICAvLyBpcyBub3QgZm9yd2FyZGVkIGFzLWlzIGJlY2F1c2UgTm9kZSBjYW5ub3QgZXhwcmVzcyBpdCBhcyBhIHRpbWVyXG4gICAgLy8gZHVyYXRpb246IHVuZGVyIGB0dGxBdXRvcHVyZ2VgIGl0IGVtaXRzIGEgYFRpbWVvdXRPdmVyZmxvd1dhcm5pbmdgIGFuZFxuICAgIC8vIGNsYW1wcyB0aGUgdGltZXIgdG8gMW1zLCBzbyB0aGUgcHVyZ2UgdGltZXIgcmUtZmlyZXMgZXZlcnkgbWlsbGlzZWNvbmQuXG4gICAgLy8gQW55IG90aGVyIFRUTCB0aGF0IGlzIG5vdCBhIHBvc2l0aXZlLCBmaW5pdGUgbnVtYmVyIGlzIGZvcndhcmRlZCBhc1xuICAgIC8vIGB1bmRlZmluZWRgLCB3aGljaCBpcyBob3cgdGhlIGxpYnJhcnkgZXhwcmVzc2VzIFwidXNlIHRoZSBjYWNoZS13aWRlIFRUTFwiLlxuICAgIGxldCBlbnRyeVRUTDtcbiAgICBpZiAodHRsID09PSBJbmZpbml0eSkge1xuICAgICAgZW50cnlUVEwgPSBOT19FWFBJUlk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkVFRMKHR0bCkpIHtcbiAgICAgIGVudHJ5VFRMID0gdHRsO1xuICAgIH1cbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHZhbHVlLCB7IHR0bDogZW50cnlUVEwgfSk7XG4gIH1cblxuICBkZWwoa2V5KSB7XG4gICAgdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMUlVDYWNoZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXNDLFNBQUFFLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXRDLE1BQU1HLFVBQVUsR0FBR0MsR0FBRyxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLElBQUlDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixHQUFHLENBQUMsSUFBSUEsR0FBRyxHQUFHLENBQUM7O0FBRXBGO0FBQ0EsTUFBTUcsU0FBUyxHQUFHLENBQUM7QUFFWixNQUFNQyxRQUFRLENBQUM7RUFDcEJDLFdBQVdBLENBQUM7SUFBRUwsR0FBRyxHQUFHTSxpQkFBUSxDQUFDQyxRQUFRO0lBQUVDLE9BQU8sR0FBR0YsaUJBQVEsQ0FBQ0c7RUFBYSxDQUFDLEVBQUU7SUFDeEUsSUFBSSxDQUFDVCxHQUFHLEdBQUdBLEdBQUc7SUFDZCxJQUFJLENBQUNVLEtBQUssR0FBRyxJQUFJQyxrQkFBRyxDQUFDO01BQ25CQyxHQUFHLEVBQUVKLE9BQU87TUFDWlI7SUFDRixDQUFDLENBQUM7RUFDSjtFQUVBYSxHQUFHQSxDQUFDQyxHQUFHLEVBQUU7SUFDUCxPQUFPLElBQUksQ0FBQ0osS0FBSyxDQUFDRyxHQUFHLENBQUNDLEdBQUcsQ0FBQyxJQUFJLElBQUk7RUFDcEM7RUFFQUMsR0FBR0EsQ0FBQ0QsR0FBRyxFQUFFRSxLQUFLLEVBQUVoQixHQUFHLEdBQUcsSUFBSSxDQUFDQSxHQUFHLEVBQUU7SUFDOUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUlpQixRQUFRO0lBQ1osSUFBSWpCLEdBQUcsS0FBS2tCLFFBQVEsRUFBRTtNQUNwQkQsUUFBUSxHQUFHZCxTQUFTO0lBQ3RCLENBQUMsTUFBTSxJQUFJSixVQUFVLENBQUNDLEdBQUcsQ0FBQyxFQUFFO01BQzFCaUIsUUFBUSxHQUFHakIsR0FBRztJQUNoQjtJQUNBLElBQUksQ0FBQ1UsS0FBSyxDQUFDUyxHQUFHLENBQUNMLEdBQUcsRUFBRUUsS0FBSyxFQUFFO01BQUVoQixHQUFHLEVBQUVpQjtJQUFTLENBQUMsQ0FBQztFQUMvQztFQUVBRyxHQUFHQSxDQUFDTixHQUFHLEVBQUU7SUFDUCxJQUFJLENBQUNKLEtBQUssQ0FBQ1csTUFBTSxDQUFDUCxHQUFHLENBQUM7RUFDeEI7RUFFQVEsS0FBS0EsQ0FBQSxFQUFHO0lBQ04sSUFBSSxDQUFDWixLQUFLLENBQUNZLEtBQUssQ0FBQyxDQUFDO0VBQ3BCO0FBQ0Y7QUFBQ0MsT0FBQSxDQUFBbkIsUUFBQSxHQUFBQSxRQUFBO0FBQUEsSUFBQW9CLFFBQUEsR0FBQUQsT0FBQSxDQUFBekIsT0FBQSxHQUVjTSxRQUFRIiwiaWdub3JlTGlzdCI6W119