// @flow strict import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol'; /** * The `defineToJSON()` function defines toJSON() and inspect() prototype * methods, if no function provided they become aliases for toString(). */ export default function defineToJSON( classObject: Class | ((...args: Array) => mixed), fn?: () => mixed = classObject.prototype.toString, ): void { classObject.prototype.toJSON = fn; classObject.prototype.inspect = fn; /* istanbul ignore else (See: https://github.com/graphql/graphql-js/issues/2317) */ if (nodejsCustomInspectSymbol) { classObject.prototype[nodejsCustomInspectSymbol] = fn; } }