import { type InspectOptions } from 'util'; /** * {@link https://nodejs.org/api/util.html#util_util_inspect_object_options} */ export interface BushInspectOptions extends InspectOptions { /** * If `true`, object's non-enumerable symbols and properties are included in the * formatted result. [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) and [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) entries are also included as well as * user defined prototype properties (excluding method properties). * * **Default**: `false`. */ showHidden?: boolean | undefined; /** * Specifies the number of times to recurse while formatting `object`. This is useful * for inspecting large objects. To recurse up to the maximum call stack size pass * `Infinity` or `null`. * * **Default**: `2`. */ depth?: number | null | undefined; /** * If `true`, the output is styled with ANSI color codes. Colors are customizable. See [Customizing util.inspect colors](https://nodejs.org/api/util.html#util_customizing_util_inspect_colors). * * **Default**: `false`. */ colors?: boolean | undefined; /** * If `false`, `[util.inspect.custom](depth, opts)` functions are not invoked. * * **Default**: `true`. */ customInspect?: boolean | undefined; /** * If `true`, `Proxy` inspection includes the [`target` and `handler`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#Terminology) objects. * * **Default**: `false`. */ showProxy?: boolean | undefined; /** * Specifies the maximum number of `Array`, [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) and * [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) elements to include when formatting. Set to `null` or `Infinity` to * show all elements. Set to `0` or negative to show no elements. * * **Default**: `100`. */ maxArrayLength?: number | null | undefined; /** * Specifies the maximum number of characters to include when formatting. Set to * `null` or `Infinity` to show all elements. Set to `0` or negative to show no * characters. * * **Default**: `10000`. */ maxStringLength?: number | null | undefined; /** * The length at which input values are split across multiple lines. Set to * `Infinity` to format the input as a single line (in combination with compact set * to `true` or any number >= `1`). * * **Default**: `80`. */ breakLength?: number | undefined; /** * Setting this to `false` causes each object key to be displayed on a new line. It * will break on new lines in text that is longer than `breakLength`. If set to a * number, the most `n` inner elements are united on a single line as long as all * properties fit into `breakLength`. Short array elements are also grouped together. * * **Default**: `3` */ compact?: boolean | number | undefined; /** * If set to `true` or a function, all properties of an object, and `Set` and `Map` * entries are sorted in the resulting string. If set to `true` the [default sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) is used. * If set to a function, it is used as a [compare function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters). * * **Default**: `false`. */ sorted?: boolean | ((a: string, b: string) => number) | undefined; /** * If set to `true`, getters are inspected. If set to `'get'`, only getters without a * corresponding setter are inspected. If set to `'set'`, only getters with a * corresponding setter are inspected. This might cause side effects depending on * the getter function. * * **Default**: `false`. */ getters?: 'get' | 'set' | boolean | undefined; }