From a6843734caa814a117eb6f3475095c91a13ac25f Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 17 Jun 2020 11:09:46 +0200
Subject: [PATCH] fix: global cache return undefined instead of null (#6530)

---
 lib/util/cache/global/file.spec.ts | 6 ++++--
 lib/util/cache/global/file.ts      | 3 +--
 lib/util/cache/global/redis.ts     | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/util/cache/global/file.spec.ts b/lib/util/cache/global/file.spec.ts
index 7a774e3901..26be177a9c 100644
--- a/lib/util/cache/global/file.spec.ts
+++ b/lib/util/cache/global/file.spec.ts
@@ -7,7 +7,9 @@ describe('lib/util/cache/global/file', () => {
   });
 
   it('gets null', async () => {
-    expect(await global.renovateCache.get('test', 'missing-key')).toBeNull();
+    expect(
+      await global.renovateCache.get('test', 'missing-key')
+    ).toBeUndefined();
   });
 
   it('sets and gets', async () => {
@@ -17,6 +19,6 @@ describe('lib/util/cache/global/file', () => {
 
   it('expires', async () => {
     await global.renovateCache.set('test', 'key', 1234, -5);
-    expect(await global.renovateCache.get('test', 'key')).toBeNull();
+    expect(await global.renovateCache.get('test', 'key')).toBeUndefined();
   });
 });
diff --git a/lib/util/cache/global/file.ts b/lib/util/cache/global/file.ts
index 589dd84e3a..0fcbda3010 100644
--- a/lib/util/cache/global/file.ts
+++ b/lib/util/cache/global/file.ts
@@ -18,7 +18,6 @@ async function get<T = never>(namespace: string, key: string): Promise<T> {
   try {
     const res = await cacache.get(renovateCache, getKey(namespace, key));
     const cachedValue = JSON.parse(res.data.toString());
-    // istanbul ignore else: only happens when cache is corrupted
     if (cachedValue) {
       if (DateTime.local() < DateTime.fromISO(cachedValue.expiry)) {
         logger.trace({ namespace, key }, 'Returning cached value');
@@ -29,7 +28,7 @@ async function get<T = never>(namespace: string, key: string): Promise<T> {
   } catch (err) {
     logger.trace({ namespace, key }, 'Cache miss');
   }
-  return null;
+  return undefined;
 }
 
 async function set(
diff --git a/lib/util/cache/global/redis.ts b/lib/util/cache/global/redis.ts
index abb7497b8c..bd3406837f 100644
--- a/lib/util/cache/global/redis.ts
+++ b/lib/util/cache/global/redis.ts
@@ -38,7 +38,7 @@ async function get<T = never>(namespace: string, key: string): Promise<T> {
   } catch (err) {
     logger.trace({ namespace, key }, 'Cache miss');
   }
-  return null;
+  return undefined;
 }
 
 async function set(
-- 
GitLab