From 5c69ad8e8bc8427321fd2c5364eb1e40658805f3 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Wed, 28 Aug 2019 03:00:15 -0700 Subject: [PATCH] Make LowPassFilter strict Summary: Per title. Reviewed By: danielbuechele Differential Revision: D17073163 fbshipit-source-id: 08127d85af317ff701f4d131fd41df095f50f6a4 --- src/utils/LowPassFilter.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/utils/LowPassFilter.tsx b/src/utils/LowPassFilter.tsx index 8db8e4a7f..07331d37b 100644 --- a/src/utils/LowPassFilter.tsx +++ b/src/utils/LowPassFilter.tsx @@ -24,7 +24,15 @@ export default class LowPassFilter { let removed: number = 0; if (this.hasFullBuffer()) { - removed = this.buffer.shift(); + const tmp: number | undefined = this.buffer.shift(); + + if (tmp === undefined) { + throw new Error( + 'Invariant violation: Buffer reported full but shift returned nothing.', + ); + } + + removed = tmp; } this.buffer.push(value);