From 16457e2adbfddaa1bc445df331a77f75b419b7a6 Mon Sep 17 00:00:00 2001 From: John Knox Date: Wed, 4 Sep 2019 03:30:16 -0700 Subject: [PATCH] Add notNull filter with type guard Summary: You need to use a type guard when narrowing types in a filter. Reviewed By: danielbuechele Differential Revision: D17163782 fbshipit-source-id: aa78bdd392653ebf1080a04e62e131b607e5181b --- src/utils/typeUtils.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/utils/typeUtils.tsx diff --git a/src/utils/typeUtils.tsx b/src/utils/typeUtils.tsx new file mode 100644 index 000000000..5f37ac42b --- /dev/null +++ b/src/utils/typeUtils.tsx @@ -0,0 +1,12 @@ +/** + * Copyright 2018-present Facebook. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * @format + */ + +// Typescript doesn't know Array.filter(Boolean) won't contain nulls. +// So use Array.filter(notNull) instead. +export function notNull(x: T | null | undefined): x is T { + return x !== null && x !== undefined; +}