You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
641 B
21 lines
641 B
// @flow strict
|
|
import invariant from './invariant';
|
|
import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
|
|
|
|
/**
|
|
* The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`
|
|
*/
|
|
export default function defineInspect(
|
|
classObject: Class<any> | ((...args: Array<any>) => mixed),
|
|
): void {
|
|
const fn = classObject.prototype.toJSON;
|
|
invariant(typeof fn === 'function');
|
|
|
|
classObject.prototype.inspect = fn;
|
|
|
|
// istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
if (nodejsCustomInspectSymbol) {
|
|
classObject.prototype[nodejsCustomInspectSymbol] = fn;
|
|
}
|
|
}
|