mirror of
https://github.com/denoland/deno.git
synced 2024-12-25 16:49:18 -05:00
feat(ext/console): Add string abbreviation size option for "Deno.inspect" (#14384)
This commit is contained in:
parent
6dcf3a447c
commit
ddbfa1418c
3 changed files with 28 additions and 2 deletions
2
cli/dts/lib.deno.ns.d.ts
vendored
2
cli/dts/lib.deno.ns.d.ts
vendored
|
@ -2491,6 +2491,8 @@ declare namespace Deno {
|
|||
getters?: boolean;
|
||||
/** Show an object's non-enumerable properties. Defaults to false. */
|
||||
showHidden?: boolean;
|
||||
/** The maximum length of a string before it is truncated with an ellipsis */
|
||||
strAbbreviateSize?: number;
|
||||
}
|
||||
|
||||
/** Converts the input into a string that has the same format as printed by
|
||||
|
|
|
@ -1938,3 +1938,22 @@ Deno.test(function inspectColors() {
|
|||
assertEquals(Deno.inspect(1), "1");
|
||||
assertStringIncludes(Deno.inspect(1, { colors: true }), "\x1b[");
|
||||
});
|
||||
|
||||
Deno.test(function inspectStringAbbreviation() {
|
||||
const LONG_STRING =
|
||||
"This is a really long string which will be abbreviated with ellipsis.";
|
||||
const obj = {
|
||||
str: LONG_STRING,
|
||||
};
|
||||
const arr = [LONG_STRING];
|
||||
|
||||
assertEquals(
|
||||
Deno.inspect(obj, { strAbbreviateSize: 10 }),
|
||||
'{ str: "This is a ..." }',
|
||||
);
|
||||
|
||||
assertEquals(
|
||||
Deno.inspect(arr, { strAbbreviateSize: 10 }),
|
||||
'[ "This is a ..." ]',
|
||||
);
|
||||
});
|
||||
|
|
|
@ -298,6 +298,7 @@
|
|||
colors: false,
|
||||
getters: false,
|
||||
showHidden: false,
|
||||
strAbbreviateSize: 100,
|
||||
};
|
||||
|
||||
const DEFAULT_INDENT = " "; // Default indent string
|
||||
|
@ -786,11 +787,15 @@
|
|||
level,
|
||||
inspectOptions,
|
||||
) {
|
||||
const abbreviateSize =
|
||||
typeof inspectOptions.strAbbreviateSize === "undefined"
|
||||
? STR_ABBREVIATE_SIZE
|
||||
: inspectOptions.strAbbreviateSize;
|
||||
const green = maybeColor(colors.green, inspectOptions);
|
||||
switch (typeof value) {
|
||||
case "string": {
|
||||
const trunc = value.length > STR_ABBREVIATE_SIZE
|
||||
? StringPrototypeSlice(value, 0, STR_ABBREVIATE_SIZE) + "..."
|
||||
const trunc = value.length > abbreviateSize
|
||||
? StringPrototypeSlice(value, 0, abbreviateSize) + "..."
|
||||
: value;
|
||||
return green(quoteString(trunc)); // Quoted strings are green
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue