0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-01 20:25:12 -05:00

refactor: rename ConsoleOptions to InspectOptions (#4493)

This commit is contained in:
Chris Knight 2020-03-26 00:48:47 +00:00 committed by GitHub
parent fd432e2346
commit a053462566
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 14 deletions

View file

@ -134,9 +134,11 @@ declare namespace Deno {
*/ */
export function loadavg(): number[]; export function loadavg(): number[];
/** Get the `hostname`. Requires `allow-env` permission. /** Get the `hostname` of the machine the Deno process is running on.
* *
* console.log(Deno.hostname()); * console.log(Deno.hostname());
*
* Requires `allow-env` permission.
*/ */
export function hostname(): string; export function hostname(): string;
@ -2021,20 +2023,45 @@ declare namespace Deno {
* Signals numbers. This is platform dependent. */ * Signals numbers. This is platform dependent. */
export const Signal: typeof MacOSSignal | typeof LinuxSignal; export const Signal: typeof MacOSSignal | typeof LinuxSignal;
/** **UNSTABLE**: rename to `InspectOptions`. */ interface InspectOptions {
interface ConsoleOptions {
showHidden?: boolean; showHidden?: boolean;
depth?: number; depth?: number;
colors?: boolean; colors?: boolean;
indentLevel?: number; indentLevel?: number;
} }
/** **UNSTABLE**: `ConsoleOptions` rename to `InspectOptions`. Also the exact /** **UNSTABLE**: The exact form of the string output is under consideration
* form of string output subject to change. * and may change.
* *
* Converts input into string that has the same format as printed by * Converts the input into a string that has the same format as printed by
* `console.log()`. */ * `console.log()`.
export function inspect(value: unknown, options?: ConsoleOptions): string; *
* const obj = {};
* obj.propA = 10;
* obj.propB = "hello"
* const objAsString = Deno.inspect(obj); //{ propA: 10, propB: "hello" }
* console.log(obj); //prints same value as objAsString, e.g. { propA: 10, propB: "hello" }
*
* You can also register custom inspect functions, via the `customInspect` Deno
* symbol on objects, to control and customize the output.
*
* class A {
* x = 10;
* y = "hello";
* [Deno.symbols.customInspect](): string {
* return "x=" + this.x + ", y=" + this.y;
* }
* }
*
* const inStringFormat = Deno.inspect(new A()); //"x=10, y=hello"
* console.log(inStringFormat); //prints "x=10, y=hello"
*
* Finally, a number of output options are also available.
*
* const out = Deno.inspect(obj, {showHidden: true, depth: 4, colors: true, indentLevel: 2});
*
*/
export function inspect(value: unknown, options?: InspectOptions): string;
export type OperatingSystem = "mac" | "win" | "linux"; export type OperatingSystem = "mac" | "win" | "linux";

View file

@ -887,7 +887,7 @@ declare namespace __blob {
} }
declare namespace __console { declare namespace __console {
type ConsoleOptions = Partial<{ type InspectOptions = Partial<{
showHidden: boolean; showHidden: boolean;
depth: number; depth: number;
colors: boolean; colors: boolean;
@ -970,7 +970,7 @@ declare namespace __console {
* `inspect()` converts input into string that has the same format * `inspect()` converts input into string that has the same format
* as printed by `console.log(...)`; * as printed by `console.log(...)`;
*/ */
export function inspect(value: unknown, options?: ConsoleOptions): string; export function inspect(value: unknown, options?: InspectOptions): string;
} }
declare namespace __event { declare namespace __event {

View file

@ -6,7 +6,7 @@ import { cliTable } from "./console_table.ts";
import { exposeForTest } from "../internals.ts"; import { exposeForTest } from "../internals.ts";
type ConsoleContext = Set<unknown>; type ConsoleContext = Set<unknown>;
type ConsoleOptions = Partial<{ type InspectOptions = Partial<{
showHidden: boolean; showHidden: boolean;
depth: number; depth: number;
colors: boolean; colors: boolean;
@ -383,7 +383,7 @@ function createObjectString(
export function stringifyArgs( export function stringifyArgs(
args: unknown[], args: unknown[],
{ depth = DEFAULT_MAX_DEPTH, indentLevel = 0 }: ConsoleOptions = {} { depth = DEFAULT_MAX_DEPTH, indentLevel = 0 }: InspectOptions = {}
): string { ): string {
const first = args[0]; const first = args[0];
let a = 0; let a = 0;
@ -522,7 +522,7 @@ export class Console {
debug = this.log; debug = this.log;
info = this.log; info = this.log;
dir = (obj: unknown, options: ConsoleOptions = {}): void => { dir = (obj: unknown, options: InspectOptions = {}): void => {
this.printFunc(stringifyArgs([obj], options) + "\n", false); this.printFunc(stringifyArgs([obj], options) + "\n", false);
}; };
@ -749,7 +749,7 @@ export const customInspect = Symbol.for("Deno.customInspect");
export function inspect( export function inspect(
value: unknown, value: unknown,
{ depth = DEFAULT_MAX_DEPTH }: ConsoleOptions = {} { depth = DEFAULT_MAX_DEPTH }: InspectOptions = {}
): string { ): string {
if (typeof value === "string") { if (typeof value === "string") {
return value; return value;