Remove duplicate helper function from `missingCaseError`

This commit is contained in:
Evan Hahn 2022-02-01 18:57:31 -06:00 committed by GitHub
parent b38590a4ac
commit 85ae41eb1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 12 deletions

View File

@ -1,16 +1,7 @@
// Copyright 2018-2020 Signal Messenger, LLC
// Copyright 2018-2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const stringify = (value: unknown): string => {
try {
// `JSON.stringify` can return `undefined` (TypeScript has incorrect types here).
// However, this is fine because we interpolate it into a string, so it shows up as
// "undefined" in the final error message.
return JSON.stringify(value);
} catch (err) {
return Object.prototype.toString.call(value);
}
};
import { reallyJsonStringify } from './reallyJsonStringify';
// `missingCaseError` is useful for compile-time checking that all `case`s in
// a `switch` statement have been handled, e.g.
@ -32,4 +23,4 @@ const stringify = (value: unknown): string => {
// handled by our `switch` / `case` statement which is useful for code
// maintenance and system evolution.
export const missingCaseError = (x: never): TypeError =>
new TypeError(`Unhandled case: ${stringify(x)}`);
new TypeError(`Unhandled case: ${reallyJsonStringify(x)}`);