mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
21 lines
666 B
Plaintext
21 lines
666 B
Plaintext
|
// @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<any> | ((...args: Array<any>) => 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;
|
||
|
}
|
||
|
}
|