diff --git a/src/plugins/databases/index.js b/src/plugins/databases/index.js index 4ecc9cdc6..ab30ab1ac 100644 --- a/src/plugins/databases/index.js +++ b/src/plugins/databases/index.js @@ -16,6 +16,7 @@ import { Button, ButtonGroup, Input, + getStringFromErrorLike, } from 'flipper'; import {Component} from 'react'; import type { @@ -757,7 +758,7 @@ export default class DatabasesPlugin extends FlipperPlugin< ) : null} - {this.state.error && JSON.stringify(this.state.error)} + {this.state.error && getStringFromErrorLike(this.state.error)} ); } diff --git a/src/utils/errors.js b/src/utils/errors.js new file mode 100644 index 000000000..b01db4f23 --- /dev/null +++ b/src/utils/errors.js @@ -0,0 +1,16 @@ +/** + * 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 + */ + +export function getStringFromErrorLike(e: any) { + if (typeof e == 'string') { + return e; + } else if (e instanceof Error) { + return e.message; + } else { + return JSON.stringify(e); + } +} diff --git a/src/utils/index.js b/src/utils/index.js index 19b3b410e..49eabd545 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -6,3 +6,4 @@ */ export {default as textContent} from './textContent.js'; +export {getStringFromErrorLike} from './errors.js';