packages/@fbcmobile-ui/Utils/nullthrows.js (12 lines of code) (raw):

/** * Copyright (c) Facebook, Inc. and its affiliates. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ 'use strict'; export class NullValueError extends Error { constructor(message?: string) { super('[NullValueError]' + (message ? ' ' + message : '')); } } export default function nullthrows<TVal>(data: ?TVal, message?: string): TVal { if (data == null) { throw new NullValueError(message); } return data; }