aboutsummaryrefslogtreecommitdiff
path: root/lib/types/InspectOptions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/types/InspectOptions.ts')
-rw-r--r--lib/types/InspectOptions.ts127
1 files changed, 127 insertions, 0 deletions
diff --git a/lib/types/InspectOptions.ts b/lib/types/InspectOptions.ts
new file mode 100644
index 0000000..1113f2b
--- /dev/null
+++ b/lib/types/InspectOptions.ts
@@ -0,0 +1,127 @@
+import { InspectOptions } from 'node:util';
+
+declare module 'util' {
+ /**
+ * {@link https://nodejs.org/api/util.html#utilinspectobject-showhidden-depth-colors util.inspect Options Documentation}
+ */
+ export interface 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;
+
+ /**
+ * If set to `true`, an underscore is used to separate every three digits in all bigints and numbers.
+ *
+ * @default false
+ */
+ numericSeparator?: boolean;
+ }
+}
+
+export interface CustomInspectOptions extends InspectOptions {
+ /**
+ * Whether or not to inspect strings.
+ *
+ * @default false
+ */
+ inspectStrings?: boolean;
+}