From c1fd3059d8c8ae9f720eef0b654960373560f7b7 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Tue, 25 Apr 2017 14:11:28 -0700 Subject: [PATCH] Add options.promiseValueSize for promise values --- _src/lib/node_cache.coffee | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_src/lib/node_cache.coffee b/_src/lib/node_cache.coffee index c3cedf8..279a35b 100644 --- a/_src/lib/node_cache.coffee +++ b/_src/lib/node_cache.coffee @@ -25,6 +25,7 @@ module.exports = class NodeCache extends EventEmitter forceString: false # used standard size for calculating value size objectValueSize: 80 + promiseValueSize: 80 arrayValueSize: 40 # standard time to live in seconds. 0 = infinity; stdTTL: 0 @@ -571,6 +572,10 @@ module.exports = class NodeCache extends EventEmitter @options.arrayValueSize * value.length else if _isNumber( value ) 8 + else if typeof value?.then is "function" + # if the data is a Promise, use defined default + # (can't calculate actual/resolved value size synchronously) + @options.promiseValueSize else if _isObject( value ) # if the data is an Object multiply each element with a defined default length @options.objectValueSize * _size( value )